summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/tgsi/tgsi_text.c
AgeCommit message (Collapse)Author
2011-03-13tgsi: Fix parsing of properties with digits in the nameJakob Bornecrantz
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]
2011-01-06tgsi: remove redundant name tables from tgsi_text, use those from tgsi_dumpMarek Olšák
I also specified the array sizes in the header so that one can use the Elements macro on it.
2010-12-24tgsi_text: just parse as an integer (value is a boolean).Dave Airlie
fixes warning reported by vlee on irc. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-12-24gallium: add fragment shader property for color writes to all buffers. (v2)Dave Airlie
For GL fragColor semantics we need to tell the pipe drivers that the fragment shader color result is to be replicated to all bound color buffers, this adds the basic TGSI + documentation. v2: fix missing comma pointed out by Tilman on mesa-dev. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-11-21tgsi: Add STENCIL to text parser.Chia-I Wu
Fix OpenVG "filter" demo Program received signal SIGSEGV, Segmentation fault. 0xb7153dc9 in str_match_no_case (pcur=0xbfffe564, str=0x0) at tgsi/tgsi_text.c:86 86 while (*str != '\0' && *str == uprcase( *cur )) {
2010-07-22tgsi: Fix error message on invalid swizzle parseJakob Bornecrantz
2010-07-15tgsi: Remove dead assignment in uprcase function.Vinson Lee
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-07tgsi: null-terminate string in parse_identifierKeith Whitwell
Hit this parsing geometry shader properties.
2010-06-07tgsi: reject interpolation and semantics on vs inputsKeith Whitwell
2010-05-03tgsi: Parse and dump predicates.José Fonseca
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-03-28aux/tgsi: fix some minor glitches in string routinesKeith Whitwell
Not sure why we are open-coding these rather than using standard library functions.
2010-02-02gallium: pipe/p_inlines.h -> util/u_inlines.hJosé Fonseca
2010-01-29tgsi: add properties for fragment coord conventions (v3)Luca Barbieri
Changes in v3: - Documented the new properties - Added comments for property values - Rebased to current master Changes in v2: - Caps are added in a separate, subsequent patch This adds two TGSI fragment program properties that indicate the fragment coord conventions. The properties behave as described in the extension spec for GL_ARB_fragment_coord_conventions, but the default origin in upper left instead of lower left as in OpenGL. The syntax is: PROPERTY FS_COORD_ORIGIN [UPPER_LEFT|LOWER_LEFT] PROPERTY FS_COORD_PIXEL_CENTER [HALF_INTEGER|INTEGER] The names have been chosen for consistency with the GS properties and the OpenGL extension spec. The defaults are of course the previously assumed conventions: UPPER_LEFT and HALF_INTEGER.
2010-01-28tgsi: Handle two-dimensional constants in text parser.Michal Krol
2010-01-18tgsi: Add missing semantic name in text parser.Chia-I Wu
This time, INSTANCEID is missing...
2010-01-01tgsi: Add missing semantic name in text parser.Igor Oliveira
2009-12-25gallium: remove TGSI_SEMANTIC_VERTICESZack Rusin
it's a leftover from an early version of geometry shading support. geometry shaders now encode the primitive size in the PROPERTY token and don't need special input with their size.
2009-12-25util: put vertices_per_primitive function in its proper locationZack Rusin
2009-12-25tgsi: fix property parsing/buildingZack Rusin
2009-12-25tgsi: add missing support for two dimensional arrays in various placesZack Rusin
in particular asm text parsing and sanity checking were missing code to handle multi-dimensional arrays/geometry shaders
2009-12-25tgsi: make the tgsi assembly parser report line/column on errorZack Rusin
2009-12-25gallium: add geometry shader support to galliumZack Rusin
2009-12-15tgsi/text: Don't use strncasecmp(), it breaks windows build.Michal Krol
Also, break out of the for-loop when a matching property is found.
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-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-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-02tgsi: Update for gallium interface changes.Michal Krol
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-07-30tgsi: Declare a LOOP register.Michal Krol
The only valid usage for LOOP/ENDLOOP instructions is LOOP[0] as a destination register. The only valid usage for the remaining instructions is LOOP[0].x as an indirect register.
2009-07-22gallium: remove multiple aliases for TGSI opcodesKeith Whitwell
This is a source of ongoing confusion. TGSI has multiple names for opcodes where the same semantics originate in multiple shader APIs. For instance, TGSI includes both Mesa/GLSL and DX/SM30 names for opcodes with the same semantics, but aliases those names to the same underlying opcode number. This makes it very difficult to visually inspect two sets of opcodes (eg in state tracker & driver) and check if they implement the same functionality. This patch arbitarily rips out the versions of the opcodes not currently favoured by the mesa state tracker and leaves us with a single name for each distinct operation.
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-10tgsi: tgsi: add semantic_names[] string for TGSI_SEMANTIC_FACEBrian Paul
Same story as in the tgsi_dump.c code (see prev commit).
2009-04-03tgsi/text: Allow optional component selection for indirect registers.Michal Krol
2009-04-03tgsi/text: Allow `-|src|` variant of `-(|src|)`.Michal Krol
2009-04-01tgsi: Lookup alternate instruction mnemonics when parsing tgsi text.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-08-13tgsi: Use a homebrew version of toupper().Michal Krol
2008-08-13tgsi: Use tgsi_opcode_info.Michal Krol
2008-07-28Merge tgsi/exec and tgsi/util directories.José Fonseca