History log of /external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c
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.c
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.c
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.c
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.c
285ea417ef5ee1027d1e8dd03b069cb157105bf7 20-Aug-2010 Keith Whitwell <keithw@vmware.com> tgsi: helper for dumping tokens as hex
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c
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.c
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.c
439036739db2855bba5f0ffc12b7b727897cb530 03-Feb-2010 Brian Paul <brianp@vmware.com> tgsi: added tgsi_alloc_tokens()
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c
4367de152cc5bd7240d75a33e75c1b1671b5cc16 19-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Handle 2-D declarations.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c
ff56a12051a91c5c69db9afb85e4a3ebdb17ef96 23-Dec-2009 Michal Krol <michal@vmware.com> tgsi: Support signed/unsigned integer immediate types.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c
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.c
bc7567d9665924650c43c661d07ae9a922554bee 07-Dec-2009 Brian Paul <brianp@vmware.com> tgsi: fix some off-by-one errors in shader length, instruction length

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.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c
e6133564bf2e65fc86f626a45d7977bdeaff8579 27-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Remove tgsi_version token.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c
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.c
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.c
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.c
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.c
763426a0256f0ab06f8af53947bd630f8600183a 24-Nov-2009 Keith Whitwell <keithw@vmware.com> tgsi: reduce repetition of structure name in its members

Rename Semantic.SemanticName to Semantic.Name. Similar for
SemanticIndex, and the members of the tgsi_version struct.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c
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.c
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.c
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.c
aa2b2e5d7d53ddd08425536edddec509a8834bfc 02-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Update for gallium interface changes.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c
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.c
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.c
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.c
05318c5afab768b85648909ee957ebf537fc10a8 17-Mar-2009 José Fonseca <jfonseca@vmware.com> tgsi: Restore statement ordering.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c
627c2d2f0a26e01095d23bb33955bee825390c8d 17-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Silence const pointer cast warnings.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c
ea4bf267e4b023b08043f91ac44592fed1736e7f 18-Feb-2009 José Fonseca <jfonseca@vmware.com> util: Move p_debug.h into util module.

The debug functions depend on several util function for os abstractions, and
these depend on debug functions, so a seperate module is not possible.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c
5ecd0b0890fd48656e46c017830a9f5d6b906aae 10-Feb-2009 Michal Krol <michal@vmware.com> tgsi: Fix build -- rename Size to NrTokens.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c
bd34b8a4febb7aadec0545250fd8b6b06ad774e8 12-Sep-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: use copy_token() function to avoid type punning/aliasing problems

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...
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c
4f25420bdd834e81a3e22733304efc5261c2998a 25-Aug-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.h

Also, rename p_tile.[ch] to u_tile.[ch]
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c
c208a2c791fa24c7c5887fc496738cbddbfafc72 27-Jul-2008 José Fonseca <jrfonseca@tungstengraphics.com> Merge tgsi/exec and tgsi/util directories.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_parse.c