• Home
  • History
  • Annotate
  • only in /external/mesa3d/src/gallium/auxiliary/tgsi/
History log of /external/mesa3d/src/gallium/auxiliary/tgsi/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8ff8c91893cee8b1893de91e145c8496a12ab9ca 26-Oct-2012 Marek Olšák <maraeo@gmail.com> mesa: bump MAX_VARYING to 32

We're starting to get apps utilizing more than 16 varyings and
most current hardware supports 32 anyway.

Tested with r600g.
swrast, softpipe and llvmpipe still advertise 16 varyings.

This fixes a WebGL crash after launching this demo:
https://developer.mozilla.org/en-US/demos/detail/falling-cubes

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54402

NOTE: This is a candidate for the stable branches.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit b3921e1f53833420e0a0fd581f741744e7957a05)

Conflicts:
src/mesa/main/context.c
gsi_ureg.c
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.
gsi_info.c
gsi_strings.c
gsi_util.c
ba53573a8b14a7ab41307a38710610611dfa1cc5 04-Aug-2012 Marek Olšák <maraeo@gmail.com> gallium/tgsi: fix TGSI text parser

The problem was that the string matching succeeded e.g. for "2D" when there
was actually "2D_MSAA" and then failed parsing "_MSAA".

To prevent similar failures in the future, let's fix this kind of error
everywhere.
gsi_text.c
67a3e5bc32fe359b54121355295e6a19a24b44eb 27-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/tgsi: fixup texture name strings

Reviewed-by: Brian Paul <brianp@vmware.com>
gsi_strings.c
f5c41e16d7b09e7c342bff8ec5888db88c071be3 29-Jun-2012 José Fonseca <jfonseca@vmware.com> gallium/tgsi: Don't declare temps individually when they are all similar.

tgsi_ureg was recently enhanced to support local temporaries, and as result
temps are declared individually.

This change avoids many TEMP register declarations on common shaders.

(And fixes performance regression due to mismatches against performance
sensitive shaders.)

Reviewed-by: Brian Paul <brianp@vmware.com>
gsi_ureg.c
0f6a3a7de3b56a383061635016cdb10f0229bf02 23-May-2012 Vinson Lee <vlee@freedesktop.org> tgsi: Initialize Padding struct fields.

Fix uninitialized scalar variable defects report by Coverity.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
gsi_build.c
e8a86d36f3b007ae6fca9353a3a4cda1456ae1d4 17-May-2012 Vinson Lee <vlee@freedesktop.org> gallium/tgsi/text: Ensure ret is initialized in parse_immediate_data.

Fix uninitialized scalar variable defect reported by Coverity.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
gsi_text.c
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>
gsi_build.c
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>
gsi_build.c
gsi_strings.c
2faf01c8403514dda15ab8b1a2309d5529dd06ba 20-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi/text: Replace open-coded integer parsing with parse_int().
gsi_text.c
40123dae4371ab62530d15020ca97208e206d359 20-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi/text: Parse immediates of non-float data types.
gsi_text.c
e9072863b18e4a8cf78e72bf25abbb433de1b486 20-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Fix tgsi_build_full_immediate() for non-float data types.
gsi_build.c
a426b0d5bce24659a19c72af27a5aa4871782f9d 26-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi/text: Make label parsing optional for branch instructions.

Structured branch instructions like IF, ELSE, BGNLOOP, ENDLOOP no
longer require a label argument, make it optional for them.
gsi_text.c
b52e374ad3b568fc1eb35df80e90a39b4cb99289 26-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi/ureg: Support local temporary emission.
gsi_ureg.c
gsi_ureg.h
1b8aecc797b72a84c4a571639e952fe1f84e0fa5 08-Dec-2011 Francisco Jerez <currojerez@riseup.net> gallium/tgsi/ureg: Lift the restriction on releasing temporaries over UREG_MAX_TEMP.
gsi_ureg.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.
gsi_build.c
gsi_dump.c
gsi_text.c
c2d31a83a8104acba05f92b025bc9b145ca34974 30-Apr-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Add support for atomic opcodes.
gsi_info.c
9e550c34237898385c07af2cbb2da76670ed994e 30-Apr-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Add support for barriers.
gsi_info.c
581ddbcf93ea8111e71ef43e90fa6937cf46a2cb 18-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Define system values used to query the compute grid parameters.
gsi_strings.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.
gsi_build.c
gsi_dump.c
gsi_info.c
gsi_text.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.
gsi_build.c
gsi_dump.c
gsi_text.c
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.
gsi_build.c
gsi_strings.c
63428372cadc73a7124f4e7d383eb86a0c7affd7 18-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Introduce the compute processor.
gsi_scan.c
gsi_strings.c
gsi_strings.h
gsi_text.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.
gsi_build.c
gsi_dump.c
gsi_exec.c
gsi_parse.c
gsi_parse.h
gsi_ppc.c
gsi_scan.c
gsi_text.c
gsi_ureg.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.
gsi_build.c
gsi_dump.c
gsi_exec.c
gsi_exec.h
gsi_info.c
gsi_opcode_tmp.h
gsi_parse.c
gsi_parse.h
gsi_strings.c
gsi_text.c
gsi_ureg.c
gsi_ureg.h
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>
gsi_dump.c
c3e3df9b184e8c843c1abab29faa3af9e0c826bf 28-Feb-2012 Brian Paul <brianp@vmware.com> tgsi: remove trailing comma to silence warning
gsi_info.h
a206c4cd69a881bf3f8d960607d604b6d53e3a26 20-Feb-2012 José Fonseca <jfonseca@vmware.com> gallivm: Fix TGSI_OPCODE_ARR's translation.

Like TGSI_OPCODE_ARL, destination should be an integer.

This fixes invalid LLVM IR on an internal state tracker (currently Mesa
never emits this opcode).

In the future consider making ADDR register also a integer-as-float array,
like all other register kinds, or simply replace ADDR & ARR/ARL with
integer temp and instructions.

Reviewed-by: Dave Airlie <airlied@redhat.com>
gsi_info.c
13e2e51f7058dff01281050db1b64639ad3b399e 24-Jan-2012 Dave Airlie <airlied@redhat.com> tgsi: add source/destination type from opcodes. (v2)

These two functions produce the src/dst types for an opcode.

MOV is special since it can be used to mov float->float and int->int,
so just return VOID.

v2: use a new enum for the opcode type as per Jose's suggestion.

Signed-off-by: Dave Airlie <airlied@redhat.com>
gsi_info.c
gsi_info.h
82b71db03ddaf0eed504412c9169db37cf9bdadc 14-Jan-2012 Tom Stellard <tstellar@gmail.com> gallium: Move duplicated helper macros to tgsi_exec.h
gsi_exec.h
gsi_ppc.c
6b63e25b3d7a6ac0bd738c139ead0c7e7ad84368 14-Jan-2012 Tom Stellard <tstellar@gmail.com> gallium: Prefix #defines in tgsi_exec.h with TGSI_
gsi_exec.c
gsi_exec.h
9ee1bcf7a5442ccb517a5cfbaf024755bd4d2738 14-Jan-2012 Tom Stellard <tstellar@gmail.com> gallium: Unify defines of CHAN_[XYZW] in tgsi_exec.h
gsi_exec.c
gsi_exec.h
gsi_ppc.c
df169457909e1985c65e8a19c245133d2f5f013d 06-Jan-2012 Tom Stellard <thomas.stellard@amd.com> tgsi: Add output_mode to struct tgsi_opcode_info v2

v2:
- Rename output_type to output_mode
- Add shorthand definitions for TGSI_OUTPUT_*
gsi_info.c
gsi_info.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>
gsi_exec.c
gsi_strings.c
gsi_util.c
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>
gsi_exec.c
gsi_info.c
f7e3e46f72fffe4b83cd3f922173ff28e9ab9c7c 06-Jan-2012 Dave Airlie <airlied@redhat.com> tgsi_scan: add support to count number of output clip distances

Just add support to the scanner to count the number of clip distances.

Signed-off-by: Dave Airlie <airlied@redhat.com>
gsi_scan.c
gsi_scan.h
34a78b7ef6b0edf217acf221eab4b63542be5552 05-Jan-2012 Dave Airlie <airlied@redhat.com> tgsi/softpipe: add VertexID support.

This required changing the system value semantics, so we stored
a system value per vertex, instance id is the only other system
value we currently support, so I span it across the channels.

This passes the 3 vertexid-* piglit tests + lots of instanceid tests.

Signed-off-by: Dave Airlie <airlied@redhat.com>
gsi_exec.c
gsi_exec.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>
gsi_exec.c
gsi_exec.h
gsi_strings.c
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
gsi_strings.c
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>
gsi_exec.c
gsi_info.c
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>
gsi_strings.c
6951870e5790a4b563bfa3b943ed338f9c5922ac 02-Jan-2012 Bryan Cain <bryancain3@gmail.com> gallium: add support for clip distances
gsi_strings.c
gsi_ureg.c
gsi_ureg.h
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>
gsi_dump.c
gsi_dump.h
gsi_strings.c
gsi_strings.h
gsi_text.c
69111847a2bed4c4c2c61001b8bdff3bbe42dc98 03-Jan-2012 Dave Airlie <airlied@redhat.com> tgsi/softpipe: disable FAST_MATH

In the interest of softpipe preferring correctness over speed and passing more
piglit tests, set this to off by default. For speed you really want llvmpipe.

Signed-off-by: Dave Airlie <airlied@redhat.com>
gsi_exec.c
c44f6e048914af480e312d2f4b3b80ded287c583 31-Dec-2011 Dave Airlie <airlied@redhat.com> softpipe: reorder LIT to fix fp-lit-src-equals-dst

This reorders the LIT operation like the r600 one to fix the
fp-lit-src-equals-dst piglit test.

Signed-off-by: Dave Airlie <airlied@redhat.com>
gsi_exec.c
42696ba16fc548aa680b43a93e7b5929aa429d3c 19-Dec-2011 Dave Airlie <airlied@redhat.com> softpipe: fix shadow1d tests.

This fixes the piglit glsl-1.10 shadow1D related tests.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
gsi_exec.c
97b778efe7949977b4e857413807d1efcad346aa 19-Dec-2011 Dave Airlie <airlied@redhat.com> softpipe: fix shadow 2d texture array sampling

The 4th texcoord is used in this case for the comparison.

This fixes piglit glsl-fs-shadow2DArray* on softpipe.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
gsi_exec.c
07eeb92abcd32653c9e6f6f60689bb1d059f5799 18-Dec-2011 Dave Airlie <airlied@redhat.com> softpipe: fix texture sampling from 1D texture array

This is the first part of a fix to piglit glsl-fs-shadow1DArray

also fix the passing of unused r[2] in the normal 1D case.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
gsi_exec.c
8a9a37cebeff19b56afed43ae037d00950fa7594 09-Dec-2011 Marek Olšák <maraeo@gmail.com> gallium: utility helper functions for stream output
gsi_ureg.c
gsi_ureg.h
861a029ddb31e91bb4d8e18ab708d0d172f63aad 15-Dec-2011 Marek Olšák <maraeo@gmail.com> gallium: interface changes necessary to implement transform feedback (v5)

Namely:
- EXT_transform_feedback
- ARB_transform_feedback2
- ARB_transform_feedback_instanced

The old interface was not useful for OpenGL and had to be reworked.

This interface was originally designed for OpenGL, but additional
changes have been made in order to make st/d3d1x support easier.

The most notable change is the stream-out info must be linked
with a vertex or geometry shader and cannot be set independently.
This is due to limitations of existing hardware (special shader
instructions must be used to write into stream-out buffers),
and it's also how OpenGL works (stream outputs must be specified
prior to linking shaders).

Other than that, each stream output buffer has a "view" into it that
internally maintains the number of bytes which have been written
into it. (one buffer can be bound in several different transform
feedback objects in OpenGL, so we must be able to have several views
around) The set_stream_output_targets function contains a parameter
saying whether new data should be appended or not.

Also, the view can optionally be used to provide the vertex
count for draw_vbo. Note that the count is supposed to be stored
in device memory and the CPU never gets to know its value.

OpenGL way | Gallium way
------------------------------------
BeginTF = set_so_targets(append_bitmask = 0)
PauseTF = set_so_targets(num_targets = 0)
ResumeTF = set_so_targets(append_bitmask = ~0)
EndTF = set_so_targets(num_targets = 0)
DrawTF = use pipe_draw_info::count_from_stream_output

v2: * removed the reset_stream_output_targets function
* added a parameter append_bitmask to set_stream_output_targets,
each bit specifies whether new data should be appended to each
buffer or not.
v3: * added PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME for ARB_tfb2,
note that the draw-auto subset is always required (for d3d10),
only the pause/resume functionality is limited if the CAP is not
advertised
v4: * update gallium/docs
v5: * compactified struct pipe_stream_output_info, updated dump/trace
gsi_ureg.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.
gsi_dump.c
gsi_ureg.c
gsi_ureg.h
40864b85aa70b6bc523dbb9792449e6a3dfac4b2 15-Nov-2011 Vadim Girlin <vadimgirlin@gmail.com> gallium: add PIPE_SHADER_CAP_OUTPUT_READ

It's intended to indicate whether the driver/hardware supports reading
of the values written into shader outputs.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
gsi_ureg.c
e7ccd703a28e14431b90f29540cec0bf67be1e0f 14-Nov-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> gallium: add TGSI_SEMANTIC_VERTEXID
gsi_dump.c
gsi_scan.c
gsi_scan.h
gsi_text.c
4eb3225b38ce12cb34ab3d90804c9683bd7b4ed3 08-Nov-2011 José Fonseca <jose.r.fonseca@gmail.com> Remove tgsi_sse2.

tgsi_exec is simple. llvm is fast. tgsi_sse2 ends up being neither.
gsi_sse2.c
gsi_sse2.h
265f55e6273aafc8e7607cd70a4b9756f7cb6bff 25-Oct-2011 Vinson Lee <vlee@vmware.com> tgsi: Fix memory leak in out-of-memory path.

Fixes Coverity resource leak defect.

Reviewed-by: Brian Paul <brianp@vmware.com>
gsi_exec.c
f5bfe54a34d9c8cd5de2b096d0e8486fe0d990a7 27-Sep-2011 Marek Olšák <maraeo@gmail.com> gallium: add and use PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS

This removes:
- PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS
- PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS
in favor of the that new per-shader cap.

Reviewed-by: Brian Paul <brianp@vmware.com>
gsi_exec.h
c8c2fc9a7a029bb61520973e55fb3cec18f13e20 07-Apr-2011 Jakob Bornecrantz <jakob@vmware.com> tgsi: Check in scan for fs position and depth reads
gsi_scan.c
gsi_scan.h
f0bfc0daa87578ce8b11383afb99dbf2d2630e23 10-Sep-2011 Emil Velikov <emil.l.velikov@gmail.com> tgsi: fix typo in commit 324ac982d8e7

Reviewed-by: Bryan Cain <bryancain3@gmail.com>
gsi_exec.c
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>
gsi_exec.c
gsi_info.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.
gsi_dump.c
gsi_exec.c
gsi_sse2.c
gsi_text.c
gsi_util.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>
gsi_build.c
gsi_dump.c
gsi_exec.c
gsi_exec.h
gsi_parse.c
gsi_parse.h
gsi_ureg.c
gsi_ureg.h
d562f97bef99e051842ae0cec8f5ac46a10a73c4 25-Aug-2011 Dave Airlie <airlied@redhat.com> tgsi: add TXF support.

This is a straight texel fetch with no filtering or clamping. It uses
integers to specify the i/j/k (from EXT_gpu_shader4).

To enable this I had to add another hook into the tgsi sampler so that
we could easily bypass all the filtering sample does.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
gsi_exec.c
gsi_exec.h
7f1b9ddd12e97ac57c4818646c17521bb0c2c358 25-Aug-2011 Dave Airlie <airlied@redhat.com> tgsi: add TXQ support. (v2)

this adds another callback in the sampler struct containing get_dims
entry point. This is used to query the driver for the texture resource
dimensions for the resource bound to the current sampler.

v2: remove unusued variable, fix indent

Signed-off-by: Dave Airlie <airlied@redhat.com>
gsi_exec.c
gsi_exec.h
4683529048ee133481b2d8f1cae1685aa1736f9a 04-Aug-2011 Bryan Cain <bryancain3@gmail.com> Merge branch 'glsl-to-tgsi'

Conflicts:
src/mesa/state_tracker/st_atom_pixeltransfer.c
src/mesa/state_tracker/st_program.c
f95169deb40f8245f4b3b07b17b222746da29bdd 14-Jun-2011 Bryan Cain <bryancain3@gmail.com> tgsi: add support for TGSI_OPCODE_MOD in tgsi_exec
gsi_exec.c
17b695e6e7dd730497fb60a8e161935b23fa0e9c 06-May-2011 Bryan Cain <bryancain3@gmail.com> gallium: add PIPE_SHADER_CAP_INTEGERS
gsi_exec.h
636d01bd61cac83e13c3c64874e7e34e828ca93a 21-Jul-2011 Brian Paul <brianp@vmware.com> Merge branch 'gallium-polygon-stipple'
2253906da3c506bb5378a8f2fa203ed0c9021171 21-Jul-2011 Brian Paul <brianp@vmware.com> tgsi: add info fields for fragcoord origin, center, etc
gsi_scan.c
gsi_scan.h
2ea7b374f6111a3aab2589d915dd3fcd309a59ca 06-Jul-2011 Brian Paul <brianp@vmware.com> tgsi: add some debug/print code in exec_tex(), disabled
gsi_exec.c
681ed756c05ad0be03425417dce18fb1d525e0bd 07-Jun-2011 Brian Paul <brianp@vmware.com> tgsi: s/varient/variant/
gsi_ureg.h
ff038170ff9042c0ee535be7c2837d200e06b0c0 29-May-2011 Marek Olšák <maraeo@gmail.com> tgsi/ureg: bump the limit of immediates

Lowered indirect addressing can create lots of immediates.

Fixes piglit/glsl-fs-uniform-array-7 on r300g.

NOTE: This is a candidate for the 7.10 branch.

Reviewed-by: Brian Paul <brianp@vmware.com>
gsi_ureg.c
08520bdea2db623044e2e46c21402039fd8fe5e2 01-May-2011 Marek Olšák <maraeo@gmail.com> tgsi: remove set-but-unused variables
gsi_build.c
629bc76b75c6e35ecbbb7a6716b5f25f13ef34e6 13-Mar-2011 Jakob Bornecrantz <wallbraker@gmail.com> tgsi: Fix parsing of properties with digits in the name
gsi_text.c
6838c9ce74f16c765474c0d2b4ae1469dd4a64d5 04-Mar-2011 José Fonseca <jfonseca@vmware.com> tgsi: Disable SSE2 code generation.

It's broken now that tgsi_exec_machine::Inputs/Ouputs are pointers.

Temporary if anybody still cares about tgsi_sse2.c. Permanent otherwise.
gsi_sse2.c
9f3c59a35093c61fb11aab6d3ed5cb45f2b8c2a7 03-Mar-2011 José Fonseca <jfonseca@vmware.com> tgsi: Update assert.

