Age | Commit message (Collapse) | Author |
|
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.
|
|
-mssse3 is not supported/enabled.
|
|
|
|
fixes instancing in draw llvm
|
|
|
|
Found by Vinson with static analysis.
NOTE: This is a candidate for the 7.8 branch.
|
|
There is no libdl on FreeBSD. Based on patch from Thinker
<thinker@branda.to>, which is against 7.8.
This fixes fdo bug #29093.
|
|
|
|
|
|
|
|
Add error path for unhandled dimensions in
compressed_texture_error_check.
|
|
|
|
And express all the other drawing functions in terms of
llvmpipe_draw_range_elements_instanced().
|
|
|
|
|
|
|
|
|
|
Noticed by Henri Verbeet on IRC.
NOTE: This is a candidate for the 7.8 branch.
|
|
This avoids calling radeonFlush() during context destruction, when
ctx->DrawBuffer would be NULL.
NOTE: This is a candidate for the 7.8 branch.
|
|
fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=28771
NOTE: This is a candidate for the 7.8 branch.
|
|
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.
|
|
Thanks to Vinson for spotting this.
|
|
|
|
|
|
_vbo_Materialf calls _vbo_Materialfv, which uses the params argument as
an array.
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
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>
|
|
Fixes MSVC build failure due to inconsistent _ReadWriteBarrier
prototype.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
there's no point of having this per context, so move to screen
(and protect with a mutex).
|
|
|
|
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.
|
|
Move this code back out to C for now, will generate separately.
Shader now takes a mask parameter instead of C0/C1/C2/etc.
Shader does not currently use that parameter and rasterizes whole
pixel stamps always.
|
|
Rather than inserting an lp_rast_fence command at the end of each
bin, have each rasterizer thread call this function directly once
it has run out of work to do on a particular scene.
This results in fewer calls to the mutex & related functions, but more
importantly makes it easier to recognize empty bins.
|
|
This was already the case, but the generated (un)swizzling code was not
benefiting of that knowledge.
|
|
|