History log of /external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
32d0dc50a07e88aef69754820a42b13054ccfa11 09-Feb-2017 Marc-André Lureau <marcandre.lureau@redhat.com> tgsi-dump: dump label if instruction has one

The instruction has an associated label when Instruction.Label == 1,
as can be seen in ureg_emit_label() or tgsi_build_full_instruction().

This fixes dump generating extra :0 labels on conditionals, and virgl
parsing more than the expected tokens and eventually reaching "Illegal
command buffer" (when parsing more than a safety margin of 10 we
currently have).

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: "13.0 17.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit dc2d9b8da14b97376cca9c87e2408763b11bdaa7)
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
04811354c87e40b0bd5e970fa413ea056ed94173 07-Dec-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> tgsi: add Stream{X,Y,Z,W} fields to tgsi_declaration_semantic

This is for geometry shader outputs. Without it, drivers have no way of
knowing which stream each output is intended for, and have to
conservatively write all outputs to all streams.

Separate stream numbers for each component are required due to output
packing.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
3985e6c044fabce276e137edfc2c99b91fd5b80f 09-Jun-2016 Dave Airlie <airlied@redhat.com> gallium/tgsi: add support for 64-bit integer immediates.

This adds support to TGSI for 64-bit integer immediates.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
9690ab0cdf3cdbcdabce4858fd84711b3afbb9aa 25-May-2016 Brian Paul <brianp@vmware.com> tgsi: print TGSI_PROPERTY_NEXT_SHADER value as string, not an integer

Print "GEOM" instead of "2", for example.

v2: also update the text parsing code, per Ilia.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
798f7a8596e3ff3f57a44812d7fd005f53f5557c 28-Apr-2016 WuZhen <wuzhen@jidemail.com> tgsi: initialize stack allocated struct

Cc: "11.2 11.1" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
318d305f6dd416295003d04b6c9092ae988f894a 28-Apr-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> tgsi/dump: signal nospace when the last print exceeded the size

Previously, there was a bug where nospace wasn't signalled if it just so
happened that the very last print exceeded the available space.

Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
e08eaa5b723a22301f117ac6120c3d9cd399855e 28-Apr-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> tgsi/dump: shared dump_ctx initialization

Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
af249a7da9bf2621ab836d5074ef692677b11bbf 16-Apr-2016 Marek Olšák <marek.olsak@amd.com> gallium: use PIPE_SHADER_* everywhere, remove TGSI_PROCESSOR_*

Acked-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
3788e1bf748eca3186377dfa60dbba1c37f8939e 10-Mar-2016 Hans de Goede <hdegoede@redhat.com> tgsi: Add support for global / private / input MEMORY

Extend the MEMORY file support to differentiate between global, private
and shared memory, as well as "input" memory.

"MEMORY[x], INPUT" is intended to access OpenCL kernel parameters, a
special memory type is added for this, since the actual storage of these
(e.g. UBO-s) may differ per implementation. The uploading of kernel
parameters is handled by launch_grid, "MEMORY[x], INPUT" allows drivers
to use an access mechanism for parameter reads which matches with the
upload method.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> (v1)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> (v2)
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
3243b6fc97dc73555f72ce8c01f643d707b26610 10-Mar-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> tgsi: add Texture and Format to tgsi_instruction_memory

Frontends should have this information readily available, and it simplifies
image LOAD/STORE/ATOM* handling especially with indirect image access.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
e2a1ec5f0f0314915fdfc9a8ef93f3789f356404 09-Jan-2016 Ilia Mirkin <imirkin@alum.mit.edu> tgsi: show textual format representation

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
a8328e3a50169c3c74656df7f63f56f061d9e751 16-Jan-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> tgsi/ureg: add shared variables support for compute shaders

This introduces TGSI_FILE_MEMORY for shared, global and local memory.
Only shared memory is currently supported.

Changes from v2:
- introduce TGSI_FILE_MEMORY

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
50b8488926c4fa45ed79148217b81e54252788e7 07-Nov-2015 Ilia Mirkin <imirkin@alum.mit.edu> tgsi: provide a way to encode memory qualifiers for SSBO