Elements(mach->Inputs) is wrong now that mach->Inputs is dynamically
allocated.
gsi_exec.c
ff2a0faba068ac8bc891f4a6427ad3e241c5f09f 02-Mar-2011 Zack Rusin <zack@kde.org> tgsi: defer allocation of huge inputs/outputs until we have a gs
gsi_exec.c
gsi_exec.h
b0e8aec5ab7f0e81dc0ea6c79ac7db2cca4788ed 25-Feb-2011 Jerome Glisse <jglisse@redhat.com> gallium/tgsi: shuffle ureg_src structure to work around gcc4.6.0 issue

There is an issue with gcc 4.6.0 that leads to segfault/assert with mesa
due to ureg_src size, reshuffling the structure member to better better
alignment work around the issue.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47893

7.9 + 7.10 candidate

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
gsi_ureg.h
8697dbdfbcb6c5cf256658ed6cb2277040b586d2 27-Jan-2011 Brian Paul <brianp@vmware.com> tgsi: add cases for array textures

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33555
gsi_sse2.c
c0d941877b410b2402ed853d1d33b0664a3d1445 26-Jan-2011 Brian Paul <brianp@vmware.com> tgsi: add support for 1D/2D texture arrays
gsi_dump.c
gsi_exec.c
gsi_util.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]
gsi_build.c
gsi_dump.c
gsi_exec.c
gsi_exec.h
gsi_info.c
gsi_opcode_tmp.h
gsi_parse.c
gsi_parse.h
gsi_sanity.c
gsi_text.c
gsi_ureg.c
gsi_ureg.h
652901e95b4ed406293d0e1fabee857c054119b1 15-Jan-2011 Brian Paul <brianp@vmware.com> Merge branch 'draw-instanced'

Conflicts:
src/gallium/auxiliary/draw/draw_llvm.c
src/gallium/drivers/llvmpipe/lp_state_fs.c
src/glsl/ir_set_program_inouts.cpp
src/mesa/tnl/t_vb_program.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.
gsi_dump.c
gsi_dump.h
gsi_text.c
8114cf9ad82860ac5d547e9e04af4e10e854ed6d 30-Dec-2010 Vinson Lee <vlee@vmware.com> tgsi: Clean up header file inclusion in tgsi_text.h.
gsi_text.h
20a0f342833b61ebbfb0b8c622fd0c18fad59b7d 30-Dec-2010 Vinson Lee <vlee@vmware.com> tgsi: Clean up header file inclusion in tgsi_sanity.h.
gsi_sanity.h
17004b39546b4033bd3d2612c231473c8f06157f 28-Dec-2010 Dave Airlie <airlied@gmail.com> tgsi_dump: fix assert due to missing property name.
gsi_dump.c
aaccb732763275e35598c2c7b1bff930a23b7909 24-Dec-2010 Dave Airlie <airlied@redhat.com> tgsi_text: just parse as an integer (value is a boolean).

fixes warning reported by vlee on irc.

Signed-off-by: Dave Airlie <airlied@redhat.com>
gsi_text.c
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>
gsi_text.c
gsi_ureg.c
gsi_ureg.h
c398f1544ea113279e5f038f4a643005743cab62 11-Dec-2010 Marek Olšák <maraeo@gmail.com> tgsi: fix rbug compile error

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

Signed-off-by: Marek Olšák <maraeo@gmail.com>
gsi_parse.h
975418a654e72d8338a9cf288d2d1f9429c226ae 09-Dec-2010 Brian Paul <brianp@vmware.com> tgsi/ppc: add case for system values and assert
gsi_ppc.c
e8154eeae52c09783f537f5584e6fb57b3c5efb6 09-Dec-2010 Brian Paul <brianp@vmware.com> tgsi/sse: add support for system values
gsi_sse2.c
b550d8d76b42ef5ba5e8293dcc24220d5b683369 09-Dec-2010 Brian Paul <brianp@vmware.com> tgsi: new tgsi_shader_info fields for system values
gsi_scan.c
gsi_scan.h
859f45a92197f310186924c47ef7b7d1c2bd7ec8 09-Dec-2010 Brian Paul <brianp@vmware.com> tgsi: add support for system values to TGSI interpreter
gsi_exec.c
gsi_exec.h
9aa089eac05ebefafb6610b4a7e209b2fd1e93f6 14-Nov-2010 Marek Olšák <maraeo@gmail.com> gallium: add PIPE_SHADER_CAP_SUBROUTINES

This fixes piglit/glsl-vs-main-return and glsl-fs-main-return for the drivers
which don't support RET (i915g, r300g, r600g, svga).

ir_to_mesa does not currently generate subroutines, but it's a matter of time
till it's added. It would then break all the drivers which don't implement
them, so this CAP makes sense.

Signed-off-by: Marek Olšák <maraeo@gmail.com>
gsi_exec.h
f90524a01bc159cde09a50ebdb8c5b5b7c4b9895 21-Nov-2010 Chia-I Wu <olv@lunarg.com> tgsi: Add STENCIL to text parser.

Fix OpenVG "filter" demo

Program received signal SIGSEGV, Segmentation fault.
0xb7153dc9 in str_match_no_case (pcur=0xbfffe564, str=0x0) at
tgsi/tgsi_text.c:86
86 while (*str != '\0' && *str == uprcase( *cur )) {
gsi_text.c
53b7ec91caa99c1ddd51262b4c311d93995726ba 12-Nov-2010 Marek Olšák <maraeo@gmail.com> tgsi: fill out CAPs for indirect addressing
gsi_exec.h
ef6b7e0a30814badd201ca1b3e1f5afb4ba21fef 04-Nov-2010 Brian Paul <brianp@vmware.com> tgsi: remove unused function
gsi_build.c
420400f67fce15512a8fcab770dde83a3eacc5cc 04-Nov-2010 Michal Krol <michal@vmware.com> tgsi/build: Reduce interface clutter.

Make private those functions that are used internally only.
gsi_build.c
gsi_build.h
f93d6f929f2439f87950df2c30c6c48b6dcac395 04-Nov-2010 Michal Krol <michal@vmware.com> tgsi/exec: Get rid of obsolete condition codes.
gsi_exec.c
gsi_exec.h
ee9366ab363a71407e4806ce079f98fc064d8734 04-Nov-2010 Michal Krol <michal@vmware.com> tgsi/exec: Cleanup the remaining arithmetic instructions.

As a result remove some nasty macros.
gsi_exec.c
07a30e3d18a528a2dc8a247af5c43e7428be1743 14-Oct-2010 Dave Airlie <airlied@redhat.com> tgsi: add scanner support for centroid inputs
gsi_scan.c
gsi_scan.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>
gsi_dump.c
gsi_scan.c
gsi_scan.h
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.
gsi_dump.c
gsi_dump.h
ff531c5b05cb4c078b42c6b14e707646d3d158c9 27-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> ureg: support centroid interpolation
gsi_ureg.c
gsi_ureg.h
4bb42a4f7e86d3e6e09fa504ea2d8630cb877066 22-Sep-2010 Jakob Bornecrantz <wallbraker@gmail.com> tgsi: Fix missing test before check

As introduced with commit d21301675c249602e19310d5b62fad424f2f2ac2

NOTE: This is a candidate for the 7.9 branch.
gsi_sse2.c
2491258436a9c404f177c861101f7bcefc8fffb3 21-Sep-2010 Vinson Lee <vlee@vmware.com> tgsi: Remove duplicate case value.
gsi_sse2.c
d21301675c249602e19310d5b62fad424f2f2ac2 21-Sep-2010 Jakob Bornecrantz <wallbraker@gmail.com> tgsi: Actually care what check_soa_dependencies says

Thanks to José for the more complete list of supported opcodes.

NOTE: This is a candidate for the 7.9 branch.
gsi_sse2.c
c66f0c46297996613fa8271925e37e594cf5d16b 21-Sep-2010 José Fonseca <jfonseca@vmware.com> tgsi: Don't ignore indirect registers in tgsi_check_soa_dependencies

NOTE: This is a candidate for the 7.9 branch.
gsi_exec.c
de71e7a4c96e513beacb94eccbb8e5241a71aaf3 20-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> tgsi: add switch/case opcodes to tgsi_opcode_tmp.h
gsi_opcode_tmp.h
4b27c614cf4b06ad0c2a0414f60737f19eed021d 17-Sep-2010 Brian Paul <brianp@vmware.com> tgsi/sse: fix aos_to_soa() loop to handle num_inputs==0

Basically, change the loop from:
do {...} while (--num_inputs != 0)
into:
while (num_inputs != 0) { ... --num_inputs; }

Fixes fd.o bug 29987.
gsi_sse2.c
95254bbd2ddf0c6207a642604cc218ac9d711501 15-Sep-2010 Brian Paul <brianp@vmware.com> tgsi: fix incorrect usage_mask for shadow tex instructions

The shadow versions of the texture targets use an extra component
(Z) to express distance from light source to the fragment.
Fixes the shadowtex demo with llvmpipe.
gsi_util.c
a508d2dddcc67d0f92cc36b9ed6f36a9bbfc579d 05-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> gallium: introduce get_shader_param (ALL DRIVERS CHANGED) (v3)

Changes in v3:
- Also change trace, which I forgot about

Changes in v2:
- No longer adds tessellation shaders

Currently each shader cap has FS and VS versions.

However, we want a version of them for geometry, tessellation control,
and tessellation evaluation shaders, and want to be able to easily
query a given cap type for a given shader stage.

Since having 5 duplicates of each shader cap is unmanageable, add
a new get_shader_param function that takes both a shader cap from a
new enum and a shader stage.

Drivers with non-unified shaders will first switch on the shader
and, within each case, switch on the cap.

Drivers with unified shaders instead first check whether the shader
is supported, and then switch on the cap.

MAX_CONST_BUFFERS is now per-stage.
The geometry shader cap is removed in favor of checking whether the
limit of geometry shader instructions is greater than 0, which is also
used for tessellation shaders.

WARNING: all drivers changed and compiled but only nvfx tested
gsi_exec.h
ec21ed1ce7963551d824b8b1f4c4ffa8d6cb3363 27-Aug-2010 Vinson Lee <vlee@vmware.com> tgsi: Include missing header in tgsi_parse.h.

Include p_compiler.h for boolean and INLINE symbols.
gsi_parse.h
57421cb464c63ed65f5e0438ad4c13c527f41118 27-Aug-2010 Vinson Lee <vlee@vmware.com> tgsi: Include missing header in tgsi_info.h.

Include p_compiler.h for uint symbol.
gsi_info.h
0b9b8694d9c3295436561331f03f0d59effe26c4 27-Aug-2010 Vinson Lee <vlee@vmware.com> tgsi: Include missing header in tgsi_dump.h.

Include p_compiler.h for uint symbol.
gsi_dump.h
f099e73b7b7ce1ae1aa23713c6418deb86b1a17a 26-Aug-2010 Vinson Lee <vlee@vmware.com> tgsi: Include missing header in tgsi_sse2.h.

Include p_compiler.h for boolean symbol.
Clean up forward declarations.
gsi_sse2.h
285ea417ef5ee1027d1e8dd03b069cb157105bf7 20-Aug-2010 Keith Whitwell <keithw@vmware.com> tgsi: helper for dumping tokens as hex
gsi_parse.c
gsi_parse.h
4b2b5f8e30347ce0a1818524f8825335d47eb5ca 23-Aug-2010 Brian Paul <brianp@vmware.com> tgsi: fix false CondStackTop==0 assertion
gsi_exec.c
7f5202be63c6dc639e57d11ef8253e79dd349f59 15-Aug-2010 Jakob Bornecrantz <wallbraker@gmail.com> gallium: Make printing info on debug builds default off

This commit silences the printing off most of the debug information
when running debug builds. The big culprits are: the tgsi sanity checker
that gets run on all shaders on debug; all the options; and
finaly the cpu caps printer.
gsi_sanity.c
gsi_sanity.h
14e9fbee1cef281c6849a5f2a6d2cc66bfd4b3fd 06-Aug-2010 Brian Paul <brianp@vmware.com> gallium: remove stray semicolons
gsi_sanity.c
1a3a04d56b01714e4fa19aa7efcdae4b6644af46 06-Aug-2010 Jakob Bornecrantz <jakob@vmware.com> tgsi: Fix typo, so we follow what is in the comments
gsi_sanity.c
9f5c1194ff0ff69be5d7641d68169b152bc6cd0a 06-Aug-2010 Jakob Bornecrantz <jakob@vmware.com> tgsi: Add option to stop the sanity checker from printing
gsi_sanity.c
gsi_sanity.h
ce1fed1659ee0af063c6bace8a1aba879b85e775 30-Jul-2010 Brian Paul <brianp@vmware.com> tgsi: remove incorrect assertion
gsi_exec.c
ba2cc3b8e6ad161181b67fd2575c6bc768584d23 29-Jul-2010 Brian Paul <brianp@vmware.com> gallium: implement bounds checking for constant buffers

Plumb the constant buffer sizes down into the tgsi interpreter where
we can do bounds checking. Optional debug code warns upon out-of-bounds
reading. Plus add a few other assertions in the TGSI interpreter.
gsi_exec.c
gsi_exec.h
e36a08221400af025f1585f4e1ddbd3715810368 16-Jul-2010 Jakob Bornecrantz <wallbraker@gmail.com> tgsi: Fix error message on invalid swizzle parse
gsi_text.c
85206e56a1c3400be47229d4a8c6a1cd7a2f476e 21-Jul-2010 Brian Paul <brianp@vmware.com> tgsi: added tgsi_shader_info::indirect_files field

Indicates which register files are accessed with indirect addressing.
gsi_scan.c
gsi_scan.h
3471ac95691ee976607122aace9bbebe7db96f17 15-Jul-2010 Vinson Lee <vlee@vmware.com> tgsi: Remove dead assignment in uprcase function.
gsi_text.c
cc426b813205ff72977ad59f9ecefa50e4b68a6d 11-Jul-2010 Zack Rusin <zackr@vmware.com> tgsi: make sure that we print out the adjacency prims correctly
gsi_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]]
gsi_build.c
gsi_build.h
gsi_dump.c
gsi_exec.c
gsi_exec.h
gsi_parse.c
gsi_parse.h
gsi_sanity.c
gsi_text.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.
gsi_build.c
gsi_dump.c
gsi_exec.c
gsi_exec.h
gsi_parse.c
gsi_parse.h
gsi_sanity.c
gsi_text.c
3560652ccf0d88bcc23c326ea99bbc7091b45f39 15-Jun-2010 Zack Rusin <zackr@vmware.com> gs: make sure we end primitives when finishing executing shaders
gsi_exec.c
23969670387bc0bb7d0761936905e5eb4df963dc 11-Jun-2010 Zack Rusin <zack@kde.org> tgsi: support 2d indirect addressing
gsi_dump.c
gsi_exec.c
gsi_sanity.c
gsi_ureg.c
gsi_ureg.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.
gsi_ureg.c
eb430046de33db2e2e182e9fa2462e2fef163ca0 07-Jun-2010 Keith Whitwell <keithw@vmware.com> tgsi: null-terminate string in parse_identifier

Hit this parsing geometry shader properties.
gsi_text.c
69faf5b48fde9d89b554c75fba7b431ddcd591da 04-Jun-2010 Keith Whitwell <keithw@vmware.com> tgsi: reject interpolation and semantics on vs inputs
gsi_text.c
b297b14d30ef98582f3511b46c161bc62115684d 03-Jun-2010 Brian Paul <brianp@vmware.com> tgsi: we don't support indirect input/output registers in SSE codegen yet

Extend the check for indirect addressing of temp regs to include
input/output regs.

Fixes failure with piglit glsl-texcoord-array.shader_test test when using
SSE codegen.
gsi_sse2.c
d4afee9202ae0c972fd78cb82ae0c1b48d562673 03-Jun-2010 Brian Paul <brianp@vmware.com> tgsi: whitespace cleanup
gsi_sse2.c
056ae405b6f4659619b9e13ad2ff6fb820e0a837 01-Jun-2010 José Fonseca <jfonseca@vmware.com> tgsi: Drop uses_fogcoord and uses_frontfacing from tgsi_scan.

It was not used anywhere; the code was buggy (it didn't take care of
indirect registers and could potential cause buffer underflows) and the
same effect can now be easily achieved by just by looking at
input_semantic_name[] and input_usage_mask[].
gsi_scan.c
gsi_scan.h
2c67e754cf45b4f0981a82bfb9936bae384aa1e3 01-Jun-2010 José Fonseca <jfonseca@vmware.com> tgsi: Remove tgsi-instruction-set.txt.

Deprecated by tgsi.rst, and no point in keeping it around if it's not
being updated.
gsi-instruction-set.txt
abe4f3d1aa68aec70d329447abc890b3eaaba9cb 01-Jun-2010 José Fonseca <jfonseca@vmware.com> tgsi: Determine which shader input channels are effectively.

