History log of /external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dacf5dc9ac1a700b86e0dc385513afaff41e7aea 28-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium: add TGSI support for multisample textures

The only allowed instructions are TXQ_LZ and TXF.

TXQ_LZ is like TXQ, but without the LOD parameter (which is always zero
with MSAA textures)

The 3rd or the 4th texcoord component in TXF should contain the sample index
for a 2D_MSAA or 2D_ARRAY_MSAA texture, respectively.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
96956dc5076fc03b9290368ca90e3f3b870ee613 11-May-2012 José Fonseca <jfonseca@vmware.com> gallium/tgsi: s/TGSI_BUFFER/TGSI_TEXTURE_BUFFER/

For consistency.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
223831ca146bc3aca615542794a7c3800ccbcc6f 11-May-2012 José Fonseca <jfonseca@vmware.com> gallium/tgsi: Redefine the TGSI_TEXTURE_UNKNOWN texture target.

Some code relies on the existing of an invalid texture target. It seems
safer to bring it back than to deal with unintended consequences.

This partially reverts commit a4ebb04214bab1cd9bd41967232ec89441e31744.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
2644952bd4dfa3b75112dee8dfd287a12d770705 18-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Introduce the "LOCAL" register declaration modifier.

This change will be useful to implement function parameter passing on
top of TGSI. As we don't have a proper stack, a register-based
calling convention will be used instead, which isn't necessarily a bad
thing given that GPUs often have plenty of registers to spare.

Using the same register space for local temporaries and
inter-procedural communication caused some inefficiencies, because in
some cases the register allocator would lose the freedom to merge
temporary values together into the same physical register, leading to
suboptimal register (and sometimes, as a side effect, instruction)
usage.

The LOCAL declaration modifier specifies that the value isn't intended
for parameter passing and as a result the compiler doesn't have to
give any guarantees of it being preserved across function boundaries.

Ignoring the LOCAL flag doesn't change the semantics of a valid
program in any way, because local variables are just supposed to get a
more relaxed treatment. IOW, this should be a backwards-compatible
change.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
c2d31a83a8104acba05f92b025bc9b145ca34974 30-Apr-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Add support for atomic opcodes.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
9e550c34237898385c07af2cbb2da76670ed994e 30-Apr-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Add support for barriers.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
581ddbcf93ea8111e71ef43e90fa6937cf46a2cb 18-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Define system values used to query the compute grid parameters.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
b8e808f1ef9462af8545999df514fddbbff34345 30-Apr-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Add resource write-back support.

Define a new STORE opcode with a role dual to the LOAD opcode, and add
flags to specify that a shader resource is intended for writing.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
82c90b2da8e236bc134cb2bd0ec4e09551b12164 30-Apr-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Add support for raw resources.

Normal resource access (e.g. the LOAD TGSI opcode) is supposed to
perform a series of conversions to turn the texture data as it's found
in memory into the target data type.

In compute programs it's often the case that we only want to access
the raw bits as they're stored in some buffer object, and any kind of
channel conversion and scaling is harmful or inefficient, especially
in implementations that lack proper hardware support to take care of
it -- in those cases the conversion has to be implemented in software
and it's likely to result in a performance hit even if the pipe_buffer
and declaration data types are set up in a way that would just pass
the data through.

Add a declaration flag that marks a resource as typeless. No channel
conversion will be performed in that case, and the X coordinate of the
address vector will be interpreted in byte units instead of elements
for obvious reasons.

This is similar to D3D11's ByteAddressBuffer, and will be used to
implement OpenCL's constant arguments. The remaining four compute
memory spaces can also be understood as raw resources.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
a4ebb04214bab1cd9bd41967232ec89441e31744 30-Apr-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Define the TGSI_BUFFER texture target.

This texture type was already referred to by the documentation but it
was never defined. Define it as 0 to match the pipe_texture_target
enumeration values.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
63428372cadc73a7124f4e7d383eb86a0c7affd7 18-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Introduce the compute processor.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
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/include/pipe/p_shader_tokens.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/include/pipe/p_shader_tokens.h
d9d82dcd006c124e6569789c90390c43c1360c06 25-Apr-2012 Francisco Jerez <currojerez@riseup.net> gallium: Basic compute interface.

Define an interface that exposes the minimal functionality required to
implement some of the popular compute APIs. This commit adds entry
points to set the grid layout and other state required to keep track
of the usual address spaces employed in compute APIs, to bind a
compute program, and execute it on the device.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
0ec30805a4aad945515957e980374f65fbd3b66e 11-Jan-2012 Dave Airlie <airlied@redhat.com> tgsi: add TGSI_TEXTURE_SHADOWCUBEMAP