Each load/store on most hardware can specify what caching to do. Since
SSBO allows individual variables to also have separate caching modes,
allow loads/stores to have the qualifiers instead of attempting to
encode them in declarations.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
888ddd632d7f6af635cc948f1b3e8982b43800d2 20-Sep-2015 Ilia Mirkin <imirkin@alum.mit.edu> ureg: add buffer support to ureg

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
8cc9a8aa2a97ca9e7a36a993954a3480d44c13d3 20-Sep-2014 Ilia Mirkin <imirkin@alum.mit.edu> tgsi: add ureg support for image decls

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
531f5d1270782927911c5c720201e86c6f40182d 22-Jan-2015 Dave Airlie <airlied@redhat.com> tgsi: try and handle overflowing shaders. (v2)

This is used to detect error in virgl if we overflow the shader
dumping buffers.

v2: return a bool.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
041081dc219dcf7f61748284033c6fd7627acc69 16-Sep-2013 Dave Airlie <airlied@gmail.com> tgsi: add option to dump floats as hex values

This adds support to the parser to accept hex values as floats,
and then adds support to the dumper to allow the user to select
to dump float as 32-bit hex numbers.

This is required to get accurate values for virgl use of TGSI.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
2023906667cf349284cd3d3921dc1dcbb7506014 16-Oct-2015 Brian Paul <brianp@vmware.com> tgsi: initialize ctx.file in tgsi_dump_instruction()

Fixes segfault because of uninitialized file pointer.
Trivial.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
8141b4cee514bb673e394f6fbe2cbe02e5b0faf2 04-Jul-2015 Marek Olšák <marek.olsak@amd.com> tgsi: allow dumping to a file directly
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
0d84b6cf84971f3378bb95c85f7d39e0c6680b8f 18-May-2015 Marek Olšák <marek.olsak@amd.com> gallium: rename TGSI tessellation processor types to match pipe shader names

I forgot to do this when pushing the interface changes.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
e1c4e8aaaafddd0e04cf2a16e28ef8f1e09d8b44 17-May-2015 Marek Olšák <marek.olsak@amd.com> gallium: remove TGSI_SAT_MINUS_PLUS_ONE

It's a remnant of some old NV extension. Unused.

I also have a patch that removes predicates if anyone is interested.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
d7081828cc62df7efbc23ca1037a42d69dab94a7 13-Jul-2014 Ilia Mirkin <imirkin@alum.mit.edu> tgsi/dump: fix declaration printing of tessellation inputs/outputs

mareko: only output second dimension for non-patch semantics

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
11bfee4c3a9f285f4cd5467dac1af5f7f0dfa307 09-Apr-2015 Brian Paul <brianp@vmware.com> tgsi: also dump label for TGSI_OPCODE_BGNSUB opcode

So we can see the label associated with subroutines.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
fa43e0443e206740e219d45abefee65bdb2c3ecb 27-Aug-2014 Dave Airlie <airlied@redhat.com> tgsi: add support for flt64 constants

These act like flt32 except they take up two slots, and you
can only add 2 x flt64 constants in one slot.

The main reason they are different is we don't want to match half a flt64
constants against a flt32 constant in the matching code, we need to make
sure we treat both parts of the flt64 as an single structure.

Cleaned up printing/parsing by Ilia Mirkin <imirkin@alum.mit.edu>

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
e7a614c60c21a961d88f8cfd78969052fa7a2685 20-Sep-2014 Brian Paul <brianp@vmware.com> gallium: replace pipe_type enum with tgsi_return_type enum

The only place the enum pipe_type was used is for the TGSI sampler
view return type. So make it a TGSI type. Note: it appears this
part of TGSI isn't used by anyone so it may be removed in the future.

v2: the new name is tgsi_return_type, not tgsi_type. This means we
can drop the previously posted tgsi_type -> tgsi_opcode_type patch.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
3a9eb40ee16eedb6caff90a8c0c24b7d801063f3 13-Sep-2014 Roland Scheidegger <sroland@vmware.com> tgsi: don't print texture target for sample opcodes

sample opcodes don't encode a texture target, it would thus always
print UNKNOWN, which is not helpful (and wouldn't parse when giving
back the shader text to tgsi).

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
4c97ed4411e3653a082875b79587fb308c284a99 02-Jul-2014 Ilia Mirkin <imirkin@alum.mit.edu> gallium: switch dedicated centroid field to interpolation location

