summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/tgsi/tgsi_exec.c
AgeCommit message (Collapse)Author
2011-03-03tgsi: Update assert.José Fonseca
Elements(mach->Inputs) is wrong now that mach->Inputs is dynamically allocated.
2011-03-02tgsi: defer allocation of huge inputs/outputs until we have a gsZack Rusin
2011-01-25tgsi: add support for 1D/2D texture arraysBrian Paul
2011-01-24gallium: implement modern sampling schemeZack Rusin
largely a merge of the previously discussed origin/gallium-resource-sampling but updated. the idea is to allow arbitrary binding of resources, the way opencl, new gl versions and dx10+ require, i.e. DCL RES[0], 2D, FLOAT LOAD DST[0], SRC[0], RES[0] SAMPLE DST[0], SRC[0], RES[0], SAMP[0]
2010-12-08tgsi: add support for system values to TGSI interpreterBrian Paul
2010-11-04tgsi/exec: Get rid of obsolete condition codes.Michal Krol
2010-11-04tgsi/exec: Cleanup the remaining arithmetic instructions.Michal Krol
As a result remove some nasty macros.
2010-09-21tgsi: Don't ignore indirect registers in tgsi_check_soa_dependenciesJosé Fonseca
NOTE: This is a candidate for the 7.9 branch.
2010-08-23tgsi: fix false CondStackTop==0 assertionBrian Paul
2010-07-30tgsi: remove incorrect assertionBrian Paul
2010-07-29gallium: implement bounds checking for constant buffersBrian Paul
Plumb the constant buffer sizes down into the tgsi interpreter where we can do bounds checking. Optional debug code warns upon out-of-bounds reading. Plus add a few other assertions in the TGSI interpreter.
2010-06-18gallium: add a temporary array register fileZack Rusin
like normal temporaries, but allows to define a number of distinct arrays, all of which make it explicit that they contain /indexable/ registers. as a side-effect we're adding support for multi-dimensional destination registers. The whole thing looks like this: DCL TEMPX[0][0..128] # 0 array with 128 registers ADD TEMPX[0][0], IN[0], IMM[0] ADD TEMPX[0][1], IN[0], IMM[0] ABS OUT[0], TEMPX[0][TEMP[0]]
2010-06-18gallium: add a new register file - immediate arrayZack Rusin
allows one to specify a safe (bound checked) array filled with immediates. it works just like a const array and declares much like our current immediates.
2010-06-15gs: make sure we end primitives when finishing executing shadersZack Rusin
2010-06-11tgsi: support 2d indirect addressingZack Rusin
2010-05-19tgsi: Implement OPCODE_DIV.Michal Krol
2010-05-06tgsi: fix tgsi_exec_machine_bind_shader() to handle NULL tokens, samplersBrian Paul
This lets us unbind a shader from the tgsi_exec_machine. Since shaders aren't ref counted we need this to properly clean up when deleting shaders elsewhere.
2010-05-06gallium/tgsi: remove unused tgsi_exec_labels codeBrian Paul
2010-05-03gallium: Remove loop register file.José Fonseca
It was only used for D3D's REP/END/BGNFOR/ENDFOR. D3D's aL register is just like another address register now.
2010-04-27tgsi: Drop BGNFOR, ENDFOR, REP, and ENDREP opcodes.José Fonseca
2010-04-18tgsi: add comment about potential code removalBrian Paul
2010-03-01tgsi: Cleanup exec code for CLAMP, CMP and CND.Michal Krol
2010-02-25tgsi: Remove dead code.Michal Krol
2010-02-20tgsi: ifdef out unused function micro_sqrt.Vinson Lee
2010-02-19tgsi: Make more exec opcodes look pretty.Michal Krol
2010-02-19tgsi: Change prototypes of micro opcodes to explicitly indicates number of args.Michal Krol
2010-02-19tgsi: Rewrite exec implementations of NRM and NRM4.Michal Krol
2010-02-05tgsi: remove special-case code for fragment positionBrian Paul
Since the origin_lower_left / pixel_center_origin changes, we need to use the fragcoord info that's set up in setup_fragcoord_coeff(). The code in exec_declaration() was clobbering the the interpolated fragment position. Fixes progs/glsl/fragcoord.c demo.
2010-02-03tgsi: added debugging code to catch divide by zeroBrian Paul
2010-02-03tgsi: convert CHECK_INF_OR_NAN to inline functionBrian Paul
And disable with if (0). Inf/NaN can occur normally during program execution. Only enable the check code when needed during debugging.
2010-02-02tgsi: fix commentBrian Paul
2010-01-28gallium: Rename PIPE_MAX_CONSTANT to PIPE_MAX_CONSTANT_BUFFERS.Michal Krol
2010-01-28gallium: Implement 2D constant buffers for fragment shader in softpipe.Michal Krol
2010-01-18tgsi: Fix behaviour of dimension index.Michal Krol
The dimension index always addresses the second-dimension axis.
2010-01-14Merge branch 'mesa_7_7_branch'Jakob Bornecrantz
Conflicts: src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/util/Makefile src/gallium/drivers/r300/r300_state_derived.c
2010-01-08tgsi: Cleanup dot-product opcodes in interpreter.Michal Krol
2010-01-07gallium: Fix texture sampling with explicit LOD in softpipe.Michal Krol
2010-01-07gallium: Pass per-element (not per-quad) LOD bias values down to texture ↵Michal Krol
sampler.
2010-01-07tgsi: Cleanup exec_tex().Michal Krol
2010-01-08tgsi: Silence uninitialized variable warnings.Vinson Lee
2010-01-05tgsi: Simplify implementation of few interpreter's instructions.Michal Krol
2010-01-05tgsi: Treat MOV source operand as FLOAT so modifiers works as expected.Michal Krol
2010-01-05tgsi: Store ADDR file in interpreter as an int.Michal Krol
2010-01-05tgsi: Remove dead micro_umod().Michal Krol
2010-01-05tgsi: Make interpreter aware of float and integer data types.Michal Krol
Debug check for inf and nan only on float channels. Apply absolute and negate source operand modifiers based on opcode type.
2010-01-05gallium: Add UMOD TGSI opcode.Michal Krol
Either that or have UDIV have two destination operands.
2010-01-05gallium: Add SWITCH, CASE, DEFAULT and ENDSWITCH opcodes to TGSI.Michal Krol
Provide reference implementation of them in tgsi_exec. Note that BREAK opcode is overloaded and can be used to break out of either a loop or a switch-case statement.
2010-01-05tgsi: Cleanup interpreter code for other existing integer opcodes.Michal Krol
2010-01-05tgsi: Implement new integer opcodes.Michal Krol
Update interpreter and ureg. Also, get rid of SHR -- it's actually an alias for ISHR.
2010-01-04tgsi: Fix assert.Vinson Lee