This adds support for shadow cubemap texture sampling instructions.

This is required for GL 3.0.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
b6cbc28533a3fd68dbfe694c0774735233df8758 09-Jan-2012 Dave Airlie <airlied@redhat.com> tgsi: add ISSG support

This adds integer version of SSG that GLSL 1.30 can produce.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
67e3cbf1632e361220234013147331e4618b70cb 09-Jan-2012 Dave Airlie <airlied@redhat.com> gallium: introduce GLSL based interpolation rules. (v2)

This introduces an unspecified interpolation paramter that is only allowed for
color semantics, so a specified GLSL interpolation will override the ShadeModel
specified interpolation, but not vice-versa.

This fixes a lot of the interpolation tests in piglit.

v2: rename from unspecified to color

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
dc4c821f0817a3db716f965692fb701079f66340 10-Jan-2012 Marek Olšák <maraeo@gmail.com> Squash-merge branch 'gallium-clip-state'

Conflicts:
src/gallium/auxiliary/tgsi/tgsi_strings.c
src/mesa/state_tracker/st_atom_clip.c

commit d919791f2742e913173d6b335128e7d4c63c0840
Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Date: Fri Jan 6 17:59:22 2012 +0100

d3d1x: adapt to new clip state

commit cfec82bca3fefcdefafca3f4555285ec1d1ae421
Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Date: Fri Jan 6 14:16:51 2012 +0100

gallium/docs: update for clip state changes

commit c02bfeb81ad9f62041a2285ea6373bbbd602912a
Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Date: Fri Jan 6 14:21:43 2012 +0100

tgsi: add TGSI_PROPERTY_PROHIBIT_UCPS

commit d4e0a785a6a23ad2f6819fd72e236acb9750028d
Author: Brian Paul <brianp@vmware.com>
Date: Thu Jan 5 08:30:00 2012 -0700

tgsi: consolidate TGSI string arrays in new tgsi_strings.h

There was some duplication between the tgsi_dump.c and tgsi_text.c
files. Also use some static assertions to help catch errors when
adding new TGSI values.

v2: put strings in tgsi_strings.c file instead of the .h file.

Reviewed-by: Dave Airlie <airlied@redhat.com>

commit c28584ce0d8c62bd92c8f140729d344f88a0b3cd
Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Date: Fri Jan 6 12:48:09 2012 +0100

gallium: extend user_clip_plane_enable to apply to clip distances

commit f1d5016c07f786229ed057effbe55fbfd160b019
Author: Marek Olšák <maraeo@gmail.com>
Date: Fri Jan 6 02:39:09 2012 +0100

nvfx: adapt to new clip state

commit 6f6fa1c26bd19f797c1996731708e3569c9bfe24
Author: Marek Olšák <maraeo@gmail.com>
Date: Fri Jan 6 01:41:39 2012 +0100

st/mesa: fix DrawPixels with GL_DEPTH_CLAMP

commit c86ad730aa1c017788ae88a55f54071bf222be12
Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Date: Tue Jan 3 23:51:30 2012 +0100

nv50: adapt to new clip state

commit 3a8ae6ac243bae5970729dc4057fe02d992543dc
Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Date: Tue Jan 3 23:32:36 2012 +0100

nvc0: adapt to new clip state

commit 6243a8246997f8d2fcc69ab741a2c2dea080ff11
Author: Marek Olšák <maraeo@gmail.com>
Date: Thu Dec 29 01:32:51 2011 +0100

draw: initalize pt.user.planes in draw_init

This fixes a crash in glean/fpexceptions.

commit e3056524b19b56d473f4faff84ffa0eb41497408
Author: Marek Olšák <maraeo@gmail.com>
Date: Mon Dec 26 06:26:55 2011 +0100

svga: adapt to new clip state

commit c5bfa8b37d6d489271df457229081d6bbb51b4b7
Author: Marek Olšák <maraeo@gmail.com>
Date: Sun Dec 25 14:11:51 2011 +0100

r600g: adapt to new clip state

commit f11890905362f62627c4a28a8255b76eb7de7df2
Author: Marek Olšák <maraeo@gmail.com>
Date: Sun Dec 25 14:10:26 2011 +0100

r300g: adapt to new clip state

commit e37465327c79a01112f15f6278d9accc5bf3103f
Author: Marek Olšák <maraeo@gmail.com>
Date: Sun Dec 25 12:39:16 2011 +0100