The new location field can be either center, centroid, or sample, which
indicates the location that the shader should interpolate at.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
877128505431adaf817dc8069172ebe4a1cdf5d8 17-Jan-2014 José Fonseca <jfonseca@vmware.com> s/Tungsten Graphics/VMware/

Tungsten Graphics Inc. was acquired by VMware Inc. in 2008. Leaving the
old copyright name is creating unnecessary confusion, hence this change.

This was the sed script I used:

$ cat tg2vmw.sed
# Run as:
#
# git reset --hard HEAD && find include scons src -type f -not -name 'sed*' -print0 | xargs -0 sed -i -f tg2vmw.sed
#

# Rename copyrights
s/Tungsten Gra\(ph\|hp\)ics,\? [iI]nc\.\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./g
/Copyright/s/Tungsten Graphics\(,\? [iI]nc\.\)\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./
s/TUNGSTEN GRAPHICS/VMWARE/g

# Rename emails
s/alanh@tungstengraphics.com/alanh@vmware.com/
s/jens@tungstengraphics.com/jowen@vmware.com/g
s/jrfonseca-at-tungstengraphics-dot-com/jfonseca-at-vmware-dot-com/
s/jrfonseca\?@tungstengraphics.com/jfonseca@vmware.com/g
s/keithw\?@tungstengraphics.com/keithw@vmware.com/g
s/michel@tungstengraphics.com/daenzer@vmware.com/g
s/thomas-at-tungstengraphics-dot-com/thellstom-at-vmware-dot-com/
s/zack@tungstengraphics.com/zackr@vmware.com/