TGSI's UsageMask flag is never set. We can move this logic into
tgsi_ureg, but there there are still cases where's not used, so this
seems a better place for now.
gsi_scan.c
gsi_scan.h
gsi_util.c
gsi_util.h
83826dac9b83a167b224282327105ccd67306c53 13-May-2010 Michal Krol <michal@vmware.com> tgsi: Implement OPCODE_DIV.
gsi_exec.c
d1f76b1d852863b6802cb1c2676c698881a6246a 14-May-2010 Brian Paul <brianp@vmware.com> tgsi: add a dummy function to silence warning
gsi_ppc.c
6080e567f0ca1fdcce21e76271d4239c33a50db3 12-May-2010 Brian Paul <brianp@vmware.com> tgsi: also count instructions in tgsi_scan_shader()
gsi_scan.c
gsi_scan.h
7b5931b313b8a38fd564435e69e644320fb3de5e 12-May-2010 José Fonseca <jfonseca@vmware.com> softpipe: Adverstise (tgsi_exec's) shader limits.
gsi_exec.h
edbc302ad678e1a4a8803ba0e827a13dd27105d2 11-May-2010 José Fonseca <jfonseca@vmware.com> mesa/st+tgsi: Provide a free callback to match with ureg_get_tokens().

This fixes crashes with the memory debugging routines on Windows.

NOTE: This is a candidate for the 7.8 stable branch
gsi_ureg.c
gsi_ureg.h
12d74d6ba1b4dff0ebef68edf09a6f560eae3a65 07-May-2010 Brian Paul <brianp@vmware.com> tgis: fix SOA aliasing for MUL instruction in SSE codegen

Part of a fix for piglit trinity-fp1 test failure.
gsi_sse2.c
4b274f311c2c72e40e63c02e4a6f9f5ccc59f165 06-May-2010 Brian Paul <brianp@vmware.com> tgsi: make SSE ADD instruction SOA-safe

To properly execute an instruction such as "ADD tmp, tmp.wzyx, foo;"
with SOA we (sometimes) need to put the results into temporaries before
writing the results to the destination register.

This patch fixes the ADD instruction but this needs to be done for
many more instructions.

Helps to fix piglit fp-long-alu test (fd.o bug 27989).
gsi_sse2.c
895ee712ba1e9f1c1a0e54c6a5cebc52eea47a29 06-May-2010 Brian Paul <brianp@vmware.com> tgsi: code refactoring
gsi_sse2.c
92d88ccd9a3f68584453ba548df4fb5496a7dbf9 06-May-2010 Brian Paul <brianp@vmware.com> tgsi: added tgsi_get_processor_name()
gsi_info.c
gsi_info.h
c8f0e805a9e4c26eadc45bb1fd172b6702f581ab 06-May-2010 Brian Paul <brianp@vmware.com> tgsi: fix tgsi_exec_machine_bind_shader() to handle NULL tokens, samplers

This lets us unbind a shader from the tgsi_exec_machine. Since
shaders aren't ref counted we need this to properly clean up when
deleting shaders elsewhere.
gsi_exec.c
fbb1ad33a42f91797327a099d6565d1c201099b4 06-May-2010 Brian Paul <brianp@vmware.com> gallium/tgsi: remove unused tgsi_exec_labels code
gsi_exec.c
gsi_exec.h
a8bb49562938e94459f398a1733a76eb9c690f6c 04-May-2010 Marek Olšák <maraeo@gmail.com> tgsi: make dumping work on non-debug builds
gsi_dump.c
14a0328d4b21a2783a43932d2e4ed7ee75d79685 03-May-2010 José Fonseca <jfonseca@vmware.com> tgsi: Parse and dump predicates.
gsi_dump.c
gsi_text.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.
gsi_dump.c
gsi_exec.c
gsi_exec.h
gsi_sanity.c
gsi_text.c
gsi_ureg.c
gsi_ureg.h
73e1405de0277bab2d617742ff5a764467e32899 27-Apr-2010 José Fonseca <jfonseca@vmware.com> tgsi: Drop BGNFOR, ENDFOR, REP, and ENDREP opcodes.
gsi-instruction-set.txt
gsi_dump.c
gsi_exec.c
gsi_info.c
gsi_opcode_tmp.h
gsi_sanity.c
gsi_sse2.c
0490116f96e61c6d8d26c2383736990cceef799b 18-Apr-2010 Brian Paul <brianp@vmware.com> tgsi: add comment about potential code removal
gsi_exec.c
1673bb38bbc4b05f823abecbfaae06e9ce52eb9b 18-Apr-2010 Brian Paul <brianp@vmware.com> tgsi: replace 0xf with TGSI_WRITEMASK_XYZW
gsi_ureg.c
f97f46f269666b289f9af977e238ccda9b483c44 28-Mar-2010 Keith Whitwell <keithw@vmware.com> aux/tgsi: fix some minor glitches in string routines

Not sure why we are open-coding these rather than using standard
library functions.
gsi_text.c
9a2c4f907b87e81173f50222c4bc325064609392 01-Mar-2010 Michal Krol <michal@vmware.com> tgsi: Cleanup exec code for CLAMP, CMP and CND.
gsi_exec.c
aa799fa2d0701fbaa968036c0c1964d00a530c6d 25-Feb-2010 Michal Krol <michal@vmware.com> tgsi: Remove dead code.
gsi_exec.c
28e80aa0b85aac3ed3d34ee13b6412be4d9d5773 22-Feb-2010 José Fonseca <jfonseca@vmware.com> tgsi: Report an error when a destination has an empty writemask.
gsi_sanity.c
5fd84e0246f58cc59757d0bb2b94427899c944e1 20-Feb-2010 Vinson Lee <vlee@vmware.com> tgsi: ifdef out unused function micro_sqrt.
gsi_exec.c
f814a497f7359878d3b67316d7b49060ecac0301 18-Feb-2010 Michal Krol <michal@vmware.com> tgsi: Make more exec opcodes look pretty.
gsi_exec.c
f1f7006d1f547571ec300277d7d5eef2007e9de1 18-Feb-2010 Michal Krol <michal@vmware.com> tgsi: Change prototypes of micro opcodes to explicitly indicates number of args.
gsi_exec.c
d68f024b7dd1891d4939bf56d3065acc225b9c81 18-Feb-2010 Michal Krol <michal@vmware.com> tgsi: Rewrite exec implementations of NRM and NRM4.
gsi_exec.c
607a830fe281bb042740ef5cd9ae99df73e19090 03-Feb-2010 Michal Krol <michal@vmware.com> tgsi: Gather cylindrical wrap info in tgsi_shader_info struct.
gsi_scan.c
gsi_scan.h
33a9fb35dd4c74945840ce1e1b496c43ecfc92de 03-Feb-2010 Michal Krol <michal@vmware.com> tgsi: Add ureg_DECL_fs_input_cyl().

Allows one to declare fragment shader inputs with cylindrical wrap info.
gsi_ureg.c
gsi_ureg.h
6f6d740c851aa8bedc7c51dbd5db14de338787f1 03-Feb-2010 Michal Krol <michal@vmware.com> gallium: Add cylindrical wrap info to TGSI declaration.
gsi_build.c
gsi_build.h
gsi_dump.c
5ee856e195ca3745d6460c0874c2c9463cf359df 03-Feb-2010 Michal Krol <michal@vmware.com> tgsi: Remove tgsi_dump_c.[ch].

Little utility after development stabilisation, use tgsi_dump instead.
gsi_dump_c.c
gsi_dump_c.h
cea2b8d65609756fed46f3904db8a6945f0dd769 05-Feb-2010 Brian Paul <brianp@vmware.com> tgsi: remove special-case code for fragment position

Since the origin_lower_left / pixel_center_origin changes, we need
to use the fragcoord info that's set up in setup_fragcoord_coeff().
The code in exec_declaration() was clobbering the the interpolated
fragment position.

Fixes progs/glsl/fragcoord.c demo.
gsi_exec.c
45dac0d82a5a69166e86dce77c2550f7512c541e 03-Feb-2010 José Fonseca <jfonseca@vmware.com> Merge branch 'gallium-embedded'
f8d824e09a54871df899f368ebaadc9a4e5b62ff 03-Feb-2010 Brian Paul <brianp@vmware.com> tgsi: added debugging code to catch divide by zero
gsi_exec.c
9ca6cf0f54c4ab9cd6dfdea54c5bf350ae4491d5 03-Feb-2010 Brian Paul <brianp@vmware.com> tgsi: convert CHECK_INF_OR_NAN to inline function

And disable with if (0). Inf/NaN can occur normally during program
execution. Only enable the check code when needed during debugging.
gsi_exec.c
439036739db2855bba5f0ffc12b7b727897cb530 03-Feb-2010 Brian Paul <brianp@vmware.com> tgsi: added tgsi_alloc_tokens()
gsi_parse.c
gsi_parse.h
5670b44f827fdc3d209e257c3de5673b2534ba96 03-Feb-2010 Brian Paul <brianp@vmware.com> tgsi: fix comment
gsi_exec.c
38f6f23fcf37247fd709d1c612d08bfa9b124e69 02-Feb-2010 José Fonseca <jfonseca@vmware.com> gallium: Make pipe_atomic a regular int32_t.
gsi_ureg.c
gsi_ureg.h
28486880ca3ec39419ccee0cb1a3bedc9ef7117c 02-Feb-2010 José Fonseca <jfonseca@vmware.com> gallium: pipe/p_inlines.h -> util/u_inlines.h
gsi_text.c
ad83f3bf0a633d5d7360c849010f01063afc1702 02-Feb-2010 Michal Krol <michal@vmware.com> tgsi: ureg_DECL_gs_input() accepts shader semantics.
gsi_ureg.c
gsi_ureg.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.
gsi_dump.c
gsi_text.c
gsi_ureg.c
gsi_ureg.h
9e895831bcb35b0a14f68538376b15ae4e94ae0d 27-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Constants declared with ureg_DECL_constant() are one-dimensional.

This is to maintain backward compatibility with drivers
that don't support arrays of constant buffers.
gsi_ureg.c
3ba2ab3a23099f00366bdbec09f18612bfa71225 27-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Add ureg_property_gs_output_prim/max_vertices().
gsi_ureg.c
gsi_ureg.h
7c5f255201f42303188137f56ea8acc030444f0e 25-Jan-2010 Michal Krol <michal@vmware.com> gallium: Rename PIPE_MAX_CONSTANT to PIPE_MAX_CONSTANT_BUFFERS.
gsi_exec.c
gsi_exec.h
gsi_ureg.c
dcf8543ab375dd9c128d1ca772b1e587cebbdc7c 21-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Handle two-dimensional constants in text parser.
gsi_build.c
gsi_build.h
gsi_text.c
835bab0143e11ab98551a061043f944fd6eab456 19-Jan-2010 Michal Krol <michal@vmware.com> gallium: Implement 2D constant buffers for fragment shader in softpipe.
gsi_exec.c
gsi_exec.h
4367de152cc5bd7240d75a33e75c1b1671b5cc16 19-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Handle 2-D declarations.
gsi_dump.c
gsi_parse.c
gsi_parse.h
gsi_sanity.c
gsi_ureg.c
gsi_ureg.h
5dcc088bf16c8c4659e5e7c272ab226f0ed95d75 28-Jan-2010 Vinson Lee <vlee@vmware.com> tgsi: Silence uninitialized variable warning.
gsi_ureg.c
00c36079175a9582f54ca48fc4608faaba1ca4a6 28-Jan-2010 Vinson Lee <vlee@vmware.com> tgsi: Remove unnecessary header.
gsi_util.c
cd8614b0287dc5a69725ec4ee0208fad61f7789e 22-Jan-2010 Brian Paul <brianp@vmware.com> Merge branch 'mesa_7_7_branch'

Conflicts:
src/gallium/auxiliary/draw/draw_context.c
src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c
src/gallium/auxiliary/pipebuffer/Makefile
src/gallium/auxiliary/pipebuffer/SConscript
src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
src/gallium/auxiliary/tgsi/tgsi_scan.c
src/gallium/drivers/i915/i915_surface.c
src/gallium/drivers/i915/i915_texture.c
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_tex_sample_c.c
src/gallium/drivers/llvmpipe/lp_texture.c
src/gallium/drivers/softpipe/sp_prim_vbuf.c
src/gallium/state_trackers/xorg/xorg_dri2.c
src/gallium/winsys/drm/intel/gem/intel_drm_api.c
src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c
src/gallium/winsys/drm/radeon/core/radeon_drm.c
src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c
src/mesa/state_tracker/st_cb_clear.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.
gsi_dump.c
gsi_exec.c
gsi_sanity.c
463351ea6c953c3db7f135ba97160a212562daef 18-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Allow TEMPORARY registers as indirect address into source operands.
gsi_sanity.c
gsi_ureg.c
gsi_ureg.h
4698a865e076998107c188b39db039bdcbaac3a9 18-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Add ureg_DECL_immediate_block_uint().

Allows declaring a contiguous block of immediates. Useful for
relative indexing.
gsi_ureg.c
gsi_ureg.h
3b71386426b96c447248bc6102c6ff6182f65431 15-Jan-2010 Chia-I Wu <olvaffe@gmail.com> tgsi: Add missing semantic name in text parser.

This time, INSTANCEID is missing...
gsi_text.c
42d55953b19db8916a677abc606b8d0a923efb5d 15-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Add ureg_property_gs_input_prim().
gsi_ureg.c
gsi_ureg.h
181adca5d6f03390dcfed567be6dfd9e14eb94a7 15-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Add ureg_src_dimension().
gsi_ureg.c
gsi_ureg.h
d1767bfdabac4fd1eedb1ad9ddea368e077725c6 15-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Fix sanity checks for indirect registers.
gsi_sanity.c
f595e72337f4cdc2ec6b0378f747e31666e70d5c 15-Jan-2010 Brian Paul <brianp@vmware.com> tgsi: fix detection of front-facing attribute

This code was not updated when we added TGSI_SEMANTIC_FACE a while ago.
gsi_scan.c
b01ffb12ed82dcf435b186e2aff35e344a8a6ebe 14-Jan-2010 Jakob Bornecrantz <jakob@vmware.com> Merge branch 'mesa_7_7_branch'

Conflicts:
src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
src/gallium/auxiliary/util/Makefile
src/gallium/drivers/r300/r300_state_derived.c
5184b02b0793136a15b7edf309d79a1efe1bc73d 14-Jan-2010 Michal Krol <michal@vmware.com> Merge branch 'instanced-arrays'

Conflicts:
src/gallium/drivers/softpipe/sp_draw_arrays.c
5dfd5ed5e7d23d4ee8572669af2673c3a1315763 12-Jan-2010 José Fonseca <jfonseca@vmware.com> gallium: Simplify PIPE_ALIGN_VAR.

gcc allows pre-fix variable attributes.

Suggested by Ian Romanick.
gsi_ppc.c
86bfe974b880dc2cbf40b91ba0fde34e8a9c756e 10-Jan-2010 José Fonseca <jfonseca@vmware.com> gallium: Generalize the alignment macros to other compilers and any alignment.
gsi_ppc.c
fd70841121475d7aad98812d6bf9c9c67567b89a 08-Jan-2010 Brian Paul <brianp@vmware.com> Merge branch 'mesa_7_7_branch'

Conflicts:

src/mesa/drivers/dri/i965/brw_wm_emit.c
dddd5a36aced7c300bac64336a0a88e7bad62c18 08-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Cleanup dot-product opcodes in interpreter.
gsi_exec.c
8647aa1d8d8ffce7ae3b00e7e277be635124acad 07-Jan-2010 Brian Paul <brianp@vmware.com> tgsi: fix SSE code emit for XPD

Rearrange things so that the writes to the dest registers happen
after we've fetched/used all src registers.

The problematic instruction was: XPD TEMP[2].xyz, TEMP[0], TEMP[2];
Note that the dst reg is also a src reg.

This fixes bad shading with progs/glsl/bump.c since Eric's changes to the
Mesa program optimizer in commit d6690ce15fb8c7c6abf1bc0d847c1d2da2c33904.
The optimizer rearranges some registers so we occasionally wind up with
something like the above.
gsi_sse2.c
7335d8006fdc065c8dbe6b63007ffa77ffd53470 07-Jan-2010 Brian Paul <brianp@vmware.com> tgsi: add assertion to verify legal register file

This assertion fails with piglit glsl-vs-mov-after-deref test
because we're double freeing the memory. It seems there's some
confusion between what's placed in the hash table and what isn't.
gsi_sanity.c
0c6794c46fdd1225bb1d8ece77ea937cb822a1a3 07-Jan-2010 Brian Paul <brianp@vmware.com> tgsi: fix incorrectly placed braces, add more braces to be clear
gsi_sanity.c
16b5d2eba3b5ccb56c26c0d1c66763f99f1ad191 07-Jan-2010 Brian Paul <brianp@vmware.com> tgsi: move register checking code before check_register_usage()

check_register_usage() frees the scan_register *reg data so we were
reading from freed memory. This fixes a valgrind error found with
piglit's glsl-vs-mov-after-deref test.
gsi_sanity.c
4440428faa82f01b4dfb4be89618be2aaf153abd 07-Jan-2010 Michal Krol <michal@vmware.com> gallium: Fix texture sampling with explicit LOD in softpipe.
gsi_exec.c
gsi_exec.h
gsi_sse2.c
4bfe1c955fe679547c8a03119d1681e33593c768 07-Jan-2010 Michal Krol <michal@vmware.com> gallium: Pass per-element (not per-quad) LOD bias values down to texture sampler.
gsi_exec.c
gsi_exec.h
gsi_sse2.c
e313dabdc735b663cc8364669fc4690ed592a585 07-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Cleanup exec_tex().
gsi_exec.c
20d6360db7ca8610e5958cd7f851e664d77684fc 09-Jan-2010 Vinson Lee <vlee@vmware.com> tgsi: Silence uninitialized variable warnings.
gsi_exec.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
1f9aa38f4e2be47229d92be2c1189c2b8d9c7133 05-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Simplify implementation of few interpreter's instructions.
gsi_exec.c
55b5c8816e95528cbe68599bade44796e10711cd 05-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Use FREE() to release MALLOC-ed() memories in sanity.
gsi_sanity.c
767d1472df68a777c51c406fa3f8d642c7cf58c0 05-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Fix bogus loop condition in sanity.
gsi_sanity.c
c301fa6fc86b5ab8cc953674d6d21ff28a09e4ad 03-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Treat MOV source operand as FLOAT so modifiers works as expected.
gsi_exec.c
72183227039acaa1fdc95ef9faeb98703cb8c28d 03-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Store ADDR file in interpreter as an int.
gsi_exec.c
7c8e67e4aa14510c56ea5c18cf6b2b961cbbf8e6 03-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Remove dead micro_umod().
gsi_exec.c
97f9a147db010ad373b4a85e7769f060ca12ab50 02-Jan-2010 Michal Krol <michal@vmware.com> tgsi: Make interpreter aware of float and integer data types.

Debug check for inf and nan only on float channels.

Apply absolute and negate source operand modifiers based on
opcode type.
gsi_exec.c
c34f6faf35c16ff81a1c4420290be4ed7f542121 02-Jan-2010 Michal Krol <michal@vmware.com> gallium: Add UMOD TGSI opcode.

Either that or have UDIV have two destination operands.
gsi_exec.c
gsi_info.c
gsi_opcode_tmp.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.
gsi_exec.c
gsi_exec.h
gsi_info.c
08a3efee10034d9bd8809eb6707a372b81ea3957 23-Dec-2009 Michal Krol <michal@vmware.com> tgsi/ureg: Improve immediate match & expand logic.

Do not pollute immediates with unsuccessfull attempts to expand them.
gsi_ureg.c
ff56a12051a91c5c69db9afb85e4a3ebdb17ef96 23-Dec-2009 Michal Krol <michal@vmware.com> tgsi: Support signed/unsigned integer immediate types.
gsi_dump.c
gsi_parse.c
gsi_sanity.c
gsi_ureg.c
gsi_ureg.h
bf4b4c1b6fc06056270e099082f3fd88ec261a3b 23-Dec-2009 Michal Krol <michal@vmware.com> tgsi: Cleanup interpreter code for other existing integer opcodes.
gsi_exec.c
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.
gsi_sse2.c
df0826fba37f38e9ea094180c71f2460e5b50e38 23-Dec-2009 Michal Krol <michal@vmware.com> tgsi: Implement new integer opcodes.

Update interpreter and ureg.
Also, get rid of SHR -- it's actually an alias for ISHR.
gsi_exec.c
gsi_info.c
gsi_opcode_tmp.h
ad80009c8845f446d64a0a43f39b5a797db2245b 04-Jan-2010 Vinson Lee <vlee@vmware.com> tgsi: Fix assert.
gsi_exec.c
4a531fb46a6ab544666c5eeb362f3622bd44aaff 04-Jan-2010 Alan Hourihane <alanh@vmware.com> Fix test
gsi_scan.c
9595b59247518dbb7c47c25720dc2a5147973b0b 01-Jan-2010 Igor Oliveira <igor.oliveira@openbossa.org> tgsi: Add missing semantic name in text parser.
gsi_text.c
c847a13d38d4e8c5f4c386d060dcc8ec09e491a3 01-Jan-2010 José Fonseca <jfonseca@vmware.com> gallium: Generate a single library for auxiliaries with Make too.
akefile
f8f4757d46627fb453f08dc63fde3d7f458eafe2 31-Dec-2009 José Fonseca <jfonseca@vmware.com> scons: Aggregate all tiny libraries in a single library.

Makes integration of gallium into out of tree components much easier. No
pratical change for components in this tree,
Conscript
25024d948298a9f3f3210a0b91486f79a3917b0f 31-Dec-2009 Brian Paul <brianp@vmware.com> Merge branch 'mesa_7_7_branch'

Conflicts:
configs/darwin
src/gallium/auxiliary/util/u_clear.h
src/gallium/state_trackers/xorg/xorg_exa_tgsi.c
src/mesa/drivers/dri/i965/brw_draw_upload.c
5754185d39c147cd81b97fd331ccf78aebfad5e7 30-Dec-2009 Michal Krol <michal@vmware.com> tgsi: Support system values in ureg.
gsi_ureg.c
gsi_ureg.h
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.
gsi_dump.c
0463ee64e39951257d0bb7c5a9b6c894fe761dd1 28-Dec-2009 Vinson Lee <vlee@vmware.com> tgsi/ureg: Silence uninitialized variable warnings.
gsi_ureg.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.
gsi_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.
gsi_dump.c
gsi_text.c
a00da63e6612607044e93f2900fba21bddfd0cad 24-Dec-2009 Zack Rusin <zackr@vmware.com> util: put vertices_per_primitive function in its proper location
gsi_sanity.c
gsi_text.c
49155c3264d019869fadde50ff6167a369e966b6 24-Dec-2009 Zack Rusin <zackr@vmware.com> draw/tgsi: fix geometry shader input/output swizzling
gsi_exec.c
afd01366b098bf790658e069caddb7a930da827d 23-Dec-2009 Zack Rusin <zackr@vmware.com> tgsi: dump the indices correctly when dealing with 2d arrays
gsi_dump.c
960be012a9d185c80bfcb9ff5c3781314dfb7b25 23-Dec-2009 Zack Rusin <zackr@vmware.com> tgsi: fix property parsing/building
gsi_build.c
gsi_text.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
gsi_dump.c
gsi_sanity.c
gsi_text.c
5aac920e4968d5be37ec2dbecb18838e66ca2c95 15-Dec-2009 Zack Rusin <zackr@vmware.com> tgsi: make the tgsi assembly parser report line/column on error
gsi_text.c
89d8577fb3036547ef0b47498cc8dc5c77f886e0 14-Dec-2009 Zack Rusin <zackr@vmware.com> gallium: add geometry shader support to gallium
gsi_dump.c
gsi_exec.c
gsi_exec.h
gsi_text.c
35e8283c69d80debb44b05ea79dc5f67303a7432 22-Dec-2009 Roland Scheidegger <sroland@vmware.com> Merge branch 'gallium-edgeflags'

Conflicts:
src/mesa/state_tracker/st_draw.c
79bb3da4d3233f26352d549a7a9cb1d1d857c21d 22-Dec-2009 Michal Krol <michal@vmware.com> tgsi: Implement BREAKC in interpreter.
gsi_exec.c
ff5b0c72db20be099f9fc7dee22aeebbda75ab42 18-Dec-2009 Roland Scheidegger <sroland@vmware.com> gallium: store edgflag info in tgsi_shader_info

provides easier access for drivers which may base fallback decision on this
gsi_scan.c
gsi_scan.h
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
gsi_dump.c
c1efa45e04124eff66c48493be50d2b66d248506 15-Dec-2009 Michal Krol <michal@vmware.com> tgsi/text: Don't use strncasecmp(), it breaks windows build.

Also, break out of the for-loop when a matching property is found.
gsi_text.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.
gsi_build.c
gsi_build.h
gsi_dump.c
gsi_dump.h
gsi_exec.c
gsi_iterate.c
gsi_iterate.h
gsi_parse.c
gsi_parse.h
gsi_ppc.c
gsi_sanity.c
gsi_scan.c
gsi_scan.h
gsi_sse2.c
gsi_text.c
gsi_transform.c
gsi_transform.h
c14be63c5647e4406a0a4d80570a4def593b551b 14-Dec-2009 Michal Krol <michal@vmware.com> tgsi/ureg: Add ureg_DECL_gs_input().

Allows one to declare GS input registers.
gsi_ureg.c
gsi_ureg.h
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.
gsi_build.c
gsi_parse.c
gsi_ureg.c
cdb6849fc1fa0c6e360c89a6388dc8bf19a746ca 03-Dec-2009 Michal Krol <michal@vmware.com> tgsi/ureg: Fix ureg_emit_src().
gsi_ureg.c
574715d8368f99c0a5720a9676385d58d6cfdf30 01-Dec-2009 Keith Whitwell <keithw@vmware.com> tgsi: fix ureg emit after version token change
gsi_ureg.c
87eec80c1120d2cd9749ee360b77922feabf7f10 01-Dec-2009 Keith Whitwell <keithw@vmware.com> Merge commit 'origin/tgsi-simplify-ext'

Conflicts:
src/gallium/drivers/r300/r300_vs.c
2fd1aee217988caacd5c87d76deab3c0caf1bb00 27-Nov-2009 Michal Krol <michal@vmware.com> tgsi/sanity: Up MAX_REGISTERS to 1024.
gsi_sanity.c
e6133564bf2e65fc86f626a45d7977bdeaff8579 27-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Remove tgsi_version token.
gsi_build.c
gsi_build.h
gsi_dump.c
gsi_dump_c.c
gsi_iterate.c
gsi_iterate.h
gsi_parse.c
gsi_parse.h
gsi_text.c
gsi_transform.c
gsi_ureg.c
884007546c98b1779bf266ec5111b1e7e2b68b2e 26-Nov-2009 Michal Krol <michal@vmware.com> tgsi/exec: Fix orientation of DDY.
gsi_exec.c
a2c101029d5cb3f74ec9a2a9a53cb1d74ab9cc57 26-Nov-2009 Michal Krol <michal@vmware.com> tgsi/exec: Force return from a subroutine at ENDSUB.
gsi_exec.c
75df599e30bda03b40c0442eff3e39ec84397ede 26-Nov-2009 Michal Krol <michal@vmware.com> tgsi/ureg: Add forgotten goto in ureg_DECL_constant().
gsi_ureg.c
e13add8cae4637d9cd2f6c40c68de30701736abf 25-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Fix token builder.
gsi_build.c
gsi_build.h
ea6b36ca3fe519e8c8dcb55b5f16353738455d0a 25-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Update raw token dumper after token definition changes.
gsi_dump_c.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
gsi_build.c
gsi_dump.c
gsi_dump_c.c
gsi_exec.c
gsi_parse.c
gsi_parse.h
gsi_ppc.c
gsi_sanity.c
gsi_scan.c
gsi_sse2.c
gsi_text.c
gsi_util.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
gsi_build.c
gsi_dump.c
gsi_dump_c.c
gsi_exec.c
gsi_parse.c
gsi_parse.h
gsi_ppc.c
gsi_sanity.c
gsi_scan.c
gsi_sse2.c
gsi_text.c
fe2b31e4a896167a33d267822b36eb2de0ceecba 24-Nov-2009 Keith Whitwell <keithw@vmware.com> tgsi: rename fields of tgsi_full_declaration to reduce verbosity

DeclarationRange -> Range
gsi_build.c
gsi_dump.c
gsi_dump_c.c
gsi_exec.c
gsi_parse.c
gsi_parse.h
gsi_ppc.c
gsi_sanity.c
gsi_scan.c
gsi_sse2.c
gsi_text.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
gsi_build.c
gsi_dump.c
gsi_dump_c.c
gsi_exec.c
gsi_parse.c
gsi_parse.h
gsi_ppc.c
gsi_sanity.c
gsi_scan.c
gsi_sse2.c
gsi_text.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.
gsi_build.c
gsi_dump.c
gsi_dump_c.c
gsi_exec.c
gsi_parse.c
gsi_scan.c
gsi_text.c
gsi_ureg.c
42ae0030696f027050c41babced2b408997bb0ce 24-Nov-2009 Keith Whitwell <keithw@vmware.com> tgsi: remove unnecessary full_token init and free functions
gsi_parse.c
gsi_parse.h
9fbfe6b65d7d45a70553b603f2166be3272d1e35 24-Nov-2009 Keith Whitwell <keithw@vmware.com> tgsi: remove unused Flags member from full_instruction
gsi_build.c
gsi_parse.h
ba1ca28cc62fed71c77902b95ae4ed36c6bf25f8 24-Nov-2009 Keith Whitwell <keithw@vmware.com> gallium: simplify tgsi tokens further

Drop anonymous 'Extended' fields, have every optional token named
explicitly in its parent. Eg. there is now an Instruction.Label flag,
etc.

Drop destination modifiers and other functionality which cannot be
generated by tgsi_ureg.c, which is now the primary way of creating
shaders.

Pull source modifiers into the source register token, drop the second
negate flag. The source register token is now full - if we need to
expand it, probably best to move all of the modifiers to a new token
and have a single flag for it.
gsi_build.c
gsi_build.h
gsi_dump.c
gsi_exec.c
gsi_parse.c
gsi_parse.h
gsi_scan.c
gsi_sse2.c
gsi_text.c
gsi_ureg.c
gsi_util.c
3c46bbee1bb4f107d68addae472cf7bbc0976653 24-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Document Declaration Semantic token and FACE semantic name.
gsi-instruction-set.txt
0c54d76f3783091267cb18e6bd23697d024c95b2 24-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Implement predicated instructions in exec.
gsi_exec.c
gsi_exec.h
59a70c364df03c34abc72bca2cdca8fae12d8f68 24-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Add ureg_DECL_loop().
gsi_ureg.c
gsi_ureg.h
5ee0d9f632383339088cc33005b7794b0915d4e0 24-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Account for gallium shader token representation changes.
gsi_build.c
gsi_build.h
gsi_parse.c
gsi_parse.h
gsi_ureg.c
c511e0b8442f0ddd4265137446180d5ced3f1671 23-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Clamp the source argument in micro_exp2() to avoid Inf.
gsi_exec.c
eacdd8fa75d83ed1e3e2d7c003cea857a310bffd 23-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Remove code that actually had no effect.
gsi_exec.c
cc35a454da08e7303c76a51972bcccf7d67b7704 23-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Fix POSITION and FACE fragment shader inputs.
gsi_exec.c
gsi_exec.h
b7590cde4a475cd785030d7c7909846ae72608e5 23-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Bring BGNFOR/ENDFOR implementation up to spec.
gsi_exec.c
gsi_exec.h
cde758a2b50da8d7a8db5467f5629ce366380c41 19-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Fake TXD implementation in exec.
gsi_exec.c
f359ac5486b14d98ab4a855302b67d1700f031ae 19-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Add execution debugging facilities to exec.
gsi_exec.c
c5dc8d7eccab38bf644ac1b9a58d0c5fe4acc4d7 19-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Provide ultimate solution for SOA dependencies in exec.

Reorder STOREs in such a way that they appear after the last FETCH.
gsi_exec.c
b5d8a7b6dc1b48c2a11131803e1f37c05fe0bd03 10-Nov-2009 Michal Krol <michal@vmware.com> tgsi/exec: Exit early on error.
gsi_exec.c
e44c77028c2964891943e4235e44d93c559de088 10-Nov-2009 Michal Krol <michal@vmware.com> tgsi/ureg: Simplify logic in tokens_expand().
gsi_ureg.c
767bc8eb5a0bbaf9fde9d760e8460d34c51d2991 04-Nov-2009 Michal Krol <michal@vmware.com> tgsi/ureg: Allow for multiple extended instruction tokens.

For example, we would like to have a predicate and texture token
in one instruction to do predicated texture sampling.
gsi_ureg.c
gsi_ureg.h
7ccf60ae40b2a201d446400bc8329df51e83cb6c 03-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Up tgsi_exec's control flow nesting to 32.
gsi_exec.h
c379fbbe244bf6778c5bd66c1f2118f83b08f90d 02-Nov-2009 Michal Krol <michal@vmware.com> tgsi/ureg: Add negate and swizzle for predicates.
gsi_ureg.c
gsi_ureg.h
962ece954068646f8e2c0e9ea81395ab7eaf5ee8 02-Nov-2009 Michal Krol <michal@vmware.com> tgsi/ureg: Update for gallium interface changes.
gsi_ureg.c
gsi_ureg.h
aa2b2e5d7d53ddd08425536edddec509a8834bfc 02-Nov-2009 Michal Krol <michal@vmware.com> tgsi: Update for gallium interface changes.
gsi_build.c
gsi_build.h
gsi_dump.c
gsi_dump_c.c
gsi_exec.c
gsi_exec.h
gsi_parse.c
gsi_parse.h
gsi_sanity.c
gsi_text.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.
gsi_build.c
gsi_build.h
gsi_dump_c.c
gsi_parse.c
gsi_parse.h
gsi_ureg.c
gsi_util.c
gsi_util.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.
gsi_build.c
gsi_build.h
gsi_dump.c
gsi_dump_c.c
gsi_exec.c
gsi_info.c
gsi_opcode_tmp.h
gsi_ppc.c
gsi_scan.c
gsi_sse2.c
gsi_text.c
gsi_util.c
gsi_util.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.
gsi_exec.c
gsi_info.c
gsi_opcode_tmp.h
c9f7a23ef05adfd2ebae56ee9f1b19897a589831 24-Sep-2009 Brian Paul <brianp@vmware.com> Merge branch 'mesa_7_6_branch'

Conflicts:

src/mesa/drivers/dri/r600/r700_assembler.c
src/mesa/drivers/dri/r600/r700_chip.c
src/mesa/drivers/dri/r600/r700_render.c
src/mesa/drivers/dri/r600/r700_vertprog.c
src/mesa/drivers/dri/r600/r700_vertprog.h
src/mesa/drivers/dri/radeon/radeon_span.c
f85816354c9538e3b1082f019c4c65c56a8bd77f 24-Sep-2009 Brian Paul <brianp@vmware.com> tgsi/sse: remove old comments
gsi_sse2.c
35cd0bbfb171d200b8100e9f79a55c9981c946aa 24-Sep-2009 Brian Paul <brianp@vmware.com> tgsi/sse: implement SEQ, SGT, SLE, SNE
gsi_sse2.c
a64d4516a0d6219dec0b5b0622215918469faecc 24-Sep-2009 Brian Paul <brianp@vmware.com> tgsi/sse: Pass the lodbias, not zero. More comments.

This fixes the glean/glsl1 "texture2D(), with bias" test when using SSE.
gsi_sse2.c
5f0b49e7a956291842c7ad3a597570cf0db50cb6 17-Sep-2009 Michal Krol <michal@vmware.com> tgsi: Scan input interpolators, too.
gsi_scan.c
gsi_scan.h
66a7eedaa2f66e5e941cea0303c5ec348e9cc641 13-Sep-2009 Keith Whitwell <keithw@vmware.com> tgsi: handle some src/dst aliasing in tgsi_sse2.c

Src/Dst aliasing (aka SOA dependencies) requires some care to ensure
intermediate results do not overwrite yet-to-be read source registers.

This change ensures that MOV/SWZ handle this correctly, which is poor but
no worse than the current tgsi_exec.c path. Remove the fallback as there
is nothing to be gained correctness-wise between the two implementations now.

Fixing this properly looks like a bit of work in this code, but might be
easily achieved by sending destination writes to temporary storage.
gsi_sse2.c
18e5f1cee4cadc6306ebc2e2ba047172ff42556a 13-Sep-2009 Keith Whitwell <keithw@vmware.com> tgsi: implement saturation

Fix recent performance regression.
gsi_sse2.c
055fe5768c6e455b3466be47e1771711c495f1c6 13-Sep-2009 Keith Whitwell <keithw@vmware.com> tgsi: add missing implementation of constant decl change
gsi_ureg.c
11f41f54cf4ce1cdc19c4b5c45ed8d2083d96831 12-Sep-2009 Keith Whitwell <keithw@vmware.com> ureg: add a mechanism to get the built tokens rather than a full shader

Previously ureg would always call the driver's create-shader function. This
allows the caller the opportunity to hold onto the tokens if it needs to
reuse them, eg. to create an internal draw shader.
gsi_ureg.c
gsi_ureg.h
c23894295b593b9a8561e9775199e1c78ea4435d 12-Sep-2009 Keith Whitwell <keithw@vmware.com> ureg: add generic emitters for tex and branch instructions

Couldn't previously emit these except by calling the opcode-specific helper.
gsi_ureg.c
gsi_ureg.h
ae4704eabc237e13c9b06df9c44f31c9baca6208 12-Sep-2009 Keith Whitwell <keithw@vmware.com> tgsi/ureg: give ureg_DECL_constant an explicit index parameter

Avoid the need to emit all constant declarations in order. Makes
referring to a specific constant in the constant buffer much easier.
gsi_ureg.c
gsi_ureg.h
6d8dbd3d1ec888300fb0e9ac3cf61808ba8ecc2b 12-Sep-2009 Keith Whitwell <keithw@vmware.com> tgsi/ureg: VS inputs don't have any semantic tags, just an index

Fix ureg_DECL_vs_input to reflect this and fix up all callers.
gsi_ureg.c
gsi_ureg.h
149945c432115ef27788216063dd453624caa9e9 12-Sep-2009 Keith Whitwell <keithw@vmware.com> tgsi: free tokens on error
gsi_ureg.c
e90fb86ac3f3a000c91d2cd9fab2bf27d4ede0e7 12-Sep-2009 Keith Whitwell <keithw@vmware.com> tgsi: sanity check ureg programs
gsi_ureg.c
983b261e6d85020ae19418428d25f2e70f43d7dd 12-Sep-2009 Keith Whitwell <keithw@vmware.com> tgsi: add const qualifier
gsi_sanity.c
gsi_sanity.h
d78a19612173eda51b93818a16a947201a785f3f 10-Sep-2009 Brian Paul <brianp@vmware.com> tgsi: use new tgsi_call_record to handle execution mask stacks

This fixes some issues when "return"ing from nested loops/conditionals.
gsi_exec.c
gsi_exec.h
ce39cd6696efbc72c13187217ca5d74ab00ab37f 04-Sep-2009 Michal Krol <michal@vmware.com> tgsi: Document differencies between vs_1_1 and vs_2_0 for EXPP and LOGP.
gsi-instruction-set.txt
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.
gsi_dump.c
gsi_exec.c
gsi_exec.h
gsi_info.c
gsi_info.h
gsi_sanity.c
gsi_ureg.c
gsi_ureg.h
gsi_util.h
b3f4b56a3b7f979c631358caefed635c6ec56453 01-Sep-2009 Keith Whitwell <keithw@vmware.com> tgsi: remove redundant CND0 opcode

Can be implemented with CMP src2, src1, src0
gsi-instruction-set.txt
gsi_exec.c
gsi_info.c
gsi_opcode_tmp.h
gsi_sse2.c
02c523dfbb1b6854eeab9619afe4efbd59a5c8fc 24-Aug-2009 José Fonseca <jfonseca@vmware.com> tgsi: Only free temp uregs.

Shorthand.
(cherry picked from commit de911220bbbe74cff0c79b260456ff36122b7b5b)
gsi_ureg.c
acc7da90356a96efb93bb3a6a53e0b5f67ce993a 24-Aug-2009 José Fonseca <jfonseca@vmware.com> tgsi: Pass pipe_context as a parameter to ureg_create_shader.

Simplifies migration to tgsi_ureg.
(cherry picked from commit f574398c07c41cb8d31249a7186fc178ef7d552a)
gsi_ureg.c
gsi_ureg.h
b570a7e6b6ebd05e94fd91f2df53de7d2e2e05d2 24-Aug-2009 Keith Whitwell <keithw@vmware.com> tgsi: add generic instruction builder

When translating an incoming shader (rather than building one from scratch)
it's preferable to be able to call a single, generic instruction emitter
rather than figuring out which of the opcode-specific functions to call.
gsi_ureg.c
gsi_ureg.h
45cd9d80dbc7298240b5dfaf929ecebeb5c6c6af 20-Aug-2009 Brian Paul <brianp@vmware.com> tgsi: when printing/dumping programs indent loops and conditionals
gsi_dump.c
1645adc55155747708f1f5b1c629ac03cc5126df 20-Aug-2009 Brian Paul <brianp@vmware.com> tgsi: check for SOA dependencies in SSE and PPC code generators

Fall back to interpreter for now. This doesn't happen very often.
gsi_ppc.c
gsi_sse2.c
013bd4da1a4c112334c0b658f2506446df3666a6 20-Aug-2009 Brian Paul <brianp@vmware.com> tgsi: handle SOA dependencies for MOV/SWZ

SOA dependencies can happen when a register is used both as a source and
destination and the source is swizzled. For example:

MOV T, T.yxwz; would expand into:

MOV t0, t1;
MOV t1, t0;
MOV t2, t3;
MOV t3, t2;

The second instruction will produce the wrong result since we wrote to t0
in the first instruction. We need to use an intermediate temporary to fix
this.

This will take more work to fix for all TGSI instructions. This seems to
happen with MOV instructions more than anything else so fix that case now
and warn on others.

Fixes piglit glsl-vs-loop test (when not using SSE). See bug 23317.
gsi_exec.c
gsi_exec.h
fffcecc4d93253b077479d5f550a8fc5c20e54cd 20-Aug-2009 Brian Paul <brianp@vmware.com> tgsi: added tgsi_full_instruction::Flags field

Users of the parser can make use of this.
gsi_build.c
gsi_parse.h
c69d9296fbf02ed2a50e37456a733bef885995ca 17-Aug-2009 José Fonseca <jfonseca@vmware.com> tgsi: Add missing include.
(cherry picked from commit d2787c02c130b1fe20d0c032d468622f2fdaef79)
gsi_ureg.c
b2f3f7dd12eeab31c7edbc7c5ff52230bc8c4296 18-Aug-2009 José Fonseca <jfonseca@vmware.com> tgsi: Fix typo in ureg constant creation.
(cherry picked from commit aa40c9abc7787fdf46cb661a4d0bb8bec513fc63)
gsi_ureg.c
65079afcde1be96d980b56e86bdd023d8e5a338b 19-Aug-2009 Keith Whitwell <keithw@vmware.com> tgsi: silence compiler warning
gsi_ureg.c
7dc55275922aa52f281b7d8d4a5d776a3799b762 19-Aug-2009 Keith Whitwell <keithw@vmware.com> tgsi: remove unused function argument
gsi_ureg.c
265e210edb2fdf0f6ae777635676f05613b38eb7 19-Aug-2009 Keith Whitwell <keithw@vmware.com> tgsi: add missing functionality to support instructions with labels

Could previously emit opcodes with label arguments, but was no way to
patch them with the actual destinations of those labels.

Adds two functions:

ureg_get_instruction_number - to get the id of the next instruction
to be emitted

ureg_fixup_label - to patch an emitted label to point to a given
instruction number.

Need some more complex examples than u_simple_shader, so far this has
only been compile-tested.
gsi_ureg.c
gsi_ureg.h
73fc09a7bf5c63b595251dc10997891c72ecb119 19-Aug-2009 Brian Paul <brianp@vmware.com> Merge branch 'mesa_7_5_branch'
3097d7dbf8b6acd2e5f4fd2adf45c5fb85f73952 19-Aug-2009 Brian Paul <brianp@vmware.com> tgsi/ppc: we don't implement saturation modes yet
gsi_ppc.c
fab17c1216e9ae03eaa035dd36dc773d442b345d 19-Aug-2009 Brian Paul <brianp@vmware.com> tgsi/sse: we don't implement saturation modes yet

Fixes piglit fp-generic tests/shaders/generic/lrp_sat.fp, bug 23316.
gsi_sse2.c
3aafd22f6aef5ffd63349c3d515b5ce681e828dc 18-Aug-2009 Brian Paul <brianp@vmware.com> gallium: memset() tgsi_exec_machine to all zeros in tgsi_exec_machine_create()

This fixes invalid values for CondStackTop, LoopStackTop, etc.
gsi_exec.c
f2fcd5822a0b308e8b9410061996377c0b4a0a91 13-Aug-2009 Keith Whitwell <keithw@vmware.com> tgsi: add simple facility for releasing and reusing temporaries
gsi_ureg.c
gsi_ureg.h
b56d2ba7b2e685e8c551788577b382480e77025a 13-Aug-2009 Keith Whitwell <keithw@vmware.com> tgsi: rename ureg src/dest converters

Also fix a typo in ureg_src().
gsi_ureg.h
78918c876054fc428e6f78c02526c0323d134a6c 13-Aug-2009 Keith Whitwell <keithw@vmware.com> tgsi: turn off debugging
gsi_ureg.c
749e52049dee6717023309f6446efb2c89ed720c 13-Aug-2009 Keith Whitwell <keithw@vmware.com> tgsi: use REALLOC for growing token pool
gsi_ureg.c
8a7d1e7b7681a4f0be9cee9e62477317dcd09caf 13-Aug-2009 Keith Whitwell <keithw@vmware.com> tgsi: add tgsi_ureg, a simplified tgsi shader builder

This is modelled on the nice & easy-to-use facilities we had
for building shaders in mesa, eg. in texenvprogram.c and friends.

Key points include pass-by-value register structs that can be manipulated
in a functional style, eg:

negate(swizzle(reg, X,X,X,X))

and per-opcode instruction functions, eg:

emit_MOV( p, writemask(dst, 0x1), negate(src));

and similar.

Additionally, the interface allows mixed emit of instructions and decls,
which are sorted out internally to obey TGSI ordering.

Immediates may be emitted at any time and are scanned against existing
immediates to try and reduce redundancy.

Not all TGSI functionality is accessible through this interface, but
most or all of what mesa uses should be.
akefile
Conscript
gsi_opcode_tmp.h
gsi_ureg.c
gsi_ureg.h
bb45e6f07bdb26df2e4d6ecddaae9b9c5ba0809e 11-Aug-2009 Brian Paul <brianp@vmware.com> gallium: fix debug_printf() format string
gsi_ppc.c
4f61bc135ab5ba6ce590418058ed04f63f150b0b 31-Jul-2009 Brian Paul <brianp@vmware.com> tgsi: report opcode name in addition to the number when translation fails
gsi_ppc.c
gsi_sse2.c
c3c90c2dd95ba4f714c6d5fdf5793e1db1a191ca 31-Jul-2009 Brian Paul <brianp@vmware.com> tgsi: added tgsi_get_opcode_name()
gsi_info.c
gsi_info.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.
gsi-instruction-set.txt
gsi_dump.c
gsi_exec.c
gsi_info.c
gsi_sanity.c
gsi_sse2.c
6c70285e330bd19db78b7d45e43a01b0255ca15f 30-Jul-2009 Michal Krol <michal@vmware.com> tgsi: Add proper constraints to sanity.
gsi_sanity.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.
gsi_dump.c
gsi_dump_c.c
gsi_sanity.c
gsi_text.c
65fb2c52f9e86627652cac0d4139b40bef102596 30-Jul-2009 Michal Krol <michal@vmware.com> tgsi: Fix number operands for LOOP/ENDLOOP.
gsi_info.c
b724dd28e24ec1c38af1082f5e16cd9a12d1653d 30-Jul-2009 Michal Krol <michal@vmware.com> tgsi: Document LOOP/ENDLOOP instruction operation.
gsi-instruction-set.txt
b9889517f5e7eceb14bd103bbdff9ff47ce6ed25 30-Jul-2009 Brian Paul <brianp@vmware.com> gallium: fix SSE shadow texture instructions

When sampling a 2D shadow map we need 3 texcoord components, not 2.
The third component (distance from light source) is compared against
the texture sample to return the result (visible vs. occluded).

Also, enable proper handling of TGSI_TEXTURE_SHADOW targets in Mesa->TGSI
translation. There's a possibility for breakage in gallium drivers if
they fail to handle the TGSI_TEXTURE_SHADOW1D / TGSI_TEXTURE_SHADOW2D /
TGSI_TEXTURE_SHADOWRECT texture targets for TGSI_OPCODE_TEX/TXP instructions,
but that should be easy to fix.

With these changes, progs/demos/shadowtex.c renders properly again with
softpipe.
gsi_sse2.c
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.
gsi_exec.c
gsi_info.c
gsi_sse2.c
d602966f89d78725f96d63f69b9f8691c1da04f4 23-Jul-2009 Michel Dänzer <daenzer@vmware.com> gallium: Fix PPC build.
gsi_ppc.c
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.
gsi_exec.c
gsi_info.c
gsi_info.h
gsi_sse2.c
gsi_text.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.
gsi_build.c
gsi_build.h
gsi_dump.c
gsi_dump_c.c
gsi_exec.c
gsi_parse.c
gsi_parse.h
gsi_ppc.c
gsi_sse2.c
gsi_text.c
442101dad72373bcbd576bce3cbf77c49280e04b 20-Jul-2009 Keith Whitwell <keithw@vmware.com> tgsi: get texturing working in vertex shader sse2 path
gsi_sse2.c
27a19be8d1c59c64240198261af348b868b101e4 20-Jul-2009 Keith Whitwell <keithw@vmware.com> tgsi: fix regression in indexed const lookups

This function was calling get_input_base() and get_output_base() to
get the names of a couple of register to use as temps. Those
functions no longer return registers, so adjust it to get the
registers elsewhere.

This change doesn't address the issue that it's a fairly poor way to
grab a register name by calling a function with an apparently
unrelated meaning.
gsi_sse2.c
caf5d52d48aaed63f916ecd050c959eca401a75a 16-Jul-2009 Keith Whitwell <keithw@vmware.com> tgsi: simplify and fix sse KIL implementation

Use sse_movmskps to extract the correct bits of the comparison result
for use in updating the killmask. Simplify some logic around
identifying the set of necessary comparisons to make.
gsi_sse2.c
3858f47994dd39b725533cf3cf1a495fbc0ee6e3 16-Jul-2009 Keith Whitwell <keithw@vmware.com> tgsi: initial texturing support on sse path

Most obvious problem is drawpixels comes out blocky, but this may be
an existing issue of KIL on the sse path.
gsi_sse2.c
a01383ff6ac87295a2c2bda45ddfac35530b0055 16-Jul-2009 Keith Whitwell <keithw@vmware.com> tgsi: make sse function callout mechanism more generic

Take a list of arguments rather than hardcoding TEMP_R0.
gsi_sse2.c
ebc4a9bf2eff7d2c0d89785e865a1df23733e64b 16-Jul-2009 Keith Whitwell <keith@tungstengraphics.com> tgsi: reduce x86 reg usage in tgsi_sse generated programs

Pass the tgsi_exec_machine struct in directly and just hold a single
pointer to this struct, rather than keeping one for each of its
internal members.
gsi_sse2.c
gsi_sse2.h
4e3002b50fcedf3a6db1ac7394077bc3337ccda1 16-Jul-2009 Keith Whitwell <keith@tungstengraphics.com> tgsi: no need to separately malloc input and output arrays

Can now guarantee alignment in the initial allocation of the tgsi exec machine.
gsi_exec.c
gsi_exec.h
c202fe187cf7a08d60e23ce617a5820a8bc510fd 16-Jul-2009 Keith Whitwell <keith@tungstengraphics.com> gallium: reduce recursive include of tgsi_exec.h

A lot of draw code no longer needs to see this header.
gsi_exec.h
7fb702705a77df46074b9e09e9c5e5903036c732 16-Jul-2009 Keith Whitwell <keith@tungstengraphics.com> tgsi: make function call code in tgsi_sse.c less opaque

Explictly pass src and dst arguments (previously dst argument was also
being used as a src). Separate argument handling from the rest of
the function call emit.
gsi_exec.h
gsi_sse2.c
6175653d0bceedba1f599d27111bab14f312f134 16-Jul-2009 Keith Whitwell <keith@tungstengraphics.com> gallium: proper constructor and destructor for tgsi_exec_machine

Centralize the creation, initialization and destruction of this struct.
Use align_malloc instead of home-brew alternatives.
gsi_exec.c
gsi_exec.h
cff2126f522bb511216f64427b3060467e266f8a 11-Jul-2009 Brian Paul <brianp@vmware.com> tgsi: update some assertions
gsi_build.c
a79586ce180a77beb15f6a9b6a72d490ad6e6afd 10-Jul-2009 Brian Paul <brianp@vmware.com> tgsi: tgsi: add semantic_names[] string for TGSI_SEMANTIC_FACE

Same story as in the tgsi_dump.c code (see prev commit).
gsi_text.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.
gsi_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.
gsi_build.c
gsi_build.h
gsi_dump.c
gsi_exec.c
gsi_parse.c
gsi_parse.h
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.
gsi_dump.c
45e744dddc8a8f3b42610bfa512bc296bd5264bc 04-Jun-2009 Brian Paul <brianp@vmware.com> tgsi: increase MAX_LABELS to 4096
gsi_exec.h
f628d7f5eebe9743f85ea8edf7c09b32cf393e4a 30-Apr-2009 Keith Whitwell <keithw@vmware.com> gallium/tgsi: hack around linker/archiver breakage

Add a dummy function which exists only so that tgsi_text_translate()
doesn't get magic-ed out of the libtgsi.a archive by the build system.
Don't remove unless you know this has been fixed - check on
mingw/scons builds as well.
gsi_transform.c
8fa6c1ac9299402c1faf75b264cf70b1b83d1eff 29-Apr-2009 Brian Paul <brianp@vmware.com> tgsi: added tgsi_check_soa_dependencies() and related debug code (disabled)

The TGSI interpeter operates in SOA style. We need to check for data
dependencies in instructions which read from and write to the same register.
For now just adding some debug code to detect that condition. Actual fixes
to follow.
gsi_exec.c
91eb8baaca21d24bfd3640c9f6b316610a7c5910 25-Apr-2009 Brian Paul <brianp@vmware.com> tgis: SSE code generator doesn't yet support indirect addressing of temp regs

Fall back to interpreter in this case.
gsi_sse2.c
5fae9514c235cc5590f15fd802bd762107fc689d 10-Apr-2009 Michal Krol <michal@vmware.com> tgsi/sse2: Cleanup NRM/NRM4 implementation.

Fix comments.
Make sure .w is set to 1.0 for NRM.
Optimise for non-.xyzw writemasks.
gsi_sse2.c
c27c670ad8fc9f8276caeaff69eeb75e929dac9a 09-Apr-2009 Michal Krol <michal@vmware.com> tgsi/sse2: Fix build.
gsi_sse2.c
790a18f2c2a4df78cf4b4f88e55036d54324497a 09-Apr-2009 Michal Krol <michal@vmware.com> tgsi/sse2: Fix ARL instruction.
gsi_sse2.c
c54b2199759e688ae89530f39106557c762b2fa4 09-Apr-2009 Michal Krol <michal@vmware.com> tgsi/sse2: Fix LIT instruction.
gsi_sse2.c
e3d5e0aead06dc066f3df4bb5a0c8f30bef55248 03-Apr-2009 Michal Krol <michal@vmware.com> tgsi/exec: Actually enable switch-case for FLR.
gsi_exec.c
dfab375c07545a9068a9b25efee746efd275bf89 03-Apr-2009 Michal Krol <michal@vmware.com> tgsi/text: Allow optional component selection for indirect registers.
gsi_text.c
cc770e0a0cbb2c0ff4327ffb0bf20f52ccc218cc 03-Apr-2009 Michal Krol <michal@vmware.com> tgsi/text: Allow `-|src|` variant of `-(|src|)`.
gsi_text.c
d11a476ead3e617e45b091f73bd1f67042643a0f 01-Apr-2009 Michal Krol <michal@vmware.com> tgsi: Fix structure members initialisation.
gsi_info.c
daec1035a2d23ee4d3122f10fd6e676216527d53 01-Apr-2009 Michal Krol <michal@vmware.com> tgsi: Lookup alternate instruction mnemonics when parsing tgsi text.
gsi_text.c
1aa4b79dc772825cabfcc97de90b7247cc4b10a0 01-Apr-2009 Michal Krol <michal@vmware.com> tgsi: Provide alternate instruction mnemonics in tgsi info.
gsi_info.c
gsi_info.h
9d77663abb6ebb5eae66fac18088079e76f508d3 01-Apr-2009 Michal Krol <michal@vmware.com> tgsi/doc: Fix typo.
gsi-instruction-set.txt
a44f54912e4bc0f6be0b7303f8b7a1b934c5819a 01-Apr-2009 Brian Paul <brianp@vmware.com> tgsi: added some helpful debug functions in the tgsi interpreter

Check for NaN/Inf, print exec vectors, print temp registers.
gsi_exec.c
e08a0f479055be08a08594d723aa8837778c79f8 30-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Condition codes are implied in KILP.
gsi-instruction-set.txt
bd4c1c133b19e87d372c4f1c4e1cb7cae178d381 30-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Explain symbols used in instruction set documentation.
gsi-instruction-set.txt
25e491e68c4c191a7f76b24520e5812356fe5a85 30-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Document BRA opcode.
gsi-instruction-set.txt
3673189326e348eb91e354017703fdfd9d6d8184 26-Mar-2009 Brian Paul <brianp@vmware.com> tgsi: pass zero vector to texture sampler for 1D case instead of NULL

Fixes segfault when sampling 1D textures.
gsi_exec.c
0f82aa5f15479aea692613fb56643bf3b769cf37 23-Mar-2009 Brian Paul <brianp@vmware.com> tgsi: minor comments
gsi_exec.h
699897e81c623e53be51fba0488f535b0a8d7761 21-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Document KIL, KILP instructions.
gsi-instruction-set.txt
4b55a4f74d559e3ca6874986a39d662db7415e0c 19-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Document vs_2_0 instruction set operations.
gsi-instruction-set.txt
7c50917b42120e9ab1ee42192f2e82d59e13c2e8 19-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Document vs_1_1 instruction set operations.
gsi-instruction-set.txt
a1f4b5d8b8a5523148de02fb1828382af7202c91 19-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Begin documenting ps_2_x instruction set operations.
gsi-instruction-set.txt
05318c5afab768b85648909ee957ebf537fc10a8 17-Mar-2009 José Fonseca <jfonseca@vmware.com> tgsi: Restore statement ordering.
gsi_parse.c
ed3781fdc5a7ecbeee9f20b1d789dbc657c58cc9 17-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Document ps_2_0 instruction set operations.
gsi-instruction-set.txt
223bf49b201de4d841024f326c03b0f3a064ef36 17-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Document ps_1_4 instruction set operations.
gsi-instruction-set.txt
95ef9803daf565d104d7d313345d1c19142a5bd1 17-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Document ps_1_1 instruction set operations.
gsi-instruction-set.txt
f07400592f54de72c7a1e4d0f672f2cefc7f514a 17-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Begin documenting GLSL instruction set operations.
gsi-instruction-set.txt
0ff360c8290711332360cea3ccec9c6b0cb9ea7e 17-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Begin documenting NV_geometry_program4 instruction set operations.
gsi-instruction-set.txt
627c2d2f0a26e01095d23bb33955bee825390c8d 17-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Silence const pointer cast warnings.
gsi_parse.c
1f3fe405547f2ad94d1c6140b0494297640dbe6e 16-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Begin documenting NV_gpu_program4 instruction set operations.
gsi-instruction-set.txt
bf3759e0d458029972433b905d0575a8e6a79d68 16-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Document NV_vertex_program3 instruction set operations.`
gsi-instruction-set.txt
a9a214cc7fb59713f5fcbd207caf45becf1ec2b8 12-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Localise SCS code.
gsi_exec.c
321634d80b48e33b4e9572d99e82c45c65701dd1 12-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Rewrite NRM opcode, store 1.0 in W component.
gsi_exec.c
d4ea9a26524c2d0abe4cc6452dcb5c18afb6835d 12-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Begin documenting NV_fragment_program2 instruction set operations.
gsi-instruction-set.txt
98399eeda06c4065900e2aec25f762e1e1b9e7dc 12-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Begin documenting ARB_fragment_program instruction set operations.
gsi-instruction-set.txt
d76b3bb0a8f56d841cfea160ba0cc2494c17e44f 12-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Document ARB_vertex_program instruction set operations.
gsi-instruction-set.txt
8823d01f14d8522f42475e1daba3c3d73805f386 12-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Begin documenting NV_vertex_program2 instruction set operations.
gsi-instruction-set.txt
5146b3f8fcafda69ded05a55ec4d54ae2aed35d1 11-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Implement RFL, SFL, STR, X2D opcodes.
gsi_exec.c
9ffe66760cca6696de21b35430a7553b987f7365 11-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Begin documenting NV_fragment_program instruction set operations.
gsi-instruction-set.txt
ae7ae570ef9f61073a2c0e4b77fc23094767f74c 11-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Implement RCC opcode.
gsi_exec.c
94cf8ea3b69038a1245c0b4546dbd8e4a32725f5 11-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Document NV_vertex_program1_1 instruction set operations.
gsi-instruction-set.txt
38afa2934077ce1cf67d1c553f872d1e14fb0794 10-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Untabify.
gsi_exec.c
ca066f05cd5ad4211b88532b3d005cacf06b65bf 10-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Implement CLAMP opcode.
gsi_exec.c
fb88908f5cea2677617499307768ead138510491 10-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Consider INDEX, NEGATE, MULTIPLYMATRIX opcodes for removal.
gsi_exec.c
56603044e99cefd31b8ec2d15fa3f4e72a05b62b 10-Mar-2009 Michal Krol <michal@vmware.com> tgsi: ARL and FLOOR opcodes have the same implementation.
gsi_exec.c
2f8c4efe24c2cf9baec5a0c50ad53f37f9a90973 10-Mar-2009 Michal Krol <michal@vmware.com> tgsi: ARL is a vector instruction.
gsi-instruction-set.txt
bbf84cca572584f05927efca89ea29fa13abccb8 10-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Note that LOG and EXP are approximations.
gsi-instruction-set.txt
5d0f69e33d6ed7f47a4d25816c47bc3fa27356e6 10-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Document EXT_vertex_shader instruction set operations.
gsi-instruction-set.txt
9438ffda50c3823b57dbd7e6b3a195a5cd927198 09-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Implement CND, CND0 opcodes.
gsi_exec.c
5ee3c799596ce4dbc86f35da076e9bc14a50af2b 09-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Remove redundant micro_ge() -- use micro_le().
gsi_exec.c
0d727fa0f06cead61fe4ef753f5be34e1e6944eb 09-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Document ATI_fragment_shader instruction set operations.
gsi-instruction-set.txt
8766677ac49c7430576ba4598dfe56c1c2655852 08-Mar-2009 Michal Krol <michal@vmware.com> tgsi: Document NV_vertex_program instruction set operations.
gsi-instruction-set.txt
ba91e79dad6a3666ae31b13c0c4b3b174f10b747 28-Feb-2009 Michal Krol <michal@vmware.com> tgsi: More descriptive sanity diagnostic messages.
gsi_sanity.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.
gsi_dump.c
776971218ef6c6749fcb882a95ae5fc3a1ff5059 20-Feb-2009 Brian Paul <brianp@vmware.com> gallium: use the TGSI_TEXTURE_SHADOW1D/2D/RECT texture types for TEX instructions

These texture types were defined but never put to use.
For the time being though, the Mesa->TGSI translater isn't emitting these
targets. See the XXX comment in map_texture_target().
gsi_exec.c
d9602e5144bc76b9791fa3382ca38c880df96198 20-Feb-2009 Jakob Bornecrantz <jakob@vmware.com> gallium: Improve makefiles for libraries

The template makefile that most libraries in
gallium included was based on dri and had a bunch
unrelevant junk in it.

Update it and improve the depending makefiles.
akefile
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.
gsi_build.c
gsi_dump.c
gsi_dump_c.c
gsi_info.c
gsi_iterate.c
gsi_parse.c
gsi_ppc.c
gsi_sanity.c
gsi_sse2.c
gsi_text.c
gsi_transform.c
gsi_util.c
b9de2089b1ffafd7d072d78f716c9e39bab06627 16-Feb-2009 Alan Hourihane <alanh@vmware.com> gallium: fix glean's vertProg1
RSQ test 2 (reciprocal square toot of negative value)
gsi_exec.c
gsi_sse2.c
f5cca127b0ddcfe36b8dc98a5f405979e8afe673 12-Feb-2009 Keith Whitwell <keith@tungstengraphics.com> tgsi: keep immediate file info uptodate

Make sure the stats for TGSI_FILE_IMMEDIATE are uptodate. Previously
we just had immediate_count, but file_*[TGSI_FILE_IMMEDIATE] were
bogus.
gsi_scan.c
5ecd0b0890fd48656e46c017830a9f5d6b906aae 10-Feb-2009 Michal Krol <michal@vmware.com> tgsi: Fix build -- rename Size to NrTokens.
gsi_build.c
gsi_dump.c
gsi_dump_c.c
gsi_exec.c
gsi_parse.c
gsi_ppc.c
gsi_sse2.c
gsi_text.c
4d710dd3cf3187e94e5765b46e4dd6899a7a41d6 27-Jan-2009 Keith Whitwell <keith@tungstengraphics.com> tgsi: silence some warnings
gsi_exec.c
1907135235a684872706d1a28ea8e2b4e1b6e7d3 12-Jan-2009 Brian Paul <brianp@vmware.com> tgsi: change an if to an else-if, added const qual, added comments
gsi_scan.c
2acf07983f8bb134d639c9e652e7e0e3307e20f3 10-Jan-2009 Brian Paul <brianp@vmware.com> gallium: use tgsi_dump_instruction() instead of ppc_comment()
gsi_ppc.c
d4394bb768f17ac6a7e99116f2bc79c40dca3c5b 10-Jan-2009 Brian Paul <brianp@vmware.com> gallium: remove unused struct type
gsi_ppc.c
0c71313970be3d097814839577cd141d46666783 10-Jan-2009 Brian Paul <brianp@vmware.com> gallium: fix register clobber bug in TGSI->PPC codegen

When negating a src vector that's stored in a altivec register, need to put
negated value into a new register so we don't upset the original value.
This solves the dark colors in the mandelbrot GLSL demo.
Also, use new predicate functions to check if a TGSI temp is stored in
an altivec register.
gsi_ppc.c
1922ea965ac5c411cf5a3ed0ac7c8dbb873dba6c 10-Jan-2009 Brian Paul <brianp@vmware.com> gallium: emit comments in TGSI->PPC codegen
gsi_ppc.c
a3ee0aa1bb7c3f9dfc5b13b4e72522c10a22ad05 08-Jan-2009 José Fonseca <jfonseca@vmware.com> Merge commit 'origin/gallium-0.1' into gallium-0.2

Conflicts:

src/gallium/auxiliary/tgsi/tgsi_exec.c
src/gallium/drivers/cell/spu/spu_command.h
src/gallium/include/pipe/p_shader_tokens.h
src/mesa/main/config.h
src/mesa/main/mtypes.h
src/mesa/shader/prog_execute.c
src/mesa/shader/slang/slang_emit.c
src/mesa/state_tracker/st_program.c
src/mesa/state_tracker/wgl/stw_wgl.h
src/mesa/state_tracker/wgl/stw_wgl_pixelformat.h
b8cf2f00760b4d2299f0880b7e6896bb2d71407b 25-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: added centroid/invarient fields to declarations

(cherry picked from commit 4de360e67d83cd6503fb8ad053bb8afe507db5fa)
gsi_build.c
gsi_build.h
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)
gsi_build.c
gsi_dump.c
0e0fb49c4515e14c54f23c1d3f8b2e981fe404a2 30-Dec-2008 José Fonseca <jfonseca@vmware.com> gallium: Remove unused variables.
gsi_dump_c.c
49c40b10c72e64977971ccb96abfc8767ed4c6ea 07-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: implement TGSI_OPCODE_DP2A, add sqrt to NRM3/NRM4
gsi_exec.c
fc4cea08fe8320438c72de7f4af2d7091681dca3 23-Dec-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: fix incomplete rename of loop counter variable
gsi_scan.c
ed7ba03256fc4503d5d7483d032014ac9e8242fe 23-Dec-2008 Michal Krol <michal@vmware.com> tgsi: Dump indirect register swizzle.
gsi_dump.c
4b3c74b4d6786475bc45f883612e76069e722cbd 14-Nov-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Return 0.0 for negative constant register indices.
gsi_exec.c
b8e68f2e55ed22a97b7f976fe9556b2abcc49ea9 14-Nov-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Keep address register as a floating point.
gsi_exec.c
59a168d5c9b5f478e4e8bedcd8522e359e98987e 19-Dec-2008 Brian Paul <brianp@vmware.com> tgsi: scan for additional info: uses_fogcoord, uses_frontfacing
gsi_scan.c
gsi_scan.h
db99ca3bc999137e6d523aa24e13cc5cfbb2b52c 19-Dec-2008 Brian Paul <brianp@vmware.com> tgsi: scan for additional info: uses_fogcoord, uses_frontfacing
gsi_scan.c
gsi_scan.h
3616fb08da8ef392db1d5ccab55b8eb9f6a6f32b 16-Dec-2008 Brian Paul <brian.paul@tungstengraphics.com> tgsi: use flr(), not trunc() for ARL
gsi_exec.c
dd55083ac1c13723dba6be71f161e2ca7cac7c66 28-Nov-2008 Brian <brian.paul@tungstengraphics.com> gallium: minor texture-related clean-ups, comments, etc
gsi_exec.c
158a5f75d8436facfe8163845a942979899213fe 26-Nov-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Reenable OPCODE_ARR.
gsi_sse2.c
527e76a7ec7f330bd321fe9632a0fadedbab1d41 26-Nov-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Fix build.
gsi_sse2.c
972922b1bf28346568bedfadc2198ed93230f5d7 26-Nov-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Implement OPCODE_ROUND for SSE2 backend.
gsi_sse2.c
1347439a87a26f261ab07c914ea4e69965703ee2 26-Nov-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Implement OPCODE_SSG/SGN.
gsi_exec.c
gsi_sse2.c
1250526e3012f6958679c5dcdcb990387b53479b 26-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: disable TGSI_OPCODE_ARR case until emit_rnd() is redone.
gsi_sse2.c
6e96bd70e56f6ba4ff444c584376475a136bca26 26-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> Revert "tgsi: Implement OPCODE_ROUND for SSE2 backend."

This reverts commit 685fd2c035e284db2447ede0f6da278adaa70a0d.

Does not compile since emit_rnd() is trying to pass 4 params to
emit_func_call_dst() which takes 3 params.
gsi_sse2.c
823aac36d5580ea46f76ccec3fd31c91f168274e 26-Nov-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Implement OPCODE_SSG/SGN.
gsi_exec.c
gsi_sse2.c
eee3d216049f21507a3ff6908f1d506c683efad0 26-Nov-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Implement OPCODE_ARR.
gsi_exec.c
gsi_sse2.c
685fd2c035e284db2447ede0f6da278adaa70a0d 26-Nov-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Implement OPCODE_ROUND for SSE2 backend.
gsi_sse2.c
adf14090fb6e43a25eabb13796d5a9385d8511ea 26-Nov-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Implement OPCODE_ARR.
gsi_exec.c
gsi_sse2.c
18a1389077c72717dfbe6ae10793f3329d13b848 26-Nov-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Implement OPCODE_ROUND for SSE2 backend.
gsi_sse2.c
4de360e67d83cd6503fb8ad053bb8afe507db5fa 25-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: added centroid/invarient fields to declarations
gsi_build.c
gsi_build.h
434e255eae90b0f3d836d452b7d3b0c5aadf78b8 24-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> tgsi: add tgsi_declaration fields for centroid sampling, invariant optimization
gsi_build.c
gsi_dump.c
0b9e96fae9493d5d58f046e01c983a3c4267090e 24-Nov-2008 Brian <brian.paul@tungstengraphics.com> softpipe: remove old/unneeded dependencies between TGSI exec and softpipe

Use tgsi_sampler struct as a base class. Softpipe subclasses it and adds
the fields it needs.
gsi_exec.c
gsi_exec.h
d86ffcffb365d1f9fc383e450c8e08bf86169726 14-Nov-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Return 0.0 for negative constant register indices.
gsi_exec.c
957f7d7d94e8d092ba98433e61b21ac704453519 14-Nov-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Keep address register as a floating point.
gsi_exec.c
26c8593093bd9e42d06a54ed8cfdedce2fb44332 12-Nov-2008 Michal Krol <michal@tungstengraphics.com> tgsi: More comments on source register indirect and 2D indexing.
gsi_exec.c
gsi_exec.h
1bfe7c36bac4b8e5ddfcce537603aa8a5f35529d 12-Nov-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Fix a bug with saving/restoring xmm registers upon func call.
gsi_sse2.c
399da3a337932c6074a69ac73e711138271308eb 09-Nov-2008 Brian <brian.paul@tungstengraphics.com> gallium: use PIPE_ARCH_SSE to protect use of SSE instrinsics only

This allows us to use SSE codegen with debug builds again.
When PIPE_ARCH_SSE is set (w/ gcc -msse -msse2) we will also use the
gcc SSE intrinsic functions.
gsi_sse2.c
a58dbf34ca88656739a8f8e5f4259e760365c9d0 08-Nov-2008 Brian <brian.paul@tungstengraphics.com> gallium: implement SSE codegen for TGSI_OPCODE_NRM/NRM4
gsi_sse2.c
a52a6d7bcdaa47604151b9af07ebcd394316e784 07-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: added SSE for DP2, DP2A
gsi_sse2.c
cf9836cf09790de70732963ea571b83719c0c03c 07-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: implement TGSI_OPCODE_DP2A, add sqrt to NRM3/NRM4
gsi_exec.c
18a4cdcfc00a7a936c4a2fd0db27edba14ae5cd7 07-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> Merge commit 'origin/gallium-0.1' into gallium-0.2
bb8a9ce705f309a3b38d10c61c3865db79a0f71c 07-Nov-2008 Brian <brian.paul@tungstengraphics.com> gallium: implement TGSI_OPCODE_NRM/NRM4 in tgsi_exec.c
gsi_exec.c
a7d9fde24cb8ecc59b0a6fc610135d851806295b 06-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> Merge commit 'origin/gallium-0.1' into gallium-0.2
5b2b064a5c1328449e3eb8179afc2ba366f18ae6 06-Nov-2008 Brian <brian.paul@tungstengraphics.com> gallium: check execution mask in indirect register loads

Zero-out the index for disabled execution channels to avoid using potential
garbage values (thus avoiding bad array indexing).
gsi_exec.c
639a2b0ec853eda49e3e7150b2ed7f8f40d101af 06-Nov-2008 Brian <brian.paul@tungstengraphics.com> gallium: don't range check tgsi register index for indirect accesses

Fixes progs/vp/arl.txt test.
gsi_sanity.c
80a718a63bf2fa817e346f0f5731ee9ef2e0e68b 05-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> Merge commit 'origin/gallium-0.1' into gallium-0.2

Conflicts:

src/gallium/auxiliary/rtasm/rtasm_execmem.c
src/mesa/shader/slang/slang_emit.c
src/mesa/shader/slang/slang_log.c
src/mesa/state_tracker/st_atom_framebuffer.c
f0debbb0bb951bfc6dc0ae467564b3b1230324cf 05-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: call tgsi_set_exec_mask() and use exec mask in SSE ARL code

This prevents vertex shaders from referencing invalid memory locations when
the shader is operating on less than four vertices or fragments.
gsi_sse2.c
03c0ce4c61fd970509d605fe78166e828fc1df57 05-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: added tgsi_set_exec_mask()
gsi_exec.h
a137f03c56688c190f3542fb6b7c9a4ff4c80cff 05-Nov-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: added some sanity check assertions for constant buffer indexing
gsi_exec.c
de2ace201fe26d36a2a75211a7d8447940a47fbe 05-Nov-2008 michal <michal@quad.(none)> tgsi: Implement OPCODE_TRUNC.
gsi_sse2.c
502974b345dae8a3ca641083b4df5183b04ca825 05-Nov-2008 michal <michal@quad.(none)> tgsi: Implement OPCODE_TRUNC.
gsi_sse2.c
a5d920297a2affe34c535d30a2c49588f92f69ad 29-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: use execmem for PPC code, grow instruction buffer as needed
gsi_ppc.c
4e1c33700d8885c91d8a1db4cbaefa1ff9f1b5fc 29-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: added PPC support for SWZ, XPD, POW

That's the last of the ARB_v_p opcodes, except for ARL.
gsi_ppc.c
5db0372b3cffec9b5c28699a580da77dcfbd938d 29-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: ppc: implement TGSI_OPCODE_LOG/EXP
gsi_ppc.c
f4e9526addc617dc78af9b1af781ffe09ce62504 29-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: ppc: don't replicate/smear immediate values, use vspltw instruction as with constants
gsi_ppc.c
c46583416a749f2e7f76a1eaadb54a8b9e76fb11 28-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: use some PPC vec registers to store TGSI temps

This could be a lot better, but already makes for better code.
gsi_ppc.c
a1754424b6597219f436091dec1de4713719c4b8 27-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: ppc: emit fewer 'li' instructions prior to vector loads/stores
gsi_ppc.c
604be5561f17042f61db42b31caf4d720cf66389 27-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: ppc: use a src register cache to avoid redundant loads
gsi_ppc.c
6b69e3c71741d99a54c6f4dcb605a3c241239aeb 23-Oct-2008 Michel Dänzer <michel@tungstengraphics.com> scons: ppc support.
Conscript
0ac99457811eb766e9bdd3903857b5c0fdef7694 23-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: PPC: clamp y to [-128,128] for LIT
gsi_ppc.c
f8ab4feb75f4a592e23859813c093dcdbd4b8988 23-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: remove ppc_vload_float(), rename ppc_vecmove() -> ppc_vmove().
gsi_ppc.c
abbbe876ac98596b143da295abf6887e0a4e50d2 23-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: new PPC built-in constants array

It's hard to form PPC vector immediates so load them from an array.
gsi_ppc.c
gsi_ppc.h
ae81aeb12868db219cbdc02437c481714cfed3f5 23-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: GALLIUM_NOPPC debug var to disable PPC codegen
gsi_ppc.c
9e3ee82305b4602feca0253dc0e0c27f9bc9b05e 23-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: PPC LIT instruction (not quite complete yet)
gsi_ppc.c
77160cd97b7f2181b7953bcc8d13e86055b819e3 22-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: var renaming in tgsi_ppc.c
gsi_ppc.c
519c2dbed57b3c5e1717a62df5d5f8b908a1acd6 22-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: remove SSE remnants from tgsi_ppc.c
gsi_ppc.c
c6ff870836e7c970f1030e9e0fbdd0cb5df40d29 22-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> cell: TGSI->PPC for RSQ, RCP and src register sign modes
gsi_ppc.c
51840065607337210fbba5ba1c01874293fbb42e 22-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: TGSI->PPC inequality operators
gsi_ppc.c
da63edd720fc154820fcbf699e1056ac9357a03f 22-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: fix broken TGSI_FILE_CONSTANT case, use ppc_reserver_register()
gsi_ppc.c
70f4ad44985e3ec6dabc1b0e55a5bf85803a4cd4 22-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: TGSI to PPC code generation

Based on the TGSIto SSE2 code generator.
Incomplete and lots of SSE stuff still hanging around but the basic dozen
or so TGSI opcodes are functioning.
akefile
gsi_ppc.c
gsi_ppc.h
4d7394f89292131323fc8e39efa511a2eeb8cc60 07-Oct-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: Introduce PIPE_ARCH_SSE define for SSE support.

Besides meaning x86 and x86-64 architecture, it also depends on SSE2
support enabled on gcc.

This fixes the linux-debug build.
gsi_sse2.c
cbfce4175bf72788842bb45fa11c7e19caa8e6a8 01-Oct-2008 José Fonseca <jrfonseca@tungstengraphics.com> tgsi: Include p_config.h.
gsi_sse2.c
5e585719ebab17959d972e2e69c04203ecd3f2f3 30-Sep-2008 Jonathan White <jwhite@tungstengraphics.com> cell: Moved X86 checks to wrap #include section so that Cell targets will compile again.
gsi_sse2.c
5dc8e67078be8b8c42a809311debd275ac7d64a7 29-Sep-2008 José Fonseca <jrfonseca@tungstengraphics.com> tgsi: SSE2 optimized exp2, log2 and pow implementations.

Special care must be taken when calling compiler generated SSE2 functions
from the runtime generated SSE2: saving the xmm registers, and notify gcc
the stack is not 16byte aligned.

It would be more efficient to keep the stack pointer 16byte aligned, but
too hairy, and not consistent in all x86 architectures.

This has been tested in linux x86 and windows x86 userspace. Not tested on
x86-64 because it is broken for other reasons (even without this change).
gsi_sse2.c
a8d1521f30766b6a4707aa9966e1f2f9c0b3ac00 18-Sep-2008 Keith Whitwell <keith@tungstengraphics.com> Merge commit 'origin/gallium-0.1' into gallium-0.2

Conflicts:

src/mesa/shader/slang/slang_link.c
0b8e19ffc51c29543796d4f1e3243e97d8c32671 18-Sep-2008 Jakob Bornecrantz <jakob@tungstengraphics.com> tgsi: Build tgsi_text with make
akefile
5e1ef85dc430a4439cd60b66262eab9062dd5f4f 18-Sep-2008 Jakob Bornecrantz <jakob@tungstengraphics.com> tgsi: Make tgsi dumps look more like mesa shader dumps.
gsi_dump.c
e6a120fefea44078b3a8d4292d83671e6c41357f 17-Sep-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: fix tgsi sanity checker with respect to END.

Subroutine code may be found after the END instruction so it's not always
the last instruction.
At least check for presence of exactly one END instruction though.
gsi_sanity.c
8cdab20c9a0d8794d5d85dbeef478b982ce39506 16-Sep-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: fix info entries for KIL, KILP

KIL takes 1 src register. KILP uses no registers (uses cond codes).
gsi_info.c
ad16ecbbe4fe8c1bcb18ed8fbbd672c68a0b17fa 16-Sep-2008 Jakob Bornecrantz <jakob@tungstengraphics.com> tgsi: Make tgsi_sanity.c compile with make
akefile
gsi_sanity.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...
gsi_parse.c
31d2e5b954ece02070555b51c06ee427cf951b1f 12-Sep-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: use new compare32() function to fix warnings about type punning and aliasing
gsi_build.c
50f78fcc2e3da24fa6dc076f0985355b3f64e9fd 12-Sep-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: silence warning
gsi_exec.c
eb5b16d278e0f7ee0121049e43dfee1d52f2b0f7 10-Sep-2008 José Fonseca <jrfonseca@tungstengraphics.com> tgsi: Fix newline pos.
gsi_sanity.c
dc1834a873726b9920c2cae6ffad86e09d4637ee 10-Sep-2008 José Fonseca <jrfonseca@tungstengraphics.com> tgsi: Verify constants are set before attempting to read them.
gsi_exec.c
5a25628bd20684ac67adcb542647a0a2d7649a37 05-Sep-2008 Michal Krol <michal@ubuntu-vbox.(none)> tgsi: Cleanup code.
gsi_sse2.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...
gsi_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
gsi_dump.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]
gsi_build.c
gsi_build.h
gsi_dump_c.c
gsi_exec.c
gsi_parse.c
gsi_scan.c
gsi_sse2.c
gsi_transform.c
gsi_transform.h
gsi_util.c
1a46dcc8a927dfb38ca1381e7b3dafb789f8257c 22-Aug-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: replace LOG2() macro with util_fast_log2() inline func
gsi_sse2.c
1c2ff4d9e65563c071747a9c3bd907bd24706da0 22-Aug-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: use new util_fast_exp2(), _log2(), pow() functions

New code surrounded with #if FAST_MATH to allow comparing against original
code if we need to debug.
gsi_exec.c
gsi_sse2.c
4405e428e4c2a80172c803cc3c4933d546bf2b4d 19-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Implement LOG opcode for SSE2 codegen.
gsi_exec.c
gsi_sse2.c
0d9d2045e86a249a36d8eeebf59979a162c164af 19-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Implement EXP opcode for SSE2.
gsi_exec.c
gsi_sse2.c
de3083be7197cccb8dbf223d644ebdb78a8c809d 19-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Fix ARL opcode in SSE2 codegen.
gsi_exec.c
gsi_sse2.c
2b512c0135bc8512cc80009ea7430f7cc0c869d6 18-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Workaround debug output buffer size limitations.
gsi_dump.c
93305bd6808787964c0088a88c428ecd1208aa44 18-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Use NUM_CHANNELS.
gsi_sse2.c
e9ec60097cfed372f202aa64aa04674448881f0e 18-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Update condition code vector when storing dest register.
gsi_exec.c
56c30bf17b9f57efdb93ae5d1b801677535a9651 18-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Saturate modifier obeys ExecMask.
Implement NVIDIA [-1;+1] saturate mode.
gsi_exec.c
6aacca106b0619d87015aece1a0b1d6332910926 18-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Respect condition codes when storing destination register.
gsi_exec.c
880b751e8e21cab21a0d522346300f463fd9c634 18-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Cosmetic changes.
gsi_exec.c
e2da7edd642198d7c515dbc0b9ba77d4286c3262 18-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Add condition code (CC) register.
gsi_exec.c
gsi_exec.h
19ff2326e94a7a773bcb1dd9bfd22197b999daf9 14-Aug-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: fix exec_kilp(), fix Exec/FuncMask test for TGSI_OPCODE_RET

Fixes a few glean glsl regressions.
gsi_exec.c
3a1af846fe13c2a9b8c24eb7e37e11a9b42668d5 13-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Initial code for KILP, needs CCs working to be complete.
gsi_exec.c
83a5a225d773c119857f58672fd51c1d425f21d3 13-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Use a homebrew version of toupper().
gsi_text.c
bfdb1d55d58d70044af9fcd6f8465179145581dd 13-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Fix typo.
gsi_build.c
gsi_build.h
4b929b32d03a58d80cacbd63c172dbd7221c8a8f 13-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Validate instruction opcode and operand counts.
gsi_sanity.c
2caaba8195d1019702246bd7f0c02aa95364a8bd 13-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Use tgsi_info to dump opcode names.
gsi_dump.c
gsi_dump_c.c
79e52779bdcd1fa0ff8e1cbdc7555746205ee519 13-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Use tgsi_opcode_info.
gsi_text.c
6d83a0cc6846adb546794c0483694fdb1d1b4664 13-Aug-2008 Michal Krol <michal@tungstengraphics.com> make: List tgsi_info.c.
akefile
668ac2572548b7818b89a424f44e9c9c59786df0 13-Aug-2008 Michal Krol <michal@tungstengraphics.com> scons: List tgsi_info.c.
Conscript
94f9faab31f7fbf5f14d23d993f9830fa51ce076 13-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Opcode information.
gsi_info.c
gsi_info.h
f0874d1a6b832e1bb29256661cb8beab3ddeb528 13-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Swap meanings of KIL and KILP opcodes.
gsi_exec.c
gsi_sse2.c
faad6655946968dd16ab30cc8d5fbd5a09321976 12-Aug-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: distinguish between KIL and KILP

Note: KIL (unconditional) not done yet.
gsi_sse2.c
80d3a653f0172f01be694a29456c70f1f4da1812 07-Aug-2008 José Fonseca <jrfonseca@tungstengraphics.com> tgsi: Prevent division by zero.
gsi_exec.c
673489fa5cde4ce8d49918f20f007201a17bc45e 09-Aug-2008 José Fonseca <jrfonseca@tungstengraphics.com> tgsi: Dump shaders to a string too.

Again.
gsi_dump.c
gsi_dump.h
2783f3bfabd6e316f7e221e950499c3631c041ce 04-Aug-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Put a newline after IMM.
gsi_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.
gsi_dump.c
c208a2c791fa24c7c5887fc496738cbddbfafc72 27-Jul-2008 José Fonseca <jrfonseca@tungstengraphics.com> Merge tgsi/exec and tgsi/util directories.
akefile
Conscript
xec/Makefile
xec/tgsi_exec.c
xec/tgsi_exec.h
xec/tgsi_sse2.c
xec/tgsi_sse2.h
gsi_build.c
gsi_build.h
gsi_dump.c
gsi_dump.h
gsi_dump_c.c
gsi_dump_c.h
gsi_exec.c
gsi_exec.h
gsi_iterate.c
gsi_iterate.h
gsi_parse.c
gsi_parse.h
gsi_sanity.c
gsi_sanity.h
gsi_scan.c
gsi_scan.h
gsi_sse2.c
gsi_sse2.h
gsi_text.c
gsi_text.h
gsi_transform.c
gsi_transform.h
gsi_util.c
gsi_util.h
til/tgsi_build.c
til/tgsi_build.h
til/tgsi_dump.c
til/tgsi_dump.h
til/tgsi_dump_c.c
til/tgsi_dump_c.h
til/tgsi_iterate.c
til/tgsi_iterate.h
til/tgsi_parse.c
til/tgsi_parse.h
til/tgsi_sanity.c
til/tgsi_sanity.h
til/tgsi_scan.c
til/tgsi_scan.h
til/tgsi_text.c
til/tgsi_text.h
til/tgsi_transform.c
til/tgsi_transform.h
til/tgsi_util.c
til/tgsi_util.h
83869ceab5b3faed8569a5ca752d4dc426db1aec 22-Jul-2008 José Fonseca <jrfonseca@tungstengraphics.com> tgsi: Silent msvc warning.

Rather stupid warning: msvc is warning that converting from a 1bit
structure bitfield to a unsigned char looses precision... /WX makes this
an error.
til/tgsi_sanity.c
f7be39ea105aa951d0f6e1d8ffbea63412e30801 24-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: bump TGSI_EXEC_NUM_TEMPS to 128
xec/tgsi_exec.h
5f2a5f6164ace6e12c1a3ba95f1103dc8fafa68f 23-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: print extended swizzle negation flags
til/tgsi_dump.c
0aa0141e0cd7b5231140805b1cda821bb3d32a86 23-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Fix tgsi_util_get_full_src_register_extswizzle().
til/tgsi_util.c
51d219dbfe6852d348755574184639940af444e3 22-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Fix immediate usage checks.
Provide more info for register usage errors/warnings.
til/tgsi_sanity.c
1753ff9872562bc05aff2472fc1256539085bbfc 21-Jul-2008 Jakob Bornecrantz <jakob@tungstengraphics.com> tgsi: Update Makefile to include tgsi_iterate.c
akefile
b3c8d0c348c5d894e4df0314f060361893bdd38e 20-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Parse source register extended swizzle.
til/tgsi_text.c
9d068d4b90813d5afa243d669e8437b8922ac656 20-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Add support for branch instructions with target labels.
til/tgsi_text.c
25a7f422b4e307dce966220d47794fb056d04aac 20-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Warn if an indirect register not ADDR[0].
til/tgsi_sanity.c
73e1d0be756537376495547bc1e798805884b8ef 20-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Add support for indirect addressing in dump, sanity and text modules.
til/tgsi_dump.c
til/tgsi_sanity.c
til/tgsi_text.c
613f0df64dd2c2db71dd73b595225016ae596576 20-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Remove redundant code.
til/tgsi_dump.c
til/tgsi_dump_c.c
83f245bd242cd2c5f59f072095dcc47aa6153b21 20-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Use tgsi_iterate in tgsi_dump.
til/tgsi_dump.c
57482e1549e131fa1aebd442a677a95909b22508 20-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Keep version and processor info in iterate_ctx.
til/tgsi_iterate.c
til/tgsi_iterate.h
fef7f2b070ab797f78ebc210bb40a24685c6d4b7 20-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Fix error handling.
til/tgsi_sanity.c
82f11f7e7c0bbe0452da65f08195c2a346f820e9 20-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Tidy up and fix tgsi_dump.
til/tgsi_dump.c
til/tgsi_dump_c.c
307a252d1529e8e9ffa10c88cc8f5d5412f587f5 20-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Fix dump enums.
til/tgsi_dump_c.c
15c902455fe1b4572e614bf30912d92fe9c7bb28 20-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Preserve flags parameter for tgsi_dump().
til/tgsi_dump.c
til/tgsi_dump.h
5e9ea9d938e9734524707e46be29e243e96f32a9 20-Jul-2008 Michal Krol <michal@tungstengraphics.com> scons: List util/tgsi_dump_c.c.
Conscript
5ded4ffc506eb051b151d3e8b1e71b13576e951a 20-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Split tgsi_dump into two modules.
til/tgsi_dump.c
til/tgsi_dump.h
til/tgsi_dump_c.c
til/tgsi_dump_c.h
ff26c50153b3a348b35843262ceb27062ab37214 19-Jul-2008 José Fonseca <jrfonseca@tungstengraphics.com> tgsi: Make tgsi_sanity return TRUE on success as documented.
til/tgsi_sanity.c
1e5419fa3061386413a98b75d0908cb3e3c6894e 18-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Express tgsi_sanity in terms of tgsi_iterate.
til/tgsi_sanity.c
e1fd3ea415db1bc80d0bc6d94645eaac60bb4121 18-Jul-2008 Michal Krol <michal@tungstengraphics.com> scons: List util/tgsi_iterate.c.
Conscript
638ecbda3eed8319ce82be9c119ca1f96f21d976 18-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Add tgsi_iterate_shader utility.

Walks the token stream and invokes callbacks.
til/tgsi_iterate.c
til/tgsi_iterate.h
f2053cfa1ac4e4e2e0083670aac5df766adad5f9 17-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Fix parsing an instruction with no operands.
til/tgsi_text.c
10d1dc68a413eaf642bf1bda2e5452835f7b7050 17-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Perform a sanity check after reading a shader from text.
til/tgsi_text.c
3c5ec98e45880d6a896f3c094f8004000f50a149 17-Jul-2008 Michal Krol <michal@tungstengraphics.com> scons: List util/tgsi_sanity.c.
Conscript
2727702b1731a478de8806481416080d02af5862 17-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: New file.
til/tgsi_sanity.c
til/tgsi_sanity.h
c60e009a9138a573d2219ee2ad85e3203b09a7ae 15-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Numerical label before an instruction is optional.
til/tgsi_text.c
6eb7f763fbbbb7a32640760cd5d122020866fea1 15-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> tgsi: fix bug in execution of loops inside of conditionals.

Fixes infinite loop bug.
xec/tgsi_exec.c
f5c51ebd2afdfc87de40dca115526a5e0f6ab115 13-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Parse destination operand modulate modifier.
til/tgsi_dump.c
til/tgsi_text.c
94013b66b91112f31802c3d935e8d918ba12be62 13-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Parse extended source register modifiers.
til/tgsi_text.c
47a45aaa0fd1dbc0de45de2ed2995f81a0154baf 13-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Parse _SAT and _SAT opcode suffix.
til/tgsi_dump.c
til/tgsi_text.c
a7d8eed61c1fd0bd3d99ebcd10c24bc70f8e3293 13-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Parse IMM statements.
til/tgsi_text.c
3d5dcc2203f5018863ad51958871542696e1ed1b 13-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Parse texture instructions correctly.
til/tgsi_text.c
46a7843099f02b6dcff56a52c9247c11d5c4aa8b 13-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Fix instruction operand counts.
til/tgsi_text.c
cfd2bf9fa127a7f0b1a89650fde34a23f318f90c 13-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Fix instruction opcode parsing.
til/tgsi_text.c
625034104aacaca793ff373414eff4ee53afc1fe 13-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Add missing SWZ opcode.
til/tgsi_dump.c
til/tgsi_text.c
ee647b9020b5e16b9b6d399edfa4a2c99f491863 13-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Parse DCL statements.
til/tgsi_text.c
bd3b47590e2a8e91a8f5545d7c8872b26879c228 13-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Remove depricated ATTRIB interpolate mode.
til/tgsi_dump.c
c415de5e251eb4004b1ef5bc57299032d95c4842 12-Jul-2008 Michal Krol <michal@tungstengraphics.com> scons: List `util/tgsi_text.c'.
Conscript
d0386d55ff257ab09475178d058ddcd9f1e37c2d 12-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Add tgsi_text utility module.

Translates textual shader into a binary token stream.
The syntax matches the tgsi_dump module, so it's possible to
simply copy-paste the shader dump and transform it back
to a binary form.
til/tgsi_text.c
til/tgsi_text.h
9ea485f8865404e3e2e10cdb3b1627e7194c27fe 12-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Fix dumping of indirect addressing.
til/tgsi_dump.c
7279d663e984ae8a243f56c010f175fee9ffccb3 12-Jul-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Add missing copyright headers.
xec/tgsi_sse2.h
til/tgsi_build.c
til/tgsi_build.h
til/tgsi_dump.h
til/tgsi_util.c
til/tgsi_util.h
7cbc244c52610eb59b0fe1fc7275f307b560c281 08-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: tweak printing of generic declarations
til/tgsi_dump.c
f042d662e2cec4315ddaae1ee536f593139f703d 03-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: increase TGSI interpreter's number of temp registers to 64

Also, clean up the definitions of the misc/extra temp regs.
A few new assertions too.
xec/tgsi_exec.c
xec/tgsi_exec.h
3c128748579c637ba7c777ba91ff4287a03190f6 03-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: increase TGSI_EXEC_MAX_COND_NESTING, etc
xec/tgsi_exec.h
019ad5e284db08b46b484b409c1a54c302afd50b 02-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: replace 128 with MAX_LABELS
xec/tgsi_exec.c
xec/tgsi_exec.h
6fbfcf922210ddf29b73290557f9d40171b09d2e 19-Jun-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: Handle malloc failure.
xec/tgsi_exec.c
68ef8e89a5f25cd9f80e2b9088604631a28edc3c 10-Jun-2008 Zack Rusin <zack@tungstengraphics.com> glsl: implement variable array indexes
til/tgsi_dump.c
8223add3304451d5e75737a6d1be1739e4517943 04-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: added tgsi_is_passthrough_shader() function

Checks if all instructions are of the form MOV OUT[n], IN[n]
Untested at this time.
til/tgsi_scan.c
til/tgsi_scan.h
e0860518dfb5a5c6ba6584e3c1b5d7b203277dac 02-Jun-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: Replace XSTDCALL by PIPE_CDECL.
xec/tgsi_sse2.c
2c7ae3371b6058988f7f10bf031d630b649f3831 02-Jun-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Add assertions to the new rule that when an extended swizzle
is used, the simple swizzle must be set to identity.
til/tgsi_build.c
c6ae627fdca417318d27a8c26e6d9bc23577aabe 02-Jun-2008 Michal Krol <michal@tungstengraphics.com> tgsi: SWZ no longer aliases to MOV.
xec/tgsi_exec.c
xec/tgsi_sse2.c
a49381587f73c67469ec7546419cfc41387f938c 31-May-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Fix build after TGSI declaration interface changes.
xec/tgsi_exec.c
xec/tgsi_sse2.c
til/tgsi_build.c
til/tgsi_build.h
til/tgsi_dump.c
til/tgsi_parse.c
til/tgsi_parse.h
til/tgsi_scan.c
3869c3c87a40d9f41414082ad8dd3d747e6b34d8 30-May-2008 Jakob Bornecrantz <jakob@tungstengraphics.com> Merge branch 'gallium-tex-surfaces' into gallium-0.1

Conflicts:

src/gallium/drivers/i915simple/i915_context.h
8808d62f608d1397ee75d0087301d0b0a0278244 29-May-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: MSVC warning fixes.

Conflicts:

src/gallium/auxiliary/draw/draw_pt_varray.c
src/gallium/auxiliary/draw/draw_pt_varray_tmp.h
src/gallium/auxiliary/draw/draw_pt_vcache.c
xec/tgsi_sse2.c
7a986792dabe6556c63b2f2a997c7c6217604e2d 28-May-2008 José Fonseca <jrfonseca@tungstengraphics.com> tgsi: Observe constness.
til/tgsi_dump.c
938d9d596324e411fde5312f2bb65b444c502c37 28-May-2008 Jakob Bornecrantz <jakob@tungstengraphics.com> Merge branch 'gallium-vertex-linear' into gallium-0.1

Conflicts:

src/gallium/auxiliary/draw/draw_pt_varray.c
55d29a8d48663982a1aeea414f69a5896b97d1ea 28-May-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: Windows CE portability fixes.
til/tgsi_util.c
adaaa29218f1babad874f50681ca971fdd3b8a40 27-May-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: export utils for dumping individual instructions
til/tgsi_dump.c
til/tgsi_dump.h
9671f7ae476cadb46f9f8f9d0363f24aabaf9f87 17-May-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: in drivers, make copy of tokens passed to pipe->create_vs/fs_state()

The caller can then free the token array immediately.
til/tgsi_parse.c
til/tgsi_parse.h
cff8d3bdcbf78b57b52a2f60c54e5a3cae286137 02-May-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: remove ^M (CR) chars
xec/tgsi_sse2.c
6c15a70b75b1625b69790f98f2f44e9ae4435f6a 02-May-2008 Michal Krol <michal@ubuntu-vbox.(none)> tgsi: Enable fast high precision rsqrt.
xec/tgsi_sse2.c
17058e07469f2dc5b47b4f820bd5a31b7ed9177c 02-May-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: Implement fast rsqrtf. Not tested, inactive.
xec/tgsi_exec.c
xec/tgsi_exec.h
xec/tgsi_sse2.c
a1cb0c2b915532e934b5d37bd0c550b1bfcc77ba 02-May-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Do not assume IN and OUT registers are declared sequentially.
til/tgsi_scan.c
36f93c5e5159ebd99a5a4504efccdf6c5bf40716 02-May-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Fix build on Win32.
til/tgsi_parse.c
9d151a2517de3f83d676624a21b4f73d5accecbe 01-May-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Dump destination register modulate modifier.
til/tgsi_dump.c
869b0836c1c4339de91c9918ae07926c846a004c 02-May-2008 Brian <brian.paul@tungstengraphics.com> gallium: temporarily disable broken SSE2 code for ARL opcode
xec/tgsi_sse2.c
3b63bc8ac6db7af4077f12cfd44876a9d43cc6ec 02-May-2008 Brian <brian.paul@tungstengraphics.com> gallium: implement TGSI_OPCODE_EXP
xec/tgsi_exec.c
7a4313b63bcd06318437d384875472e7139070a1 02-May-2008 Brian <brian.paul@tungstengraphics.com> gallium: implement TGSI_OPCODE_LOG
xec/tgsi_exec.c
f067c6c452bdd5f5cc6b0f6b2f79fb3fc1162822 01-May-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: remove some bogus win vs. linux crud

Pass arguments properly in linux now. Still need to change this to use
a single calling convention on both platforms.
xec/tgsi_sse2.c
fb3623b235f5caa9d76e656b1e5eda797c7c73eb 01-May-2008 Keith Whitwell <keith@tungstengraphics.com> rtasm: fix labels after (not so) recent change to allow dynamic fn growth

Using char * for labels doesn't work if you realloc the function
during assembly and free the old storage...
xec/tgsi_sse2.c
419f3c447520d1dc95c529afa693ffe3fffe5560 01-May-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: restore HIGH_PRECISION setting
xec/tgsi_sse2.c
afe67db8038855d9f7b4ce46b610701c55736c1f 01-May-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: add some const qualifiers to immediate pointers
til/tgsi_parse.h
47aa416821b69d3afa33c79ec8cb8499688a0e8e 01-May-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: use EBX everywhere, be sure to push/pop it
xec/tgsi_sse2.c
7810e7f623a47978cdd1a167cc9e6b743d56d949 01-May-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: use x86_fn_arg instead of get_argument() -- it knows about push/pops to the stack
xec/tgsi_sse2.c
1e4217e1b857c6a3c5da7d1eceb74683bf0b9a00 01-May-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: use ESI instead of EBX on non-win32 platforms
xec/tgsi_sse2.c
c4917c62311522df902003d77b146fc677c09a4e 28-Apr-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: make loop structure clearer, use x86_lea for increments
xec/tgsi_sse2.c
9fb444f191015b44498a5c83d762519ccc98ed55 28-Apr-2008 Keith Whitwell <keith@tungstengraphics.com> tsgi: add a makefile
xec/Makefile
58d3dff0d3115ddd5397b7f77b5bcf4f9ca616b6 28-Apr-2008 Michal Krol <michal@ubuntu-vbox.(none)> gallium: Generate SSE code to swizzle and unswizzle vs inputs and outputs.

Change SSE_SWIZZLES #define to 0 to disable it.
xec/tgsi_sse2.c
xec/tgsi_sse2.h
a8e39b6f5a1fedf2f8719e1adb8802ebbfc09688 26-Apr-2008 Brian <brian.paul@tungstengraphics.com> gallium: fix broken SGT, SLE
xec/tgsi_exec.c
a94aad297d9804688f888a5112326104a5d00e07 26-Apr-2008 Brian <brian.paul@tungstengraphics.com> use PIPE_ARCH_X86
xec/tgsi_sse2.c
2325d1959783aaf57178a86d8a0b28f168761e13 25-Apr-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: fix compile when HIGH_PRECISION not defined
xec/tgsi_sse2.c
e29583afcb238cf7a70089cfdf50a69ca277c53a 21-Apr-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: Include dependent header.
til/tgsi_parse.h
615cdd3a535bb71754baa8b37e79b85af01854dd 21-Apr-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: use new float math funcs, drop local disassembly code
xec/tgsi_exec.c
xec/tgsi_sse2.c
e430d885e0d819172068805b1492cb6f10eb5d7f 18-Apr-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: a few comments
xec/tgsi_sse2.c
19218e2195f3dffc9403f16a742ba8c63edbf8b4 18-Apr-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: implement recip sqrt() with C code for now.

Some conformance lighting tests fail with the SSE rsqrt instruction.
xec/tgsi_sse2.c
c5f0158a9179463593d63b33cf3b5490167faac9 18-Apr-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: add const qualifier to tokens on sse emit
xec/tgsi_sse2.c
xec/tgsi_sse2.h
938ec19210c5b4e19dcb2b606c9ade415f2c1f84 17-Apr-2008 Keith Whitwell <keith@tungstengraphics.com> tsgi: make Consts const
xec/tgsi_exec.h
3c4f1ba5a2edefd69b2c47abaf534fb3af3f259d 15-Apr-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: Eliminate stdio file usage. Remove unused stuff.
til/tgsi_dump.c
til/tgsi_dump.h
5b8fa518476868530d748ce6d03674e9cca3d89f 14-Apr-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: Don't assume snprintf are always available.
til/tgsi_dump.c
45cc4f546e034adff39c42032a47147e6ab91a08 12-Apr-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Fix source register short dump code.
til/tgsi_dump.c
593cf5a6b55eb9b490a2aee2c3850d2d493fc4df 11-Apr-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: merge the tgsi_emit_sse2() and tgsi_emit_sse2_fs() functions.

The two functions were mostly the same. We can look at the shader header
info to determine if it's a vertex or fragment shader.
xec/tgsi_sse2.c
xec/tgsi_sse2.h
7c2416f06e518bc1491fe13e145dcc9487d75449 11-Apr-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: handle TGSI immediates in SSE code for vertex shaders
xec/tgsi_sse2.c
xec/tgsi_sse2.h
e3cf0cd6a9f3f072594e5712763b98ce7e579bcf 11-Apr-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: implement immediates (aka literals) for SSE fragment shaders
xec/tgsi_sse2.c
xec/tgsi_sse2.h
097301395d33d57d19bc942f236b4a8c912cc0cc 11-Apr-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: comments
xec/tgsi_sse2.c
9e8a85ef670dfb7d356d6066bad4710683a07fd9 11-Apr-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: fix SCS codegen (sin scalar src comes from X, not Y)
xec/tgsi_sse2.c
f41cc50ef063e9a56dc2d0fc6564a0c0f4344b83 07-Apr-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Dump processor type and version as a single token.
til/tgsi_dump.c
2483062f10e93fbbc5e3f629627b9e8addcc3f84 07-Apr-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Dump semantics before interpolator.
til/tgsi_dump.c
648e26aa95b519f1f4abc429b5a23abaf4a5195b 24-Mar-2008 Brian <brian.paul@tungstengraphics.com> gallium: added tgsi_num_tokens() function to return number of tokens in token array.

Maybe move to a different file someday.
til/tgsi_parse.c
til/tgsi_parse.h
f23207ca57095b620febaf723815cc3eef3e87bd 14-Mar-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Use debug_printf().
xec/tgsi_exec.c
9de9e1fe8c3f87fe672aed074348f07107fa3cec 14-Mar-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: print warning rather than assert(0) for LOG/EXP opcodes

Glean vertProg1 runs all the way through, rather than aborting.
xec/tgsi_exec.c
d34bc880a4d17420ec20d422dcb461783457c473 14-Mar-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: add debug_printf version of tgsi_dump
til/tgsi_dump.c
til/tgsi_dump.h
bcb454e7a6e2f7efae114321c65bf98e91d5892f 13-Mar-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Drop pre-ps_2_0 opcodes.
til/tgsi_dump.c
ddb4e5cbaced3e96117a97fe362ab890794f5ab7 13-Mar-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: replace erroneous use of FETCH with emit_tempf
xec/tgsi_sse2.c
5ba2f0a507b8d413eea2eb7da09c304ab5a8d3f1 13-Mar-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: bump MAX_SRC_REGS to 4, for TXD
til/tgsi_parse.h
ba75e82b6ebaf88dd2e4a8f764b2d296d715bf8a 12-Mar-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Remove ExtDivide field from existence. Implement OPCODE_TXP.
xec/tgsi_exec.c
til/tgsi_build.c
til/tgsi_build.h
til/tgsi_dump.c
e5b1a53c9f9ad247272415e0e21e83cfe00728a9 12-Mar-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Dump TXP opcode.
til/tgsi_dump.c
feb02084a88ca6e23c34fa06e963765c890f0b65 12-Mar-2008 Michal Krol <michal@tungstengraphics.com> tgsi: Dump source register divide component.
til/tgsi_dump.c
e280bd50cc46ddbf5ac7fbaafc934d1048d77ba2 28-Feb-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: Fix MSVC warnings.
til/tgsi_scan.c
510bc3535c4af68db71e5ffd19f3e21e10ec6004 28-Feb-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: Fix sign/unsign comparison.
til/tgsi_scan.c
7df26d76d2a37e9e828296bfbcf7cec04bfbe233 28-Feb-2008 Brian <brian@i915.localnet.net> gallium: include p_util.h
til/tgsi_scan.c
679b6cf0a0e662513c8d7732049c44916e0e9e86 28-Feb-2008 Brian <brian@i915.localnet.net> gallium: include p_compiler.h instead of p_util.h
til/tgsi_scan.h
3197ad5a56ee94773f974ac727b316c5adfe1b6f 27-Feb-2008 Brian <brian@i915.localnet.net> gallium: added file_max[] array to tgsi_shader_info

Records the highest index of a declared register.
til/tgsi_scan.c
til/tgsi_scan.h
fb40c5a9c7dc91c03f80780e0a09be0cade98705 27-Feb-2008 Brian <brian@i915.localnet.net> gallium: added uses_kill field to tgsi_shader_info
til/tgsi_scan.c
til/tgsi_scan.h
31358282d4bd5a9708dba7be059dcff02233b4e1 27-Feb-2008 Brian <brian@i915.localnet.net> gallium: better debug messages
xec/tgsi_sse2.c
9a8a5d7c2fe7f32c8d15bc0a77f86e1f2f995ffe 27-Feb-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: Replace // comments.
xec/tgsi_sse2.c
xec/tgsi_sse2.h
til/tgsi_build.h
til/tgsi_dump.h
til/tgsi_parse.h
til/tgsi_util.h
36aa9cf781440ce685930586cbf53248cf9c0dc2 26-Feb-2008 Michal Krol <michal@tungstengraphics.com> gallium: Print texture target for short dumps.
til/tgsi_dump.c
1410b7bb509ef37c41043b173bc1047257483af0 26-Feb-2008 Brian <brian.paul@tungstengraphics.com> gallium: collect more shader info in tgsi_scan_shader()

Now getting input/output semantic info so we can eventually remove those
fields from pipe_shader_state.
til/tgsi_scan.c
til/tgsi_scan.h
fdcb9260eea8f9b9deaeeade2a46cffbf3dcaa59 24-Feb-2008 José Fonseca <jrfonseca@tungstengraphics.com> Add new files.
Conscript
1d77d6caf647424f9c1c481145be0465e96c9e3e 24-Feb-2008 Brian <brian.paul@tungstengraphics.com> gallium: added new tgsi_scan.c / tgsi_scan_shader() function

Used to get information about registers, instructions used in a shader.
akefile
til/tgsi_scan.c
til/tgsi_scan.h
e8de5c70e3370e9112a5facc870075eea60c4c46 23-Feb-2008 José Fonseca <jrfonseca@tungstengraphics.com> Bring in several forgotten MSVC fixes.
xec/tgsi_exec.c
til/tgsi_dump.c
1eaf7b775ba0dacff8a3debd7c0f260970e5a61d 15-Feb-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: print debug messages on failure to codegenerate
xec/tgsi_sse2.c
90b2beb661f630966788a6e909dc759c99e38973 19-Feb-2008 José Fonseca <jrfonseca@tungstengraphics.com> Simplify makefile boilerplate code.

Don't define ASM_SOURCES variable globally -- reserve that variable to be defined
locally by makefiles, together with C_SOURCES and CPP_SOURCES.
akefile
f430d95a36d55141cd9ef911aab70364ce4a4108 18-Feb-2008 José Fonseca <jrfonseca@tungstengraphics.com> Use gallium's rtasm module.
xec/tgsi_sse2.c
aceeb80d4f706980aaf71b8e098d4c6718d8ac90 19-Feb-2008 Brian <brian.paul@tungstengraphics.com> gallium: antialiased line drawing

New draw/prim stage: draw_aaline. When installed, lines are replaced by
textured quads to do antialiasing. The current user-defined fragment shader
is modified to do a texture fetch and modulate fragment alpha.
akefile
33ceb6716a2166db75659fa66d85fb4cfb9633c7 18-Feb-2008 José Fonseca <jrfonseca@tungstengraphics.com> Update scons build for new code layout.
Conscript
bfd5916eafb9a97ad10f1d4a8738e7dcb02e04f4 18-Feb-2008 José Fonseca <jrfonseca@tungstengraphics.com> Code reorganization: split gallium and mesa makefiles.

In other words, don't build src/gallium source code from within src/mesa/Makefile.

Also, allow to customize which gallium auxiliary dirs, driver driver, winsys
dirs get built from the config/* files.
akefile
xec/Makefile
c179bc990108a8ea691ceab03fd68a12396ab538 15-Feb-2008 Keith Whitwell <keith@tungstengraphics.com> tgsi: pass through failure to sse-codegenerate for fragment programs too.

In particular, will fallback to interpreted execution for shaders with
TEX instructions.
xec/tgsi_sse2.c
30d0bacf7aecfb6013ddd665d7385209899eeebd 15-Feb-2008 Keith Whitwell <keith@tungstengraphics.com> Merge commit 'origin/gallium-0.1' into gallium-0.1
92fcbf6e7bc622dcace226bb70ff6d5cdbdbaecb 15-Feb-2008 José Fonseca <jrfonseca@tungstengraphics.com> Code reorganization: s/aux/auxiliary/.

"aux" is a reserved name on Windows (X_X)
akefile
xec/Makefile
xec/tgsi_exec.c
xec/tgsi_exec.h
xec/tgsi_sse2.c
xec/tgsi_sse2.h
til/tgsi_build.c
til/tgsi_build.h
til/tgsi_dump.c
til/tgsi_dump.h
til/tgsi_parse.c
til/tgsi_parse.h
til/tgsi_transform.c
til/tgsi_transform.h
til/tgsi_util.c
til/tgsi_util.h