draw: adapt to new clip state

This adds a regression in the LLVM clipping path. Can anybody see anything
wrong with the code? It works for every other case, just glean/fpexceptions
crashes when doing the "Infinite clip plane test".

commit b474d2b18c72d965eefae4e427c269cba5ce6ba2
Author: Marek Olšák <maraeo@gmail.com>
Date: Sun Dec 25 13:14:59 2011 +0100

u_blitter: don't save/set/restore clip state

commit 9dd240ea91f523a677af45e8d0adb9e661e28602
Author: Marek Olšák <maraeo@gmail.com>
Date: Sun Dec 25 13:11:56 2011 +0100

gallium: don't cso_save/set/restore clip state

The enable bits are in the rasterizer state.

commit a4f7031179f5f4ad524b34b394214b984ac950f6
Author: Marek Olšák <maraeo@gmail.com>
Date: Sun Dec 25 12:58:55 2011 +0100

gallium: default depth_clip to 1

depth_clip = !depth_clamp

commit fe21147a00ab90e549d63fe12ee4625c9c2ffcc3
Author: Marek Olšák <maraeo@gmail.com>
Date: Mon Dec 26 06:14:19 2011 +0100

trace,util: update state logging to new clip state

Also dump the other missing flags.

commit 2a3b96e84ac872dcc5bc1de049fe76bb58d64b23
Author: Marek Olšák <maraeo@gmail.com>
Date: Sun Dec 25 10:43:43 2011 +0100

st/mesa: adapt to new clip state

commit b7b656a42fca19d7c85267f42649a206a85a2c72
Author: Marek Olšák <maraeo@gmail.com>
Date: Sat Dec 17 15:45:19 2011 +0100

gallium: move state enable bits from clip_state to rasterizer_state
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
4c0f1fb5ec6117f07c9c911d7f74ff0d18c51d98 07-Jan-2012 Bryan Cain <bryancain3@gmail.com> gallium: add an IABS opcode to TGSI

This is a necessary operation that is missing from TGSI.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
9cea86f501eab1f72a148280c12286244cd26acf 04-Jan-2012 Dave Airlie <airlied@redhat.com> gallium: add new semantic for clip vertex.

This is to match the gl_ClipVertex output from GLSL 1.20.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
6951870e5790a4b563bfa3b943ed338f9c5922ac 02-Jan-2012 Bryan Cain <bryancain3@gmail.com> gallium: add support for clip distances
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
06f217d80f3d1318da4974bf7b31ea7edcf5eb0b 18-Nov-2011 Marek Olšák <maraeo@gmail.com> gallium: implement ARB_conservative_depth

This adds a new TGSI property to represent the GLSL layout qualifier in TGSI.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
e7ccd703a28e14431b90f29540cec0bf67be1e0f 14-Nov-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> gallium: add TGSI_SEMANTIC_VERTEXID
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
324ac982d8e7c2693035342de2d24baff3042911 10-Sep-2011 Bryan Cain <bryancain3@gmail.com> gallium: add TGSI opcodes UARL and UCMP

They are needed by glsl_to_tgsi for an efficient implementation using native
integers.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
d8452a0be810d7176b0cbfe6632fc0f8016b5733 05-Sep-2011 Marek Olšák <maraeo@gmail.com> gallium: add shadow 1D and 2D array samplers to TGSI

And filling in all the switch statements in auxiliary. Mostly untested.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.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/include/pipe/p_shader_tokens.h
c0d941877b410b2402ed853d1d33b0664a3d1445 26-Jan-2011 Brian Paul <brianp@vmware.com> tgsi: add support for 1D/2D texture arrays
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.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/include/pipe/p_shader_tokens.h
c9c8a5ed02408495b3132cabd7947cc352a117a2 18-Dec-2010 Dave Airlie <airlied@redhat.com> gallium: add fragment shader property for color writes to all buffers. (v2)

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>
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
4ecb2c105da590abf79421a06234b636cd1afcd6 06-Oct-2010 Dave Airlie <airlied@redhat.com> gallium/tgsi: add support for stencil writes.

this adds the capability + a stencil semantic id, + tgsi scan support.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
98e277111bd6f6e5bcbbcd663e42e18ce449b533 07-Sep-2010 Tilman Sauerbeck <tilman@code-monkey.de> Replace reference to tgsi-instruction-set.txt.

