summaryrefslogtreecommitdiff
path: root/src/gallium
AgeCommit message (Collapse)Author
2010-12-17gallivm: Cleanup util_format_xxx_fetch_xxx call generation.José Fonseca
No need to register function prototypes in the module now that we call the C function pointer directly -- less LLVM objects lying around. Limited testing with lp_test_format.
2010-12-17r300g: finally fix the texture corruption on r3xx-r4xxMarek Olšák
Even though a bound texture stays bound when calling set_fragment_sampler_views, it must be assigned a new cache region depending on the occupancy of other texture units. This fixes: https://bugs.freedesktop.org/show_bug.cgi?id=28800 Thanks to Álmos <aaalmosss@gmail.com> for finding the bug in the code. NOTE: This is a candidate for both the 7.9 and 7.10 branches.
2010-12-16softpipe: remove sp_tex_tile_cache_border_color()Brian Paul
With swizzling done at the end of texture sampling, we can greatly simplify swizzling of the border color. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=32460
2010-12-16softpipe: fix depth texture sampling regressionBrian Paul
We need to keep using the pipe_get_tile_swizzle() even though there's no swizzling because we need to explicitly pass in the surface format. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=32459
2010-12-16gallivm: fix copy&paste error from previous commitBrian Paul
Fixes piglit regression, http://bugs.freedesktop.org/show_bug.cgi?id=32452 NOTE: This is a candidate for the 7.10 branch
2010-12-16gallivm: work around LLVM 2.6 bug when calling C functionsBrian Paul
Create a constant int pointer to the C function, then cast it to the function's type. This avoids using trampoline code which seem to be inadvertantly freed by LLVM in some situations (which leads to segfaults). The root issue and work-around were found by José. NOTE: This is a candidate for the 7.10 branch
2010-12-16draw: s/varient/variant/Brian Paul
2010-12-16svga: s/varient/variant/Brian Paul
2010-12-16i965g: s/varient/variant/Brian Paul
2010-12-16i915g: s/varient/variant/Brian Paul
2010-12-16softpipe: s/varient/variantBrian Paul
2010-12-16nvfx: fix fragprog word swapping on big-endian machinesBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-12-15gallium: properly check for src->dst blit compatibilitiesJerome Glisse
Spotted by Christoph Bumiller & Jose Fonseca Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-15r600g: fix pow(0, 0) evaluating to NaNFredrik Höglund
We have to use the non-IEEE compliant version of MUL here, since log2(0) is -inf, and 0 * -inf is NaN in IEEE arithmetic. candidates for 7.10 branch
2010-12-15r600g: need to reference upload buffer as the might still live accross flushJerome Glisse
Can't get away from referencing upload buffer as after flush a vertex buffer using the upload buffer might still be active. Likely need to simplify the pipe_refence a bit so we don't waste so much cpu time in it. candidates for 7.10 branch Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-14softpipe: do texture swizzle during texture samplingBrian Paul
Instead of when we read texture tiles. Now swizzling happens after the shadow depth compare step. This fixes the piglit glsl-fs-shadow2d* tests (except for proj+bias because of a GLSL bug).
2010-12-14tgsi: document texture opcodesBrian Paul
2010-12-14gallivm: do texture swizzle after shadow compareBrian Paul
We need to swizzle after the shadow comparison so that the GL_DEPTH_MODE functionality is handled properly. This fixes all the piglit glsl-fs-shadow2d*.shader_test cases, except for glsl-fs-shadow2dproj-bias.shader_test which fails because of a bug in the GLSL compiler (fd.o 32395).
2010-12-14r600g: fix segfault when translating vertex bufferJerome Glisse
Note the support for non float vertex draw likely regressed need to find what we want to do there. candidates for 7.10 branches Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-13gallivm: store callbacks in a linked list rather than fixed size arrayBrian Paul
Should fix http://bugs.freedesktop.org/show_bug.cgi?id=32308
2010-12-12r600g: fix rendering with a vertex attrib having a zero strideAlex Deucher
The hardware supports zero stride just fine. This is a port of 2af8a1983180fc0168c1e0e53bcc69ee3d684ea4 from r300g. NOTE: This is a candidate for both the 7.9 and 7.10 branches. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-12-13r300g: fixup rs690 tiling stride alignment calculations.Dave Airlie
The RS690 memory controller prefers things to be on a different boundary than the discrete GPUs, we had an attempt to fix this, but it still failed, this consolidates the stride calculation into one place and removes the really special case check. This fixes gnome-shell and 16 piglit tests on my rs690 system. NOTE: This is a candidate for both the 7.9 and 7.10 branches. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-12-11r300g: fix rendering with a vertex attrib having a zero strideMarek Olšák
The hardware apparently does support a zero stride, so let's use it. This fixes missing objects in ETQW, but might also fix a ton of other similar-looking bugs. NOTE: This is a candidate for both the 7.9 and 7.10 branches.
2010-12-11tgsi: fix rbug compile errorMarek Olšák
../mesa/src/gallium/auxiliary/tgsi/tgsi_parse.h:139: error: dereferencing pointer ‘tokens.25’ does break strict-aliasing rules Signed-off-by: Marek Olšák <maraeo@gmail.com>
2010-12-10r600g: fix bo size when creating bo from handleJerome Glisse
Spoted by Alex Diomin Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-10targets/egl: Improve st_GL.so loading.Chia-I Wu
When the application is not linked to any libGL*.so, loading st_GL.so would give /usr/local/lib/egl/st_GL.so: undefined symbol: _glapi_tls_Context In that case, load libGL.so and try again. This works because util_dl_open loads with RTLD_GLOBAL. Fix "clear" OpenGL ES 1.1 demo.
2010-12-10target/egl: Fix misleading debug message.Chia-I Wu
When the name of the module is NULL, the process itself is dlopen()ed. Do not print libEGL debug: searching for st module (null)
2010-12-09draw/llvm: don't flush in vs_llvm_delete()Brian Paul
Fixes piglit glx-shader-sharing crash. When shaders are shared by multiple contexts, the shader's draw context pointer may point to a previously destroyed context. Dereferencing the context pointer will lead to a crash. In this case, simply removing the flushing code avoids the crash (the exec and sse shader paths don't flush here either). There's a deeper issue here, however, that needs examination. Shaders should not keep pointers to contexts since contexts might get destroyed at any time. NOTE: This is a candidate for the 7.10 branch (after this has been tested for a while).
2010-12-09draw/llvm: remove redundant commentBrian Paul
2010-12-09draw/llvm: remove extraneous conditionalBrian Paul
2010-12-09r600g: Fix SCons build.Vinson Lee
2010-12-09r600g: indentation cleanupJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-09r600g: specialized upload managerJerome Glisse
Allow important performance increase by doing hw specific implementation of the upload manager helper. Drop the range flushing that is not hit with this code (and wasn't with previous neither). Performance improvement are mostly visible on slow CPU. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-09r600g: avoid using pb* helper we are loosing previous cpu cycle with itJerome Glisse
r600g is up to a point where all small CPU cycle matter and pb* turn high on profile. It's mostly because pb try to be generic and thus trigger unecessary check for r600g driver. To avoid having too much abstraction & too much depth in the call embedded everythings into r600_bo. Make code simpler & faster. The performance win highly depend on the CPU & application considered being more important on slower CPU and marginal/unoticeable on faster one. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-09llvmpipe: Plug fence leaks.José Fonseca
2010-12-07r600g: fix userspace fence against lastest kernelJerome Glisse
R6XX GPU doesn't like to have two partial flush writting back to memory in row without a prior flush of the pipeline. Add PS_PARTIAL_FLUSH to flush all work between the CP and the ES, GS, VS, PS shaders. Thanks a lot to Alban Browaeys (prahal on irc) for investigating this issue. Signed-off-by: Alban Browaeys <prahal@yahoo.com> Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-07r600g: remove dead codeJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-07r300g: also revalidate the SWTCL vertex buffer after its reallocationMarek Olšák
2010-12-07r300g: validate buffers only if any of bound buffers is changedMarek Olšák
This prevents needless buffer validation (CS space checking).
2010-12-07r300g: cache packet dwords of 3D_LOAD_VBPNTR in a command buffer if possibleMarek Olšák
It's not always possible to preprocess the content of 3D_LOAD_VBPNTR in a command buffer, because the offset to all vertex buffers (which the packet depends on) is derived from the "start" parameter of draw_arrays and the "indexBias" parameter of draw_elements, but we can at least lazily make a command buffer for the case when offset == 0, which should occur most of the time.
2010-12-07u_blitter: use util_is_format_compatible in the assertMarek Olšák
2010-12-06r600g: remove useless flush mapJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-06r600g: avoid useless shader rebuild at draw callJerome Glisse
Avoid rebuilding constant shader state at each draw call, factor out spi update that might change at each draw call. Best would be to update spi only when revealent states change (likely only flat shading & sprite point). Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-06r600g: build fetch shader from vertex elementsJerome Glisse
Vertex elements change are less frequent than draw call, those to avoid rebuilding fetch shader to often build the fetch shader along vertex elements. This also allow to move vertex buffer setup out of draw path and make update to it less frequent. Shader update can still be improved to only update SPI regs (based on some rasterizer state like flat shading or point sprite ...). Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-06gallium/util: minor formatting fixesBrian Paul
2010-12-06mapi: Rewrite mapi_abi.py to get rid of preprocessor magic.Chia-I Wu
The preprocessor magic in mapi was nothing but obfuscation. Rewrite mapi_abi.py to generate real C code. This commit removes the hack added in 43121f20866bb89e8dac92bd92ec85a943704b7e.
2010-12-06egl: _eglFilterArray should not allocate.Chia-I Wu
Otherwise, when it is called from within a driver, the caller cannot free the returned data (on Windows).
2010-12-05r600g: Cleanup fetch shader resources in r600_pipe_shader_destroy().Henri Verbeet
2010-12-05r600g: Cleanup block bo references in r600_context_fini().Henri Verbeet
2010-12-05gallium/trace: check bind_vertex_sampler_states and set_vertex_sampler_viewsXavier Chantry
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com> Reviewed-by: Jakob Bornecrantz <wallbraker at gmail.com> Signed-off-by: Patrice Mandin <patmandin@gmail.com>