summaryrefslogtreecommitdiff
path: root/src/gallium/drivers
AgeCommit message (Collapse)Author
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-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-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-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-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-09llvmpipe: Plug fence leaks.José Fonseca
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-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-05r600g: Cleanup fetch shader resources in r600_pipe_shader_destroy().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>
2010-12-05init ps->context with util_surfaces_get and do_getXavier 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>
2010-12-05nvfx: fixes after array textures mergeXavier Chantry
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com> Signed-off-by: Patrice Mandin <patmandin@gmail.com>
2010-12-05r300g: optimize looping over atomsMarek Olšák
This also removes DBG_STATS (the stats can be obtained with valgrind instead).
2010-12-05r300g: cleanup winsysMarek Olšák
2010-12-05r300g: try and use all of vertex constant spaceDave Airlie
Finished up by Marek Olšák. We can set the constant space to use a different area per-call to the shader, we can avoid flushing the PVS as often as we do by spreading out the constants across the whole constant space. Signed-off-by: Marek Olšák <maraeo@gmail.com>
2010-12-05r300g: do not use the index parameter in set_constant_bufferMarek Olšák
It appears to be a constant buffer index (in case there are more constant buffers explicitly used by a shader), i.e. something that Gallium currently does not use. We treated it incorrectly as the offset to a constant buffer.
2010-12-04gallium/noop: Add prototype for noop_init_state_functions.Vinson Lee
Silences this GCC warning. noop_state.c:247: warning: no previous prototype for 'noop_init_state_functions'
2010-12-03mesa: consolidate some compiler -D flagsBrian Paul
-D__STDC_CONSTANT_MACROS and -D__STDC_LIMIT_MACROS are only needed for LLVM build.
2010-12-03r300g: one more r500_index_bias_supported leftoverMarek Olšák
2010-12-03r300g: add capability bit index_bias_supportedMarek Olšák
.. instead of calling r500_index_bias_supported(..) every draw call.
2010-12-03r600g: more indentation fix + warning silencing + dead code removalJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-03r600g: indentation fixJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-03r600g: update polygon offset only when rasterizer or zbuffer changeJerome Glisse
Aim is to build as little state as possible in draw functions. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-03llvmpipe: fix broken stencil writemaskBrian Paul
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=32070
2010-12-03r600g: set address of pop instructions to next instructionFabian Bieler
2010-12-03r600g: dump raw shader output for debuggingJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-03r300g: do not remove unused constants if we are not near the limitMarek Olšák
2010-12-03r300g: fix pointer arithmetic with void* in transfer_inline_writeMarek Olšák
2010-12-03r300g: implement simple transfer_inline_write for buffersMarek Olšák
r600g might need something like that as well. This speeds up constant buffer upload a bit.
2010-12-03r300g: use internal BO handle for add_buffer and write_relocMarek Olšák
Small perf improvement in ipers. radeon_drm_get_cs_handle is exactly what this commit tries to avoid in every write_reloc.
2010-12-02gallivm/llvmpipe: remove lp_build_context::builderBrian Paul
The field was redundant. Use the gallivm->builder value instead.
2010-12-03r300g: fix buildMarek Olšák
2010-12-03r300g: Drop unnecessary castnobled
2010-12-03r300g: Abort if draw_create() failsnobled
The other drivers need to be updated to do this, too.
2010-12-03r300g: Abort if atom allocations failnobled
2010-12-03nv50: silence some unknown get_param warningsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-12-02r600g: bump texture/cb limits appropriately for evergreenAlex Deucher