That file has been replaced by tgsi.rst.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
af8f037db2cea78e6c5a1ed5fb63fcb90cebdd9b 27-Aug-2010 Vinson Lee <vlee@vmware.com> gallium: Remove unnecessary header from p_shader_tokens.h.

Remove p_compiler.h.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.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/include/pipe/p_shader_tokens.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/include/pipe/p_shader_tokens.h
d4ef0f6c67aefe06d8dd647acf8d9005df39a709 09-Jun-2010 Zack Rusin <zack@kde.org> geometry shaders: make gs work with changable primitives and variable number of vertices

lots and lots of fixes for geometry shaders. in particular now we work when the gs
emits a different primitive than the one the pipeline was started with and also
we work when gs emits more vertices than would fit in the original buffer.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
d288698a76e2ad8408d303570578856a05ea96d0 03-May-2010 José Fonseca <jfonseca@vmware.com> gallium: Remove loop register file.

It was only used for D3D's REP/END/BGNFOR/ENDFOR. D3D's aL register is
just like another address register now.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
a5e032853a8bac8895fab6fe88ba8a1a692121a6 27-Apr-2010 José Fonseca <jfonseca@vmware.com> gallium: Drop BGNFOR, ENDFOR, REP, and ENDREP opcodes.

Arcane DX9 opcodes that never were emitted by Mesa and have no DX10
counterpart. Slated for removal for quite some time now.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
6f6d740c851aa8bedc7c51dbd5db14de338787f1 03-Feb-2010 Michal Krol <michal@vmware.com> gallium: Add cylindrical wrap info to TGSI declaration.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
73317139a4f78126af0dc4ddaef8206352740727 21-Jan-2010 Luca Barbieri <luca@luca-barbieri.com> tgsi: add properties for fragment coord conventions (v3)

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.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
0adfdaeaa1e20c81a9f37455fe78d15c6406e3d3 19-Jan-2010 Michal Krol <michal@vmware.com> gallium: Add tgsi_declaration_dimension token.

This will allow us to declare two-dimensional constant buffers.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
9b21b3c52a8a7d58d08151d1a6bf25c472dec213 05-Jan-2010 Michal Krol <michal@vmware.com> Merge branch 'master' into instanced-arrays

Conflicts:
src/gallium/auxiliary/tgsi/tgsi_dump.c
src/gallium/include/pipe/p_shader_tokens.h
c34f6faf35c16ff81a1c4420290be4ed7f542121 02-Jan-2010 Michal Krol <michal@vmware.com> gallium: Add UMOD TGSI opcode.

Either that or have UDIV have two destination operands.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
062aab96e015021f3b83067848495a8ce2d92456 01-Jan-2010 Michal Krol <michal@vmware.com> gallium: Add SWITCH, CASE, DEFAULT and ENDSWITCH opcodes to TGSI.

Provide reference implementation of them in tgsi_exec.

Note that BREAK opcode is overloaded and can be used to break out
of either a loop or a switch-case statement.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
b1c55e80aa600c88a20117cdca4bde2a46f79730 23-Dec-2009 Michal Krol <michal@vmware.com> gallium: Add signed/unsigned int immediate data types.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
2c046034dc5c95dd2fe84d0b4fd44f25235480b9 23-Dec-2009 Michal Krol <michal@vmware.com> Remove TGSI_OPCODE_SHR, map existing usage to TGSI_OPCODE_ISHR.

This is to differentiate it from its unsigned version, TGSI_OPCODE_USHR.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
c59eda099306aca3a950f7157bde6fe84d0db604 23-Dec-2009 Michal Krol <michal@vmware.com> gallium: Add more integer TGSI opcodes.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
fb0a9aa5e0476d8ca332753f52a9e56f9cfa8dfa 24-Dec-2009 Zack Rusin <zackr@vmware.com> gallium: remove TGSI_SEMANTIC_VERTICES

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.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
89d8577fb3036547ef0b47498cc8dc5c77f886e0 14-Dec-2009 Zack Rusin <zackr@vmware.com> gallium: add geometry shader support to gallium
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
d0b55120beb4848be5e7ef24f0301f8397baa8be 23-Dec-2009 Michal Krol <michal@vmware.com> gallium: Add interfaces needed for instanced drawing.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
35e8283c69d80debb44b05ea79dc5f67303a7432 22-Dec-2009 Roland Scheidegger <sroland@vmware.com> Merge branch 'gallium-edgeflags'

Conflicts:
src/mesa/state_tracker/st_draw.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/include/pipe/p_shader_tokens.h
a08e348a84f57ed5e8bf5888f1ce13934d2ce8fa 09-Dec-2009 Keith Whitwell <keithw@vmware.com> gallium: first steps to treat edgeflags as regular vertex element

