summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/tgsi
AgeCommit message (Collapse)Author
2009-12-08tgsi: fix some off-by-one errors in shader length, instruction lengthBrian Paul
The ureg and/or tgsi-simplification work introduced some inconsistencies between the ureg and traditional TGSI construction code. Now the tgsi_instruction::NrTokens field is consistant and the tgsi_header::BodySize field isn't off by one. Fixes bug 25455.
2009-12-03tgsi/ureg: Fix ureg_emit_src().Michal Krol
2009-12-01tgsi: fix ureg emit after version token changeKeith Whitwell
2009-12-01Merge commit 'origin/tgsi-simplify-ext'Keith Whitwell
Conflicts: src/gallium/drivers/r300/r300_vs.c
2009-12-01tgsi/sanity: Up MAX_REGISTERS to 1024.Michal Krol
2009-11-27tgsi: Remove tgsi_version token.Michal Krol
2009-11-26tgsi/exec: Fix orientation of DDY.Michal Krol
2009-11-26tgsi/exec: Force return from a subroutine at ENDSUB.Michal Krol
2009-11-26tgsi/ureg: Add forgotten goto in ureg_DECL_constant().Michal Krol
2009-11-25tgsi: Fix token builder.Michal Krol
2009-11-25tgsi: Update raw token dumper after token definition changes.Michal Krol
2009-11-24tgsi: rename fields of tgsi_full_src_register to reduce verbosityKeith Whitwell
SrcRegister -> Register SrcRegisterInd -> Indirect SrcRegisterDim -> Dimension SrcRegisterDimInd -> DimIndirect
2009-11-24tgsi: rename fields of tgsi_full_dst_register to reduce verbosityKeith Whitwell
DstRegister -> Register DstRegisterInd -> Indirect
2009-11-24tgsi: rename fields of tgsi_full_declaration to reduce verbosityKeith Whitwell
DeclarationRange -> Range
2009-11-24tgsi: rename fields of tgsi_full_instruction to avoid excessive verbosityKeith Whitwell
InstructionPredicate -> Predicate InstructionLabel -> Label InstructionTexture -> Texture FullSrcRegisters -> Src FullDstRegisters -> Dst
2009-11-24tgsi: reduce repetition of structure name in its membersKeith Whitwell
Rename Semantic.SemanticName to Semantic.Name. Similar for SemanticIndex, and the members of the tgsi_version struct.
2009-11-24tgsi: remove unnecessary full_token init and free functionsKeith Whitwell
2009-11-24tgsi: remove unused Flags member from full_instructionKeith Whitwell
2009-11-24gallium: simplify tgsi tokens furtherKeith Whitwell
Drop anonymous 'Extended' fields, have every optional token named explicitly in its parent. Eg. there is now an Instruction.Label flag, etc. Drop destination modifiers and other functionality which cannot be generated by tgsi_ureg.c, which is now the primary way of creating shaders. Pull source modifiers into the source register token, drop the second negate flag. The source register token is now full - if we need to expand it, probably best to move all of the modifiers to a new token and have a single flag for it.
2009-11-24tgsi: Document Declaration Semantic token and FACE semantic name.Michal Krol
2009-11-24tgsi: Implement predicated instructions in exec.Michal Krol
2009-11-24tgsi: Add ureg_DECL_loop().Michal Krol
2009-11-24tgsi: Account for gallium shader token representation changes.Michal Krol
2009-11-23tgsi: Clamp the source argument in micro_exp2() to avoid Inf.Michal Krol
2009-11-23tgsi: Remove code that actually had no effect.Michal Krol
2009-11-23tgsi: Fix POSITION and FACE fragment shader inputs.Michal Krol
2009-11-23tgsi: Bring BGNFOR/ENDFOR implementation up to spec.Michal Krol
2009-11-23tgsi: Fake TXD implementation in exec.Michal Krol
2009-11-23tgsi: Add execution debugging facilities to exec.Michal Krol
2009-11-19tgsi: Provide ultimate solution for SOA dependencies in exec.Michal Krol
Reorder STOREs in such a way that they appear after the last FETCH.
2009-11-10tgsi/exec: Exit early on error.Michal Krol
2009-11-10tgsi/ureg: Simplify logic in tokens_expand().Michal Krol
2009-11-04tgsi/ureg: Allow for multiple extended instruction tokens.Michal Krol
For example, we would like to have a predicate and texture token in one instruction to do predicated texture sampling.
2009-11-03tgsi: Up tgsi_exec's control flow nesting to 32.Michal Krol
2009-11-02tgsi/ureg: Add negate and swizzle for predicates.Michal Krol
2009-11-02tgsi/ureg: Update for gallium interface changes.Michal Krol
2009-11-02tgsi: Update for gallium interface changes.Michal Krol
2009-10-23gallium: remove extended negate also, and also the ExtSwz tokenKeith Whitwell
Likewise, the extended negate functionality hasn't been used since mesa switched to using tgsi_ureg to build programs, and has been translating the SWZ opcode internally to a single MAD.
2009-10-23gallium: remove the swizzling parts of ExtSwizzleKeith Whitwell
These haven't been used by the mesa state tracker since the conversion to tgsi_ureg, and it seems that none of the other state trackers are using it either. This helps simplify one of the biggest suprises when starting off with TGSI shaders.
2009-10-23gallium: remove noise opcodesKeith Whitwell
Provide a dummy implementation in the GL state tracker (move 0.5 to the destination regs). At some point, a motivated person could add a better implementation of noise. Currently not even the nvidia binary drivers do anything more than this. In any case, the place to do this is in the GL state tracker, not the poor driver.
2009-09-24Merge branch 'mesa_7_6_branch'Brian Paul
Conflicts: src/mesa/drivers/dri/r600/r700_assembler.c src/mesa/drivers/dri/r600/r700_chip.c src/mesa/drivers/dri/r600/r700_render.c src/mesa/drivers/dri/r600/r700_vertprog.c src/mesa/drivers/dri/r600/r700_vertprog.h src/mesa/drivers/dri/radeon/radeon_span.c
2009-09-24tgsi/sse: remove old commentsBrian Paul
2009-09-24tgsi/sse: implement SEQ, SGT, SLE, SNEBrian Paul
2009-09-24tgsi/sse: Pass the lodbias, not zero. More comments.Brian Paul
This fixes the glean/glsl1 "texture2D(), with bias" test when using SSE.
2009-09-17tgsi: Scan input interpolators, too.Michal Krol
2009-09-13tgsi: handle some src/dst aliasing in tgsi_sse2.cKeith Whitwell
Src/Dst aliasing (aka SOA dependencies) requires some care to ensure intermediate results do not overwrite yet-to-be read source registers. This change ensures that MOV/SWZ handle this correctly, which is poor but no worse than the current tgsi_exec.c path. Remove the fallback as there is nothing to be gained correctness-wise between the two implementations now. Fixing this properly looks like a bit of work in this code, but might be easily achieved by sending destination writes to temporary storage.
2009-09-12tgsi: implement saturationKeith Whitwell
Fix recent performance regression.
2009-09-12tgsi: add missing implementation of constant decl changeKeith Whitwell
2009-09-12ureg: add a mechanism to get the built tokens rather than a full shaderKeith Whitwell
Previously ureg would always call the driver's create-shader function. This allows the caller the opportunity to hold onto the tokens if it needs to reuse them, eg. to create an internal draw shader.
2009-09-12ureg: add generic emitters for tex and branch instructionsKeith Whitwell
Couldn't previously emit these except by calling the opcode-specific helper.