# Remove dead links
s@Tungsten Graphics (http://www.tungstengraphics.com)@Tungsten Graphics@g

# C string src/gallium/state_trackers/vega/api_misc.c
s/"Tungsten Graphics, Inc"/"VMware, Inc"/

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
a29e40a42382630c2d9d95d3a1e03a7b3db87add 14-Nov-2013 José Fonseca <jfonseca@vmware.com> gallivm: Compile flag to debug TGSI execution through printfs.

It is similar to tgsi_exec.c's DEBUG_EXECUTION compile flag.

I had prototyped this for a while while debugging an issue, but finally
cleaned this up and added a few more bells and whistles.

v2: Use '$' as marker; better output. Thanks to Brian, Zack and Roland
reviews.

Here is a sample output.

CONST[0].x = 0.00625000009 0.00625000009 0.00625000009 0.00625000009
CONST[0].y = -0.00714285718 -0.00714285718 -0.00714285718 -0.00714285718
CONST[0].z = -1 -1 -1 -1
CONST[0].w = 1 1 1 1
IN[0].x = 143.5 175.5 175.5 143.5
IN[0].y = 123.5 123.5 155.5 155.5
IN[0].z = 0 0 0 0
IN[0].w = 1 1 1 1
$ 1: RCP TEMP[0].w, IN[0].wwww
TEMP[0].w = 1 1 1 1
$ 2: MAD TEMP[0].xy, IN[0], CONST[0], CONST[0].zwzw
TEMP[0].x = -0.103124976 0.0968750715 0.0968750715 -0.103124976
TEMP[0].y = 0.117857158 0.117857158 -0.110714316 -0.110714316
$ 3: MUL OUT[0].xy, TEMP[0], TEMP[0].wwww
OUT[0].x = -0.103124976 0.0968750715 0.0968750715 -0.103124976
OUT[0].y = 0.117857158 0.117857158 -0.110714316 -0.110714316
$ 4: MUL OUT[0].z, IN[0].zzzz, TEMP[0].wwww
OUT[0].z = 0 0 0 0
$ 5: MOV OUT[0].w, TEMP[0]
OUT[0].w = 1 1 1 1
$ 6: END
OUT[0].x = -0.103124976 0.0968750715 0.0968750715 -0.103124976
OUT[0].y = 0.117857158 0.117857158 -0.110714316 -0.110714316
OUT[0].z = 0 0 0 0
OUT[0].w = 1 1 1 1
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
14541dacab218cbe82310d999d44130ebc3f6526 06-Jun-2013 Brian Paul <brianp@vmware.com> tgsi: replace tgsi_file_names tgsi_file_names[] with tgsi_file_name() function

This change came from the discovery that the STATIC_ASSERT to check that
the number of register file strings didn't actually work.

Similar changes could be made for the other string arrays in tgsi_string.c

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
50b3fc6204a28881f625605f988cb0866ae6a6a5 17-Apr-2013 José Fonseca <jfonseca@vmware.com> gallium: Disambiguate TGSI_OPCODE_IF.

TGSI_OPCODE_IF condition had two possible interpretations:

- src.x != 0.0f

- Mesa statetracker when PIPE_SHADER_CAP_INTEGERS was false either for
vertex and fragment shaders
- gallivm/llvmpipe
- postprocess
- vl state tracker
- vega state tracker
- most old drivers
- old internal state trackers
- many graw examples

- src.x != 0U

- Mesa statetracker when PIPE_SHADER_CAP_INTEGERS was true for both
vertex and fragment shaders
- tgsi_exec/softpipe
- r600
- radeonsi
- nv50

And drivers that use draw module also were a mess (because Mesa would
emit float IFs, but draw module supports native integers so it would
interpret IF arg as integers...)

This sort of works if the source argument is limited to float +0.0f or
+1.0f, integer 0, but would fail if source is float -0.0f, or integer in
the float NaN range. It could also fail if source is integer 1, and
hardware flushes denormalized numbers to zero.

But with this change there are now two opcodes, IF and UIF, with clear
meaning.

Drivers that do not support native integers do not need to worry about
UIF. However, for backwards compatibility with old state trackers and
examples, it is advisable that native integer capable drivers also
support the float IF opcode.

I tried to implement this for r600 and radeonsi based on the surrounding
code. I couldn't do this for nouveau, so I just shunted IF/UIF
together, which matches the current behavior.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Marek Olšák <maraeo@gmail.com>

v2:
- Incorporate Roland's feedback.
- Fix r600_shader.c merge conflict.
- Fix typo in radeon, spotted by Michel Dänzer.
- Incorporte Christoph Bumiller's patch to handle TGSI_OPCODE_IF(float)
properly in nv50/ir.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
8acaf862dfeac62550514b0e46f5aa6212b08992 15-Mar-2013 Christoph Bumiller <e0425955@student.tuwien.ac.at> gallium: add TGSI_SEMANTIC_TEXCOORD,PCOORD v3

This makes it possible to identify gl_TexCoord and gl_PointCoord
for drivers where sprite coordinate replacement is restricted.

The new PIPE_CAP_TGSI_TEXCOORD decides whether these varyings
should be hidden behind the GENERIC semantic or not.

With this patch only nvc0 and nv30 will request that they be used.

v2: introduce a CAP so other drivers don't have to bother with
the new semantic

v3: adapt to introduction gl_varying_slot enum
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
21190fbd56ec2f12dc5a1bf1d9fc32d507e8f0a3 07-Mar-2013 Christian König <christian.koenig@amd.com> tgsi: use separate structure for indirect address v2

To further improve the optimization of source and destination
indirect addressing we need the ability to store a reference
to the declaration of the addressed operands.

Since most of the fields in tgsi_src_register doesn't apply for
an indirect addressing operand replace it with a separate
tgsi_ind_register structure and so make room for extra information.

v2: rename Declaration to ArrayID, put the ArrayID into () instead of []

Signed-off-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
16caeff2a5cc1237d30de9487b48b1cd775d9ae1 13-Mar-2013 Christian König <christian.koenig@amd.com> tgsi: add ArrayID to declarations

Remember which declarations are declared as "arrays" and so
can be indirectly addressed. ArrayIDs start at 1, cause for
compatibility reasons zero is treaded as no array present.

Signed-off-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
d3e07bed90d6b94ac37a7f48417bf8962408fa47 07-Mar-2013 Christian König <christian.koenig@amd.com> tgsi: remove TGSI_FILE_(IMMEDIATE|TEMP)_ARRAY

Nobody seems to be using it, and only nv50 had a partial implementation.

Signed-off-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
198d1bdb5f446ee055d5591a61c0174f87171820 17-Oct-2012 Brian Paul <brianp@vmware.com> tgsi: silence MSVC signed/unsigned comparison warnings

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
9ccf91f9ef72f63871b0a8c6b43f7bd452d73b94 11-Oct-2012 José Fonseca <jfonseca@vmware.com> tgsi: Dump register number when dumping immediates.

For example:

VERT
DCL IN[0]
DCL OUT[0], POSITION
DCL OUT[1], GENERIC[12]
DCL CONST[0..4]
DCL TEMP[0], LOCAL
DCL TEMP[1], LOCAL
IMM[0] UINT32 {4294967295, 0, 0, 0}
IMM[1] FLT32 { 0.0000, 1.0000, 0.0000, 0.0000}
0: SEQ TEMP[0].x, CONST[3].xxxx, IMM[0].xxxx
1: F2I TEMP[0].x, -TEMP[0]
2: SEQ TEMP[1].x, CONST[4].xxxx, IMM[0].xxxx
3: F2I TEMP[1].x, -TEMP[1]
4: AND TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx
5: IF TEMP[0].xxxx :0
6: MOV TEMP[0], IMM[1].xyxy
7: ELSE :0
8: MOV TEMP[0], IMM[1].yxxy
9: ENDIF
10: MOV OUT[1], TEMP[0]
11: MOV OUT[0], IN[0]
12: END

instead of

VERT
DCL IN[0]
DCL OUT[0], POSITION
DCL OUT[1], GENERIC[12]
DCL CONST[0..4]
DCL TEMP[0], LOCAL
DCL TEMP[1], LOCAL
IMM UINT32 {4294967295, 0, 0, 0}
IMM FLT32 { 0.0000, 1.0000, 0.0000, 0.0000}
0: SEQ TEMP[0].x, CONST[3].xxxx, IMM[0].xxxx
1: F2I TEMP[0].x, -TEMP[0]
2: SEQ TEMP[1].x, CONST[4].xxxx, IMM[0].xxxx
3: F2I TEMP[1].x, -TEMP[1]
4: AND TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx
5: IF TEMP[0].xxxx :0
6: MOV TEMP[0], IMM[1].xyxy
7: ELSE :0
8: MOV TEMP[0], IMM[1].yxxy
9: ENDIF
10: MOV OUT[1], TEMP[0]
11: MOV OUT[0], IN[0]
12: END
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
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/auxiliary/tgsi/tgsi_dump.c
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/auxiliary/tgsi/tgsi_dump.c
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/auxiliary/tgsi/tgsi_dump.c
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_dump.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_dump.c
a50d695ac20d894278b8e4bc1e0e8a159cd08a1d 05-Mar-2012 Johannes Obermayr <johannesobermayr@gmx.de> tgsi: Fix conflict with fortify printf redirect in glibc.

Fixes clang error:

tgsi/tgsi_dump.c:72:12: error: no member named '__printf_chk' in 'struct dump_ctx'
ctx->printf( ctx, "%u", e );
~~~ ^
/usr/include/bits/stdio2.h:109:3: note: expanded from macro 'printf'
__printf_chk (__USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
^

Idea stolen from:
http://www.mail-archive.com/pld-cvs-commit@lists.pld-linux.org/msg210998.html

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
85b5dac705fcf3fafb734696e1f863cfc21e2d6e 05-Jan-2012 Brian Paul <brianp@vmware.com> 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>
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
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/auxiliary/tgsi/tgsi_dump.c
e7ccd703a28e14431b90f29540cec0bf67be1e0f 14-Nov-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> gallium: add TGSI_SEMANTIC_VERTEXID
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
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/auxiliary/tgsi/tgsi_dump.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_dump.c
c0d941877b410b2402ed853d1d33b0664a3d1445 26-Jan-2011 Brian Paul <brianp@vmware.com> tgsi: add support for 1D/2D texture arrays
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.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_dump.c
92209314df4f12e8b47336a25ba14cb6b9a23df2 26-Dec-2010 Marek Olšák <maraeo@gmail.com> tgsi: remove redundant name tables from tgsi_text, use those from tgsi_dump

I also specified the array sizes in the header so that one can use
the Elements macro on it.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
17004b39546b4033bd3d2612c231473c8f06157f 28-Dec-2010 Dave Airlie <airlied@gmail.com> tgsi_dump: fix assert due to missing property name.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
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/auxiliary/tgsi/tgsi_dump.c
11dad217186a4c177cb41aa526531d6cd46ae5b0 02-Sep-2010 José Fonseca <jfonseca@vmware.com> tgsi: Export some names for some tgsi enums.

Useful to give human legible names in other cases.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
cc426b813205ff72977ad59f9ecefa50e4b68a6d 11-Jul-2010 Zack Rusin <zackr@vmware.com> tgsi: make sure that we print out the adjacency prims correctly
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.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_dump.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_dump.c
23969670387bc0bb7d0761936905e5eb4df963dc 11-Jun-2010 Zack Rusin <zack@kde.org> tgsi: support 2d indirect addressing
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
a8bb49562938e94459f398a1733a76eb9c690f6c 04-May-2010 Marek Olšák <maraeo@gmail.com> tgsi: make dumping work on non-debug builds
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
14a0328d4b21a2783a43932d2e4ed7ee75d79685 03-May-2010 José Fonseca <jfonseca@vmware.com> tgsi: Parse and dump predicates.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
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/auxiliary/tgsi/tgsi_dump.c
73e1405de0277bab2d617742ff5a764467e32899 27-Apr-2010 José Fonseca <jfonseca@vmware.com> tgsi: Drop BGNFOR, ENDFOR, REP, and ENDREP opcodes.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
6f6d740c851aa8bedc7c51dbd5db14de338787f1 03-Feb-2010 Michal Krol <michal@vmware.com> gallium: Add cylindrical wrap info to TGSI declaration.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
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/auxiliary/tgsi/tgsi_dump.c
4367de152cc5bd7240d75a33e75c1b1671b5cc16 19-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Handle 2-D declarations.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
7472cd0f1f0f8284729274bc5c453d59d9ab4b55 18-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Fix behaviour of dimension index.

The dimension index always addresses the second-dimension axis.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
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
ff56a12051a91c5c69db9afb85e4a3ebdb17ef96 23-Dec-2009 Michal Krol <michal@vmware.com> tgsi: Support signed/unsigned integer immediate types.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
7ca0ce38340144794267609646048b3820d594ab 29-Dec-2009 Michal Krol <michal@vmware.com> Implement draw_arrays_instanced() in softpipe.

Modify the translate module to respect instance divisors and accept
instance id as a parameter to calculate input vertex offset.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
399190d13668ed457cf5d6bbbefe908a95bad289 26-Dec-2009 José Fonseca <jfonseca@vmware.com> tgsi: Don't dump parenthesis for negation.

It doesn't seem necessary, and more importantly, tgsi_parse doesn't know
how to read them.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
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/auxiliary/tgsi/tgsi_dump.c
afd01366b098bf790658e069caddb7a930da827d 23-Dec-2009 Zack Rusin <zackr@vmware.com> tgsi: dump the indices correctly when dealing with 2d arrays
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
22370990f28987b361c6adf8e81c5a18184e88ea 23-Dec-2009 Zack Rusin <zackr@vmware.com> tgsi: add missing support for two dimensional arrays in various places

in particular asm text parsing and sanity checking were missing code
to handle multi-dimensional arrays/geometry shaders
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
89d8577fb3036547ef0b47498cc8dc5c77f886e0 14-Dec-2009 Zack Rusin <zackr@vmware.com> gallium: add geometry shader support to gallium
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
35e8283c69d80debb44b05ea79dc5f67303a7432 22-Dec-2009 Roland Scheidegger <sroland@vmware.com> Merge branch 'gallium-edgeflags'

Conflicts:
src/mesa/state_tracker/st_draw.c
50caff5675888c0063c73fa64b88129db7aa11dd 16-Dec-2009 Roland Scheidegger <sroland@vmware.com> gallium: edgeflags change fixes

use correct number of vertex inputs
fix not running pipeline in case of edgeflags
changes to mesa to tgsi translation still very broken
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.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_dump.c
e6133564bf2e65fc86f626a45d7977bdeaff8579 27-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Remove tgsi_version token.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.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_dump.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_dump.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_dump.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_dump.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_dump.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_dump.c
aa2b2e5d7d53ddd08425536edddec509a8834bfc 02-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Update for gallium interface changes.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
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/auxiliary/tgsi/tgsi_dump.c
848ab8be8c34b00b2afe6120882f8c29f047ced5 03-Sep-2009 Keith Whitwell <keithw@vmware.com> aux/tgsi: pull back ureg work from 0.1 branch

Manual merge of ureg changes on the branch. Too much unrelated stuff
for a proper merge.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
45cd9d80dbc7298240b5dfaf929ecebeb5c6c6af 20-Aug-2009 Brian Paul <brianp@vmware.com> tgsi: when printing/dumping programs indent loops and conditionals
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
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/auxiliary/tgsi/tgsi_dump.c
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/auxiliary/tgsi/tgsi_dump.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_dump.c
f01af4dbd26bec433cde08d011a5101edd7d83be 10-Jul-2009 Brian Paul <brianp@vmware.com> tgsi: add semantic_names[] string for TGSI_SEMANTIC_FACE

Fixes TGSI dump output when front/back-face register is declared.

Also, add some assertions to make sure the semantic/interpolate string
arrays have as many elements as there are tokens in the p_shader_tokens.h
file. That should catch problems like this in the future.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.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_dump.c
3e94521912ca75bb14093053bf1cd1001e79cd1b 26-Jun-2009 Keith Whitwell <keithw@vmware.com> tgsi: correct handling of return value from util_vsnprintf

We were failing to deal with:
- vsnprintf returns negative value on error.
- vsnprintf returns the number of chars that *would* have been
written on truncation.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
43714e92e3b512307851349fd8c706638030854e 27-Feb-2009 Keith Whitwell <keithw@vmware.com> tgsi: don't dump interpolation info except for fragment shader inputs

Don't print the meaningless and confusing CONSTANT interpolation
attribute after everything else.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.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_dump.c
5ecd0b0890fd48656e46c017830a9f5d6b906aae 10-Feb-2009 Michal Krol <michal@vmware.com> tgsi: Fix build -- rename Size to NrTokens.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
dc48ae97dcd84acf691b33b0ea2e76c5fdfe18e1 24-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> tgsi: add tgsi_declaration fields for centroid sampling, invariant optimization

(cherry picked from commit 434e255eae90b0f3d836d452b7d3b0c5aadf78b8)
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
ed7ba03256fc4503d5d7483d032014ac9e8242fe 23-Dec-2008 Michal Krol <michal@vmware.com> tgsi: Dump indirect register swizzle.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
5e1ef85dc430a4439cd60b66262eab9062dd5f4f 18-Sep-2008 Jakob Bornecrantz <jakob@tungstengraphics.com> tgsi: Make tgsi dumps look more like mesa shader dumps.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
b8a7eef242f6bb97d90f6e0303d270b2cbc58421 05-Sep-2008 José Fonseca <jrfonseca@tungstengraphics.com> tgsi: Refactor tgsi_dump to avoid using string buffers when dumping.

This fixes a stack overflow when dumping shaders.

It ended up being pretty much as the original code Michal had before,
before I went on a cleanup rampage on it and took things that ended up
needing...
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
e3509fd4d09a19293ac3f2e0c92d758bc3ef308c 03-Sep-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: increase string buffer size to 16000 to avoid truncated output of long shaders
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
2b512c0135bc8512cc80009ea7430f7cc0c869d6 18-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Workaround debug output buffer size limitations.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
2caaba8195d1019702246bd7f0c02aa95364a8bd 13-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Use tgsi_info to dump opcode names.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
673489fa5cde4ce8d49918f20f007201a17bc45e 09-Aug-2008 José Fonseca <jrfonseca@tungstengraphics.com> tgsi: Dump shaders to a string too.

Again.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
2783f3bfabd6e316f7e221e950499c3631c041ce 04-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Put a newline after IMM.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
76164bf7a20ef6dabc3204a766f604becfba9997 29-Jul-2008 José Fonseca <jrfonseca@tungstengraphics.com> tgsi: Insert newlines after the statements, instead of before.

Prevents shader dumps from getting concatenated with the next debug message.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c
c208a2c791fa24c7c5887fc496738cbddbfafc72 27-Jul-2008 José Fonseca <jrfonseca@tungstengraphics.com> Merge tgsi/exec and tgsi/util directories.
/external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_dump.c