The idea here is to eliminate the set_edgeflags() call in pipe_context
by treating edgeflags as a regular vertex element.

Edgeflags provoke special treatment in hardware, which means we need to
label them in some way, in this case we'll be passing them through the
vertex shader and labelling the vertex shader output with a new TGSI
semantic (TGSI_SEMANTIC_EDGEFLAG).
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
5455e88f1c2043b3703650ca827a0ed2779e82ca 27-Nov-2009 Michal Krol <michal@vmware.com> gallium: Remove tgsi_version token.

Not really needed, never served its purpose.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
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/include/pipe/p_shader_tokens.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/include/pipe/p_shader_tokens.h
57221c54387a43e268a80ee6b578d57e03efcc5e 24-Nov-2009 Michal Krol <michal@vmware.com> gallium: Refactor the instruction predicate TGSI token.

Rename it to tgsi_instruction_predicate -- it's no longer an extended
token. Its presence is indicated by a new flag in tgsi_instruction that
indicates whether an instruction is predicated.

Also, change predicate index representation to match the other
tokens that specify register indices.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
0a7d50ed7e7608eaccba8e9648685e740065c384 31-Oct-2009 Michal Krol <michal@vmware.com> gallium: Cleanup predicate and condition code TGSI tokens.

There is little point in having a special TGSI token just to handle
predicate register updates. Remove tgsi_dst_register_ext_predicate token
and instead use a new PREDICATE register file to update predicates.
Actually, the contents of the obsolete token are being moved
to tgsi_instruction_ext_predicate, where they should be
from the very beginning.

Remove the NVIDIA-specific condition code tokens -- nobody uses them
and they can be emulated with predicates if needed.

Introduce PIPE_CAP_SM3 that indicates whether a driver supports
SM3-level instructions, and in particular predicates.

Add PIPE_CAP_MAX_PREDICATE_REGISTERS that can be used to query the driver
how many predicate registers it supports (currently it would be 1).
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.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/include/pipe/p_shader_tokens.h
b9cb74c7f826dfd320f5e5b54aa933898f7ddd3d 23-Oct-2009 Keith Whitwell <keithw@vmware.com> gallium: remove the swizzling parts of ExtSwizzle

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.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
4e1d51786e0657c7430d731ac464f2a73e32eddf 23-Oct-2009 Keith Whitwell <keithw@vmware.com> gallium: remove noise opcodes

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.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
b3f4b56a3b7f979c631358caefed635c6ec56453 01-Sep-2009 Keith Whitwell <keithw@vmware.com> tgsi: remove redundant CND0 opcode

Can be implemented with CMP src2, src1, src0
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
cb90c43676c258419e4b617c908570891d3674cb 31-Jul-2009 Michal Krol <michal@vmware.com> Rename TGSI LOOP instruction to better match theri usage.

The LOOP/ENDLOOP pair is renamed to BGNFOR/ENDFOR as its behaviour
is similar to a C language for-loop.

The BGNLOOP2/ENDLOOP2 pair is renamed to BGNLOOP/ENDLOOP as now
there is no name collision.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
cf8907018e449580b397f09c267219a612ba5db4 30-Jul-2009 Michal Krol <michal@vmware.com> tgsi: Declare a LOOP register.

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.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
d0d98f3ecfed7d7e0c4426185c13ec4f7c1761f9 22-Jul-2009 Keith Whitwell <keithw@vmware.com> gallium: clean up opcode definitions

Remove commented-out opcodes. Remove information about API mappings
to opcodes, but add a reference to tgsi-instruction-set.txt where
that information is better presented.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
78379abcbf853b2cff8d832b45ecf0eeb54b2c58 22-Jul-2009 Keith Whitwell <keithw@vmware.com> gallium: remove deprecated TGSI opcodes

Various opcodes which can be implemented trivially with other TGSI opcodes,
such as matrix multiplication and negation. These were not used by any
state tracker or implemented by any of the drivers.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
ede9f3b52ecb27ada81fee06a943bb595c60eaee 12-Jun-2009 Keith Whitwell <keithw@vmware.com> gallium: remove multiple aliases for TGSI opcodes

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.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.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/include/pipe/p_shader_tokens.h
1c04731b8721850b6abb12a43a3eec616b850e86 01-Jul-2009 Zack Rusin <zack@kde.org> gallium: fix the front face semantics

