summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_asm.c
AgeCommit message (Collapse)Author
2011-02-03r600g: Make some more things static.Henri Verbeet
2011-02-03r600g: Get rid of the unused r600_cf_vtx_tc() function.Henri Verbeet
2011-02-02r600g: use burst exports in shadersChristian König
Join multiple exports into just one instruction instead of exporting each register separately.
2011-01-31r600g: fix regression in cubemap tests since ↵Dave Airlie
eea1d8199b376f37027c14669e0bdf991a22872d Although CUBE is a reduction inst, it writes to more than just PV.X so we need to keep the dst channel. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-01-30r600g: fix vertex format fallbackMarek Olšák
This fixes: - piglit/draw-vertices - piglit/draw-vertices-half-float
2011-01-25r600g: FLT_TO_INT* are vector instructions on Evergreen.Henri Verbeet
FLT_TO_INT is a vector instruction, despite what the (current) documentation says. FLT_TO_INT_FLOOR and FLT_TO_INT_RPI aren't explicitly mentioned in the documentation, but those are vector instructions too.
2011-01-21r600g: FLT_TO_INT_FLOOR is trans instructionAlex Deucher
Add missing evergreen FLT_TO_INT_FLOOR instruction.
2011-01-19r600g: fix reserve_cfile for R700+Christian König
According to R700 ISA we have only two channels for cfile constants. This patch makes piglit tests "glsl1-constant array with constant indexing" happy on RV710.
2011-01-18r600g: Kill trailing whitespace.Henri Verbeet
2011-01-16r600g: fix alu inst group merging for relative adressingChristian König
2011-01-16r600d: fix some bugs added reworking literal handlingChristian König
If a literal slot isn't used it should be set to 0 instead of an uninitialized value. Also the channels for pre R700 trig functions were incorrect. And most important literals were not counted against ndw, resulting in an invalid force_add_cf detection.
2011-01-14r600g: compiler helper opcode fixes for evergreenAlex Deucher
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-01-14r600g: pass r600_bc to some addition compiler helper functionsAlex Deucher
needed for asic specific opcodes Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-01-14r600g: Disable V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT_FLOOR case.Vinson Lee
The usage of macro V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT_FLOOR was introduced by commit 323ef3a1f07ba4333dadebab571ddcd49d95f45c but the macro is undefined. Disable this case to fix the build for now.
2011-01-14r600g: add more missing instructions to r600_bc_get_num_operandsChristian König
2011-01-13r600g: Move declaration before code in r600_asm.c.Vinson Lee
Fixes SCons build.
2011-01-13r600g: rework literal handlingChristian König
2011-01-13r600g: merge alu groupsChristian König
2011-01-13r600g: implement replacing gpr with pv and psChristian König
2011-01-13r600g: add missing RECIPSQRT_CLAMPED to r600_bc_get_num_operandsChristian König
2011-01-13r600g: rework bank swizzle codeChristian König
2011-01-13r600g: fix alu slot assignmentChristian König
2011-01-13r600g: optimize away CF ALU instructions even if type doesn't matchChristian König
2011-01-13r600g: Silence uninitialized variable warnings.Vinson Lee
2011-01-12r600g: also look at tex inst when for maximum gpu countChristian König
2011-01-12r600g: implement output modifiers and use them to further optimize LRPChristian König
2011-01-12r600g: optimize away CF_INST_POPChristian König
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.
2011-01-12r600g: fix alu dumpingChristian König
2011-01-12r600g: improve r600_bc_dumpChristian König
2011-01-12r600g: fix tex and vtx joiningChristian König
2011-01-07r600g: Split ALU clauses based on used constant cache lines.Henri Verbeet
2011-01-07r600g: Consistently use the copy of the alu instruction in ↵Henri Verbeet
r600_bc_add_alu_type().
2011-01-07r600g: Store kcache settings as an array.Henri Verbeet
2011-01-06r600g: add support for NI (Northern Islands) GPUsAlex Deucher
This adds support for Barts, Turks, and Caicos asics.
2011-01-04r600g: support up to 64 shader constantsAlex Deucher
From the r600 ISA: Each ALU clause can lock up to four sets of constants into the constant cache. Each set (one cache line) is 16 128-bit constants. These are split into two groups. Each group can be from a different constant buffer (out of 16 buffers). Each group of two constants consists of either [Line] and [Line+1] or [line + loop_ctr] and [line + loop_ctr +1]. For supporting more than 64 constants, we need to break the code into multiple ALU clauses based on what sets of constants are needed in that clause. Note: This is a candidate for the 7.10 branch. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-12-07r600g: remove dead codeJerome Glisse
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-03r600g: dump raw shader output for debuggingJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-11-22r600g: add support for ontario APUsAlex Deucher
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-11-19r600g: use meaningful defines for chiprevAlex Deucher
Makes the code much clearer.
2010-11-19r600g: add fetch shader capabilitiesJerome Glisse
Use fetch shader instead of having fetch instruction in the vertex shader. Allow to restrict shader update to a smaller part when vertex buffer input layout changes. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-11-17r600g: code cleanup (indent, trailing space, empty line ...)Jerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-27r600g: Silence uninitialized variable warnings.Vinson Lee
2010-10-26r600g: add assembler support for all the kcache fields.Dave Airlie
2010-10-24r600g: Also clear bc data when we're destroying a shader.Tilman Sauerbeck
[airlied: remove unused vars] Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-10-05r600g: drop use_mem_constant.Dave Airlie
since we plan on using dx10 constant buffers everywhere.
2010-10-01r600g: add assembler support for other vtx fetch fields.Dave Airlie
this shouldn't change behaviour, just push the choice of what to do out to the shader.
2010-09-29r600g: delete old pathJerome Glisse
Lot of clean can now happen. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-09-24r600g: break alu clause earlierAndre Maasikas
we still have constants to add and next int may need also 6 slots
2010-09-21r600g: deal with overflow of VTX/TEX CF clauses.Dave Airlie
running piglit's texrect-many caused the vtx to overflow.