Commit Graph

35540 Commits

Author SHA1 Message Date
Brian Paul 80e07c4190 draw: updated debug/dump code 2010-07-16 11:10:25 -06:00
Brian Paul 959a458ea0 draw: added array element debug / bounds checking code (disabled) 2010-07-16 11:09:32 -06:00
Keith Whitwell 2f6d47a7c8 llvmpipe: use single swizzled tile
Use a single swizzled tile per colorbuf (and per thread) to avoid
accumulating large amounts of cached swizzled data.

Now that the SSE3 code has been merged to master, the performance delta
of this change is minimal, the main benefit is reduced memory usage
due to no longer keeping swizzled copies of render targets.

It's clear from the performance of the in-place version of this code
that there is still quite a bit of time being spent swizzling &
unswizzling, but it's not clear exactly how to reduce that.
2010-07-16 17:24:21 +01:00
José Fonseca b7fff13d58 llvmpipe: Describe _mm_shuffle_epi8() with gcc extended inline assembly when -mssse3 is not supported/enabled. 2010-07-16 17:24:21 +01:00
José Fonseca 0a36a064a1 llvmpipe: Only use -mssse3 on gcc 4.3+ 2010-07-16 17:24:21 +01:00
Zack Rusin fab4ac9e94 draw/llvm: adjust the instance id at run time
fixes instancing in draw llvm
2010-07-16 12:19:26 -04:00
Zack Rusin b77f5024ca draw: use the instance id when fetching vertex data 2010-07-16 11:58:20 -04:00
Brian Paul 41bcd8cb1e mesa: return retval in _mesa_RenderObjectUnpurgeable()
Found by Vinson with static analysis.

NOTE: This is a candidate for the 7.8 branch.
2010-07-16 07:37:30 -06:00
Chia-I Wu 08f4bc07e4 st/egl: Fix build on FreeBSD.
There is no libdl on FreeBSD.  Based on patch from Thinker
<thinker@branda.to>, which is against 7.8.

This fixes fdo bug #29093.
2010-07-16 20:19:13 +08:00
Chia-I Wu 39ae965783 egl: Build egl_dri2 only when DRI drivers are built.
That is, build egl_dri2 only when --with-driver=dri is given (the
default).
2010-07-16 19:50:16 +08:00
Chia-I Wu bb217ba76a egl: Build egl_dri2 only when xcb-dri2 is available.
The driver does not build when xcb-dri2 is not available.
2010-07-16 19:41:29 +08:00
Vinson Lee 6f6c8ec7b7 glu/sgi: Remove dead initialization in extract565rev. 2010-07-16 01:11:03 -07:00
Vinson Lee 4b387ee087 i965g: Remove dead initialization in precalc_tex. 2010-07-16 01:07:13 -07:00
Marek Olšák fe3caa91d3 r300g: rebuild winsys and command submission to support multiple contexts 2010-07-16 08:51:16 +02:00
Vinson Lee 5f9d7bb242 mesa: Add error path in compressed_texture_error_check.
Add error path for unhandled dimensions in
compressed_texture_error_check.
2010-07-15 23:45:25 -07:00
Vinson Lee 643f5ea1e0 glsl/apps: Handle ftell errors in non-debug builds. 2010-07-15 18:45:20 -07:00
Brian Paul 5824fbf674 llvmpipe: implement instanced drawing functions
And express all the other drawing functions in terms of
llvmpipe_draw_range_elements_instanced().
2010-07-15 15:56:09 -06:00
Brian Paul 839608a8be draw: update comments for drawing functions 2010-07-15 15:42:36 -06:00
Brian Paul 5c0f6bf13b draw: move prototype, update comment 2010-07-15 15:42:36 -06:00
Brian Paul 7fce75ed29 softpipe: re-order drawing functions to get rid of prototype 2010-07-15 15:42:36 -06:00
Brian Paul 77e651db07 graw: new tri-instanced.c program to test instanced drawing 2010-07-15 15:42:36 -06:00
Alex Deucher 2bd69080a2 r600: fix typo in r700 assembler
Noticed by Henri Verbeet on IRC.

NOTE: This is a candidate for the 7.8 branch.
2010-07-15 17:03:58 -04:00
Henri Verbeet fef9b532cd radeon: Also flush if it's not the current context that's being destroyed.
This avoids calling radeonFlush() during context destruction, when
ctx->DrawBuffer would be NULL.

NOTE: This is a candidate for the 7.8 branch.
2010-07-15 14:54:25 -04:00
Alex Deucher 0a7803cbac radeon: allow driconf vblank settings with dri2
fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=28771

NOTE: This is a candidate for the 7.8 branch.
2010-07-15 14:47:06 -04:00
Brian Paul 3fde89e439 st/mesa: fix quad strip trimming bug
The translate_prim() function tries to convert quad strips into
tri strips.  This is normally OK but we have to check for an odd
number of vertices so that we don't accidentally draw an extra
triangle.  The mesa-demos/src/samples/prim.c demo exercises that.
With this fix the stray yellow triangle is no longer drawn.

