summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/tgsi/tgsi_parse.c
AgeCommit message (Collapse)Author
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-02-02tgsi: added tgsi_alloc_tokens()Brian Paul
2010-01-28tgsi: Handle 2-D declarations.Michal Krol
2010-01-05tgsi: Support signed/unsigned integer immediate types.Michal Krol
2009-12-14tgsi: add properties and system value registerZack Rusin
adds support for properties to all parts of the tgsi framework, plus introduces a new register which will be used for system generated values.
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-11-27tgsi: Remove tgsi_version token.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-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: Account for gallium shader token representation 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-07-22gallium: simplify tgsi_full_immediate structKeith Whitwell
Remove the need to have a pointer in this struct by just including the immediate data inline. Having a pointer in the struct introduces complications like needing to alloc/free the data pointed to, uncertainty about who owns the data, etc. There doesn't seem to be a need for it, and it is unlikely to make much difference plus or minus to performance. Added some asserts as we now will trip up on immediates with more than four elements. There were actually already quite a few such asserts, but the >4 case could be used in the future to specify indexable immediate ranges, such as lookup tables.
2009-07-10tgis: implement indirect addressing for destination registersBrian Paul
Includes the TGSI interpreter, but not the SSE/PPC/etc code generators.
2009-03-17tgsi: Restore statement ordering.José Fonseca
2009-03-17tgsi: Silence const pointer cast warnings.Michal Krol
2009-02-18util: Move p_debug.h into util module.José Fonseca
The debug functions depend on several util function for os abstractions, and these depend on debug functions, so a seperate module is not possible.
2009-02-10tgsi: Fix build -- rename Size to NrTokens.Michal Krol
2008-09-12gallium: use copy_token() function to avoid type punning/aliasing problemsBrian Paul
This fixes parsing errors seen with optimized builds on PPC (which led to crashes). The memcpy() is heavy-handed, but works. A lighter uint assignment could be used on x86...
2008-08-24gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul
Also, rename p_tile.[ch] to u_tile.[ch]
2008-07-28Merge tgsi/exec and tgsi/util directories.José Fonseca