summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* r600g: fix tex and vtx joiningChristian König2010-12-161-2/+2
|
* r600g: improve r600_bc_dumpChristian König2010-12-161-28/+132
|
* r600g: implement output modifiers and use them to further optimize LRPChristian König2010-12-164-0/+32
|
* r600g: use special constants for 0, 1, -1, 1.0f, 0.5f etcChristian König2010-12-141-12/+44
|
* r600g: optimize temp register handling for LRPChristian König2010-12-141-34/+38
|
* r600g: DP4 also supports writemaskingChristian König2010-12-141-8/+6
|
* r600g: optimize away CF_INST_POPChristian König2010-12-142-3/+27
| | | | | If last instruction is an CF_INST_ALU we don't need to emit an additional CF_INST_POP for stack clean up after an IF ELSE ENDIF.
* r600g: texture instructions also work fine with TGSI_FILE_INPUTChristian König2010-12-121-2/+3
|
* r600g: Why all this fiddling with tgsi_helper_copy?Christian König2010-12-121-21/+42
| | | | | | | | tgsi_helper_copy is used on several occasions to copy a temporary result into the real destination register to emulate writemasks for OP3 and reduction operations. According to R600 ISA that's unnecessary. This patch fixes this use for MAD, CMP and DP4.
* Merge remote branch 'origin/master' into pipe-videoChristian König2010-12-11200-3075/+4385
|\ | | | | | | | | | | Conflicts: src/gallium/drivers/r600/r600_pipe.c src/gallium/drivers/r600/r600_texture.c
| * r600g: Fix SCons build.Vinson Lee2010-12-092-1/+2
| |
| * r600g: indentation cleanupJerome Glisse2010-12-092-23/+21
| | | | | | | | Signed-off-by: Jerome Glisse <[email protected]>
| * r600g: specialized upload managerJerome Glisse2010-12-098-109/+176
| | | | | | | | | | | | | | | | | | 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 <[email protected]>
| * llvmpipe: Plug fence leaks.José Fonseca2010-12-092-0/+3
| |
| * r600g: remove dead codeJerome Glisse2010-12-076-268/+8
| | | | | | | | Signed-off-by: Jerome Glisse <[email protected]>
| * r300g: also revalidate the SWTCL vertex buffer after its reallocationMarek Olšák2010-12-071-0/+1
| |
| * r300g: validate buffers only if any of bound buffers is changedMarek Olšák2010-12-077-13/+39
| | | | | | | | This prevents needless buffer validation (CS space checking).
| * r300g: cache packet dwords of 3D_LOAD_VBPNTR in a command buffer if possibleMarek Olšák2010-12-073-15/+65
| | | | | | | | | | | | | | | | | | 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.
| * r600g: avoid useless shader rebuild at draw callJerome Glisse2010-12-067-47/+108
| | | | | | | | | | | | | | | | | | 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 <[email protected]>
| * r600g: build fetch shader from vertex elementsJerome Glisse2010-12-0611-44/+619
| | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
| * r600g: Cleanup fetch shader resources in r600_pipe_shader_destroy().Henri Verbeet2010-12-051-0/+5
| |
| * gallium/trace: check bind_vertex_sampler_states and set_vertex_sampler_viewsXavier Chantry2010-12-051-0/+6
| | | | | | | | | | | | Signed-off-by: Xavier Chantry <[email protected]> Reviewed-by: Jakob Bornecrantz <wallbraker at gmail.com> Signed-off-by: Patrice Mandin <[email protected]>
| * init ps->context with util_surfaces_get and do_getXavier Chantry2010-12-051-2/+1
| | | | | | | | | | | | Signed-off-by: Xavier Chantry <[email protected]> Reviewed-by: Jakob Bornecrantz <wallbraker at gmail.com> Signed-off-by: Patrice Mandin <[email protected]>
| * nvfx: fixes after array textures mergeXavier Chantry2010-12-052-9/+10
| | | | | | | | | | Signed-off-by: Xavier Chantry <[email protected]> Signed-off-by: Patrice Mandin <[email protected]>
| * r300g: optimize looping over atomsMarek Olšák2010-12-0513-119/+121
| | | | | | | | This also removes DBG_STATS (the stats can be obtained with valgrind instead).
| * r300g: cleanup winsysMarek Olšák2010-12-055-11/+12
| |
| * r300g: try and use all of vertex constant spaceDave Airlie2010-12-054-47/+62
| | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
| * r300g: do not use the index parameter in set_constant_bufferMarek Olšák2010-12-051-2/+1
| | | | | | | | | | | | 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.
| * gallium/noop: Add prototype for noop_init_state_functions.Vinson Lee2010-12-041-0/+2
| | | | | | | | | | | | Silences this GCC warning. noop_state.c:247: warning: no previous prototype for 'noop_init_state_functions'
| * mesa: consolidate some compiler -D flagsBrian Paul2010-12-031-2/+0
| | | | | | | | | | -D__STDC_CONSTANT_MACROS and -D__STDC_LIMIT_MACROS are only needed for LLVM build.
| * r300g: one more r500_index_bias_supported leftoverMarek Olšák2010-12-031-2/+1
| |
| * r300g: add capability bit index_bias_supportedMarek Olšák2010-12-036-12/+10
| | | | | | | | .. instead of calling r500_index_bias_supported(..) every draw call.
| * r600g: more indentation fix + warning silencing + dead code removalJerome Glisse2010-12-032-2/+2
| | | | | | | | Signed-off-by: Jerome Glisse <[email protected]>
| * r600g: indentation fixJerome Glisse2010-12-037-105/+101
| | | | | | | | Signed-off-by: Jerome Glisse <[email protected]>
| * r600g: update polygon offset only when rasterizer or zbuffer changeJerome Glisse2010-12-034-80/+114
| | | | | | | | | | | | Aim is to build as little state as possible in draw functions. Signed-off-by: Jerome Glisse <[email protected]>
| * llvmpipe: fix broken stencil writemaskBrian Paul2010-12-031-1/+1
| | | | | | | | Fixes http://bugs.freedesktop.org/show_bug.cgi?id=32070
| * r600g: set address of pop instructions to next instructionFabian Bieler2010-12-031-0/+1
| |
| * r600g: dump raw shader output for debuggingJerome Glisse2010-12-033-0/+27
| | | | | | | | Signed-off-by: Jerome Glisse <[email protected]>
| * r300g: do not remove unused constants if we are not near the limitMarek Olšák2010-12-032-2/+9
| |
| * r300g: fix pointer arithmetic with void* in transfer_inline_writeMarek Olšák2010-12-032-3/+3
| |
| * r300g: implement simple transfer_inline_write for buffersMarek Olšák2010-12-031-10/+38
| | | | | | | | | | r600g might need something like that as well. This speeds up constant buffer upload a bit.
| * r300g: use internal BO handle for add_buffer and write_relocMarek Olšák2010-12-0310-35/+49
| | | | | | | | | | | | | | Small perf improvement in ipers. radeon_drm_get_cs_handle is exactly what this commit tries to avoid in every write_reloc.
| * gallivm/llvmpipe: remove lp_build_context::builderBrian Paul2010-12-022-15/+20
| | | | | | | | The field was redundant. Use the gallivm->builder value instead.
| * r300g: fix buildMarek Olšák2010-12-031-1/+1
| |
| * r300g: Drop unnecessary castnobled2010-12-031-1/+1
| |
| * r300g: Abort if draw_create() failsnobled2010-12-031-0/+2
| | | | | | | | The other drivers need to be updated to do this, too.
| * r300g: Abort if atom allocations failnobled2010-12-031-18/+28
| |
| * nv50: silence some unknown get_param warningsBen Skeggs2010-12-031-0/+4
| | | | | | | | Signed-off-by: Ben Skeggs <[email protected]>
| * r600g: bump texture/cb limits appropriately for evergreenAlex Deucher2010-12-021-2/+14
| |
| * softpipe: increase max texture size to 16KBrian Paul2010-12-026-23/+73
| |