Use the u_trim_pipe_prim() function to make sure that prims have
the right number of vertices and avoid calling gallium drawing
functions when the prim has a degenerate number of vertices.

Plus add comments, clean-up formatting, etc.

NOTE: This is a candidate for the 7.8 branch.
2010-07-15 10:49:56 -06:00
José Fonseca 0eaccb30de llvmpipe: Remove redundant statement.
Thanks to Vinson for spotting this.
2010-07-15 10:59:03 +01:00
Vinson Lee 4f6aa567c0 glu/sgi: Remove dead initialization in extract565. 2010-07-15 01:42:02 -07:00
Vinson Lee 3471ac9569 tgsi: Remove dead assignment in uprcase function. 2010-07-15 01:26:09 -07:00
Vinson Lee cc2f337d06 mesa: Fix potential out-of-bounds access by _vbo_Materialf.
_vbo_Materialf calls _vbo_Materialfv, which uses the params argument as
an array.
2010-07-15 00:53:07 -07:00
Vinson Lee 5c9e54f2ff glx: Move dereference and initialization to after NULL check. 2010-07-15 00:20:41 -07:00
Chia-I Wu d7284b45e2 egl: Return the correct array size in _eglFlattenArray.
The function is used by _eglGetConfigs and _eglGetScreens.  The array
size should not be limited by the buffer size when the buffer is NULL.

This fixes fdo bug #29052.
2010-07-15 10:05:46 +08:00
Brian Paul 2f4ce25645 mesa: fix _mesa_Texture/Render/BufferObjectUnpurgeable() return values
Fixes piglit object_purgeable-api-pbo, object_purgeable-api-vbo
and object_purgeable-api-texture failures with swrast.

NOTE: This is a candidate for the 7.8 branch.
2010-07-14 15:13:55 -06:00
Brian Paul f2bfc2b7d2 mesa: update assertions and fix refcounting in depth/stencil renderbuffer code 2010-07-14 15:13:54 -06:00
Brian Paul 4beea12f17 mesa: silence a printf warning 2010-07-14 15:13:54 -06:00
Brian Paul 871feeb165 llvmpipe: delete lp_test_*.o files with make clean 2010-07-14 15:13:54 -06:00
Brian Paul 1957bef995 gallium: added CLEAN_EXTRA var for make clean target 2010-07-14 15:13:54 -06:00
Nick Bowler f8d81c31ce dri2: Track event mask in client code.
When direct rendering is being used, DRI2 BufferSwapComplete events are
sent unconditionally to clients, even if they haven't been requested.
This causes error messages to be printed by every freeglut application
of the form

  freeglut (./gears): Unknown X event type: 104

and might confuse other clients.

This is a fixed up version of the patch by Jesse Barnes, which drops
BufferSwapComplete events if they are not requested by clients.

Fixes fdo bug 27962.

Signed-off-by: Nick Bowler <nbowler@draconx.ca>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-07-14 10:23:09 -07:00
José Fonseca 467928c6e0 gallium: Ensure prototypes are wrapped in extern "C".
Fixes MSVC build failure due to inconsistent _ReadWriteBarrier
prototype.
2010-07-14 16:15:56 +01:00
José Fonseca d023fb3928 llvmpipe: Remove redundant alignments.
The lp_rast_shader_inputs' alignment is irrelevant now that it contains
pointers instead of actual data.

Likewise, lp_rast_triangle's size alignment is meaningless.
2010-07-14 14:53:35 +01:00
Chris Li bed78862d4 llvmpipe: Addi ssse3 swizzling for B8G8R8A8_UNORM. 2010-07-14 14:38:02 +01:00
José Fonseca c6c62164c3 gallium: Add a macro for memory barriers. 2010-07-14 14:38:02 +01:00
José Fonseca 5e2437a232 gallium: Add a new PIPE_ARCH_SSSE3 define for SSSE3 compiler support. 2010-07-14 14:38:02 +01:00
Zack Rusin 582132aaef Merge branch 'mesa-2d-registers' 2010-07-13 21:54:14 -04:00
Zack Rusin 1491c6aa2d mesa: add comments and change Index2D to just Index2 2010-07-13 21:49:53 -04:00
Marek Olšák 9fa64ea675 r300/compiler: fix swizzling in the transformation of Abs modifiers 2010-07-14 02:01:03 +02:00
Jakob Bornecrantz 20a3dda726 i965g: Fix scons build of dri driver 2010-07-13 19:32:16 +01:00
Roland Scheidegger 217926f350 llvmpipe: fix comment typo 2010-07-13 19:59:38 +02:00
Roland Scheidegger edac740095 llvmpipe: move rasterizer to screen instead of setup context
there's no point of having this per context, so move to screen
(and protect with a mutex).
2010-07-13 19:58:58 +02:00
José Fonseca 962da13ba3 llvmpipe: Align texture data to the cache line. 2010-07-13 17:32:44 +01:00
Keith Whitwell e21e7ab4da llvmpipe: eliminate the set_state rasterizer command
Just put a pointer to the state in the tri->inputs struct.  Remove
some complex logic for eliminating unused statechanges in bins at the
expense of a slightly larger triangle struct.
2010-07-13 17:28:54 +01:00