History log of /external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1279923d72942ee201fcc6ad40d552143f651f03 30-Apr-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Move interpolation info from tgsi_declaration to a separate token.

Move Interpolate, Centroid and CylindricalWrap from tgsi_declaration
to a separate token -- they only make sense for FS inputs and we need
room for other flags in the top-level declaration token.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
a5f44cc8c2ce0916809ce5da5a2490ad000ef099 01-May-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Split sampler views from shader resources.

This commit splits the current concept of resource into "sampler
views" and "shader resources":

"Sampler views" are textures or buffers that are bound to a given
shader stage and can be read from in conjunction with a sampler
object. They are analogous to OpenGL texture objects or Direct3D
SRVs.

"Shader resources" are textures or buffers that can be read and
written from a shader. There's no support for floating point
coordinates, address wrap modes or filtering, and, unlike sampler
views, shader resources are global for the whole graphics pipeline.
They are analogous to OpenGL image objects (as in
ARB_shader_image_load_store) or Direct3D UAVs.

Most hardware is likely to implement shader resources and sampler
views as separate objects, so, having the distinction at the API level
simplifies things slightly for the driver.

This patch introduces the SVIEW register file with a declaration token
and syntax analogous to the already existing RES register file. After
this change, the SAMPLE_* opcodes no longer accept a resource as
input, but rather a SVIEW object. To preserve the functionality of
reading from a sampler view with integer coordinates, the
SAMPLE_I(_MS) opcodes are introduced which are similar to LOAD(_MS)
but take a SVIEW register instead of a RES register as argument.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
2083a276eb270b748d1c2668eb9faa5aadc8e700 26-Aug-2011 Dave Airlie <airlied@redhat.com> tgsi: add support for texture offsets to the TGSI IR. (v2)

This adds tokens for texture offsets, to store 4 * swizzled vec 3
for use in TXF and other opcodes.

It also contains TGSI exec changes for softpipe to use this code,
along with GLSL->TGSI support for TXF.

v2: add some more comments, add back padding I removed.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
bdbe77f9c6f06cfaa155f27c2ade3c523d7fbea7 24-Jan-2011 Zack Rusin <zackr@vmware.com> gallium: implement modern sampling scheme

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]
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
c398f1544ea113279e5f038f4a643005743cab62 11-Dec-2010 Marek Olšák <maraeo@gmail.com> tgsi: fix rbug compile error

../mesa/src/gallium/auxiliary/tgsi/tgsi_parse.h:139:
error: dereferencing pointer ‘tokens.25’ does break strict-aliasing rules

Signed-off-by: Marek Olšák <maraeo@gmail.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
ec21ed1ce7963551d824b8b1f4c4ffa8d6cb3363 27-Aug-2010 Vinson Lee <vlee@vmware.com> tgsi: Include missing header in tgsi_parse.h.

Include p_compiler.h for boolean and INLINE symbols.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
285ea417ef5ee1027d1e8dd03b069cb157105bf7 20-Aug-2010 Keith Whitwell <keithw@vmware.com> tgsi: helper for dumping tokens as hex
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
101f792a2af9c9a19a050afba8b60caa689466a5 18-Jun-2010 Zack Rusin <zackr@vmware.com> gallium: add a temporary array register file

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]]
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
2b221e11da7a8bf759e3c359f22ba6f49d5f0997 18-Jun-2010 Zack Rusin <zackr@vmware.com> gallium: add a new register file - immediate array

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.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
439036739db2855bba5f0ffc12b7b727897cb530 03-Feb-2010 Brian Paul <brianp@vmware.com> tgsi: added tgsi_alloc_tokens()
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
4367de152cc5bd7240d75a33e75c1b1671b5cc16 19-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Handle 2-D declarations.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
3ff688ea299581e60caf5d6e1a464f68c717fe83 14-Dec-2009 Zack Rusin <zackr@vmware.com> tgsi: add properties and system value register

adds support for properties to all parts of the tgsi framework, plus
introduces a new register which will be used for system generated
values.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
e6133564bf2e65fc86f626a45d7977bdeaff8579 27-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Remove tgsi_version token.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
91a4e6d53f83c45c1da9240b6325011d96b61386 24-Nov-2009 Keith Whitwell <keithw@vmware.com> tgsi: rename fields of tgsi_full_src_register to reduce verbosity

SrcRegister -> Register
SrcRegisterInd -> Indirect
SrcRegisterDim -> Dimension
SrcRegisterDimInd -> DimIndirect
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
5b0824dfe5eaf59fa87134e7482b3d147b262901 24-Nov-2009 Keith Whitwell <keithw@vmware.com> tgsi: rename fields of tgsi_full_dst_register to reduce verbosity

DstRegister -> Register
DstRegisterInd -> Indirect
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
fe2b31e4a896167a33d267822b36eb2de0ceecba 24-Nov-2009 Keith Whitwell <keithw@vmware.com> tgsi: rename fields of tgsi_full_declaration to reduce verbosity

DeclarationRange -> Range
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
7d6c8f980d1e23ad6f557d650e89c715861a3b0c 24-Nov-2009 Keith Whitwell <keithw@vmware.com> tgsi: rename fields of tgsi_full_instruction to avoid excessive verbosity

InstructionPredicate -> Predicate
InstructionLabel -> Label
InstructionTexture -> Texture
FullSrcRegisters -> Src
FullDstRegisters -> Dst
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
42ae0030696f027050c41babced2b408997bb0ce 24-Nov-2009 Keith Whitwell <keithw@vmware.com> tgsi: remove unnecessary full_token init and free functions
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
9fbfe6b65d7d45a70553b603f2166be3272d1e35 24-Nov-2009 Keith Whitwell <keithw@vmware.com> tgsi: remove unused Flags member from full_instruction
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
ba1ca28cc62fed71c77902b95ae4ed36c6bf25f8 24-Nov-2009 Keith Whitwell <keithw@vmware.com> gallium: simplify tgsi tokens further

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.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
5ee0d9f632383339088cc33005b7794b0915d4e0 24-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Account for gallium shader token representation changes.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
aa2b2e5d7d53ddd08425536edddec509a8834bfc 02-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Update for gallium interface changes.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
da253319f9e5d37d9c55b975ef9328545a3ac9b4 23-Oct-2009 Keith Whitwell <keithw@vmware.com> gallium: remove extended negate also, and also the ExtSwz token

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.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
fffcecc4d93253b077479d5f550a8fc5c20e54cd 20-Aug-2009 Brian Paul <brianp@vmware.com> tgsi: added tgsi_full_instruction::Flags field

Users of the parser can make use of this.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
fd31f92cea0ce8613a22d8f4b3c75b340bcc5689 22-Jul-2009 Keith Whitwell <keithw@vmware.com> gallium: simplify tgsi_full_immediate struct

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.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
baa7ff47d548cdcc1ea68657ee1b0500f78041be 10-Jul-2009 Brian Paul <brianp@vmware.com> tgis: implement indirect addressing for destination registers

Includes the TGSI interpreter, but not the SSE/PPC/etc code generators.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h
c208a2c791fa24c7c5887fc496738cbddbfafc72 27-Jul-2008 José Fonseca <jrfonseca@tungstengraphics.com> Merge tgsi/exec and tgsi/util directories.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.h