mesa allocates both frontface and pointcoord registers within the fog
coordinate register, by using swizzling. to make it cleaner and easier
for drivers we want each of them in its own register. so when doing
compilation from the mesa IR to tgsi allocate new registers for both
and add new semantics to the respective declarations.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
fb88908f5cea2677617499307768ead138510491 10-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Consider INDEX, NEGATE, MULTIPLYMATRIX opcodes for removal.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
bf3930453cb85977510863e5cfba8487e09c093e 10-Feb-2009 Michal Krol <michal@vmware.com> gallium: Rename Size member of TGSI token to NrTokens.

Driver writers often got confused and assumed Size to be
the number of immediate values in Immediate declaration.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
868c607c1751fc3e6df1a8dc45e8b70e6bc315f6 24-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> tgsi: doxygen comments
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
434e255eae90b0f3d836d452b7d3b0c5aadf78b8 24-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> tgsi: add tgsi_declaration fields for centroid sampling, invariant optimization
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
984a7c4e9c42cf8ddfcff5b880b522a6dd58bce2 19-Sep-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: Fix doxygen comments.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
146a0fba0011e21a4831a4b86969d7cd3f093bf6 19-Aug-2008 Michal Krol <michal@tungstengraphics.com> gallium: Add note about vs_2_0 EXPP mapping.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
235981d8719aa7f67bfe547bf96e5343020e0373 18-Aug-2008 Michal Krol <michal@tungstengraphics.com> gallium: Remove TGSI_CC_UN.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
9804ab9accb3c6607c64a65bebe70124578240cd 13-Aug-2008 Michal Krol <michal@tungstengraphics.com> gallium: Make a note that OPCODE_KIL is a conditional kill.
Map OPCODE_TEXKILL to OPCODE_KIL.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
f5c51ebd2afdfc87de40dca115526a5e0f6ab115 13-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Parse destination operand modulate modifier.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
3d5dcc2203f5018863ad51958871542696e1ed1b 13-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Parse texture instructions correctly.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
bd3b47590e2a8e91a8f5545d7c8872b26879c228 13-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Remove depricated ATTRIB interpolate mode.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
837d49a84e24420dbc06924f4862a5f7dcf4cace 02-Jun-2008 Michal Krol <michal@tungstengraphics.com> gallium: The SWZ opcode no longer aliases MOV.

Also, when the extended swizzle token is used, the simple swizzle
and negate are set to X,Y,Z,W and FALSE, respectively.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
4e33edfd06999e7c65b761be2d1cdc16e5b659c5 31-May-2008 Michal Krol <michal@tungstengraphics.com> gallium: Refactor TGSI decalaration tokens.

* Incorporate declaration_interpolation into declaration itself.
* Remove declaration_mask -- always use declaration_range.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
bcb454e7a6e2f7efae114321c65bf98e91d5892f 13-Mar-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Drop pre-ps_2_0 opcodes.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
78ddfbd1306c113c3276c79712e5d0e2da82d136 13-Mar-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Remove OPCODE_TEXCOORD, OPCODE_TEXCRD aliases.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
ba75e82b6ebaf88dd2e4a8f764b2d296d715bf8a 12-Mar-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Remove ExtDivide field from existence. Implement OPCODE_TXP.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
70ae7f09c739465242b0c6255196dae1de9dd8d3 12-Mar-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Introduce OPCODE_TXP. Depricate ExdDivide field.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
130b3154544701be2a57ac1c57432f153e363572 11-Mar-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Map OPCODE_TEXKILL to OPCODE_KILP.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
e884c7ed9a14aabaa86f6710c594d20812ed11d9 01-Mar-2008 Zack Rusin <zack@pixel.(none)> start implementing start of bultins
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
94c73d1bb9037a1eead1d5174f218b15852b52d7 27-Feb-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: Remove // comments.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
35ca45daba3906ac94fb879d2374d476ba2dac47 24-Feb-2008 Brian <brian.paul@tungstengraphics.com> gallium: added TGSI_FILE_COUNT
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
4339744c1676f925d42251bd32795bba9928cd5f 21-Feb-2008 Keith Whitwell <keith@tungstengraphics.com> [PATCH] gallium: include p_compiler.h for boolean defn
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h
b642730be93149baa7556e5791393168ab396175 15-Feb-2008 José Fonseca <jrfonseca@tungstengraphics.com> Code reorganization: move files into their places.

This is in a separate commit to ensure renames are properly preserved.
/external/mesa3d/src/gallium/include/pipe/p_shader_tokens.h