• Home
  • History
  • Annotate
  • only in /external/mesa3d/src/gallium/auxiliary/
History log of /external/mesa3d/src/gallium/auxiliary/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d40df8073209e54c943d3ecaa20cf3297a765907 28-Jan-2013 Marek Olšák <maraeo@gmail.com> gallium/u_upload_mgr: fix a serious memory leak

It can eat all memory and crash in a matter of minutes with r600g.
(cherry picked from commit 87592cff57feef29565150b9203e220b50623f30)
til/u_upload_mgr.c
914368538ec72926f160e784dcbae5db05e34abe 11-Feb-2013 Brian Paul <brianp@vmware.com> util: add new error checking code in vbuf helper

Check the return value of calls to u_upload_alloc() and
u_upload_data() and return early if needed.

Since we don't have a way to propagate errors all the way up to
Mesa through pipe_context::draw_vbo(), call debug_warn_once() so
the user might have some clue about OOM errors.

Note: This is a candidate for the 9.0 branch.
(cherry picked from commit b13c534f1479549e53b9896ea4d25d79f8466c24)

Conflicts:

src/gallium/auxiliary/util/u_vbuf.c
til/u_vbuf.c
a1cb12c1fbec30c23d50209db2fbf2b563ddcbe0 11-Feb-2013 Brian Paul <brianp@vmware.com> util: add some defensive coding in u_upload_alloc()

Some callers of this function were checking the 'ptr' result to see if
the function failed. But the correct way is to check the regular
return value for PIPE_ERROR_x. Now we initialize all the returned
values at the top of the function in case we do hit an error (like OOM).

Callers are more likely to detect OOM conditions now. But there
are some callers which don't do any error checking...

Note: This is a candidate for the 9.0 branch.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
(cherry picked from commit 68a097596efdf314ec60487a1761cac789ae2367)

Conflicts:

src/gallium/auxiliary/util/u_upload_mgr.c
til/u_upload_mgr.c
96c1678c3ad2dd460d8a5e8787d3dc7a0d9588c9 03-Jan-2013 Brian Paul <brianp@vmware.com> util: add get/put_tile_z() support for PIPE_FORMAT_Z32_FLOAT_S8X24_UINT

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=58972

Note: This is a candidate for the stable branches.
(cherry picked from commit 073a53fe2f39cfa42090b223cbaf287b48cefe8e)
til/u_tile.c
af41a1d49107f5020bfceda8ea930601bb6b92b9 03-Jan-2013 Brian Paul <brianp@vmware.com> util: fix addressing bug in pipe_put_tile_z() for PIPE_FORMAT_Z32_FLOAT

The Z32 pixel is 4 bytes so multiply x by 4, not 2.

Note: This is a candidate for the stable branches.
(cherry picked from commit 69c2528b8374156adc45c427faaa59cee88a6541)
til/u_tile.c
9ae069dbbd6814fc86ad371e439b7750b938408a 05-Dec-2012 Brian Paul <brianp@vmware.com> draw: set precalc_flat flag for AA lines too

Fixes flat shading for AA lines. demos/src/trivial/line-smooth is a
test case which hits this.

Note: This is a candidate for the stable branches.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
(cherry picked from commit d2c7fe5389e40871a7e339dc0ecaa7f570f851ed)
raw/draw_pipe_validate.c
4a0423e1bd2ba287f7c0599d1a9b80d9206f14cb 16-Nov-2012 José Fonseca <jfonseca@vmware.com> draw: Properly limit vertex buffer fetches on draw arrays.

We need to clamp vertex buffer fetch based on its size, not based on the
user specified max index hint.

This matches draw_pt_fetch_run() above.

NOTE: This is a candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 7da3a947c72111dfb605781be6c0d61423b56e76)
raw/draw_pt_fetch.c
7045f222cdd3a50f03e66ae2c184af17d9c32364 02-Jan-2013 Brian Paul <brianp@vmware.com> gallivm: support more immediates in lp_build_tgsi_info()

Bump limit from 32 to 128.

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=58545
(cherry picked from commit 1b6ba9c4c840e291cbbe19a8601b56d1d103179c)

Reviewed-by: Brian Paul <brianp@vmware.com>
allivm/lp_bld_tgsi_info.c
dfb3dc3fb817af398c51269691948a93f6164a30 30-Nov-2012 Johannes Obermayr <johannesobermayr@gmx.de> gallium/auxiliary: Add -fno-rtti to CXXFLAGS on LLVM >= 3.2.

Also remove the recently added and overloaded LLVM_CXXFLAGS from CXXFLAGS.

Note: This is a candidate for the stable branches.

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
(cherry picked from commit 21694b8eacbf63f8abdee6340510c0458a25a7fb)

Conflicts:
src/gallium/auxiliary/Makefile
akefile
da8876c7dd4b4a3db1df723b83e963575cdad3d6 30-Nov-2012 Brian Paul <brianp@vmware.com> util: added pipe_surface_release() function

To fix a pipe_context::surface_destroy() use-after-free problem.
We previously added pipe_sampler_view_release() for similar reasons.

Note: this is a candidate for the stable branches.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
(cherry picked from commit 51223784d6a8ee93cf004c9ba87a7e4dcb7b3161)
til/u_inlines.h
19c1e7c664a3dfef7d40dd5ecc4173c80821dc1f 12-Oct-2012 Chris Fester <camaronut@gmail.com> util: null-out the node's prev/next pointers in list_del()

Note: This is a candidate for the 9.0 branch.
Signed-off-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 3fffe8f7b77938fcbf449a7f9a2ae9614c8e2bd4)
til/u_double_list.h
de5e3774d04da66dbf85ca0705de38b7942943fe 30-Oct-2012 Marek Olšák <maraeo@gmail.com> draw: fix assertion failure in draw_emit_vertex_attr

This is a regression since b3921e1f53833420e0a0fd581f7417.

The array stores VS outputs, not FS inputs.
Now llvmpipe can do 32 varyings too.

NOTE: This is a candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 183e122bdfe27f875c3c121964484dae9587c051)
raw/draw_vertex.h
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/tgsi_ureg.c
38d1191f4133dc427fccdbaec61bef33201c2dcc 14-Sep-2012 Marek Olšák <maraeo@gmail.com> draw: fix non-indexed draw calls if there's an index buffer

pipe_draw_info::indexed determines if it should be indexed and not
the presence of an index buffer.

This fixes crashes in r300g.

NOTE: This is a candidate for the stable branches.

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 2988fa940e1d8a4531fddff4d554eec1e6e04474)
raw/draw_context.c
raw/draw_private.h
raw/draw_pt.c
27e056ff15ff365e0e00209738ff97ca64f02f2a 08-Sep-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blitter: fix stencil-only blits

NOTE: This is a candidate for the stable branches.
(cherry picked from commit 61706915a3b5644faf7a5e67f47c9c593620bf8c)
til/u_blitter.c
64db3cc6ad2d52dec46119e5b80030393cb60bf4 30-Aug-2012 Marek Olšák <maraeo@gmail.com> r600g: implement MSAA for Cayman

Everything works except for blitting MSAA colorbuffers, which isn't
so trivial on Cayman. It's a rarely-used feature anyway.
til/u_blitter.c
til/u_blitter.h
187d7fb2fec7da889f25366696faaac4c2e8f9c4 24-Aug-2012 Marek Olšák <maraeo@gmail.com> r600g: implement draw_rectangle callback

The color resolve on r6xx needs PT_RECTLIST. Using conventional primitive
types (triangles and quads) produces an ugly line between two diagonally
opposite corners. I guess a rectangular point sprite would work too.
til/u_blitter.c
til/u_blitter.h
6463eb013f645440d252b8b390e1c6e3c1212b7e 28-Aug-2012 Vadim Girlin <vadimgirlin@gmail.com> u_vbuf: avoid unnecessary update of the vertex elements

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
til/u_vbuf.c
f308c804905ef7f2a976397c8d48a295d8f6853c 27-Aug-2012 Brian Paul <brianp@vmware.com> gallium/util: implement tile code for PIPE_FORMAT_Z32_FLOAT

Reviewed-by: José Fonseca <jfonseca@vmware.com>
til/u_tile.c
a3d9d7ec79d6f7205fab2324e47d8ea185431de0 12-Aug-2012 Marek Olšák <maraeo@gmail.com> r600g: implement compression for MSAA colorbuffers for evergreen

This adds the FMASK and CMASK buffers. They share the same resource
with color data.

COMPRESSION and FAST_CLEAR are always enabled if both FMASK and CMASK are
allocated. We initialize the CMASK to a "compressed" state (not "fast cleared"),
so that we can keep FAST_CLEAR enabled all the time.

Both FMASK and CMASK must be present at the moment. If either one is missing,
the other one is not used.

v2: add cayman regs in the list

Reviewed-by: Jerome Glisse <jglisse@redhat.com>
til/u_blitter.c
til/u_blitter.h
1516a4f3538b3b1720d0f5c771fbdcd52b34b9f9 18-Aug-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blitter: initialize sample mask in resolve

Reviewed-by: Jerome Glisse <jglisse@redhat.com>
til/u_blitter.c
3e3f99277df947a96029580dc4e66ae38a93f004 24-Aug-2012 José Fonseca <jfonseca@vmware.com> draw: Fix regression in draw_set_sampler(_views).

draw->samplers(_views) now has PIPE_SHADER_TYPES elements, instead of
PIPE_MAX_SAMPLERS as before.

Also, shader_stage must be less than PIPE_SHADER_TYPES to prevent buffer
overflow.

Trivial.
raw/draw_context.c
d65eb02537813ad1f469fa3d597726fcb5a76bb0 17-Aug-2012 Brian Paul <brianp@vmware.com> util: update and fix u_upload_mgr.h comments
til/u_upload_mgr.h
0d308ef8feb081bedd12e01b270278e5f0de8e5a 16-Aug-2012 Brian Paul <brianp@vmware.com> gallium/draw: move misplaced brace
raw/draw_context.c
cab2fed135bc1edf7b65ddca3236020638427061 10-Aug-2012 Brian Paul <brianp@vmware.com> gallium: remove PIPE_MAX_VERTEX/GEOMETRY_SAMPLERS #define

PIPE_MAX_SAMPLERS, PIPE_MAX_VERTEX_SAMPLERS and PIPE_MAX_GEOMETRY_SAMPLERS
were all defined to the same value (16).

In various places we're creating arrays such as
sampler_views[PIPE_SHADER_TYPES][PIPE_MAX_SAMPLERS] so we were assuming
the same number of max samplers for all shader stages anyway.

Of course, drivers are still free to advertise different numbers of max
samplers for different shaders.
so_cache/cso_context.c
raw/draw_llvm.c
raw/draw_llvm.h
raw/draw_llvm_sample.c
a2c1df4c9a7375bc5306e8cfd07a9f7087759a96 10-Aug-2012 Brian Paul <brianp@vmware.com> draw: index samplers and sampler_view state by shader type

So that we can handle GS state and other types of shaders in the future.
raw/draw_context.c
raw/draw_llvm.c
raw/draw_private.h
bef196c7929606bb8c7e9c06fe83a90fc0d95f09 10-Aug-2012 Brian Paul <brianp@vmware.com> draw: move tgsi-related state into a tgsi sub-struct

To better organize things a bit.
raw/draw_context.c
raw/draw_gs.c
raw/draw_private.h
raw/draw_vs.c
raw/draw_vs_exec.c
df87fb59136eb302d72eac4b58fd8ffb25989ed5 10-Aug-2012 Brian Paul <brianp@vmware.com> gallium: add a shader stage/type param to some draw functions

To prepare for geometry shader texture support in the draw module.
Note: we still only handle the vertex shader case.
raw/draw_context.c
raw/draw_context.h
e0cc61bd91f5ef84bacaf5e7c6cda9eeefed478d 13-Aug-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blitter: document custom meta helpers
til/u_blitter.c
til/u_blitter.h
0f86915c5322b096b7154b6c84e21288074b775d 09-Aug-2012 Marek Olšák <maraeo@gmail.com> r600g: implement MSAA color resolve
til/u_blitter.c
til/u_blitter.h
94b634eca0e2bd32d4b5bd92d06d510eae8a5625 09-Aug-2012 Marek Olšák <maraeo@gmail.com> r600g: implement MSAA depth-stencil decompression and resolve

and integer textures, which are resolved the same as depth, I think.
til/u_blitter.c
til/u_blitter.h
dc5e61d8842501e0b67907e360392eb355c8b73d 04-Aug-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blitter: implement X and Y texture flipping
til/u_blitter.c
825b45366d5308fd3e8e71c0c1943cb6ca8f69ea 25-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blitter: implement blitting multisample resources

It can blit only one sample at a time (it should be called in a loop).
til/u_blit.c
til/u_blitter.c
til/u_blitter.h
til/u_inlines.h
til/u_simple_shaders.c
til/u_simple_shaders.h
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/tgsi_info.c
gsi/tgsi_strings.c
gsi/tgsi_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/tgsi_text.c
b7c4ee21c53a73d84e352d6f3db2547f6434d14e 05-Aug-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blit: set dst format from pipe_resource, not pipe_surface

We use it to decide whether we can use resource_copy_region.

NOTE: This is a candidate for the 8.0 branch.
til/u_blit.c
3487b93cc4b8bea44f966a4f5cfd29b26dbbcff2 10-Aug-2012 Brian Paul <brianp@vmware.com> cso: rearrange some structure fields for consistency
so_cache/cso_context.c
f7af4beae5e25c060d4f2c53d55b0e87ee9bdaeb 10-Aug-2012 Brian Paul <brianp@vmware.com> gallivm: fix crash in lp_sampler_static_state()

Fixes WebGL conformance/uniforms/uniform-default-values.html crash.

We need to check for the null view pointer before accessing view->texture.

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=53317

Note: This is a candidate for the 8.0 branch.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
allivm/lp_bld_sample.c
b4d6502fcd4d779dfebefbf6e76110e046d9e1c1 08-Aug-2012 Brian Paul <brianp@vmware.com> gallivm: remove unused src_elem_type variable

Reviewed-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_format_aos_array.c
7528e2104fdda88a9eca5d84d979a21f5c517dc9 07-Aug-2012 Vinson Lee <vlee@freedesktop.org> translate: Fix typo in is_legal_int_format_combo.

Fixes same on both sides defect reported by Coverity.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
ranslate/translate_generic.c
c3894bc2d5d5eabdc913d88d1fedc552fef074a5 04-Aug-2012 Vinson Lee <vlee@freedesktop.org> gallivm: Add constructor for raw_debug_ostream.

Fixes uninitialized scalar field defect reported by Coverity.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_debug.cpp
3e7b3a04bf7667583dac18f1267d213aa7f33800 04-Aug-2012 Vinson Lee <vlee@freedesktop.org> util: Move dereference after null check in util_resource_copy_region.

Fixes dereference before null check defect reported by Coverity.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
til/u_surface.c
84645fa61390475e6efb080685e0dec059622a39 28-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blitter: add a query for checking whether copying is supported

v2: add comments
til/u_blitter.c
til/u_blitter.h
c8ff737a18672c86f4ec01b25b4893550667b17c 27-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blitter: remove fallback for stencil copy that all drivers skipped

Reviewed-by: Brian Paul <brianp@vmware.com>
til/u_blitter.c
til/u_blitter.h
ef1bf6d69e99d9a12557a09eccaf4f2b6c628997 27-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blitter: add ability to blit only depth or only stencil

Reviewed-by: Brian Paul <brianp@vmware.com>
til/u_blitter.c
til/u_blitter.h
8aaf6972d128551dd720b3e3525806d39aad6f53 27-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blitter: minor cleanup

Reviewed-by: Brian Paul <brianp@vmware.com>
til/u_blitter.c
til/u_blitter.h
67a3e5bc32fe359b54121355295e6a19a24b44eb 27-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/tgsi: fixup texture name strings

Reviewed-by: Brian Paul <brianp@vmware.com>
gsi/tgsi_strings.c
6c420b166814fccb160e39cc9ea8cbdaf4e7c830 22-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blitter: set sample mask to ~0

Reviewed-by: Brian Paul <brianp@vmware.com>
til/u_blitter.c
til/u_blitter.h
9d1ef354f9e613d62c5bd61398c00e80d301fcee 24-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blit: bail out if src is a multisample texture

Reviewed-by: Brian Paul <brianp@vmware.com>
til/u_blit.c
6b3f1ae12b7d53bf88cdcf0e78803e929cdf5bbd 24-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blit: check nr_samples before using resource_copy_region

Reviewed-by: Brian Paul <brianp@vmware.com>
til/u_blit.c
e7689303a8e4790c38cc69ae7a197712f98e8f5b 24-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium: set sample mask to ~0 for clear, blit and gen_mipmap

The sample mask affects single-sampled rendering too (it's orthogonal
to the color mask).

Reviewed-by: Brian Paul <brianp@vmware.com>
so_cache/cso_context.c
so_cache/cso_context.h
til/u_blit.c
til/u_gen_mipmap.c
5bce0b51755e465d6aa9077df2167018d2e5150c 03-Aug-2012 Vinson Lee <vlee@freedesktop.org> draw: Ensure channel in convert_to_soa is initialized.

Fixes uninitialized pointer read defect reported by Coverity.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_llvm.c
9d36b3abfd557d8eb6a1a571d387dd53ef64068b 03-Aug-2012 Vinson Lee <vlee@freedesktop.org> u_blitter: Move a pointer dereference after null check.

Fixes dereference before null check defect reported by Coverity.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
til/u_blitter.c
fb85558ab1e40698bfb1aedaaf32b182560f2479 01-Aug-2012 Matt Turner <mattst88@gmail.com> Use C99 NAN and INFINITY macros
til/u_format_tests.c
832706a80beb1643ec777a0a795a4ddcf6dfaca4 03-Aug-2012 Brian Paul <brianp@vmware.com> cso: remove unreachable break statements
so_cache/cso_context.c
076e5eacf1e5653acd1e99f0e7fdfe7499da5665 03-Aug-2012 Brian Paul <brianp@vmware.com> cso: 80-column wrapping, remove trailing whitespace, etc
so_cache/cso_context.c
ea6f035ae90895bd4ee3247408eb179dfdf96d22 02-Aug-2012 Brian Paul <brianp@vmware.com> gallium: consolidate CSO sampler and sampler_view functions

Merge the vertex/fragment versions of the cso_set/save/restore_samplers()
functions. Now we pass the shader stage (PIPE_SHADER_x) to the function
to indicate vertex/fragment/geometry samplers. For example:

cso_single_sampler(cso, PIPE_SHADER_FRAGMENT, unit, sampler);

This results in quite a bit of code reduction, fewer CSO functions and
support for geometry shaders.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
so_cache/cso_context.c
so_cache/cso_context.h
ostprocess/pp_colors.c
ostprocess/pp_init.c
ostprocess/pp_mlaa.c
til/u_blit.c
til/u_gen_mipmap.c
2faa2b4f7e4d5a230d5e2ec55bea06eab8dd8fba 30-Jul-2012 Vinson Lee <vlee@freedesktop.org> gallium/util: Use GCC built-in functions for NaN and infinity.

This patch fixes this build failure with Intel Compiler.

src/gallium/auxiliary/util/u_format_tests.c(903): error: floating-point operation result is out of range
{PIPE_FORMAT_R16_FLOAT, PACKED_1x16(0xffff), PACKED_1x16(0x7c01), UNPACKED_1x1( NAN, 0.0, 0.0, 1.0)},

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
til/u_format_tests.c
f35e380dd240b418e17a179af73bbab74ceea784 24-Jul-2012 Anthony G. Basile <blueness@gentoo.org> Fix compile time errors when building against uclibc

Mesa misses a few checks when compiling on a uclibc system
which cause it to fall back on glibc-ism. This patch
addresses those issues.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
til/u_debug_symbol.c
c30bf68946433d26f672c741a763bba4712aada7 20-Jul-2012 José Fonseca <jfonseca@vmware.com> gallivm: Prefer the standard JIT engine whenever possible.

Testing shows that the standard JIT engine retrofited with AVX support is quite
stable and as capable to handle AVX instructions as MC-JIT is.

And the old JIT is much more memory efficient, as we don't need to
allocate one engine instance per shader, as we do for MC-JIT due to its
incompleteness.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
allivm/lp_bld_init.c
044de40cb0c6af54d99252f55145972780362afa 17-Jul-2012 Tom Stellard <thomas.stellard@amd.com> pipe_loader: Try to connect with the X server before probing pciids v2

When X is running it is neccesary for pipe_loader to authenticate with
DRM, in order to be able to use the device.

This makes it possible to run OpenCL programs while X is running.

v2:
- Fix C++ style comments
- Drop Xlib-xcb dependency
- Close the X connection when done
- Split auth code into separate function

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
ipe-loader/pipe_loader_drm.c
c4d2a14d6e98dae29a9a04da122521e25eaf7986 17-Jul-2012 Brian Paul <brianp@vmware.com> gallivm: silence uninitialized variable warnings
allivm/lp_bld_arit.c
allivm/lp_bld_sample.c
allivm/lp_bld_sample_aos.c
6694a68d890a9aa491b5c3e8a576318bb6124e21 30-Mar-2012 Marek Olšák <maraeo@gmail.com> gallium/util: add util_bit_last - finds the last bit set in a word
til/u_math.h
bf484024b944a452e9022a1098313663e0028b29 17-Jul-2012 Roland Scheidegger <sroland@vmware.com> gallivm: (trivial) remove unnecessary bogus include
allivm/lp_bld_quad.c
3469715a8a171512cf9b528702e70393f01c6041 13-Jul-2012 José Fonseca <jfonseca@vmware.com> gallivm,draw,llvmpipe: Support wider native registers.

Squashed commit of the following:

commit 7acb7b4f60dc505af3dd00dcff744f80315d5b0e
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon Jul 9 17:46:31 2012 +0100

draw: Don't use dynamically sized arrays.

Not supported by MSVC.

commit 5810c28c83647612cb372d1e763fd9d7780df3cb
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon Jul 9 17:44:16 2012 +0100

gallivm,llvmpipe: Don't use expressions with PIPE_ALIGN_VAR().

MSVC doesn't accept exceptions in _declspec(align(...)). Use a
define instead.

commit 8aafd1457ba572a02b289b3f3411e99a3c056072
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon Jul 9 17:41:56 2012 +0100

gallium/util: Make u_cpu_detect.h header C++ safe.

commit 5795248350771f899cfbfc1a3a58f1835eb2671d
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon Jul 2 12:08:01 2012 +0100

gallium/util: Add ULL suffix to large constants.

As suggested by Andy Furniss: it looks like some old gcc versions
require it.

commit 4c66c22727eff92226544c7d43c4eb94de359e10
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri Jun 29 13:39:07 2012 +0100

gallium/util: Truly disable INF/NAN tests on MSVC.

Thanks to Brian for spotting this.

commit 8bce274c7fad578d7eb656d9a1413f5c0844c94e
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri Jun 29 13:39:07 2012 +0100

gallium/util: Disable INF/NAN tests on MSVC.

Somehow they are not recognized as constants.

commit 6868649cff8d7fd2e2579c28d0b74ef6dd4f9716
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jul 5 15:05:24 2012 +0200

gallivm: Cleanup the 2 x 8 float -> 16 ub special path in lp_build_conv.

No behaviour change intended, like 7b98455fb40c2df84cfd3cdb1eb7650f67c8a751.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 5147a0949c4407e8bce9e41d9859314b4a9ccf77
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jul 5 14:28:19 2012 +0200

gallivm: (trivial) fix issues with multiple-of-4 texture fetch

Some formats can't handle non-multiple of 4 fetches I believe, but
everything must support length 1 and multiples of 4.
So avoid going to scalar fetch (which is very costly) just because length
isn't 4.
Also extend the hack to not use shift with variable count for yuv formats to
arbitrary length (larger than 1) - doesn't matter how many elements we
have we always want to avoid it unless we have variable shift count
instruction (which we should get with avx2).

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 87ebcb1bd71fa4c739451ec8ca89a7f29b168c08
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Jul 4 02:09:55 2012 +0200

gallivm: (trivial) fix typo for wrap repeat mode in linear filtering aos code

This would lead to bogus coordinates at the edges.
(undetected by piglit because this path is only taken for block-based
formats).

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit 3a42717101b1619874c8932a580c0b9e6896b557
Author: José Fonseca <jfonseca@vmware.com>
Date: Tue Jul 3 19:42:49 2012 +0100

gallivm: Fix TGSI integer translation with AVX.

commit d71ff104085c196b16426081098fb0bde128ce4f
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri Jun 29 15:17:41 2012 +0100

llvmpipe: Fix LLVM JIT linear path.

It was not working properly because it was looking at the JIT function
before it was actually compiled.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>

commit a94df0386213e1f5f9a6ed470c535f9688ec0a1b
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Jun 28 18:07:10 2012 +0100

gallivm: Refactor lp_build_broadcast(_scalar) to share code.

Doesn't really change the generated assembly, but produces more compact IR,
and of course, makes code more consistent.

Reviewed-by: Brian Paul <brianp@vmware.com>

commit 66712ba2731fc029fa246d4fc477d61ab785edb5
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Jun 27 17:30:13 2012 +0100

gallivm: Make LLVMContextRef a singleton.

There are any places inside LLVM that depend on it. Too many to attempt
to fix.

Reviewed-by: Brian Paul <brianp@vmware.com>

commit ff5fb7897495ac263f0b069370fab701b70dccef
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jun 28 18:15:27 2012 +0200

gallivm: don't use 8-wide texture fetch in aos path

This appears to be a slight loss usually.
There are probably several reasons for that:
- fetching itself is scalar
- filtering is pure int code hence needs splitting anyway, same
for the final texel offset calculations
- texture wrap related code, which can be done 8-wide, is slightly more
complex with floats (with clamp_to_edge) and float operations generally
more costly hence probably not much faster overall
- the code needed to split when encountering different mip levels for the
quads, adding complexity
So, just split always for aos path (but leave it 8-wide for soa, since we
do 8-wide filtering there when possible).
This should certainly be revisited if we'd have avx2 support.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit ce8032b43dcd8e8d816cbab6428f54b0798f945d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Jun 27 18:41:19 2012 +0200

gallivm: (trivial) don't extract fparts variable if not needed

Did not have any consequences but unnecessary.

commit aaa9aaed8f80dc282492f62aa583a7ee23a4c6d5
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Jun 27 18:09:06 2012 +0200

gallivm: fix precision issue in aos linear int wrap code

now not just passes at a quick glance but also with piglit...
If we do the wrapping with floats, we also need to set the
weights accordingly. We can potentially end up with different
(integer) coordinates than what the integer calculations would
have chosen, which means the integer weights calculated previously
in this case are completely wrong. Well at least that's what I think
happens, at least recalculating the weights helps.
(Some day really should refactor all the wrapping, so we do whatever is
fastest independent of 16bit int aos or 32bit float soa filtering.)

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit fd6f18588ced7ac8e081892f3bab2916623ad7a2
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Jun 27 11:15:53 2012 +0100

gallium/util: Fix parsing of options with underscore.

For example

GALLIVM_DEBUG=no_brilinear

which was being parsed as two options, "no" and "brilinear".

commit 09a8f809088178a03e49e409fa18f1ac89561837
Author: James Benton <jbenton@vmware.com>
Date: Tue Jun 26 15:00:14 2012 +0100

gallivm: Added a generic lp_build_print_value which prints a LLVMValueRef.

Updated lp_build_printf to share common code.
Removed specific lp_build_print_vecX.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>

commit e59bdcc2c075931bfba2a84967a5ecd1dedd6eb0
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed May 16 15:00:23 2012 +0100

draw,llvmpipe: Avoid named struct types on LLVM 3.0 and later.

Starting with LLVM 3.0, named structures are meant not for debugging, but
for recursive data types, previously also known as opaque types.

The recursive nature of these types leads to several memory management
difficulties. Given that we don't actually need recursive types, avoid
them altogether.

This is an attempt to address fdo bugs 41791 and 44466. The issue is
somewhat random so there's no easy way to check how effective this is.

Cherry-picked from 9af1ba565dfd5cef9ee938bb7c04767d14878fbf

commit df6070f618a203c7a876d984c847cde4cbc26bdb
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Jun 27 14:42:53 2012 +0200

gallivm: (trivial) fix typo in faster aos linear int wrap code

no longer crashes, now REALLY tested.

commit d8f98dce452c867214e6782e86dc08562643c862
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Jun 26 18:20:58 2012 +0200

llvmpipe: (trivial) remove bogus optimization for float aos repeat wrap

This optimization for nearest filtering on the linear path generated
likely bogus results, and the int path didn't have any optimizations
there since the only shader using force_nearest apparently uses
clamp_to_edge not repeat wrap anyway.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit c4e271a0631087c795e756a5bb6b046043b5099d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Jun 26 23:01:52 2012 +0200

gallivm: faster repeat wrap for linear aos path too

Even if we already have scaled integer coords, it's way faster to use
the original float coord (plus some conversions) rather than use URem.
The choice of what to do for texture wrapping is not really tied to int
aos or float soa filtering though for some modes there can be some gains
(because of easier weight calculations).

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 1174a75b1806e92aee4264ffe0ffe7e70abbbfa3
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Jun 26 14:39:22 2012 +0200

gallivm: improve npot tex wrap repeat in linear soa path

URem gets translated into series of scalar divisions so
just about anything else is faster.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit f849ffaa499ed96fa0efd3594fce255c7f22891b
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Jun 26 00:40:35 2012 +0100

gallivm: (trivial) fix near-invisible shift-space typo

I blame the keyboard.

commit 5298a0b19fe672aebeb70964c0797d5921b51cf0
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 25 16:24:28 2012 +0200

gallivm: add new intrinsic helper to deal with arbitrary vector length

This helper will split vectors which are too large for the hw, or expand
them if they are too small, so a caller of a function using intrinsics which
uses such sizes need not split (or expand) the vectors manually and the
function will still use the intrinsic instead of dropping back to generic
llvm code. It can also accept scalars for use with pseudo-vector intrinsics
(only useful for float arguments, all x86 scalar simd float intrinsics use
4vf32).
Only used for lp_build_min/max() for now (also added the scalar float case
for these while there). (Other basic binary functions could use it easily,
whereas functions with a different interface would need different helpers.)
Expanding vectors isn't widely used, because we always try to use
build contexts with native hw vector sizes. But it might (or not) be nicer
if this wouldn't need to be done, the generated code should in theory stay
the same (it does get hit by lp_build_rho though already since we
didn't have a intrinsic for the scalar lp_build_max case before).

v2: incorporated Brian's feedback, and also made the scalar min/max case work
instead of crash (all scalar simd float intrinsics take 4vf32 as argument,
probably the reason why it wasn't used before).
Moved to lp_bld_intr based on José's request, and passing intrinsic size
instead of length.
Ideally we'd derive the source type info from the passed in llvm value refs
and process some llvmtype return type so we could handle intrinsics where
the source and destination type isn't the same (like float/int conversions,
packing instructions) but that's a bit too complicated for now.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 01aa760b99ec0b2dc8ce57a43650e83f8c1becdf
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 25 16:19:18 2012 +0200

gallivm: (trivial) increase max code size for shader disassembly

64kB was just short of what I needed (which caused a crash) hence
increase to 96kB (should probably be smarter about that).

commit 74aa739138d981311ce13076388382b5e89c6562
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 25 11:53:29 2012 +0100

gallivm: simplify aos float tex wrap repeat nearest

just handle pot and npot the same. The previous pot handling
ended up with exactly the same instructions plus 2 more (leave it
in the soa path though since it is probably still cheaper there).
While here also fix a issue which would cause a crash after an assert.

commit 0e1e755645e9e49cfaa2025191e3245ccd723564
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 25 11:29:24 2012 +0100

gallivm: (trivial) skip floor rounding in ifloor when not signed

This was only done for the non-sse41 case before, but even with
sse41 this is obviously unnecessary (some callers already call
itrunc in this case anyway but some might not).

commit 7f01a62f27dcb1d52597b24825931e88bae76f33
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 25 11:23:12 2012 +0100

gallivm: (trivial) fix bogus comments

commit 5c85be25fd82e28490274c468ce7f3e6e8c1d416
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Jun 20 11:51:57 2012 +0100

translate: Free elt8_func/elt16_func too.

These were leaking.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>

commit 0ad498f36fb6f7458c7cffa73b6598adceee0a6c
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Jun 19 15:55:34 2012 +0200

gallivm: fix bug for tex wrap repeat with linear sampling in aos float path

The comparison needs to be against length not length_minus_one, otherwise
the max texel is never chosen (for the second coordinate).

Fixes piglit texwrap-1D-npot-proj (and 2D/3D versions).

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit d1ad65937c5b76407dc2499b7b774ab59341209e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Jun 19 16:13:43 2012 +0200

gallivm: simplify soa tex wrap repeat with npot textures and no mip filtering

Similar to what is already done in aos sampling for the float path (but not
the int path since we don't get normalized float coordinates there).
URem is expensive and the calculation is done trivially with
normalized floats instead (at least with sse41-capable cpus).
(Some day should probably do the same for the mip filter path but it's much
more complicated there hence the gain is smaller.)

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit e1e23f57ba9b910295c306d148f15643acc3fc83
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 18 20:38:56 2012 +0200

llvmpipe: (trivial) remove duplicated function declaration

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 07ca57eb09e04c48a157733255427ef5de620861
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 18 20:37:34 2012 +0200

llvmpipe: destroy setup variants on context destruction

lp_delete_setup_variants() used to be called in garbage collection,
but this no longer exists hence the setup shaders never got freed.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit ed0003c633859a45f9963a479f4c15ae0ef1dca3
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 18 16:25:29 2012 +0100

gallivm: handle different ilod parts for multiple quad sampling

This fixes filtering when the integer part of the lod is not the same
for all quads. I'm not fully convinced of that solution yet as it just
splits the vector if the levels to be sampled from are different.
But otherwise we'd need to do things like some minify steps, and getting
mip level base address separately anyway hence it wouldn't really look
like much of a win (and making the code even more complex).
This should now give identical results to single quad sampling.

commit 8580ac4cfc43a64df55e84ac71ce1a774d33c0d2
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jun 14 18:14:47 2012 +0200

gallivm: de-duplicate sample code common to soa and aos sampling

There doesn't seem to be any reason why this code dealing with cube face
selection, lod and mip level calculation is separate in aos and
soa sampling, and I am sick of having it to change in both places.

commit fb541e5f957408ce305b272100196f1e12e5b1e8
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jun 14 18:15:41 2012 +0200

gallivm: do mip filtering with per quad lod_fpart

This gives better results for mip filtering, though the generated code might
not be optimal. For now it also creates some artifacts if the lod_ipart isn't
the same for all quads, since instead of using the same mip weight for all
quads as previously (which just caused non-smooth gradients) this now will
use the right weights but with the wrong mip level in this case (can easily
be seen with things like texfilt, mipmap_tunnel).
v2: use logic helper suggested by José, and fix issue with negative lod_fpart
values

commit f1cc84eef7d826a20fab6cd8ccef9a275ff78967
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Jun 13 18:35:25 2012 +0200

gallivm: (trivial) fix bogus assert in lp_build_unpack_broadcast_aos_scalars

commit 7c17dbae8ae290df9ce0f50781a09e8ed640c044
Author: James Benton <jbenton@vmware.com>
Date: Tue Jun 12 12:11:14 2012 +0100

util: Reimplement half <-> float conversions.

Removed u_half.py used to generate the table for previous method.

Previous implementation of float to half conversion was faulty for
denormalised and NaNs and would require extra logic to fix,
thus making the speedup of using tables irrelevant.

commit 7762f59274070e1dd4b546f5cb431c2eb71ae5c3
Author: James Benton <jbenton@vmware.com>
Date: Tue Jun 12 12:12:16 2012 +0100

tests: Updated tests to properly handle NaN for half floats.

commit fa94c135aea5911fd93d5dfb6e6f157fb40dce5e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 11 18:33:10 2012 +0200

gallivm: do mip level calculations per quad

This is the final piece which shouldn't change the rendering output yet.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 23cbeaddfe03c09ca18c45d28955515317ffcf4c
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 9 00:54:21 2012 +0200

gallivm: do per-quad cube face selection

Doesn't quite fix the piglit cubemap test (not sure why actually)
but doing per-quad face selection is doing the right thing and
definitely an improvement.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit abfb372b3702ac97ac8b5aa80ad1b94a2cc39d33
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 11 18:22:59 2012 +0200

gallivm: do all lod calculations per quad

Still no functional change but lod is now converted to scalar after
lod calculations.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 519368632747ae03feb5bca9c655eccbc5b751b4
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 16:46:10 2012 +0100

gallivm: Added support for half-float to float conversion in lp_build_conv.

Updated various utility functions to support this change.

commit 135b4d683a4c95f7577ba27b9bffa4a6fbd2c2e7
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 16:02:46 2012 +0100

gallivm: Added function for half-float to float conversion.

Updated lp_build_format_aos_array to support half-float source.

commit 37d648827406a20c5007abeb177698723ed86673
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 14:55:18 2012 +0100

util: Updated u_format_tests to rigidly test half-float boundary values.

commit 2ad18165d96e578aa9046df7c93cb1c3284d8c6b
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 14:54:16 2012 +0100

llvmpipe: Updated lp_test_format to properly handle Inf/NaN results.

commit 78740acf25aeba8a7d146493dd5c966e22c27b73
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 14:53:30 2012 +0100

util: Added functions for checking NaN / Inf for double and half-floats.

commit 35e9f640ae01241f9e0d67fe893bbbf564c05809
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu May 24 21:05:13 2012 +0200

gallivm: Fix calculating rho for 3d textures for the single-quad case

Discovered by accident, this looks like a very old typo bug.

commit fc1220c636326536fd0541913154e62afa7cd1d8
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu May 24 21:04:59 2012 +0200

gallivm: do calcs per-quad in lp_build_rho

Still convert to scalar at the end of the function.

commit 50a887ffc550bf310a6988fa2cea5c24d38c1a41
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon May 21 23:21:50 2012 +0200

gallivm: (trivial) return scalar in lp_build_extract_range for length 1 vectors

Our type system on top of llvm's one doesn't generally support vectors of
length 1, instead using scalars. So we should return a scalar from this
function instead of having to bitcast the vector with length 1 later elsewhere.

commit 80c71c621f9391f0f9230460198d861643324876
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 17:49:15 2012 +0100

draw: Fixed bad merge error

commit c47401cfad0c9167de20ff560654f533579f452c
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 15:29:30 2012 +0100

draw: Updated store_clip to store whole vectors instead of individual elements.

commit 2d9c1ad74b0b0b41861fffcecde39f09cc27f1cf
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 15:28:32 2012 +0100

gallivm: Added lp_build_fetch_rgba_aos_array.

A version of lp_build_fetch_rgba_aos which is targeted at simple array formats.

Reads the whole vector from memory in one, instead of reading each element
individually.

Tested with mesa tests and demos.

commit ff7805dc2b6ef6d8b11ec4e54aab1633aef29ac8
Author: James Benton <jbenton@vmware.com>
Date: Tue May 22 15:27:40 2012 +0100

gallivm: Added lp_build_pad_vector.

This function pads a vector with undef to a desired length.

commit 701f50acef24a2791dabf4730e5b5687d6eb875d
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 17:27:19 2012 +0100

util: Added util_format_is_array.

This function checks whether a format description is in a simple array format.

commit 5e0a7fa543dcd009de26f34a7926674190fa6246
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 19:13:47 2012 +0100

draw: Removed draw_llvm_translate_from and draw/draw_llvm_translate.c.

This is "replaced" by adding an optimised path in lp_build_fetch_rgba_aos
in an upcoming patch.

commit 8c886d6a7dd3fb464ecf031de6f747cb33e5361d
Author: James Benton <jbenton@vmware.com>
Date: Wed May 16 15:02:31 2012 +0100

draw: Modified store_aos to write the vector as one, not individual elements.

commit 37337f3d657e21dfd662c7b26d61cb0f8cfa6f17
Author: James Benton <jbenton@vmware.com>
Date: Wed May 16 14:16:23 2012 +0100

draw: Changed aos_to_soa to use lp_build_transpose_aos.

commit bd2b69ce5d5c94b067944d1dcd5df9f8e84548f1
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 19:14:27 2012 +0100

draw: Changed soa_to_aos to use lp_build_transpose_aos.

commit 0b98a950d29a116e82ce31dfe7b82cdadb632f2b
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 18:57:45 2012 +0100

gallivm: Added lp_build_transpose_aos which converts between aos and soa.

commit 69ea84531ad46fd145eb619ed1cedbe97dde7cb5
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 18:57:01 2012 +0100

gallivm: Added lp_build_interleave2_half aimed at AVX unpack instructions.

commit 7a4cb1349dd35c18144ad5934525cfb9436792f9
Author: José Fonseca <jfonseca@vmware.com>
Date: Tue May 22 11:54:14 2012 +0100

gallivm: Fix build on Windows.

MC-JIT not yet supported there.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>

commit afd105fc16bb75d874e418046b80d9cc578818a1
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 16:17:26 2012 +0100

llvmpipe: Added a error counter to lp_test_conv.

Useful for keeping track of progress when fixing errors!

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit b644907d08c10a805657841330fc23db3963d59c
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 16:16:46 2012 +0100

llvmpipe: Changed known failures in lp_test_conv.

To comply with the recent fixes to lp_bld_conv.

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit d7061507bd94f6468581e218e61261b79c760d4f
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 16:14:38 2012 +0100

llvmpipe: Added fixed point types tests to lp_test_conv.

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit 146b3ea39b4726dbe125ac666bd8902ea3d6ca8c
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 16:26:35 2012 +0100

llvmpipe: Changed lp_test_conv src/dst alignment to be correct.

Now based on the define rather than a fixed number.

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit f3b57441f834833a4b142a951eb98df0aa874536
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 16:06:44 2012 +0100

gallivm: Fixed erroneous optimisation in lp_build_min/max.

Previously assumed normalised was 0 to 1, but it can be -1 to 1
if type is signed.
Tested with lp_test_conv and lp_test_format, reduced errors.

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit a0613382e5a215cd146bb277646a6b394d376ae4
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 16:04:49 2012 +0100

gallivm: Compensate for lp_const_offset in lp_build_conv.

Fixing a /*FIXME*/ to remove errors in integer conversion in lp_build_conv.
Tested using lp_test_conv and lp_test_format, reduced errors.

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit a3d2bf15ea345bc8a0664f8f441276fd566566f3
Author: James Benton <jbenton@vmware.com>
Date: Fri May 18 16:01:25 2012 +0100

gallivm: Fixed overflow in lp_build_clamped_float_to_unsigned_norm.

Tested with lp_test_conv and lp_test_format, reduced errors.

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit e7b1e76fe237613731fa6003b5e1601a2e506207
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon May 21 20:07:51 2012 +0100

gallivm: Fix build with LLVM 2.6

Trivial, and useful.

commit d3c6bbe5c7f5ba1976710831281ab1b6a631082d
Author: José Fonseca <jfonseca@vmware.com>
Date: Tue May 15 17:15:59 2012 +0100

gallivm: Enable MCJIT/AVX with vanilla LLVM 3.1.

Add the necessary C++ glue, so that we don't need any modifications
to the soon to be released LLVM 3.1.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>

commit 724a019a14d40fdbed21759a204a2bec8a315636
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon May 14 22:04:06 2012 +0100

gallivm: Use HAVE_LLVM 0x0301 consistently.

commit af6991e2a3868e40ad599b46278551b794839748
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon May 14 21:49:06 2012 +0100

gallivm: Add MCRegisterInfo.h to silence benign warnings about missing implementation.

Trivial.

commit 6f8a1d75458daae2503a86c6b030ecc4bb494e23
Author: Vinson Lee <vlee@freedesktop.org>
Date: Mon Apr 2 22:14:15 2012 -0700

gallivm: Pass in a MCInstrInfo to createMCInstPrinter on llvm-3.1.

llvm-3.1svn r153860 makes MCInstrInfo available to the MCInstPrinter.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>

commit 62555b6ed8760545794f83064e27cddcb3ce5284
Author: Vinson Lee <vlee@freedesktop.org>
Date: Tue Mar 27 21:51:17 2012 -0700

gallivm: Fix method overriding in raw_debug_ostream.

Use matching type qualifers to avoid method hiding.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit 6a9bd784f4ac68ad0a731dcd39e5a3c39989f2be
Author: Vinson Lee <vlee@freedesktop.org>
Date: Tue Mar 13 22:40:52 2012 -0700

gallivm: Fix createOProfileJITEventListener namespace with llvm-3.1.

llvm-3.1svn r152620 refactored the OProfile profiling code.
createOProfileJITEventListener was moved from the llvm namespace to the
llvm::JITEventListener namespace.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>

commit b674955d39adae272a779be85aa1bd665de24e3e
Author: Vinson Lee <vlee@freedesktop.org>
Date: Mon Mar 5 22:00:40 2012 -0800

gallivm: Pass in a MCRegisterInfo to MCInstPrinter on llvm-3.1.

llvm-3.1svn r152043 changes createMCInstPrinter to take an additional
MCRegisterInfo argument.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>

commit 11ab69971a8a31c62f6de74905dbf8c02884599f
Author: Vinson Lee <vlee@freedesktop.org>
Date: Wed Feb 29 21:20:53 2012 -0800

Revert "gallivm: Change getExtent and readByte to non-const with llvm-3.1."

This reverts commit d5a6c172547d8964f4d4bb79637651decaf9deee.

llvm-3.1svn r151687 makes MemoryObject accessor members const again.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>

commit 339960c82d2a9f5c928ee9035ed31dadb7f45537
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon May 14 16:19:56 2012 +0200

gallivm: (trivial) fix assertion failure for mipmapped 1d textures

In lp_build_rho, we may end up with a 1-element vector (for mipmapped 1d
textures), but in this case we require the type to be a non-vector type,
so need a cast.

commit 9d73edb727bd6d196030dc3026b7bf0c574b3e19
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu May 10 18:12:07 2012 +0200

gallivm: prepare for per-quad lod calculations for large vectors

to be able to handle multiple quads at once in texture sampling and still
do lod calculations per quad, it is necessary to get the per-quad derivatives
into the lp_build_rho function.
Until now these derivative values were just scalars, which isn't going to work.
So we now use vectors, and since the interface needs to change we also do some
different (slightly more efficient) packing of the values.
For 8-wide vectors the packed derivative values for 3 coords would look like
this, this scales to a arbitrary (multiple of 4) vector size:
ds1dx ds1dy dt1dx dt1dy ds2dx ds2dy dt2dx dt2dy
dr1dx dr1dy _____ _____ dr2dx dr2dy _____ _____
The second vector will be unused for 1d and 2d textures.
To facilitate future changes the derivative values are put into a struct, since
quite some functions just pass these values through.
The generated code seems to be very slightly better for 2d textures (with
4-wide vectors) than before with sse2 (if you have a cpu with physical 128bit
simd units - otherwise it's probably not a win).
v2: suggestions from José, rename variables, add comments, use swizzle helper

commit 0aa21de0d31466dac77b05c97005722e902517b8
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu May 10 18:10:31 2012 +0200

gallivm: add undefined swizzle handling to lp_build_swizzle_aos

This is useful for vectors with "holes", it lets llvm choose the most
efficient shuffle instructions if some elements aren't needed without having to
worry what elements to manually pick otherwise.

commit 00faf3f370e7ce92f5ef51002b0ea42ef856e181
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri May 4 17:25:16 2012 +0100

gallivm: Get the LLVM IR optimization passes before JIT compilation.

MC-JIT engine compiles the module immediately on creation, so the optimization
passes were being run too late.

So now we create a target data layout from a string, that matches the
ABI parameters reported by the compiler.

The backend optimization passes were always been run, so the performance
improvement is modest (3% on multiarb mesa demo).

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>

commit 40a43f4e2ce3074b5ce9027179d657ebba68800a
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed May 2 16:03:54 2012 +0200

gallivm: (trivial) fix wrong define used in lp_build_pack2

should fix stack-smashing crashes.

commit e6371d0f4dffad4eb3b7a9d906c23f1c88a2ab9e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Apr 30 21:25:29 2012 +0200

gallivm: add perf warnings when not using intrinsics with 256bit vectors

Helper functions using integer sse2 intrinsics could split the vectors with AVX
instead of using generic fallback (which should be faster).
We don't actually expect to hit these paths (hence don't fix them up to actually
do the vector splitting) so just emit warnings (for those functions where it's
obvious doing split/intrinsic is faster than using generic path).
Only emit warnings for 256bit vectors since we _really_ don't expect to hit
arbitrary large vectors which would affect a lot more functions.
The warnings do not actually depend on avx since the same logic applies to
plain sse2 too (but of course again there's _really_ no reason we should hit
these functions with 256bit vectors without avx).

commit 8a9ea701ea7295181e846c6383bf66a5f5e47637
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue May 1 20:37:07 2012 +0200

gallivm: split vectors manually for avx in lp_build_pack2 (v2)

There's 2 reasons for this:
First, there's a llvm bug (fixed in 3.1) which generates tons of byte
inserts/extracts otherwise, and second, more importantly, we want to use
pack intrinsics instead of shuffles.
We do this in lp_build_pack2 and not the calling code (aos sample path)
because potentially other callers might find that useful too, even if
for larger sequences of code using non-native vector sizes it might be
better to manually split vectors.
This should boost texture performance in the aos path considerably.
v2: fix issues with intrinsics types with old llvm

commit 27ac5b48fa1f2ea3efeb5248e2ce32264aba466e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue May 1 20:26:22 2012 +0200

llvmpipe: refactor lp_build_pack2 (v2)

prettify, and it's unnecessary to assert when there's no intrinsic due to
unsupported bit width - the shuffle path will work regardless.
In contrast lp_build_packs2, should only rely on lp_build_pack2 doing the
clamping for element sizes for which there is a sse2 intrinsic.
v2: fix bug spotted by Jose regarding the intrinsic type for packusdw
on old llvm versions.

commit ddf279031f0111de4b18eaf783bdc0a1e47813c8
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue May 1 20:13:59 2012 +0200

gallivm: add src width check in lp_build_packs2()

not doing so would skip clamping even if no sse2 pack instruction is
available, which is incorrect (in theory only, such widths would also always
hit a (unnecessary) assertion in lp_build_pack2().

commit e7f0ad7fe079975eae7712a6e0c54be4fae0114b
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Apr 27 15:57:00 2012 +0200

gallivm: (trivial) fix crash-causing typo for npot textures with avx

commit 28a9d7f6f655b6ec508c8a3aa6ffefc1e79793a0
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Apr 25 19:38:45 2012 +0200

gallivm: (trivial) remove code mistakenly added twice.

commit d5926537316f8ff67ad0a52e7242f7c5478d919b
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Apr 24 21:16:15 2012 +0200

gallivm: add a new avx aos sample path (v2)

Try to avoid mixing float and int address calculations. This does texture wrap
modes with floats, and then the offset calculations still with ints (because
of lack of precision with floats, though we could do some effort to make it work
with not too large (16MB) textures).
This also handles wrap repeat mode with npot-sized textures differently than
either the old soa or aos int path (likely way faster but untested).
Otherwise the actual address wrap code is largely similar to the soa path (not
quite the same as this one also has some int code), it should get used by avx
soa sampling later as well but doesn't handle more complex address modes yet
(this will also have the benefit that we can use aos sampling path for all
texture address modes).
Generated code for that looks reasonable, but still does not split vectors
explicitly for fetch/filter which means still get hit by llvm (fixed upstream)
which generates hundreds of pinsrb/pextrb instead of two shuffles.
It is not obvious though if it's much of a win over just doing address calcs
4-wide but with ints, even if it is definitely much less instructions on avx.
piglit's texwrap seems to look exactly the same but doesn't test
neither the non-normalized nor the npot cases.
v2: fix comments, prettify based on Brian's and Jose's feedback.

commit bffecd22dea66fb416ecff8cffd10dd4bdb73fce
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Apr 19 01:58:29 2012 +0200

gallivm: refactor aos lp_build_sample_image_nearest/linear

split them up to separate address calculations and fetching/filtering.
Need this for being able to do 8-wide float address calcs and 4-wide
fetch/filter later (for avx). Plus the functions were very big scary monsters
anyway (in particular lp_build_sample_image_linear).

commit a80b325c57529adddcfa367f96f03557725c4773
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Apr 16 17:17:18 2012 +0200

gallivm: fix lp_build_resize when truncating width but expanding vector size

Missed this case which I thought was impossible - the assertion for it was
right after the division by zero...
(AoS) texture sampling may ask us to do this, for things like 8 4x32int
vectors to 1 32x8int vector conversion (eventually, we probably don't want
this to happen).

commit f9c8337caa3eb185830d18bce8b95676a065b1d7
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Apr 14 18:00:59 2012 +0200

gallivm: fix cube maps with larger vectors

This makes the branchless cube face selection code work with larger vectors.
Because the complexity is quite high (cannot really be improved it seems,
per-face selection would reduce complexity a lot but this leads to errors
unless the derivatives are calculated all from the same face which almost
doubles the work to be done) it is still slower than the branching version,
hence only enable this with large vectors.
It doesn't actually do per-quad face selection yet (only makes sense with
matching lod selection, in fact it will select the same face for all pixels
based on the average of the first four pixels for now) but only different
shuffles are required to make it work (the branching version actually should
work with larger vectors too now thanks to the improved horizontal add but of
course it cannot be extended to really select the face per-quad unless doing
branching per quad).

commit 7780c58869fc9a00af4f23209902db7e058e8a66
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Mar 30 21:11:12 2012 +0100

llvmpipe: (trivial) fix compiler warning

and also clarify comment regarding availability of popcnt instruction.

commit a266dccf477df6d29a611154e988e8895892277e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Mar 30 14:21:07 2012 +0100

gallivm: remove unneeded members in lp_build_sample_context

Minor cleanup, the texture width, height, depth aren't accessed in their
scalar form anywhere. Makes it more obvious those values should probably be
fetched already vectorized (but this requires more invasive changes)...

commit b678c57fb474e14f05e25658c829fc04d2792fff
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Mar 29 15:53:55 2012 +0100

gallivm: add a helper for concatenating vectors

Similar to the extract_range helper intended to get around slow code generated
by llvm for 128bit insertelements.
Concatenating two 128bit vectors this way will result in a single vinsertf128
operation rather than two 64bit stores plus one 128bit load, though it might be
mildly useful for other purposes as well.

commit 415ff228bcd0cf5e44a4c15350a661f0f5520029
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 28 19:41:15 2012 +0100

gallivm: add a custom 2x8f->1x16ub avx conversion path

Similar to the existing 4x4f->1x16ub sse2 path, shaves off a couple
instructions (min/max mostly) because it relies on pack intrinsics clamping.

commit 78c08fc89f8fbcc6dba09779981b1e873e2a0299
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 28 18:44:07 2012 +0100

gallivm: add avx arithmetic intrinsics

Add all avx intrinsics for arithmetic functions (with the exception
of the horizontal add function which needs another look).
Seems to pass basic tests.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

commit a586caa2800aa5ce54c173f7c0d4fc48153dbc4e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 28 15:31:35 2012 +0100

gallivm: add avx logic intrinsics

Add the blend intrinsics for 8-wide float and 4-wide double vectors.
Since we lack 256bit int instructions these are used for int vectors as well,
though obviously not for byte or word element values.
The comparison intrinsics aren't extended for avx since these are only used
for pre-2.7 llvm versions.

commit 70275e4c13c89315fc2560a4c488c0e6935d5caf
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 28 00:40:53 2012 +0100

gallivm: new helper function for extract shuffles.

Based on José's idea as we can need that in a couple places.
Note that such shuffles should not be used lightly, since data layout
of <4 x i8> is different to <16 x i8> for instance, hence might cause
data rearrangement.

commit 4d586dbae1b0c55915dda1759d2faea631c0a1c2
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 27 18:27:25 2012 +0100

gallivm: (trivial) don't overallocate shuffle variable

using wrong define meant huge array...

commit 06b0ec1f6d665d98c135f9573ddf4ba04b2121ad
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 27 17:54:20 2012 +0100

gallivm: don't do per-element extract/insert for vector element resize

Instead of doing per-element extract/insert if the src vectors
and dst vector differ in total size (which generates atrocious code)
first change the src vectors size by using shuffles to destination
vector size.
We can still do better than that on AVX for packing to color buffer
(by exploiting pack intrinsics characteristics hence eleminating the
need for some clamps) but this already generates much better code.

v2: incorporate feedback from José, Keith and use shuffle instead of
bitcasts/extracts. Due to llvm deficiencies the latter cause all data
to get moved to GPRs and back in pieces (even though the data in the
regs actually stays the same...).

commit c9970d70e05f95d3f52fe7d2cd794176a52693aa
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Mar 23 19:33:19 2012 +0000

gallivm: fix bug in simple position interpolation

Accidental use of position attribute instead of just pixel coordinates.
Caused failures in piglit glsl-fs-ceil and glsl-fs-floor.

commit d0b6fcdb008d04d7f73d3d725615321544da5a7e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Mar 23 15:31:14 2012 +0000

gallivm: fix emission of ceil opcode

lp_build_ceil seems more appropriate than lp_build_trunc.
This seems to be never hit though someone performs some ceil
to floor magic.

commit d97fafed7e62ffa6bf76560a92ea246a1a26d256
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Mar 22 11:46:52 2012 +0000

gallivm: new vectorized path for cubemap calculations

should be faster when adapted to multiple quads as only selection masks need to be different.
The code is more or less a per-pixel version adapted to only do it per quad.
A per pixel version would be much simpler (could drop 2 selects, 6 broadcasts and the messy
horizontal add of 3 vectors at the expense of only 2 more absolute value instructions -
would also just work for arbitary large vectors).
This version doesn't yet work with larger vectors because the horizontal add isn't adjusted
to be able to work with 2x4 vectors (and also because face selection wouldn't be done per
quad just per block though that would be only a correctness issue just as with lod selection).
The downside is this code is quite a bit slower. On a Core2 it can be sped up by disabling the
hw blend instructions for selection and using logicop fallbacks instead, but it is still slower
than the old code, hence leave that in for now. Probably will chose one or the other version
based on vector length in the end.

commit b375fbb18a3fd46859b7fdd42f3e9908ea4ff9a3
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 21 14:42:29 2012 +0000

gallivm: fix optimized occlusion query intrinsic name

commit a9ba0a3b611e48efbb0e79eb09caa85033dbe9a2
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Mar 21 16:19:43 2012 +0000

draw,gallivm,llvmpipe: Call gallivm_verify_function everywhere.

commit f94c2238d2bc7383e088b8845b7410439a602071
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 20 18:54:10 2012 +0000

gallivm: optimize calculations for cube maps a bit

this does some more vectorized calculations and uses horizontal adds if possible.
A definite win with sse3 otherwise it doesn't seem to make much of a difference.
In any case this is arithmetically identical, cannot handle larger vectors.
Should be useful as a reference point against larger vector version later...

commit 21a2c1cf3c8e1ac648ff49e59fdc0e3be77e2ebb
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 20 15:16:27 2012 +0000

llvmpipe: slight optimization of occlusion queries

using movmskps when available.
While this is slightly better for cpus without popcnt we should
really sum the vectors ourselves (it is also possible to cast to i4 before
doing the popcnt but that doesn't help that much neither since llvm
is using some optimized popcnt version for i32)

commit 5ab5a35f216619bcdf55eed52b0db275c4a06c1b
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 20 13:32:11 2012 +0000

llvmpipe: fix occlusion queries with larger vectors

need to adjust casts etc.

commit ff95e6fdf5f16d4ef999ffcf05ea6e8c7160b0d5
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon Mar 19 20:15:25 2012 +0000

gallivm: Restore optimization passes.

commit 57b05b4b36451e351659e98946dae27be0959832
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 19:34:22 2012 +0000

llvmpipe: use existing min2 macro

commit bc9a20e19b4f600a439f45679451f2e87cd4b299
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 19:07:27 2012 +0000

llvmpipe: add some safeguards against really large vectors

As per José's suggestion, prevent things from blowing up if some cpu
would have 1024bit or larger vectors.

commit 0e2b525e5ca1c5bbaa63158bde52ad1c1564a3a9
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 18:31:08 2012 +0000

llvmpipe: fix mask generation for uberwide vectors

this was the only piece preventing 16-wide vectors from working
(apart from the LP_MAX_VECTOR_WIDTH define that is), which is the maximum
as we don't get more pixels in the fragment shader at once.
Hence adjust that so things could be tested properly with that size
even though there seems to be no practical value.

commit 3c8334162211c97f3a11c7f64e9e5a2a91ad9656
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 18:19:41 2012 +0000

llvmpipe: fix the simple interpolation method with larger vectors

so both methods actually _really_ work now. Makes textures look
nice with larger vectors...

commit 1cb0464ef8871be1778d43b0c56adf9c06843e2d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 17:26:35 2012 +0000

llvmpipe: fix mask generation and position interpolation with 8-wide vectors

trivial bugs, with these things start to look somewhat reasonable.
Textures though have some swizzling issues it seems.

commit 168277a63ef5b72542cf063c337f2d701053ff4b
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 16:04:03 2012 +0000

llvmpipe: don't overallocate variables

we never have more than 16 (stamp size) / 4 (minimum possible vector size).
(With larger vectors those variables are still overallocated a bit.)

commit 409b54b30f81ed0aa9ed0b01affe15c72de9abd2
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 15:56:48 2012 +0000

llvmpipe: add some 32f8 formats to lp_test_conv

Also add the ability to handle different sized vectors.

commit 55dcd3af8366ebdac0af3cdb22c2588f24aa18ce
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Mar 19 15:47:27 2012 +0000

gallivm: handle different sized vectors in conversion / pack

only fully generic path for now (extract/insert per element).

commit 9c040f78c54575fcd94a8808216cf415fe8868f6
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sun Mar 18 00:58:28 2012 +0100

llvmpipe: fix harmless use of unitialized values

commit 551e9d5468b92fc7d5aa2265db9a52bb1e368a36
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Mar 16 23:31:21 2012 +0100

gallivm: drop special path in extract_broadcast with different sized vectors

Not needed, llvm can handle shuffles with different sized result vector just
fine. Should hopefully generate the same code in the end, but simpler IR.

commit 44da531119ffa07a421eaa041f63607cec88f6f8
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Mar 16 23:28:49 2012 +0100

llvmpipe: adapt interpolation for handling multiple quads at once

this is still WIP there are actually two methods possible not quite
sure what makes the most sense, so there's code for both for now:
1) the iterative method as used before (compute attrib values at upper left
corner of stamp and upper left corner of each quad initially).
It is improved to handle more than one quad at once, and also do some more vectorized
calculations initially for slightly better code - newer cpus have full throughput with
4 wide float vectors, hence don't try to code up a path which might be faster if there's
just one channel active per attribute.
2) just do straight interpolation for each pixel.
Method 2) is more work per quad, but less initially - if all quads are executed
significantly more overall though. But this might change with larger vector lengths.
This method would also be needed if we'd do some kind of active quad merging when
operating on multiple quads at once.
This path contains some hack to force llvm to generate better code, it is still far
from ideal though, still generates far too many unnecessary register spills/reloads.
Both methods should work with different sized vectors.
Not very well tested yet, still seems to work with four-wide vectors, need changes
elsewhere to be able to test with wider vectors.

commit be5d3e82e2fe14ad0a46529ab79f65bf2276cd28
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri Mar 16 20:59:37 2012 +0000

draw: Cleanup.

commit f85bc12c7fbacb3de2a94e88c6cd2d5ee0ec0e8d
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri Mar 16 20:43:30 2012 +0000

gallivm: More module compilation refactoring.

commit d76f093198f2a06a93b2204857e6fea5fd0b3ece
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Mar 15 21:29:11 2012 +0000

llvmpipe: Use gallivm_compile/free_function() in linear code.

Should had been done before.

commit 122e1adb613ce083ad739b153ced1cde61dfc8c0
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 13 14:47:10 2012 +0100

llvmpipe: generate partial pixel mask for multiple quads

still works with one quad, cannot be tested yet with more
At least for now always fixed order with multiple quads.

commit 4c4f15081d75ed585a01392cd2dcce0ad10e0ea8
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Mar 8 22:09:24 2012 +0100

llvmpipe: refactor state setup a bit

Refactor to make it easier to emit (and potentially later fetch in fs)
coefficients for multiple attributes at once.
Need to think more about how to make this actually happen however, the
problem is different attributes can have different interpolation modes,
requiring different handling in both setup and fs (though linear and
perspective handling is close).

commit 9363e49722ff47094d688a4be6f015a03fba9c79
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Mar 8 19:23:23 2012 +0100

llvmpipe: vectorize tri offset calc

cuts number of instructions in quad-offset-factor from 107 to 75.
This code actually duplicated the (scalar) code calculating the determinant
except it used different vertex order (leading to different sign but it doesn't
matter) hence llvm could not have figured out it's the same (of course with
determinant vectorized in the other place that wouldn't have worked any longer
neither).
Note this particular piece doesn't actually vectorize well, not many arithmetic
instructions left but tons of shuffle instructions...
Probably would need to work on n tris at a time for better vectorization.

commit 63169dcb9dd445c94605625bf86d85306e2b4297
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Mar 8 03:11:37 2012 +0100

llvmpipe: vectorize some scalar code in setup

reduces number of arithmetic instructions, and avoids loading
vector x,y values twice (once as scalars once as vectors).
Results in a reduction of instructions from 76 to 64 in fs setup for glxgears
(16%) on a cpu with sse41.
Since this code uses vec2 disguised as vec4, on old cpus which had physical
64bit sse units (pre-Core2) it probably is less of a win in practice (and if
you have no vectors you can only hope llvm eliminates the arithmetic for
unneeded elements).

commit 732ecb877f951ab89bf503ac5e35ab8d838b58a1
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Mar 7 00:32:24 2012 +0100

draw: fix clipping

bug introduced by 4822fea3f0440b5205e957cd303838c3b128419c broke
clipping pretty badly (verified with lineclip test)

commit ef5d90b86d624c152d200c7c4056f47c3c6d2688
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 6 23:38:59 2012 +0100

draw: don't store vertex header per attribute

storing the vertex header once per attribute is totally unnecessary.
Some quick look at the generated assembly says llvm in fact cannot optimize
away the additional stores (maybe due to potentially aliasing pointers
somewhere).
Plus, this makes the code cleaner and also allows using a vector "or"
instead of scalar ones.

commit 6b3a5a57b0b9850854cfbd7b586e4e50102dda71
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Mar 6 19:11:01 2012 +0100

draw: do the per-vertex "boolean" clipmask "or" with vectors

no point extracting the values and doing it per component.
Doesn't help that much since we still extract the values elsewhere anyway.

commit 36519caf1af40e4480251cc79a2d527350b7c61f
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Mar 2 22:27:01 2012 +0100

gallivm: fix lp_build_extract_broadcast with different sized vectors

Fix the obviously wrong argument, so it doesn't blow up.

commit 76d0ac3ad85066d6058486638013afd02b069c58
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri Mar 2 12:16:23 2012 +0000

draw: Compile per module and not per function (WIP).

Enough to get gears w/ LLVM draw + softpipe to work on AVX doing:

GALLIUM_DRIVER=softpipe SOFTPIPE_USE_LLVM=yes glxgears

But still hackish -- will need to rethink and refactor this.

commit 78e32b247d2a7a771be9a1a07eb000d1e54ea8bd
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Feb 29 12:01:05 2012 +0000

llvmpipe: Remove lp_state_setup_fallback.

Never used.

commit 6895d5e40d19b4972c361e8b83fdb7eecda3c225
Author: José Fonseca <jfonseca@vmware.com>
Date: Mon Feb 27 19:14:27 2012 +0000

llvmpipe: Don't emit EMMS on x86

We already take precautions to ensure that LLVM never emits MMX code.

commit 4822fea3f0440b5205e957cd303838c3b128419c
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Feb 29 15:58:19 2012 +0100

draw: modifications for larger vector sizes

We want to be able to use larger vectors especially for running the vertex
shader. With this patch we build soa vectors which might have a different
length than 4.
Note that aos structures really remain the same, only when aos structures
are converted to soa potentially different sized vectors are used.
Samplers probably don't work yet, didn't look at them.
Testing done:
glxgears works with both 128bit and 256bit vectors.

commit f4950fc1ea784680ab767d3dd0dce589f4e70603
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Feb 29 15:51:57 2012 +0100

gallivm: override native vector width with LP_NATIVE_VECTOR_WIDTH env var for debug

commit 6ad6dbf0c92f3bf68ae54e5f2aca035d19b76e53
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Feb 29 15:51:24 2012 +0100

draw: allocate storage with alignment according to native vector width

commit 7bf0e3e7c9bd2469ae7279cabf4c5229ae9880c1
Author: José Fonseca <jfonseca@vmware.com>
Date: Fri Feb 24 19:06:08 2012 +0000

gallivm: Fix comment grammar.

Was missing several words. Spotted by Roland.

commit b20f1b28eb890b2fa2de44a0399b9b6a0d453c52
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 19:22:09 2012 +0000

gallivm: Use MC-JIT on LLVM 3.1 + (i.e, SVN)

MC-JIT

Note: MC-JIT is still WIP. For this to work correctly it requires
LLVM changes which are not yet upstream.

commit b1af4dfcadfc241fd4023f4c3f823a1286d452c0
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Feb 23 20:03:15 2012 +0100

llvmpipe: use new lp_type_width() helper in lp_test_blend

commit 04e0a37e888237d4db2298f31973af459ef9c95f
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Feb 23 19:50:34 2012 +0100

llvmpipe: clean up lp_test_blend a little

Using variables just sized and aligned right makes it a bit more obvious
what's going on.
The test still only tests vector length 4.
For AoS anything else probably isn't going to work.
For SoA other lengths should work (at least with floats).

commit e61c393d3ec392ddee0a3da170e985fda885a823
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 17:48:30 2012 +0000

gallivm: Ensure vector width consistency.

Instead of assuming that everything is the max native size.

commit 330081ac7bc41c5754a92825e51456d231bf84dd
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 17:44:14 2012 +0000

draw: More simd vector width consistency fixes.

commit d90ca002753596269e37297e2e6c139b19f29f03
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 17:43:00 2012 +0000

gallivm: Remove unused lp_build_int32_vec4_type() helper.

commit cae23417824d75869c202aaf897808d73a2c1db0
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Feb 23 17:32:16 2012 +0100

gallivm: use global variable for native vector width instead of define

We do not know the simd extensions (and hence the simd width we should use)
available at compile time.
At least for now keep a define for maximum vector width, since a global
variable obviously can't be used to adjust alignment of automatic stack
variables.
Leave the runtime-determined value at 128 for now in all cases.

commit 51270ace6349acc2c294fc6f34c025c707be538a
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 15:41:02 2012 +0000

gallivm: Add a hunk inadvertedly lost when rebasing.

commit bf256df9cfdd0236637a455cbaece949b1253e98
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 14:24:23 2012 +0000

llvmpipe: Use consistent vector width in depth/stencil test.

commit 5543b0901677146662c44be2cfba655fd55da94b
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 14:19:59 2012 +0000

draw: Use a consistent the vector register width.

Instead of 4x32 sometimes, LP_NATIVE_VECTOR_WIDTH other times.

commit eada8bbd22a3a61f549f32fe2a7e408222e5c824
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 12:08:04 2012 +0000

gallivm: Remove garbagge collection.

MC-JIT will require one compilation per module (as opposed to one
compilation per function), therefore no state will be shared,
eliminating the need to do garbagge collection.

commit 556697ea0ed72e0641851e4fbbbb862c470fd7eb
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 10:33:41 2012 +0000

gallivm: Move all native target initialization to lp_set_target_options().

commit c518e8f3f2649d5dc265403511fab4bcbe2cc5c8
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 09:52:32 2012 +0000

llvmpipe: Create one gallivm instance for each test.

commit 90f10af8920ec6be6f2b1e7365cfc477a0cb111d
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 09:48:08 2012 +0000

gallivm: Avoid LLVMAddGlobalMapping() in lp_bld_assert().

Brittle, complex, and unecesary. Just use function pointer constant.

commit 98fde550b33401e3fe006af59db4db628bcbf476
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 09:21:26 2012 +0000

gallivm: Add a lp_build_const_func_pointer() helper.

To be reused in all places where we want to call C code.

commit 6cfedadb62c2ce5af8d75969bc95a607f3ece118
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 09:44:41 2012 +0000

gallivm: Cleanup/simplify lp_build_const_string_variable.

- Move to lp_bld_const where it belongs
- Rename to lp_build_const_string
- take the length from the argument (and don't count the zero terminator twice)
- bitcast the constant to generic i8 *

commit db1d4018c0f1fa682a9da93c032977659adfb68c
Author: José Fonseca <jfonseca@vmware.com>
Date: Thu Feb 23 11:52:17 2012 +0000

gallivm: Set NoFramePointerElimNonLeaf to true where supported.

commit 088614164aa915baaa5044fede728aa898483183
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Feb 22 19:38:47 2012 +0100

llvmpipe: pass in/out pointers rather scalar floats in lp_bld_arit

we don't want llvm to potentially optimize away the vectors (though it doesn't
seem to currently), plus we want to be able to handle in/out vectors of arbitrary
length.

commit 3f5c4e04af8a7592fdffa54938a277c34ae76b51
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Feb 21 23:22:55 2012 +0100

gallivm: fix lp_build_sqrt() for vector length 1

since we optimize away vectors with length 1 need to emit intrinsic
without vector type.

commit 79d94e5f93ed8ba6757b97e2026722ea31d32c06
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Feb 22 17:00:46 2012 +0000

llvmpipe: Remove lp_test_round.

commit 81f41b5aeb3f4126e06453cfc78990086b85b78d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Feb 21 23:56:24 2012 +0100

llvmpipe: subsume lp_test_round into lp_test_arit

Much simpler, and since the arguments aren't passed as 128bit values can run
on any arch.
This also uses the float instead of the double versions of the c functions
(which probably was the intention anyway).
In contrast to lp_test_round the output is much less verbose however.
Tested vector width of 32 to 512 bits - all pass except 32 (length 1) which
crashes in lp_build_sqrt() due to wrong type.

Signed-off-by: José Fonseca <jfonseca@vmware.com>

commit 945b338b421defbd274481d8c4f7e0910fd0e7eb
Author: José Fonseca <jfonseca@vmware.com>
Date: Wed Feb 22 09:55:03 2012 +0000

gallivm: Centralize the function compilation logic.

This simplifies a lot of code.

Also doing this in a central place will make it easier to carry out the
changes necessary to use MC-JIT in the future.

gallivm: Fix typo in explicit derivative shuffle.

Trivial.

draw: make DEBUG_STORE work again

adapt to lp_build_printf() interface changes

Reviewed-by: José Fonseca <jfonseca@vmware.com>

draw: get rid of vecnf_from_scalar()

just use lp_build_broadcast directly (cannot assign a name but don't really
need it, vecnf_from_scalar() was producing much uglier IR due to using
repeated insertelement instead of insertelement+shuffle).

Reviewed-by: José Fonseca <jfonseca@vmware.com>

llvmpipe: fix typo in complex interpolation code

Fixes position interpolation when using complex mode
(piglit fp-fragment-position and similar)

Reviewed-by: José Fonseca <jfonseca@vmware.com>

draw: fix clipvertex/position storing again

This appears to be the result of a bad merge.
Fixes piglit tests relying on clipping, like a lot of the interpolation tests.

Reviewed-by: José Fonseca <jfonseca@vmware.com>

gallivm: Fix explicit derivative manipulation.

Same counter variable was being used in two nested loops. Use more
meanigful variable names for the counter to fix and avoid this.

gallivm: Prevent buffer overflow in repeat wrap mode for NPOT.

Based on Roland's patch, discussion, and review .

Reviewed-by: Roland Scheidegger <sroland@vmware.com>

gallivm: Fix dims for TGSI_TEXTURE_1D in emit_tex.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>

gallivm: Fix explicit volume texture derivatives.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>

gallivm: fix 1d shadow texture sampling

Always r coordinate is used, hence need 3 coords not two
(the second one is unused).

Reviewed-by: José Fonseca <jfonseca@vmware.com>

gallivm: Enable AVX support without MCJIT, where available.

For now, this just enables AVX on Windows for testing. If the code is
stable then we might consider prefering the old JIT wherever possible.

No change elsewhere.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
akefile.sources
raw/draw_context.c
raw/draw_context.h
raw/draw_llvm.c
raw/draw_llvm.h
raw/draw_llvm_sample.c
raw/draw_llvm_translate.c
raw/draw_private.h
raw/draw_pt_fetch_shade_pipeline_llvm.c
allivm/lp_bld_arit.c
allivm/lp_bld_arit.h
allivm/lp_bld_const.c
allivm/lp_bld_conv.c
allivm/lp_bld_conv.h
allivm/lp_bld_debug.cpp
allivm/lp_bld_flow.c
allivm/lp_bld_format.h
allivm/lp_bld_format_aos.c
allivm/lp_bld_format_aos_array.c
allivm/lp_bld_format_soa.c
allivm/lp_bld_format_yuv.c
allivm/lp_bld_init.c
allivm/lp_bld_init.h
allivm/lp_bld_intr.c
allivm/lp_bld_intr.h
allivm/lp_bld_logic.c
allivm/lp_bld_logic.h
allivm/lp_bld_misc.cpp
allivm/lp_bld_misc.h
allivm/lp_bld_pack.c
allivm/lp_bld_pack.h
allivm/lp_bld_quad.c
allivm/lp_bld_quad.h
allivm/lp_bld_sample.c
allivm/lp_bld_sample.h
allivm/lp_bld_sample_aos.c
allivm/lp_bld_sample_aos.h
allivm/lp_bld_sample_soa.c
allivm/lp_bld_swizzle.c
allivm/lp_bld_swizzle.h
allivm/lp_bld_tgsi.h
allivm/lp_bld_tgsi_aos.c
allivm/lp_bld_tgsi_soa.c
allivm/lp_bld_type.c
allivm/lp_bld_type.h
til/u_cpu_detect.h
ba9c1773d77afc71adc7bad3d8c326b104c5e094 13-Jul-2012 José Fonseca <jfonseca@vmware.com> gallivm: Allow to force nearest filtering on a per-axis basis.

Experimental code, not really used yet.
allivm/lp_bld_sample.h
allivm/lp_bld_sample_aos.c
d7458e401e97aea882309855cc72730aa3b39920 11-Jul-2012 Chad Versace <chad.versace@linux.intel.com> gallium/util, mesa: Refactor etc1 unpack function

Move the body of util_etc1_rgb8_unpack_rgba_unorm8 into a new function
that can be shared between gallium and dri drivers,
texcompress_etc_tmp.h:etc1_unpack_rgba8888.

CC: Chia-I <olv@lunarg.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
til/u_format_etc.c
6dddd184803da5f67f69e7c243dbb596b4dd4b9d 12-Jul-2012 José Fonseca <jfonseca@vmware.com> draw,gallivm: Fix draw_get_shader_param.

- Use LLVM limits when LLVM is being used, instead of TGSI limits
- Provide draw_get_shader_param_no_llvm for when llvm is never used (softpipe)
- Eliminate several of the hacks around draw shader caps in several drivers

Unfortunately the hack for PIPE_MAX_VERTEX_SAMPLERS is still necessary.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
raw/draw_context.c
raw/draw_context.h
allivm/lp_bld_limits.h
978807ef0153be27e4df19691e3d5f7d7a2a472b 11-Jul-2012 José Fonseca <jfonseca@vmware.com> gallivm: Use %.9g to print floats.

So that we can see them in their full denormalized glory.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
allivm/lp_bld_printf.c
5ba15d8d38d98cb7b625fa55e7d818ef9c6629ce 09-Jul-2012 Marek Olšák <maraeo@gmail.com> st/mesa: implement accelerated stencil blitting using shader stencil export

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
ostprocess/pp_mlaa.c
ostprocess/pp_run.c
til/u_blit.c
til/u_blit.h
a7f3697eb849376dda23556df479127909cb7fd4 09-Jul-2012 Marek Olšák <maraeo@gmail.com> st/mesa: set colormask to zero when blitting depth

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
til/u_blit.c
5a74e17ab0f5ec864c18bc74f951e18d3ecc136f 09-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blit: remove useless memset calls

the structure is calloc'd.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
til/u_blit.c
24e0a2633512afa3208969520b9e29a8b974275d 09-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blit: drop not-very-useful wrapper around util_blit_pixels_writemask

just rename it to util_blit_pixels

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
ostprocess/pp_mlaa.c
ostprocess/pp_run.c
til/u_blit.c
til/u_blit.h
3f13b5da1510bff8ceaf6718e4b21936d3180376 08-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blit: don't do two copies for non-2D textures

Because u_blit couldn't sample a 1D, 3D, CUBE and ARRAY texture, we created
a 2D texture holding a copy of one slice of the source texture (even for 1D).

Let's just do it right.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
til/u_blit.c
2dca61bcb357d70be2bb4f2d28321dfc5fc10c69 08-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/util: move pipe_tex_to_tgsi_tex helper function into u_inlines

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
til/u_blitter.c
til/u_inlines.h
bdaf0a085ba7b8af4cf858b31f701caf571b7c4f 08-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blitter: accelerate stencil-only copying

This doesn't seem to be used by anything yet, but better safe than sorry.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
til/u_blitter.c
til/u_simple_shaders.c
til/u_simple_shaders.h
12fd81f9e7265076a3723b09bbb49e5868bde27e 07-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blitter: accelerate depth-stencil copying using shader stencil export

This fixes stencil buffer write transfers on r600g.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
til/u_blitter.c
til/u_blitter.h
til/u_simple_shaders.c
til/u_simple_shaders.h
76db2c121c5436dc37a66d398fcaa9b26478c5ec 07-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium: add util_format_stencil_only helper function

used for stencil sampler views.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
til/u_format.h
a730838a42c62b7729691b518a134017ff2d3b42 07-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blitter: minify depth0 when initializing last_layer

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
til/u_blitter.c
91cf9fe98838f35ea939ae9e44af87410f60fae9 07-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_gen_mipmap: accelerate depth texture mipmap generation

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
til/u_gen_mipmap.c
1f50f463ebcce377fdd6d8ff6a705c36200c6eb3 07-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blitter: consolidate some state changes
til/u_blitter.c
232073b0d97756ee4b3961c99050f4e20aa29a44 06-Jul-2012 José Fonseca <jfonseca@vmware.com> target-helpers: Enable debug helpers only on debug builds.

Some of these helpers use debug_get_option, which works also on releases.
arget-helpers/inline_debug_helper.h
95ce454c8c4397a67aa038d91667882e413314d3 30-Jun-2012 Stuart Abercrombie <sabercrombie@chromium.org> gallium/util: Save and restore vertex buffer state in util_gen_mipmap.

Calling glGenerateMipmap could overwrite vertex buffer state, leading
to incorrect rendering or crashes depending on the Gallium driver.

This was happening on WebGL Conformance test texture-size.

Before 784dd51198433e5c299da4a7742c68d21d68d1c1 this was covered up
by redundant vertex buffer validation.

Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Signed-off-by: Marek Olšák <maraeo@gmail.com>
til/u_gen_mipmap.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/tgsi_ureg.c
e75fe7ba088fbdc0bdf07e074fee94d52cdd4868 29-Jun-2012 José Fonseca <jfonseca@vmware.com> gallivm: Cleanup the 4 x float -> 16 ub special path in lp_build_conv.

No behaviour change intended.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
allivm/lp_bld_conv.c
63e0e4b8f5a37f5f6a1b9a783f201d748eb312e8 02-Jul-2012 José Fonseca <jfonseca@vmware.com> gallium/util: Add ULL suffix to large constants.

As suggested by Andy Furniss: it looks like some old gcc versions
require it.
til/u_math.h
16e0ebccb61b65a58db4b3bb1a25a953515eab90 29-Jun-2012 José Fonseca <jfonseca@vmware.com> gallium/util: Truly disable INF/NAN tests on MSVC.

Thanks to Brian for spotting this.
til/u_format_tests.c
c9bada497c096ddbb4e07f3eaaeeb70afbbfcfba 29-Jun-2012 José Fonseca <jfonseca@vmware.com> gallium/util: Disable INF/NAN tests on MSVC.

Somehow they are not recognized as constants.
til/u_format_tests.c
fa8dcb848f9380e3daa3568563c23d9e21668bda 20-Jun-2012 José Fonseca <jfonseca@vmware.com> translate: Free elt8_func/elt16_func too.

These were leaking.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
ranslate/translate_sse.c
6dd8e6f9cbca63b222fe4a1c2c49ddb53e75999e 12-Jun-2012 James Benton <jbenton@vmware.com> util: Reimplement half <-> float conversions.

Removed u_half.py used to generate the table for previous method.

Previous implementation of float to half conversion was faulty for
denormalised and NaNs and would require extra logic to fix,
thus making the speedup of using tables irrelevant.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
ndroid.mk
akefile
akefile.sources
Conscript
til/.gitignore
til/u_half.h
til/u_half.py
c8d3481cdb12a10e02b23d65c73017ce5925cde7 12-Jun-2012 James Benton <jbenton@vmware.com> tests: Updated tests to properly handle NaN for half floats.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
til/u_format_tests.c
60dca53833ee6ed39d75a24af3edb0b8ac3f7e0d 22-May-2012 James Benton <jbenton@vmware.com> util: Updated u_format_tests to rigidly test half-float boundary values.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
til/u_format_tests.c
d069d8ef3835c65d1fac755b26080f284f7b7b49 22-May-2012 James Benton <jbenton@vmware.com> util: Added functions for checking NaN / Inf for double and half-floats.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
til/u_math.h
34075d4133f83e6fec31a62ee4b1b3c565abda56 18-May-2012 James Benton <jbenton@vmware.com> util: Added util_format_is_array.

This function checks whether a format description is in a simple array format.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
til/u_format.c
til/u_format.h
638779e44555b3c3789638a95693357cf59f5595 28-Jun-2012 José Fonseca <jfonseca@vmware.com> gallivm: Refactor lp_build_broadcast(_scalar) to share code.

Doesn't really change the generated assembly, but produces more compact IR,
and of course, makes code more consistent.

Reviewed-by: Brian Paul <brianp@vmware.com>
allivm/lp_bld_swizzle.c
bf679ce1dcc9cb90bb0092a550a03ad391f6ba72 28-Jun-2012 Johannes Obermayr <johannesobermayr@gmx.de> gallivm: Fix potential buffer overflowing in strncat.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_printf.c
d1c5ea9207c5ce036fda123430c40364ab8de5af 27-Jun-2012 José Fonseca <jfonseca@vmware.com> gallium/util: Fix parsing of options with underscore.

For example

GALLIVM_DEBUG=no_brilinear

which was being parsed as two options, "no" and "brilinear".
til/u_debug.c
789436f1e07a68b632937d9f2101efc5e68f7499 26-Jun-2012 James Benton <jbenton@vmware.com> gallivm: Added a generic lp_build_print_value which prints a LLVMValueRef.

Updated lp_build_printf to share common code.
Removed specific lp_build_print_vecX.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
allivm/lp_bld_printf.c
allivm/lp_bld_printf.h
27e94ba4eabec90b2c4d7361a9448b35e2819a8b 25-Jun-2012 Olivier Galibert <galibert@pobox.com> u2f_emit: Fix type parameter in LLVM call.

The type is the destination type (i.e. float vector) and not the
source type. Fixes piglit fs-{in,de}crement-uint.

Signed-off-by: Olivier Galibert <galibert@pobox.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_tgsi_action.c
496399d8e918463650d88c3a9ca829357dc71f97 26-Jun-2012 Marek Olšák <maraeo@gmail.com> u_blitter: disable streamout before rendering

This fixes piglit EXT_transform_feedback tests:
- intervening-read output
- intervening-read prims_written
til/u_blitter.c
b8068afafacc3071cacfbaf71f176a2943341382 21-Jun-2012 Olivier Galibert <galibert@pobox.com> draw: Handle the case when there isn't a fragment shader.

Signed-off-by: Olivier Galibert <galibert@pobox.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
raw/draw_pipe_clip.c
c790c2c7598dea2d5a5b0bfbe47732956e1e89a6 19-Jun-2012 Olivier Galibert <galibert@pobox.com> llvmpipe: Add vertex id support.

Signed-off-by: Olivier Galibert <galibert@pobox.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_llvm.c
allivm/lp_bld_tgsi.h
allivm/lp_bld_tgsi_soa.c
46931ecf480e1d231bb6c2236d91b5390f2465ac 19-Jun-2012 Olivier Galibert <galibert@pobox.com> llvmpipe: Simplify and fix system variables fetch.

The system array values concept doesn't really because it expects the
system values to be fixed per call, which is wrong for gl_VertexID and
iffy for gl_SampleID. So this patch does two things:

- kill the array, have emit_fetch_system_value directly pick the
values it needs (only gl_InstanceID for now, as the previous code)

- correctly handle the expected type in emit_fetch_system_value

Signed-off-by: Olivier Galibert <galibert@pobox.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_llvm.c
allivm/lp_bld_tgsi.h
allivm/lp_bld_tgsi_soa.c
4625a9b1adf7a30c56e2bbeb41573fbba4465851 19-Jun-2012 Olivier Galibert <galibert@pobox.com> draw: fix flat shading and screen-space linear interpolation in clipper

This includes:
- picking up correctly which attributes are flatshaded and which are
noperspective

- copying the flatshaded attributes when needed, including the
non-built-in ones

- correctly interpolating the noperspective attributes in screen-space
instead than in a 3d-correct fashion.

Signed-off-by: Olivier Galibert <galibert@pobox.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_pipe_clip.c
e48d26bf4065ed682f5d7bf81c368554aecebf43 15-Jun-2012 José Fonseca <jfonseca@vmware.com> draw: Ensure that the vertex_header type size matches expectation.

This is failing sometimes, probably because TargetData keeps a structure layout
cache, which can becomes bogus, ever since the InvalidateStructLayoutInfo API
was removed in LLVM r135245.

This change merely makes the problem easier to diagnose (an assertion
failure instead of a random crash).
raw/draw_llvm.c
9d57d483cbcced5051d0dd4d48bbe750b5c15592 14-Jun-2012 Paul Berry <stereotype441@gmail.com> gallium: Add TGSI_OPCODE_F2U to gallivm backend.

Note: for the moment TGSI_OPCODE_F2U is implemented using
lp_build_itrunc() (the same function used to implement
TGSI_OPCODE_F2I). In the long run, we should create an
lp_build_utrunc() function to do the proper conversion. But this
should allow us to limp along with mostly correct behaviour for now.
allivm/lp_bld_tgsi_action.c
fc3bac8a407dc2a2804236e1e2b813a3991fa84f 13-Jun-2012 Aaron Watry <awatry@gmail.com> rbug: fix make process on Linux Mint 13 x64.

Previously, rbug_*.c would fail to compile with incomplete prototype
errors when make was run from the command line on my machine. My IDE
always built fine, and still does after this patch (Netbeans 7.1.2).

Most of the includes from files in gallium/auxiliary/rbug/* were
assuming an rbug/ subdirectory, while the headers are actually in the
same directory as the .c files.

The build error was also previously a problem for me on Ubuntu 11.10
and Mint 12.

Fixes build for the following configuration: ./autogen.sh
--enable-debug --enable-texture-float --with-gallium-drivers=r600
--with-dri-drivers=radeon --enable-r600-llvm-compiler

Signed-off-by: Brian Paul <brianp@vmware.com>
bug/rbug.h
bug/rbug_connection.c
bug/rbug_connection.h
bug/rbug_context.c
bug/rbug_context.h
bug/rbug_core.c
bug/rbug_core.h
bug/rbug_internal.h
bug/rbug_shader.c
bug/rbug_shader.h
bug/rbug_texture.c
bug/rbug_texture.h
f68ab0398bde5be6a6d4212bea23c9bbaa75d464 13-Jun-2012 Brian Paul <brianp@vmware.com> util: add some comments, fix indentation
til/u_blit.c
dfbb18bdb58fa04ddd4cbd495299a704599ee09e 24-May-2012 Roland Scheidegger <sroland@vmware.com> gallivm: Fix calculating rho for 3d textures for the single-quad case

Discovered by accident, this looks like a very old typo bug.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_sample.c
185ed2105829d6f5eb19edb9abbf0d7977e157c3 25-May-2012 Brian Paul <brianp@vmware.com> draw: simplify index buffer specification

Replace draw_set_index_buffer() and draw_set_mapped_index_buffer() with
draw_set_indexes() which simply takes a pointer and an index size.
raw/draw_context.c
raw/draw_context.h
raw/draw_private.h
raw/draw_pt.c
raw/draw_pt_vsplit_tmp.h
1609efb4180659322557380550d17ed7adb8eae2 24-May-2012 Brian Paul <brianp@vmware.com> draw: fix primitive restart bug by using the index buffer offset

The code which scans the index buffer for restart indexes wasn't adding
the index buffer offset so we were always starting at offset=0. The
offset is usually zero so it wasn't noticed before.

Fixes a failure in the piglit primitive-restart test when testing
vertex data + index data in a single VBO.

NOTE: This is a candidate for the 8.0 branch.
raw/draw_pt.c
9c8568743935f0892bb5bd33f5a5210bae53b8d3 22-May-2012 Brian Paul <brianp@vmware.com> util: add GALLIUM_LOG_FILE option for logging output to a file

Useful for logging different runs to files and diffing, etc.
s/os_misc.c
til/u_debug.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/tgsi_build.c
a3d4af0c00a198bba00c0965131a14223d426dd4 18-May-2012 James Benton <jbenton@vmware.com> gallivm: Fixed erroneous optimisation in lp_build_min/max.

Previously assumed normalised was 0 to 1, but it can be -1 to 1
if type is signed.
Tested with lp_test_conv and lp_test_format, reduced errors.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_arit.c
fdeb0394cbc737cefa36c6bf99cbd255d8899a9f 18-May-2012 James Benton <jbenton@vmware.com> gallivm: Compensate for lp_const_offset in lp_build_conv.

Fixing a /*FIXME*/ to remove errors in integer conversion in lp_build_conv.
Tested using lp_test_conv and lp_test_format, reduced errors.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_conv.c
f89b1f4ba4c7b13458532d916677aea3a66647dd 18-May-2012 James Benton <jbenton@vmware.com> gallivm: Fixed overflow in lp_build_clamped_float_to_unsigned_norm.

Tested with lp_test_conv and lp_test_format, reduced errors.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_conv.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/tgsi_text.c
00eb74b275e21d567a0ab8a6731181e005208634 18-May-2012 José Fonseca <jose.r.fonseca@gmail.com> Fix fetching integer inputs.
allivm/lp_bld_tgsi_soa.c
5d10d757276a599a60a68b88b21087b5824a8df7 17-May-2012 Olivier Galibert <galibert@pobox.com> llvmpipe: Implement TXQ.

Piglits test for fragment shaders pass, vertex shaders fail. The
actual failure seems to be in the interpolators, and not the
textureSize query.

Signed-off-by: Olivier Galibert <galibert@pobox.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: José Fonseca <jose.r.fonseca@gmail.com>
raw/draw_llvm_sample.c
allivm/lp_bld_sample.c
allivm/lp_bld_sample.h
allivm/lp_bld_sample_soa.c
allivm/lp_bld_tgsi.h
allivm/lp_bld_tgsi_soa.c
03e3bc4ba56f1021899a5f773b6ec21893619e3a 16-May-2012 Francisco Jerez <currojerez@riseup.net> gallium/auxiliary/pipe-loader: Fix usage of anonymous union.

Anonymous unions aren't part of the C99 standard. Fixes build on GCC
versions older than 4.6.

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

Reported-by: Michael Lange <michaell@gmx.org>
ipe-loader/pipe_loader.h
ipe-loader/pipe_loader_drm.c
9af1ba565dfd5cef9ee938bb7c04767d14878fbf 16-May-2012 José Fonseca <jfonseca@vmware.com> draw,llvmpipe: Avoid named struct types on LLVM 3.0 and later.

Starting with LLVM 3.0, named structures are meant not for debugging, but
for recursive data types, previously also known as opaque types.

The recursive nature of these types leads to several memory management
difficulties. Given that we don't actually need recursive types, avoid
them altogether.

This is an attempt to address fdo bugs 41791 and 44466. The issue is
somewhat random so there's no easy way to check how effective this is.
raw/draw_llvm.c
563489e5c922481a9a506fc5405a3dacacd6082e 15-May-2012 José Fonseca <jfonseca@vmware.com> gallivm: Add MCRegisterInfo.h to silence benign warnings about missing implementation.

Trivial.
allivm/lp_bld_debug.cpp
9fb4eef6a159fb5af97694b15a5f9b5998e9f6e5 15-May-2012 José Fonseca <jose.r.fonseca@gmail.com> gallivm: Fix lp_build_sgn for normalized/fixed-point integers.

These types got broken with the recent commit that fixed lp_build_sgn
for negative integers.
allivm/lp_bld_arit.c
c95cea50a9e14255a60c37b156271b7ab50515e9 15-May-2012 José Fonseca <jose.r.fonseca@gmail.com> gallivm: Fix lp_build_const_xxx for negative integers.

Do proper rounding.

Thanks to Olivier Galibert for investigating this.
allivm/lp_bld_const.c
821c34ecd9921e7478c8775905bf887b7513100c 14-May-2012 Paul Berry <stereotype441@gmail.com> Add .gitignore files for recently-added gallium projects

This patch adds .gitignore files to ignore the makefiles generated by
the gallium pipe loader and the clover OpenCL state tracker.

Reviewed-by: Francisco Jerez <currojerez@riseup.net>
ipe-loader/.gitignore
599140119ebdef8dcae9e465ee6177dabb44b8b0 14-May-2012 Vinson Lee <vlee@freedesktop.org> vl: Initialize pipe_vertex_buffer.user_buffer fields.

Fix uninitialized scalar variable defects reported by Coverity.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
l/vl_vertex_buffers.c
b496136af84e396e7890082817b563dc53ac36fc 12-May-2012 Marek Olšák <maraeo@gmail.com> gallium: remove user_buffer_create from the interface

Nothing uses it now.
til/u_inlines.h
til/u_slab.h
1a840cc5925f52079916feb2c456816a7a91d627 12-May-2012 Marek Olšák <maraeo@gmail.com> gallium/graw: stop using user_buffer_create

This is compile-tested.
til/u_inlines.h
685a28fd8a046e8dac02c2c26ab8b169de7a2a29 30-Mar-2012 Marek Olšák <maraeo@gmail.com> gallium/util: remove unused parameter nr_vertex_buffers in util_draw_max_index
raw/draw_pt.c
til/u_draw.c
til/u_draw.h
f96540847eaaf3dd0cb5e87c172dd8a15f96eaa8 12-May-2012 José Fonseca <jfonseca@vmware.com> auxiliary/util: Ensure pipe_constant_buffer::user_buffer is initialized.
til/u_inlines.h
23c0d469e55b3cb79ad4b2fd0d961562a26234fd 11-May-2012 José Fonseca <jfonseca@vmware.com> gallivm: Fix copy'n'paste typo bug translating CEIL opcode.

Trivial.
allivm/lp_bld_tgsi_action.c
bb4c5d72d7c7cb1d9e7016e2c07c36875f30011a 11-May-2012 Marek Olšák <maraeo@gmail.com> Merge branch 'gallium-userbuf'

Conflicts:
src/gallium/docs/source/screen.rst
src/gallium/drivers/nv50/nv50_state.c
src/gallium/include/pipe/p_defines.h
src/mesa/state_tracker/st_draw.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/tgsi_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/tgsi_build.c
gsi/tgsi_strings.c
til/u_blitter.c
e1364530622a26f11c79694429cf84418a0b7ef7 25-Apr-2012 Francisco Jerez <currojerez@riseup.net> gallium: Add pipe loader for device enumeration and driver multiplexing.

The goal is to have a uniform interface to create winsys and
pipe_screen instances for any driver, exposing the device enumeration
capabilities that might be supported by the operating system (for now
there's a "drm" back-end using udev and a "sw" back-end that always
returns the same built-in devices).

The typical use case of this library will be:
>
> struct pipe_loader_device devs[n];
> struct pipe_screen *screen;
>
> pipe_loader_probe(&devs, n);
>[pick some device from the array...]
>
> screen = pipe_loader_create_screen(dev, library_search_path);
>[do something with screen...]
>
> screen->destroy(screen);
> pipe_loader_release(&devs, N);
>

A part of the code was taken from targets/gbm/pipe_loader.c, which
will be removed and replaced with calls into this library by a future
commit.
akefile
akefile.sources
ipe-loader/Makefile.am
ipe-loader/pipe_loader.c
ipe-loader/pipe_loader.h
ipe-loader/pipe_loader_drm.c
ipe-loader/pipe_loader_priv.h
ipe-loader/pipe_loader_sw.c
2faf01c8403514dda15ab8b1a2309d5529dd06ba 20-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi/text: Replace open-coded integer parsing with parse_int().
gsi/tgsi_text.c
40123dae4371ab62530d15020ca97208e206d359 20-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi/text: Parse immediates of non-float data types.
gsi/tgsi_text.c
e9072863b18e4a8cf78e72bf25abbb433de1b486 20-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Fix tgsi_build_full_immediate() for non-float data types.
gsi/tgsi_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/tgsi_text.c
b52e374ad3b568fc1eb35df80e90a39b4cb99289 26-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi/ureg: Support local temporary emission.
gsi/tgsi_ureg.c
gsi/tgsi_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/tgsi_ureg.c
0a62af3bcc530a6d09130368055c64263ba48848 25-Nov-2011 Francisco Jerez <currojerez@riseup.net> gallium/util: Define util_strchrnul.

Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
til/u_string.h
2644952bd4dfa3b75112dee8dfd287a12d770705 18-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Introduce the "LOCAL" register declaration modifier.

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

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

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

Ignoring the LOCAL flag doesn't change the semantics of a valid
program in any way, because local variables are just supposed to get a
more relaxed treatment. IOW, this should be a backwards-compatible
change.
gsi/tgsi_build.c
gsi/tgsi_dump.c
gsi/tgsi_text.c
c2d31a83a8104acba05f92b025bc9b145ca34974 30-Apr-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Add support for atomic opcodes.
gsi/tgsi_info.c
9e550c34237898385c07af2cbb2da76670ed994e 30-Apr-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Add support for barriers.
gsi/tgsi_info.c
581ddbcf93ea8111e71ef43e90fa6937cf46a2cb 18-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Define system values used to query the compute grid parameters.
gsi/tgsi_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/tgsi_build.c
gsi/tgsi_dump.c
gsi/tgsi_info.c
gsi/tgsi_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/tgsi_build.c
gsi/tgsi_dump.c
gsi/tgsi_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/tgsi_build.c
gsi/tgsi_strings.c
til/u_blitter.c
63428372cadc73a7124f4e7d383eb86a0c7affd7 18-Mar-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Introduce the compute processor.
gsi/tgsi_scan.c
gsi/tgsi_strings.c
gsi/tgsi_strings.h
gsi/tgsi_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.
raw/draw_pipe_aaline.c
raw/draw_pipe_aapoint.c
raw/draw_pipe_pstipple.c
gsi/tgsi_build.c
gsi/tgsi_dump.c
gsi/tgsi_exec.c
gsi/tgsi_parse.c
gsi/tgsi_parse.h
gsi/tgsi_ppc.c
gsi/tgsi_scan.c
gsi/tgsi_text.c
gsi/tgsi_ureg.c
til/u_pstipple.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/tgsi_build.c
gsi/tgsi_dump.c
gsi/tgsi_exec.c
gsi/tgsi_exec.h
gsi/tgsi_info.c
gsi/tgsi_opcode_tmp.h
gsi/tgsi_parse.c
gsi/tgsi_parse.h
gsi/tgsi_strings.c
gsi/tgsi_text.c
gsi/tgsi_ureg.c
gsi/tgsi_ureg.h
729d9148244551c6bcae00a760f39a6902c925ef 06-Feb-2012 Dave Airlie <airlied@redhat.com> gallivm: implement iabs/issg opcode.

Reimplemented by Olivier Galibert <galibert@pobox.com>

Signed-off-by: Dave Airlie <airlied@redhat.com>
allivm/lp_bld_arit.c
allivm/lp_bld_tgsi_action.c
95ed0e9b6b445c70e920d340818fc0f84d45233e 06-May-2012 Vadim Girlin <vadimgirlin@gmail.com> radeon/llvm: add support for TXQ/TXF/DDX/DDY instructions

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
allivm/lp_bld_tgsi.c
0ad0bc5af5679c1ea669a768449bec3fd67fdd74 05-May-2012 Baldo Davide <baldosoft@gmail.com> auxiliary/os: Add missing signal.h include.

The signal.h include was missed in the commit
bc16c73407d11bb6702cf7de9925bfaeb80a5272 which leads to broken
compilations under Linux.

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
s/os_thread.h
e039fd079b8089d2cc0204fab732cd3b5e96cca5 04-May-2012 Brian Paul <brianp@vmware.com> gallivm: fix comment typo
allivm/lp_bld_sample.c
494619ebacb632a879ebeecf0a1d732c10ddf25b 25-Apr-2012 José Fonseca <jfonseca@vmware.com> gallivm: Use debug_printf in lp_build_printf.

So that its output can be seen on GUI window apps.

Tested-by: James Benton <jbenton@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
allivm/lp_bld_printf.c
9ad2cb18857c1cd75ab073e8662700d1761c20ac 23-Feb-2012 José Fonseca <jfonseca@vmware.com> gallivm: Avoid LLVMAddGlobalMapping() in lp_bld_assert().

Brittle, complex, and unecesary. Just use function pointer constant.
allivm/lp_bld_assert.c
allivm/lp_bld_assert.h
6cd76b800bed70435f499c6c498a487a5056a731 23-Feb-2012 José Fonseca <jfonseca@vmware.com> gallivm: Add a lp_build_const_func_pointer() helper.

To be reused in all places where we want to call C code.
allivm/lp_bld_const.c
allivm/lp_bld_const.h
allivm/lp_bld_format_aos.c
0005bd9da2b343accad423708eba36a00035c7ee 23-Feb-2012 José Fonseca <jfonseca@vmware.com> gallivm: Cleanup/simplify lp_build_const_string_variable.

- Move to lp_bld_const where it belongs
- Rename to lp_build_const_string
- take the length from the argument (and don't count the zero terminator twice)
- bitcast the constant to generic i8 *
allivm/lp_bld_assert.c
allivm/lp_bld_const.c
allivm/lp_bld_const.h
allivm/lp_bld_printf.c
allivm/lp_bld_printf.h
c23fd547c060c4137eab0f878a1028c5903384eb 25-Apr-2012 James Benton <jbenton@vmware.com> gallivm: Added lp_build_const_mask_aos_swizzled

Allows the creation of const aos masks which have the mask swizzled
to match the correct format.

Updated existing mask creation code to use the swizzled version where
necessary (tgsi register masks and llvmpipe aos blending).

Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_const.c
allivm/lp_bld_const.h
allivm/lp_bld_tgsi_aos.c
7d1f414103bb294d30cac8fecddff0b2ab694810 25-Apr-2012 José Fonseca <jfonseca@vmware.com> gallivm: Move loop var declaration to beginning of scope.
allivm/lp_bld_printf.c
f64fe7d333ef5f00f1d13d19c9b986abe21a524c 19-Apr-2012 James Benton <jbenton@vmware.com> gallivm: added a debug function which allows llvm to print vectors of 16 unsigned ints

This is useful for debugging the linear llvm path as it handles pixels in this format

Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_printf.c
allivm/lp_bld_printf.h
9bc58d941ac32d10c6b4c601e0c4c6e00876d738 25-Apr-2012 James Benton <jbenton@vmware.com> llvmpipe: Check when a shader does not satisfy 0 < imm < 1.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_tgsi.h
allivm/lp_bld_tgsi_info.c
c426e63aa064debc23f9819c3862f357f1726bce 01-May-2012 James Benton <jbenton@vmware.com> gallivm: fixed memory leak in lp_build_tgsi_aos

Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
allivm/lp_bld_tgsi_aos.c
0b0f4628d6fb8276a9f1c336a785a838b602bca8 18-Apr-2012 James Benton <jbenton@vmware.com> llvmpipe: Added support for color masks in AoS blending.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
til/u_format.h
85d09d1c61d3e5ab2c2ae6fc74a30ea6a572f25e 19-Apr-2012 James Benton <jbenton@vmware.com> gallivm: added aligned pointer get/set
allivm/lp_bld_init.h
allivm/lp_bld_misc.cpp
allivm/lp_bld_struct.c
allivm/lp_bld_struct.h
630fa2688634365c03edf2a189cf9225899fbcc5 19-Apr-2012 James Benton <jbenton@vmware.com> gallivm: llvm c-style for loops, allows us to create loops with conditions on entry, rather than condition check on loop
allivm/lp_bld_flow.c
allivm/lp_bld_flow.h
96863baa42564ce2daa5f4651f1c52f1d281d9a5 01-May-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: set user buffer pointer for drivers which support user buffers

It's not common to end up in u_vbuf and at the same time support user buffers
in a driver, but such a combination should work.
til/u_vbuf.c
fa20733a622770eaaa941f64d570d7b63d8f37b6 29-Apr-2012 Marek Olšák <maraeo@gmail.com> st/vega: don't use user_buffer_create
til/u_draw_quad.c
til/u_draw_quad.h
46fe17930ec71be3489fbb844de2bf16d877437e 29-Apr-2012 Marek Olšák <maraeo@gmail.com> cso: cso_context should install u_vbuf by itself and not st/mesa

so that it's installed in the other state trackers too
so_cache/cso_context.c
so_cache/cso_context.h
3b5f4b173b2703b7f72dcf33ad4cb00347712733 26-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium/util: stop using user buffers in util_draw_texquad
til/u_draw_quad.c
bf469f4edc60bd1c5fd770cb231b8d5ab801427f 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: add void *user_buffer in pipe_index_buffer

Adapted drivers: i915, llvmpipe, r300, r600, radeonsi, softpipe.

User index buffers have been disabled in nv30, nv50, nvc0 and svga to keep
things working.
til/u_index_modify.c
til/u_index_modify.h
til/u_vbuf.c
43995c9470dd38cf80a60a169f5875de6798863f 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: remove pipe_context::redefine_user_buffer
til/u_transfer.c
til/u_transfer.h
4552fd50d959ab99546cfa994f8ba5bdf5d66bc7 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: add void *user_buffer in pipe_vertex_buffer

This reduces CPU overhead in st_draw_vbo and removes a lot of unnecessary code
in that function which was required only to comply with the gallium interface,
but wasn't any useful really.

Adapted drivers: i915, llvmpipe, r300, softpipe.
No changes required in: r600, radeonsi.

User vertex buffers have been disabled in nv30, nv50, nvc0 and svga to keep
things working.
raw/draw_llvm.c
til/u_draw.c
til/u_vbuf.c
507337864fa80caf9f26602324d2c28dd0a75d61 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: change set_constant_buffer to be UBO-friendly
ostprocess/pp_mlaa.c
til/u_inlines.h
l/vl_compositor.c
18bcb962bbad451a5e34f0315f03b8fb4533ea73 29-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: unbind vertex buffers on destroy
til/u_vbuf.c
7622496d7b8fb4677a66d8843c078b3fa753f02f 29-Apr-2012 Marek Olšák <maraeo@gmail.com> u_blitter: fix resource leak
til/u_blitter.c
914244e59d6ad08ec2dd815129c6e75b32843d80 25-Apr-2012 José Fonseca <jfonseca@vmware.com> gallivm: Use lp_build_alloca instead of LLVMBuildAlloca on the loop limiter.

To ensure that the alloca is at the top of the function body, otherwise
LLVM will not eliminate them, causing stack misalignment on 32bits.

Reviewed-by: James Benton <jbenton@vmware.com>
allivm/lp_bld_tgsi_soa.c
89c488871056185b8633aae7e7573b398827b038 19-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: don't call u_vbuf_upload_buffers if there's nothing to upload
til/u_vbuf.c
634066946e265aa5d2628ddca16c6556d2091a66 19-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: don't upload user buffers if the driver supports them
til/u_vbuf.c
6fe30fbc96a7b102d7c23ae0dd7be0b8739276c9 19-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: optimize u_vbuf_translate_find_free_vb_slots
til/u_vbuf.c
b5e5e61439bda7a3cf1f909b48467371ea53d9d7 19-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: turn bool arrays into bitmasks and loops into bitwise operations

Optimized functions:
- u_vbuf_need_minmax_index
- u_vbuf_mapping_vertex_buffer_blocks
til/u_vbuf.c
eaf8fe3335b1c7e62275ac0fef202f51750ffba9 19-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: take advantage of all new vertex fetch caps
til/u_vbuf.c
til/u_vbuf.h
a0e352f5ebac0f533481d353b7f3ba66b3a9ed7f 19-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: simplify u_vbuf_set_vertex_buffers
til/u_vbuf.c
039f53b814cef8fce0f591e3ff36a68f4780b620 19-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: rename native_attribs -> driver_attribs
til/u_vbuf.c
e0773da1e897164ed7597437070e32b867734ee5 10-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: make user vertex buffers optional

This couldn't be split because it would break bisecting.

Summary:
* r300g,r600g: stop using u_vbuf
* r300g,r600g: also report that the FIXED vertex type is unsupported
* u_vbuf: refactor for use in the state tracker
* cso: wire up u_vbuf with cso_context
* st/mesa: conditionally install u_vbuf
so_cache/cso_context.c
so_cache/cso_context.h
til/u_vbuf.c
til/u_vbuf.h
ae799a4948ac1becb48568a274c2ada5d77aa07c 11-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: pull u_vbuf_draw_max_vertex_count into r300g
til/u_vbuf.c
til/u_vbuf.h
7fe3631a7a0ad7602b4e947ac87ef86875c8bb3f 10-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: make use of the new CAPs to determine what to do

This adds the ability to initialize u_vbuf_caps before creating u_vbuf itself.
It will be useful for determining if u_vbuf should be used or not.

Also adapt r300g and r600g.
til/u_vbuf.c
til/u_vbuf.h
a52b3338c6e51421e3836ae210cd98d9c1ec337b 10-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: remove u_vbuf_resource
til/u_vbuf.h
7d36478d888accd18d55cc76ba41af0ad7d3baf8 10-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: use user_ptr from pipe_resource
til/u_vbuf.c
til/u_vbuf.h
5ec7c28fdbc2e05d20b1a07cba1fe6ac3b6658f9 31-Mar-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: override draw_vbo
til/u_vbuf.c
til/u_vbuf.h
889238c8b1e6b8ac5eed30ec3122be94216ca7cf 31-Mar-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: override create/bind/destroy_vertex_elements_state
til/u_vbuf.c
til/u_vbuf.h
2d03d4f4a365d7af5f4dac20700009152eba1682 31-Mar-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: override set_vertex_buffers
til/u_vbuf.c
til/u_vbuf.h
31714ea4d5a20285f398286fe45b53d0609926dd 31-Mar-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: override set_index_buffer

This makes u_vbuf_mgr call the driver instead of the other way around.
til/u_vbuf.c
til/u_vbuf.h
0f00786868720d8b56bdf31cb28ece7590b16809 11-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium/util: use cso_draw_arrays in util_draw_vertex_buffer

Reviewed-by: Brian Paul <brianp@vmware.com>
til/u_draw_quad.c
76eefcc70cc62db7d226591de3f918ff102f6de3 11-Apr-2012 Marek Olšák <maraeo@gmail.com> cso: add set_index_buffer and draw_vbo passthrough functions

v2: use util_draw_init_info

Reviewed-by: Brian Paul <brianp@vmware.com>
so_cache/cso_context.c
so_cache/cso_context.h
168a3b8627861fbb2786839f7e276de82f883e42 18-Apr-2012 Brian Paul <brianp@vmware.com> pipebuffer: split up assertion

The problem with assert(a && b) is you don't know which term is zero
when there's a failure.
ipebuffer/pb_bufmgr_debug.c
bdb0ad77c20653d01570a4ce44f4200a97fb5f11 13-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium/u_gen_mipmap: don't release vertex buffer at end of frame / in glFlush

There's no reason to do that. The buffer being used for rendering is always
mapped as unsynchronized.
til/u_gen_mipmap.c
til/u_gen_mipmap.h
462dcf617303a507a1b000f52abbfa3fe695bb95 13-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium/u_blit: don't release vertex buffer at end of frame / in glFlush

There's no reason to do that. The buffer being used for rendering is always
mapped as unsynchronized.
til/u_blit.c
til/u_blit.h
5db9cedeafe98c5ac094fc32f7b4d275c273b867 13-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: remove PIPE_TRANSFER_NOOVERWRITE, use equivalent UNSYNCHRONIZED
til/u_inlines.h
7864933acd81892be0692555ae6d37d4293adb2a 13-Apr-2012 Marek Olšák <maraeo@gmail.com> u_blitter: align vertex buffer suballocations to 4
til/u_blitter.c
c59d32d1ce9eee7bf0dcebfca1e69edbda90c22d 24-Mar-2012 Dave Airlie <airlied@redhat.com> util: add dual blend helper function (v2)

This is just a function to tell if a certain blend mode requires dual sources.

v2: move to inlines as per Brian's suggestion

Signed-off-by: Dave Airlie <airlied@redhat.com>
til/u_dual_blend.h
520521e3809a36201582fa48ee173eba12e97812 01-Apr-2012 Dylan Noblesmith <nobled@dreamwidth.org> util: fix uninitialized table

Most of the 256 values in the 'generic_to_slot' table were supposed to
be initialized with the default value 0xff, but were left at zero
(from CALLOC_STRUCT()) instead.

Noticed by clang:

u_linkage.h:60:31: warning: argument to 'sizeof' in 'memset' call is the same expression as the destination;
did you mean to provide an explicit length? [-Wsizeof-pointer-memaccess]
memset(table, 0xff, sizeof(table));
~~~~~ ^~~~~

Also fix a signed/unsigned comparison and a comment typo here.

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: Brian Paul <brianp@vmware.com>
til/u_linkage.h
ccff74971203b533bf16b46b49a9e61753f75e6c 01-Apr-2012 Dylan Noblesmith <nobled@dreamwidth.org> util: fix undefined behavior

container_of() can legally return anything, even invalid addresses
that cause segfaults, when 'sample' is an uninitialized pointer.

Bug exposed by clang.

NOTE: This is a candidate for the 8.0 branch.
til/u_double_list.h
6f03692775ed49035802d660516b7d7464c7a1ad 10-Apr-2012 Marek Olšák <maraeo@gmail.com> cso: unreference saved vertex buffers when restoring

Reviewed-by: Brian Paul <brianp@vmware.com>
so_cache/cso_context.c
a50d695ac20d894278b8e4bc1e0e8a159cd08a1d 05-Mar-2012 Johannes Obermayr <johannesobermayr@gmx.de> tgsi: Fix conflict with fortify printf redirect in glibc.

Fixes clang error:

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

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

Reviewed-by: Brian Paul <brianp@vmware.com>
gsi/tgsi_dump.c
cf68959f99f372ef1c4f647e7a7438ab478314c9 05-Apr-2012 James Benton <jbenton@vmware.com> gallivm: Updated lp_build_log2_approx to use a more accurate polynomial.

Tested with lp_test_arit with 100% passes and piglit tests with 100%
pass for log but some tests still fail for pow.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/f.cpp
allivm/lp_bld_arit.c
7c639feb2f6697b5da94e81e7901436ce1620c66 05-Apr-2012 James Benton <jbenton@vmware.com> gallivm: Updated lp_build_polynomial to compute odd and even terms separately to decrease data dependency for faster runtime.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_arit.c
900be21e0943d417a5d149e5b3c2635cb7cc90f9 03-Apr-2012 Marek Olšák <maraeo@gmail.com> u_blitter: don't use user buffers
til/u_blitter.c
4f513002f65c629576252b34efedf3c8c4531dfd 03-Apr-2012 Vinson Lee <vlee@freedesktop.org> gallivm: Pass in a MCInstrInfo to createMCInstPrinter on llvm-3.1.

llvm-3.1svn r153860 makes MCInstrInfo available to the MCInstPrinter.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
allivm/lp_bld_debug.cpp
5db9d76a6a498c029133a8c2544c4c7c25eebf80 02-Apr-2012 James Benton <jbenton@vmware.com> gallivm: Maximum loop iterations

Limits maximum loop iterations in a TGSI shader to prevent infinite
loops from occurring, any iteration in any loop counts towards this
limit

Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_limits.h
allivm/lp_bld_tgsi.h
allivm/lp_bld_tgsi_soa.c
d312b224b6759fd9b206d4c19450f6a4dfe53311 03-Apr-2012 José Fonseca <jfonseca@vmware.com> gallivm: Simplify/reorder minimax helper.
allivm/f.cpp
99a192ce7d8690f44a1f23a432607b6ce5031942 29-Mar-2012 Marek Olšák <maraeo@gmail.com> gallium/postprocess: document serious issue causing undefined behavior
ostprocess/pp_program.c
452d07759db7077a62d231f758f9d5e69af3fe60 30-Mar-2012 Marek Olšák <maraeo@gmail.com> gallium/util: add helper function util_query_clear_result
til/u_inlines.h
a7b8e16dc6fb3e076f0bce9b8c68fdce31837848 28-Mar-2012 Vinson Lee <vlee@freedesktop.org> gallivm: Fix method overriding in raw_debug_ostream.

Use matching type qualifers to avoid method hiding.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_debug.cpp
7f16246acef4089570abca76a59580691ec6cf68 23-Mar-2012 Brian Paul <brianp@vmware.com> draw: fix missing immediates bug in polygon stipple code

The function that counts the number of TGSI immediates also needs to
emit the immediates. This fixes assorted failures when using polygon
stipple with fragment shaders that have their own immediates.

NOTE: This is a candidate for the 8.0 branch.
raw/draw_pipe_pstipple.c
fc0a5e21d77ae2f082fd19dd2295e84f6fb7bd3b 26-Mar-2012 Christian König <deathsimple@vodafone.de> vl: move winsys helper out of winsys directory

They aren't winsys of their own,
just help dealing with them.

v2: add some more comments in vl_winsys.h

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_winsys.h
l/vl_winsys_dri.c
l/vl_winsys_xsp.c
60b58822f0d8d07cab479ef4611029613ce2f174 27-Mar-2012 ojab <ojab@ojab.ru> gallivm: Use InitializeNativeTargetDisassembler().

To initialize only native LLVM Disassembler on LLVM >= 3.1.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_debug.cpp
fe34006908f1ff99ada34d52c06fd80197e452ec 14-Mar-2012 Vinson Lee <vlee@freedesktop.org> gallivm: Fix createOProfileJITEventListener namespace with llvm-3.1.

llvm-3.1svn r152620 refactored the OProfile profiling code.
createOProfileJITEventListener was moved from the llvm namespace to the
llvm::JITEventListener namespace.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
allivm/lp_bld_misc.cpp
85dbb227964d5533a497dbda4803fdf43ad9567f 08-Mar-2012 Christian König <deathsimple@vodafone.de> vl/mpeg12: make bitstream decoder more robust

Just another xine workaround.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_mpeg12_bitstream.c
l/vl_vlc.h
7236f170e431b18518337f3af12ddde5014721f6 03-Mar-2012 Christian König <deathsimple@vodafone.de> vl/video_buffer: add YUYV and UYVY support

This gets xine working with VDPAU.

v2: some minor bugfixes.
v3: create the resource with the subsampled
format to avoid tilling problems

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_video_buffer.c
461c34c0cb0e23f11fd9390a37a62d9930a1c48e 08-Mar-2012 Christian König <deathsimple@vodafone.de> gallivm: add support for R8G8_R8B8 and G8R8_B8R8 formats

Just to keep lp_test_format happy.

Signed-off-by: Christian König <deathsimple@vodafone.de>
allivm/lp_bld_format_yuv.c
4f41f8edb3a999a5b752eaa51e7fe6444f14a61d 02-Mar-2012 Christian König <deathsimple@vodafone.de> gallium: add R8G8_R8B8 and G8R8_B8R8 formats

v2: simplify implementation by using correct swizzle
v3: fix mix with successor patch

Signed-off-by: Christian König <deathsimple@vodafone.de>
til/u_format.csv
til/u_format_yuv.c
til/u_format_yuv.h
5c8040aee621735ab845f343c8dcc9fa03a1151f 08-Mar-2012 Christian König <deathsimple@vodafone.de> u_format: fix a comment about subsampled formats

Signed-off-by: Christian König <deathsimple@vodafone.de>
til/u_format.h
ac1dd440b8295289486d48902a052ebda892174d 04-Mar-2012 Christian König <deathsimple@vodafone.de> vl/video_buffer: add YUVA and VUYA support

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_video_buffer.c
831de96db87ee1f16b60d3aff308a423fece3407 03-Mar-2012 Zack Rusin <zackr@vmware.com> svga: fix the rasterizer state resets

draw module calls back into the driver and sets certain parts
of the state to whatever it needs, unfortunately unless you
get the ordering of calls to draw just right you'll end up
reseting your own driver state. That's what was happening to us
draw module would under certain conditions reset our own driver
state.

Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_context.h
1633dcd890d97bd5e4d125d57f2f529f04d14477 06-Mar-2012 Vinson Lee <vlee@freedesktop.org> gallivm: Pass in a MCRegisterInfo to MCInstPrinter on llvm-3.1.

llvm-3.1svn r152043 changes createMCInstPrinter to take an additional
MCRegisterInfo argument.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
allivm/lp_bld_debug.cpp
ef3e26c2e43a000d5e5e6b673324b0ebdc918207 03-Mar-2012 Dave Airlie <airlied@redhat.com> draw/llvm: add clip distance support

This add clipdistance support like the non-llvm draw paths,
if we have a clip distance we compare with it instead of doing
the dot4.

We also have to put the have_clipvertex bit into the emitted
vertex header.

Fixes vs-clip-distance-all-planes-enabled, vs-clip-distance-const-reject,
vs-clip-distance-enables, vs-clip-distance-implicitly-sized,
vs-clip-distance-in-param, vs-clip-distance-uint-index.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_llvm.c
9c465a95ac612b346759d35fd58a9edbb79eef67 03-Mar-2012 Dave Airlie <airlied@redhat.com> draw/llvm: fix storing of clipvertex and positions into pre_clip_pos (v2)

This fixes the rest of the piglit clipvertex tests.

v2: fixup comments.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_llvm.c
cb4bcbcb1dbe2ad0046e695f771b56b4467e2c85 03-Mar-2012 Dave Airlie <airlied@redhat.com> draw/llvm: fix clipvertex setting up clipmask. (v2)

We incorrectly setup clipmask for gl_ClipVertex, this fixes the clipmask
setup.

v2: fix comment

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>

fix comment
raw/draw_llvm.c
da5e9fce47b2029c6f6445ed53f3b5e5ff3889a0 05-Mar-2012 Roland Scheidegger <sroland@vmware.com> gallivm: fix floating type in lp_build_mod helper

untested, but cannot have worked before.
allivm/lp_bld_arit.c
95594bae47d8b3302be188e6f0be2d69c5507bb3 03-Mar-2012 Christian König <deathsimple@vodafone.de> vl: fix shader in/out numbering

Fix all the other wrong numberings.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_idct.c
l/vl_matrix_filter.c
l/vl_mc.c
l/vl_median_filter.c
l/vl_zscan.c
a9073e34863977f24ade27c0f332fe044495a09b 02-Mar-2012 Christian König <deathsimple@vodafone.de> vl/compositor: fix shader in/out numbering

Michel pointed out that my assumption of a global
index namespace is incorrect and breaks r300g.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_compositor.c
14766f820069ca987543918bce96410c481e5d20 29-Feb-2012 Christian König <deathsimple@vodafone.de> vl/csc: simplify matrix handling

A csc matrix is only 4x3 not 4x4, also define a VDPAU compatible type for it.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_compositor.c
l/vl_compositor.h
l/vl_csc.c
l/vl_csc.h
74a4e9089488e7f341d21053bbf2d4aa52b99b70 29-Feb-2012 Christian König <deathsimple@vodafone.de> vl/compositor: add support for per layer dst areas

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_compositor.c
l/vl_compositor.h
b90727bb241e4a04158d34aad078cb18e478fea7 27-Feb-2012 Christian König <deathsimple@vodafone.de> vl/compositor: add per vertex color suport

Used in subtitles, for example.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_compositor.c
l/vl_compositor.h
d645dc65b6c5e7d46538e98208a703f0f7a5d20b 25-Feb-2012 Christian König <deathsimple@vodafone.de> vl/compositor: replace pipe_video_rect with u_rect

So we support things like flipping also.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_compositor.c
l/vl_compositor.h
32c4381d4a0479b3d9bfe305ce701be6b5ac8e18 25-Feb-2012 Christian König <deathsimple@vodafone.de> vl/compositor: split shaders and state

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_compositor.c
l/vl_compositor.h
834f515988ca894b3828a4929d36cafd349eade8 01-Mar-2012 Vinson Lee <vlee@freedesktop.org> Revert "gallivm: Change getExtent and readByte to non-const with llvm-3.1."

This reverts commit d5a6c172547d8964f4d4bb79637651decaf9deee.

llvm-3.1svn r151687 makes MemoryObject accessor members const again.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
allivm/lp_bld_debug.cpp
8c34a41278b8bfd36e4bd8ab2e417430382b3365 18-Feb-2012 José Fonseca <jose.r.fonseca@gmail.com> gallivm: Update comments and prototype of vector-selects.

No runtime behavior change. As vector selects are still not very well
supported by LLVM.
allivm/lp_bld_logic.c
7f9692b97dab498ad47f82394892455d43dcd08b 28-Feb-2012 Brian Paul <brianp@vmware.com> util: replace format equality test with compatibility test in blit code

This lets us use the resource_copy_region() path when blitting from
R8G8B8A8 to R8G8B8x8, for example.

v2: be smarter when src_format==dst_format

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
til/u_blit.c
ce671c7aceca33a2f29dddfaa555a25218524146 28-Feb-2012 Brian Paul <brianp@vmware.com> util: better comment for util_is_format_compatible()
til/u_format.h
9e68a8fa728c5d737a8b0c66aba066afddd67e9a 28-Feb-2012 Brian Paul <brianp@vmware.com> util: fix assertions in u_blitter.c code

Assertions of the form assert(a && b) should be written as separate assertions
so that you can actually tell which part is false when there's a failure.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
til/u_blitter.c
579ccae73d29211c9f5c01ba527e1743ea39c94e 06-Feb-2012 Dave Airlie <airlied@redhat.com> gallivm: add major integer opcodes to the tgsi action handler

This adds support for all the opcodes needed for native integer
support with GLSL 1.20 enabled, and some of the ones for GLSL1.30
support.

I've split them between non-cpu and cpu along the same lines
Tom's code did for the other ones I think, but I'm open to review
on which ones should go where.

With instance ids fixed I get no regressions on my box here
with LLVM 2.8, will test with later LLVMs as well.

Signed-off-by: Dave Airlie <airlied@redhat.com>
allivm/lp_bld_tgsi_action.c
e2a2b33544176a73e44aa7292dbdd1d0d0467394 28-Feb-2012 Dave Airlie <airlied@redhat.com> gallivm: drop deprecated opcodes

These are integer opcodes not deprecated ones.

Signed-off-by: Dave Airlie <airlied@redhat.com>
allivm/lp_bld_tgsi.c
2a76609681648e4868c6154d7ea04d42e07f6f10 28-Feb-2012 Dave Airlie <airlied@redhat.com> gallivm: only do rcp/mul for floating

rcp asserts on type.floating so don't go passing non-floating
things into it.

Signed-off-by: Dave Airlie <airlied@redhat.com>
allivm/lp_bld_arit.c
a46548e0effa45d31b536c1af97b8dcacbe2db8e 28-Feb-2012 Dave Airlie <airlied@redhat.com> gallivm: add frem support to the lp_build_mod helper.

for completeness.

Signed-off-by: Dave Airlie <airlied@redhat.com>
allivm/lp_bld_arit.c
aec11e4daa36fb31774971ce34f04e3ebeeeeed7 17-Feb-2012 Dave Airlie <airlied@redhat.com> gallivm: add bitarit xor and not ops.

Signed-off-by: Dave Airlie <airlied@redhat.com>
allivm/lp_bld_bitarit.c
allivm/lp_bld_bitarit.h
4ffc8b9ae46dcdb01adedde3ebb60f0c6a22138b 17-Feb-2012 Dave Airlie <airlied@redhat.com> gallivm: add integer and unsigned mod arit functions. (v2)

use a single entry point, as per Jose's suggestion.

Signed-off-by: Dave Airlie <airlied@redhat.com>
allivm/lp_bld_arit.c
allivm/lp_bld_arit.h
c3e3df9b184e8c843c1abab29faa3af9e0c826bf 28-Feb-2012 Brian Paul <brianp@vmware.com> tgsi: remove trailing comma to silence warning
gsi/tgsi_info.h
335facb502199353e6f73c8ba20a2bb4ff7bf336 26-Feb-2012 Marek Olšák <maraeo@gmail.com> gallium/util: add fast path for buffers in u_default_transfer_inline_write

v2: fix indentation, add assertions
til/u_transfer.c
615baedc778039a2dcd08bbc1b3006c9e5a111dc 26-Feb-2012 Marek Olšák <maraeo@gmail.com> gallium/util: set correct usage flags in u_default_transfer_inline_write

The DISCARD flags should improve performance in drivers which handle them.
til/u_transfer.c
20be2867096b984823e4b18939fc855b377c5c95 27-Feb-2012 Christian König <deathsimple@vodafone.de> vl: adjust matrix and median filter to removal of PIPE_SHADER_CAP_OUTPUT_READ

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_matrix_filter.c
l/vl_median_filter.c
74d303521e6ba41d1cbeb75edb2f834ebbe8c550 24-Feb-2012 Marek Olšák <maraeo@gmail.com> gallium/rtasm: properly detect SSE and SSE2

This should fix crashes on ancient processors.
tasm/rtasm_cpu.c
2a97a00e28db330b8061c73ea6f1a7b7ad9d245f 25-Feb-2012 Christian König <deathsimple@vodafone.de> vl/compositor: fix a simple typo

Otherwise the dirty area tracking won't work correctly.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_compositor.c
a0a9e56cfed1ab81c1068cffbfd9299f77c7e187 24-Feb-2012 Marek Olšák <maraeo@gmail.com> u_blitter: decrease minimum buffer range alignment to 4 for copy_buffer
til/u_blitter.c
59fbd8c6bea1a6420b6fe3bb75d1ea64c054a8b3 24-Feb-2012 Marek Olšák <maraeo@gmail.com> u_blitter: check for invalid values in copy_buffer
til/u_blitter.c
99d5c1a13b97b9133a166c00c9fba1bec5f4bd9e 21-Feb-2012 Marek Olšák <maraeo@gmail.com> gallium/u_slab: fix possible crash in util_slab_destroy

It may happen if util_slab_create has not been called.

Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
til/u_slab.c
4a72d859b4f8d0444eb7f38606d59d7ddc9ea8fa 16-Feb-2012 Brian Paul <brianp@vmware.com> util: add mutex lock in u_debug_memory.c code

The linked list of memory allocations was not protected by a mutex.
This lead to sporadic failures with multi-threaded apps.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
til/u_debug_memory.c
4fdf42883f4a2361facafc196fe0210ecbb0f607 03-Feb-2012 Brian Paul <brianp@vmware.com> gallium: added pipe_sampler_view_release() function

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
til/u_inlines.h
3dd7b53178cb085a1ff3d87844fa51487f8892fc 22-Feb-2012 José Fonseca <jfonseca@vmware.com> gallium/cso: Put the comment about shader in the code for future reference.
so_cache/cso_context.h
32f833e5a58d886065309da5414a63924e61e9d9 17-Feb-2012 Marek Olšák <maraeo@gmail.com> gallium/cso: kill off non-functional shader caching

Suggested by José.

We don't provide shader caching in CSO. Most of the time the api provides
object semantics for shaders anyway, and the cases where it doesn't
(eg mesa's internall-generated texenv programs), it will be up to
the state tracker to implement their own specialized caching.
so_cache/cso_cache.c
so_cache/cso_cache.h
so_cache/cso_context.c
so_cache/cso_context.h
a6ef7f7ce4a52c05c55a2d265f1fdebc7de5a1db 17-Feb-2012 Marek Olšák <maraeo@gmail.com> gallium/util: remove u_simple_screen

Deprecated and unused.
til/u_simple_screen.h
37f97e1753af20a7161f61e99cb203b214e00641 10-Feb-2012 Christian König <deathsimple@vodafone.de> vl: add support for bob deinterlacing

v2: return VDP_STATUS_INVALID_VIDEO_MIXER_PICTURE_STRUCTURE
for unknown picture structure.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_compositor.c
l/vl_compositor.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>
allivm/lp_bld_tgsi_action.c
allivm/lp_bld_tgsi_soa.c
gsi/tgsi_info.c
dbadd395082d1c812733dff8c873f475d82c63e4 17-Feb-2012 José Fonseca <jfonseca@vmware.com> llvmpipe: Don't assume vector is 4 wide in lp_build_sin()/lp_build_cos()

Reviewed-by: Dave Airlie <airlied@redhat.com>
allivm/lp_bld_arit.c
c67a1f1d5366dc20cd07d9b677a335ff537da193 18-Feb-2012 Dave Airlie <airlied@redhat.com> draw: add missing streamout state setup for draw/llvm.

Signed-off-by: Dave Airlie <airlied@redhat.com>
raw/draw_vs_llvm.c
7199b0b6811b3340cb5c531c8625220e964fa16c 06-Feb-2012 Dave Airlie <airlied@redhat.com> gallivm: fetch immediates to correct type (v2)

Fetch float/uint/int immediates.

v2: bitcast to uint/int to floats as per Jose's suggestions.

Signed-off-by: Dave Airlie <airlied@redhat.com>
allivm/lp_bld_tgsi_soa.c
117a0e91afa4fae55df88de48a058c9b881c6b14 06-Feb-2012 Dave Airlie <airlied@redhat.com> gallivm: enable stores of integer types. (v2) + fix ARL

Infer from the operand the type of value to store.
MOV is untyped but we use the float store path.

v2: make MOV use float store path.

I've had to squash merge the ARL fix to be stored
as an integer in here to avoid regressions in a number
of piglit tests.

From now on ARL stores to an integer just like HW does.

Signed-off-by: Dave Airlie <airlied@redhat.com>
allivm/lp_bld_tgsi_action.c
allivm/lp_bld_tgsi_soa.c
141f2c2fc9325a5d30629373bb962f42517967ae 06-Feb-2012 Dave Airlie <airlied@redhat.com> gallivm: enable fetch for integer opcodes. (v2)

The infers the type of data required using the opcode,
and casts the input to the appropriate type.

So far this only handles non-indirect constant and temporaries.

v2: as per Jose suggestion, fetch immediates via floats

Signed-off-by: Dave Airlie <airlied@redhat.com>
allivm/lp_bld_tgsi.c
allivm/lp_bld_tgsi.h
allivm/lp_bld_tgsi_aos.c
allivm/lp_bld_tgsi_soa.c
66461aa249a95053fd5887df75ab791558c3a486 06-Feb-2012 Dave Airlie <airlied@redhat.com> gallivm: add uint/int bld to the base builder. (v2)

These are used inside the action handlers for the integer opcodes.

v2: use uint_bld/int_bld, drop higher level uint_bld.

Signed-off-by: Dave Airlie <airlied@redhat.com>
allivm/lp_bld_tgsi.h
allivm/lp_bld_tgsi_aos.c
allivm/lp_bld_tgsi_soa.c
f667a6f3cefbfb33478de87c166f7a52ed388fb4 07-Feb-2012 Dave Airlie <airlied@redhat.com> gallivm: fix build gather to take a bld context

Then pass the correct build context to it.

Signed-off-by: Dave Airlie <airlied@redhat.com>
allivm/lp_bld_tgsi_soa.c
639fbe2e75bb23a72262a7bc60d69d026b649609 06-Feb-2012 Dave Airlie <airlied@redhat.com> gallivm: pass build context to exec_mask_store.

For now just pass the current context, but when we want to
store int or unsigned we need to pass those later.

Signed-off-by: Dave Airlie <airlied@redhat.com>
allivm/lp_bld_tgsi_soa.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/tgsi_info.c
gsi/tgsi_info.h
9be0f9b0e470bb7bc8672d161615c16fe5b026fd 17-Feb-2012 José Fonseca <jfonseca@vmware.com> gallivm: Initialize x86 disassembler on x86_64 too.
allivm/lp_bld_debug.cpp
c89b471f8cd3da6c07eb437caabb2e648027f8bb 04-Feb-2012 Dave Airlie <airlied@redhat.com> llvmpipe: fix fogcoord writing (v2)

this fixes the fogcoord related piglit tests, like I fixed them in softpipe.

Signed-off-by: Dave Airlie <airlied@redhat.com>
raw/draw_llvm.c
553e8203879d163e6fe2f3a8f6b80a44749514c1 13-Feb-2012 Christian König <deathsimple@vodafone.de> vl: fix low strength denoise filter

A filter strength of zero or one doesn't make any
sense. Thanks to Andy Furniss for pointing this out.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_median_filter.c
d2c54fb5223efee699862bef56177027edc140bc 10-Feb-2012 Stéphane Marchesin <marcheu@chromium.org> gallivm: Replace architecture test with PIPE_ARCH_*

X86Target is a variable, and therefore isn't defined at compile time. So
LLVM_NATIVE_ARCH == X86Target
is translated into
0 == 0
and since X86 is first, we always pick it.

Therefore we replace the logic with PIPE_ARCH_*.

https://bugs.freedesktop.org/show_bug.cgi?id=45420
allivm/lp_bld_debug.cpp
d5a6c172547d8964f4d4bb79637651decaf9deee 09-Feb-2012 Vinson Lee <vlee@freedesktop.org> gallivm: Change getExtent and readByte to non-const with llvm-3.1.

Fix build with llvm-3.1svn.

llvm-3.1svn r149918 changed BufferMemoryObject::getExtent and
BufferMemoryObject::readByte from const member functions to non-const
member functions in include/llvm/Support/MemoryObject.h.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_debug.cpp
d7db6343dd330cb8eb70e65190adb24dd350facc 08-Feb-2012 Christian König <deathsimple@vodafone.de> vl: add a matrix/convolution filter

Can be used for gaussian, mean, laplacian, emboss, sharpness...

Signed-off-by: Christian König <deathsimple@vodafone.de>
akefile.sources
l/vl_matrix_filter.c
l/vl_matrix_filter.h
a9ffcceee9214342dab2085a35452acaa41003c5 07-Feb-2012 Christian König <deathsimple@vodafone.de> vl: add a median filter for noise reduction

This is a shader based median filter, generally
used for noise reduction, it could still need some
improvements, but should usually work out of the box.

Signed-off-by: Christian König <deathsimple@vodafone.de>
akefile.sources
l/vl_median_filter.c
l/vl_median_filter.h
8b4f7b0672d663273310fffa9490ad996f5b914a 06-Feb-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> gallium: add PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION

Just let the hardware do it if it can and avoid drivers having to
check for the special case on each draw call.

v2: update the draw module
raw/draw_context.c
raw/draw_decompose_tmp.h
raw/draw_gs_tmp.h
raw/draw_private.h
raw/draw_pt_decompose.h
raw/draw_so_emit_tmp.h
4ab8403c25695535bfabd139cac9bf7012f56eae 07-Feb-2012 Brian Paul <brianp@vmware.com> util: fix typo in debug_printf_once comment
til/u_debug.h
900168284615e61e13b6511c655b29e9ddb025b3 25-Jan-2012 Christian König <deathsimple@vodafone.de> vl: add VL_MAX_SURFACES define

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_defines.h
l/vl_mpeg12_decoder.c
l/vl_video_buffer.h
8abbdb8865890e1a39ebbbfae38422014f80072a 25-Jan-2012 Christian König <deathsimple@vodafone.de> vl: rename VL_MAX_PLANES to VL_NUM_COMPONENTS

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_defines.h
l/vl_mc.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
l/vl_video_buffer.c
l/vl_video_buffer.h
70a7695b4d1bd3f609eb9f98dd6872f1a5b89762 25-Jan-2012 Christian König <deathsimple@vodafone.de> vl: prefix size defines with VL_

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_decoder.c
l/vl_defines.h
l/vl_idct.c
l/vl_mc.c
l/vl_mpeg12_decoder.c
l/vl_video_buffer.c
l/vl_zscan.c
3ac959492d27a8473256bb7a25135f44b5d1a0f4 01-Feb-2012 Christian König <deathsimple@vodafone.de> vl: remove assert on unknown video profile

It's perfectly valid to ask for an unknown
profile and get unknown code as a result.

Signed-off-by: Christian König <deathsimple@vodafone.de>
til/u_video.h
3841d3fd1358cd3ecbe71d173e52551420a07f4e 23-Jan-2012 Christian König <deathsimple@vodafone.de> vl: add a simple weave deinterlacer

Well it's not so simple, since it does
deinterlacing and scaling at the same time.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_compositor.c
l/vl_compositor.h
9f9628c72bb16d7d64c9b38671dff8eabd2e7681 26-Jan-2012 Christian König <deathsimple@vodafone.de> vl/video_buffer: fix interlaced surface ordering

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_video_buffer.c
4ccae0dfaaee5f773fb356d052e6605ea0d99c2c 30-Jan-2012 Christian König <deathsimple@vodafone.de> vl/video_buffer: fix height of interlaced video buffers

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_video_buffer.c
fa2a76a21c8c513de506f2c5ec938c829cc65fdf 28-Jan-2012 Dave Airlie <airlied@redhat.com> draw: fix fog coord export.

This does what we do in the hw drivers, and only export the X.

fixes the fogcoord.dp* tests.

Signed-off-by: Dave Airlie <airlied@redhat.com>
raw/draw_vs_exec.c
8cbe699c0dd9b8d4accf1eaa570689f813aa3c2f 02-Feb-2012 Brian Paul <brianp@vmware.com> gallium/postprocess: move declarations before code

To fix MSVC build.
ostprocess/pp_run.c
81938d2137a7a65521ca5a3cd7180902d063c5c0 24-Jan-2012 Lauri Kasanen <cand@gmx.com> gallium/postprocess: Just to be safe, reference all buffers from outside

Even though it should be safe to use them for one frame, better be sure.
Suggested by Michael Dänzer.

NOTE: This is a candidate for the 8.0 stable branch.

Signed-off-by: Lauri Kasanen <cand@gmx.com>
ostprocess/pp_run.c
c5976017e31828dd67fb54e8c11b863fffcac70b 24-Jan-2012 Lauri Kasanen <cand@gmx.com> gallium/postprocess: Fix depth logic

This prevents a possible lapse of the depth buffer - the situation where
the app and pp have different depth buffers.

NOTE: This is a candidate for the 8.0 stable branch.

Signed-off-by: Lauri Kasanen <cand@gmx.com>
ostprocess/postprocess.h
ostprocess/pp_init.c
ostprocess/pp_run.c
edb19707951306447daef43c1ea3cacec5f211fb 02-Feb-2012 José Fonseca <jfonseca@vmware.com> draw: Avoid NULL pointer dereference when binding NULL fragment shaders.

Now that the draw module avoids flushing, it may flush precisely when
binding a NULL shader, so care must be taken when restoring the original
fragment shader.

Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_pipe_aaline.c
raw/draw_pipe_aapoint.c
raw/draw_pipe_pstipple.c
db312b62f2237ea5fd5a98f04550b862c116a392 01-Feb-2012 ojab <ojab@ojab.ru> gallivm: Fix LLVM-2.7 build.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
Tested-by: Vinson Lee <vlee@freedesktop.org>
allivm/lp_bld_debug.cpp
54fd495c41d39a228ca87de9c8f7ebf4a06cd740 01-Feb-2012 José Fonseca <jfonseca@vmware.com> gallivm: Remove MSVC RT hack.

The hack never worked reliably, and docs/llvmpipe.html is quite clear on
the requirement of matching CRT when building LLVM and Mesa already.
allivm/lp_bld_init.c
97329efc5fab01b105015773009a1f17bc6e1136 31-Jan-2012 ojab <ojab@ojab.ru> Initialize only native LLVM Disassembler.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_debug.cpp
cb43954308f44717814b53f40672163384cc005e 27-Jan-2012 Marek Olšák <maraeo@gmail.com> svga: set POINTSIZEMIN to 1.0 for non-sprite non-aa points

v2: add the helper function, improve the condition
til/u_inlines.h
647ca47cc30dc3f40752fc0a5983e3c31512cfab 30-Jan-2012 José Fonseca <jfonseca@vmware.com> gallivm: Don't use C99 member initializers.
allivm/lp_bld_tgsi_action.c
dde807b9dc038266fbe594c1a700283df007bf5e 30-Jan-2012 José Fonseca <jfonseca@vmware.com> gallivm: Move declaration before code.
allivm/lp_bld_tgsi_action.c
bc2875aa483a0fef7f6e32c1886f6e2edaba7694 12-Aug-2011 Tom Stellard <thomas.stellard@amd.com> gallivm: Add a new interface for doing TGSI->LLVM conversions

lp_bld_tgsi_soa.c has been adapted to use this new interface, but
lp_bld_tgsi_aos.c has only been partially adapted, since nothing in
gallium currently uses it.

v2:
- Rename lp_bld_tgsi_action.[ch] => lp_bld_tgsi_action.[ch]
- Initialize tgsi_info in lp_bld_tgsi_aos.c
- Fix copyright dates
akefile.sources
allivm/lp_bld_tgsi.c
allivm/lp_bld_tgsi.h
allivm/lp_bld_tgsi_action.c
allivm/lp_bld_tgsi_action.h
allivm/lp_bld_tgsi_aos.c
allivm/lp_bld_tgsi_soa.c
82b71db03ddaf0eed504412c9169db37cf9bdadc 14-Jan-2012 Tom Stellard <tstellar@gmail.com> gallium: Move duplicated helper macros to tgsi_exec.h
allivm/lp_bld_tgsi_soa.c
gsi/tgsi_exec.h
gsi/tgsi_ppc.c
6b63e25b3d7a6ac0bd738c139ead0c7e7ad84368 14-Jan-2012 Tom Stellard <tstellar@gmail.com> gallium: Prefix #defines in tgsi_exec.h with TGSI_
raw/draw_llvm.c
raw/draw_vs_exec.c
gsi/tgsi_exec.c
gsi/tgsi_exec.h
9ee1bcf7a5442ccb517a5cfbaf024755bd4d2738 14-Jan-2012 Tom Stellard <tstellar@gmail.com> gallium: Unify defines of CHAN_[XYZW] in tgsi_exec.h
allivm/lp_bld_tgsi_soa.c
gsi/tgsi_exec.c
gsi/tgsi_exec.h
gsi/tgsi_ppc.c
52049744620854487012151a7ac26ca978905411 11-Jan-2012 Tom Stellard <thomas.stellard@amd.com> gallivm: Add function lp_bld_gather_values()
allivm/lp_bld_gather.c
allivm/lp_bld_gather.h
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/tgsi_info.c
gsi/tgsi_info.h
743432039ccd4c4af03aa4ef274a7922f871bc38 15-Jan-2012 Vinson Lee <vlee@freedesktop.org> draw: Remove unused variables.

Fix this GCC warning.
draw_pipe_clip.c: In function ‘interp’:
draw_pipe_clip.c:122:13: warning: variable ‘clip_dist’ set but not used
[-Wunused-but-set-variable]

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Dave Airlie <airlied@redhat.com>
raw/draw_pipe_clip.c
8b3c99a5ebbc2f8b586d8ae2bd9aa5c55bbf3f04 02-Feb-2011 Brian Paul <brianp@vmware.com> gallivm: Swizzle constants into the right AoS ordering.

Constants array is always assumed to be RGBA, which means we need to
swizzle the constant elements into place to match the AoS ordering
(e.g., BGRA) that was passed to lp_build_tgsi_aos().

Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_tgsi_aos.c
07635a4799b15a7575e1feb8859ecc7734850deb 27-Jan-2012 José Fonseca <jfonseca@vmware.com> draw: Ensure that prepare is always run after LLVM garbagge collection.

Should avoid dangling pointer derreference with

glean --run results --overwrite --quick --tests texSwizzle

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_llvm.c
b6d3a435a0e0e53a9e8cc4c4249dc7c2f897a83d 24-Jan-2011 Jakob Bornecrantz <wallbraker@gmail.com> draw: Only run prepare when state, prim and opt changes

In bad applications like ipers which does a lot of draw calls with
no state changes this helps to greatly reduce time spent in prepare.
In ipers around 7% of CPU was spent in various prepare functions,
after this commit no prepare function show on the profile.

This commit also has the added benefit of now grouping all pipelined
drawing into a single draw call if the driver uses vbuf_render.

Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
raw/draw_context.c
raw/draw_private.h
raw/draw_pt.c
raw/draw_pt.h
raw/draw_pt_vsplit.c
eb65ccbc21670d16813b53e0f8d94cb4e037d39c 05-Dec-2010 Jakob Bornecrantz <wallbraker@gmail.com> draw: Don't revalidate pipeline on backend flushes

Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
raw/draw_pipe.c
4a79545bdfb9e948329a761ef350eb83a3d87496 05-Dec-2010 Jakob Bornecrantz <wallbraker@gmail.com> draw: Remove reduced_prim

Conflicts:

src/gallium/auxiliary/draw/draw_context.c

Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
raw/draw_context.c
raw/draw_private.h
raw/draw_pt.c
7219af5ec184d4f92682e75f3d992ae048005d6a 24-Jan-2012 Michel Dänzer <michel.daenzer@amd.com> gallium/postprocess: Proper reference counting of pp_jimenezmlaa depth buffer.

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=40776

NOTE: This is a candidate for the stable branches.
ostprocess/pp_init.c
eeff1ee7466d5de7764bcd7ad4d7be4d76aa738c 16-Jan-2012 Vinson Lee <vlee@freedesktop.org> util: Silence GCC unused-but-set-variable warning.

Fix this GCC 4.6 warning with 64-bit builds.
u_debug_stack.c: In function ‘debug_backtrace_capture’:
u_debug_stack.c:45:17: warning: variable ‘frame_pointer’ set but not
used [-Wunused-but-set-variable]

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
til/u_debug_stack.c
455090c4c42cc7003594a750105980b125e140d4 16-Jan-2012 José Fonseca <jfonseca@vmware.com> vl: Make array initialization portable.

Should fix MSVC build.
l/vl_video_buffer.c
2eabd05b7525f081ec203747a436d597ce33eb3b 10-Jan-2012 Christian König <deathsimple@vodafone.de> vl: fix YV12 handling

We actually implemented YV21 instead of YV12, so fix the plane ordering.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_mpeg12_decoder.c
l/vl_video_buffer.c
l/vl_video_buffer.h
8ea416f35de0c664ef47b71841756758f22d7faa 04-Jan-2012 Christian König <deathsimple@vodafone.de> vl: move away from state like parameters

Again based on Maartens work, but keep begin_frame
and end_frame functions for now.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_mpeg12_bitstream.c
l/vl_mpeg12_bitstream.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
9af70c90dba9ed9902778883b675062fa0168b48 04-Jan-2012 Christian König <deathsimple@vodafone.de> vl/video_buffer: add support for interlaced buffers

Add the infrastructure, but not the decode implementation.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_video_buffer.c
l/vl_video_buffer.h
12b49ca2dfab832ff9dce50c846aee7f3efc3084 20-Dec-2011 Christian König <deathsimple@vodafone.de> vl/video_buffer: improve constructor

Add a second extened constructor that takes plane
textures for the video buffer. Also provide a
function for texture templates.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_video_buffer.c
l/vl_video_buffer.h
e027759336bf49e3f568bd73b9e5f26d56ef6f83 02-Jan-2012 Christian König <deathsimple@vodafone.de> vl/video_buffer: use template style create params

Just like in the rest of gallium, this reduces the
number of parameters significantly.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_mpeg12_decoder.c
l/vl_video_buffer.c
l/vl_video_buffer.h
2449695e822421fdcaf1c66dffc12d7d705ea69d 17-Dec-2011 Marek Olšák <maraeo@gmail.com> gallium: improve the pipe_stream_output_info struct (v2)

There are 3 changes:

1) stride is specified for each buffer, not just one, so that drivers don't
have to derive it from the outputs

2) new per-output property dst_offset, which specifies the offset
into the buffer in dwords where the output should be stored,
so that drivers don't have to compute the offsets manually;
this will also be useful for gl_SkipComponents
from ARB_transform_feedback3

3) register_mask is removed, instead, there is start_component
and num_components; register_mask with non-consecutive 1s
doesn't make much sense (some hardware cannot do packing of components)

Christoph Bumiller: fixed nvc0.

v2: resolve merge conflicts in Draw and clean it up
raw/draw_pt_so_emit.c
til/u_blitter.c
til/u_dump_state.c
9611237051e32b912f17e2d6cd23528d66ad5d81 05-Jan-2012 Tom Stellard <thomas.stellard@amd.com> gallivm: Allow target specific intrinsics in lp_declare_intrinsic()

Target specific intrinsics are also prefixed with llvm, so this assert
was preventing us from using them.
allivm/lp_bld_intr.c
eab036a6eaebd532f88c49bd26550c6225f96005 12-Jan-2012 Brian Paul <brianp@vmware.com> mesa/gallium: add FFS_DEFINED to protect ffs() from multiple definitions

We include both imports.h and u_math.h in the state tracker. This
leads to multiple, conflicting definitions of ffs() with MSVC.
Use FFS_DEFINED to skip the ffs() in u_math.h.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
til/u_math.h
1306644a67ad90c39c55f76e9b4734d943b6b5cc 11-Jan-2012 José Fonseca <jfonseca@vmware.com> draw: Store the new pre_clip_pos member as well.

Again, not much testing nor peer review, but should be better than what's
now.
raw/draw_llvm.c
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/tgsi_exec.c
gsi/tgsi_strings.c
gsi/tgsi_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/tgsi_exec.c
gsi/tgsi_info.c
1865f341d8f45b389061fc08d2da90b7aa8a6099 06-Jan-2012 Dave Airlie <airlied@redhat.com> draw: clipdistance support (v2)

Add support for using the clipdistance instead of clip plane.

Passes all piglit clipdistance tests.

v2: fixup some comments from Brian in review.

Signed-off-by: Dave Airlie <airlied@redhat.com>
raw/draw_cliptest_tmp.h
raw/draw_context.c
raw/draw_pipe_clip.c
raw/draw_private.h
raw/draw_pt_post_vs.c
raw/draw_vs.c
raw/draw_vs.h
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/tgsi_scan.c
gsi/tgsi_scan.h
40c5987ed84f9f0b8bb1f707bb13c1aafc39330a 04-Jan-2012 Dave Airlie <airlied@redhat.com> draw/softpipe: add clip vertex support. (v2)

softpipe always clipped using the position vector, however for unclipped
vertices it stored the position in window coordinates, however when position
and clipping are separated, we need to store the clip-space position and
the clip-space vertex clip, so we can interpolate both separately.

This means we have to take the clip space position and store it to use later.

This allows softpipe to pass all the clip-vertex piglit tests.

v2: fix llvm draw regression, the structure being passed into llvm needed
updating, remove some hardcoded ints that should have been enums while there.

Signed-off-by: Dave Airlie <airlied@redhat.com>
raw/draw_cliptest_tmp.h
raw/draw_context.c
raw/draw_llvm.c
raw/draw_llvm.h
raw/draw_pipe_clip.c
raw/draw_private.h
raw/draw_pt_fetch.c
raw/draw_vs.c
raw/draw_vs.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>
raw/draw_vs_exec.c
gsi/tgsi_exec.c
gsi/tgsi_exec.h
8597c986d739212024bcb663470b929095230a12 10-Jan-2012 Brian Paul <brianp@vmware.com> draw: remove unused 'so' variable in draw_pt_so_emit()
raw/draw_pt_so_emit.c
2e87660ca6deba9ba866a8012cf82f41374b5adb 10-Jan-2012 Brian Paul <brianp@vmware.com> util: use memset() to initialize surface, sampler_view templates

These initialization functions weren't initializing all the fields so
some had undefined values. The callers of these functions sometimes use
a structure assignment to initialize new objects from these templates
so we'd just propagate the undefined values. That made for some confusing
info when debugging, plus it could lead to bugs.

v2: fix surf pointer mix-up: "&surf" -> "surf"

Jakob Bornecrantz <jakob@vmware.com>
til/u_sampler.c
til/u_surface.c
54f6b64e7ec905bad9e6ab0b7fc9e035c48030aa 09-Jan-2012 Jakob Bornecrantz <jakob@vmware.com> draw: Silence warning

This peice of code has been here since the inital commit (c5c5cd71) and the
code that used instance_id_index was removed in (caede752) by José.

Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
Reviewed-by Brian Paul <brianp@vmware.com>
raw/draw_pt_fetch_shade_pipeline_llvm.c
9af9e12bc57db3222d91992a69b7fd95231928f6 09-Jan-2012 Jakob Bornecrantz <jakob@vmware.com> target-helpers: If neither softpipe or llvmpipe is used just return the screen

So the targets can drop the sw_wrapper winsys when no sw driver is being used.

Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
Reviewed-by Brian Paul <brianp@vmware.com>
arget-helpers/inline_wrapper_sw_helper.h
ec8cbd79ac4065111365a6720c9564de56855cc8 04-Jan-2012 Dave Airlie <airlied@redhat.com> draw/softpipe: EXT_transform_feedback support (v2)

This replaces the current code with an implementation compatible with
the new gallium interface. I've left some of the remains of the interface
intact so llvmpipe keeps building correctly, and I'll take a look at fixing
llvmpipe up later.

v2: fixup as per Brian's review

Signed-off-by: Dave Airlie <airlied@redhat.com>
raw/draw_context.c
raw/draw_context.h
raw/draw_private.h
raw/draw_pt_so_emit.c
raw/draw_vbuf.h
raw/draw_vs_exec.c
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/tgsi_exec.c
gsi/tgsi_exec.h
gsi/tgsi_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
so_cache/cso_context.c
raw/draw_cliptest_tmp.h
raw/draw_context.c
raw/draw_llvm.c
raw/draw_llvm.h
raw/draw_private.h
ostprocess/pp_program.c
gsi/tgsi_strings.c
til/u_blit.c
til/u_blitter.c
til/u_blitter.h
til/u_dump_state.c
til/u_gen_mipmap.c
l/vl_compositor.c
l/vl_idct.c
l/vl_mc.c
l/vl_zscan.c
f4863f3923152448e27ea68d0cd04411bbe3f4c7 09-Jan-2012 Jakob Bornecrantz <wallbraker@gmail.com> draw: Fail if we fail to enable llvm when asked for it

The r300 driver requires LLVM when building and other drivers that
depend on it for all TNL, like i915g will be a lot slower without it.

Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_context.c
3e22c7a25321554a32fa6254485912fd53deff3a 09-Jan-2012 Jakob Bornecrantz <wallbraker@gmail.com> draw: Make it possible to create a llvm free context

Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_context.c
raw/draw_context.h
8c2bfa34a0d70ab08de44e3b091b3a097abbad97 23-Dec-2011 Christian König <deathsimple@vodafone.de> vl: replace decode_buffers with auxiliary data field

Based on patches from Maarten Lankhorst <m.b.lankhorst@gmail.com>

Signed-off-by: Christian König <deathsimple@vodafone.de>
Acked-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
l/vl_decoder.c
l/vl_decoder.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_video_buffer.c
l/vl_video_buffer.h
4c0f1fb5ec6117f07c9c911d7f74ff0d18c51d98 07-Jan-2012 Bryan Cain <bryancain3@gmail.com> gallium: add an IABS opcode to TGSI

This is a necessary operation that is missing from TGSI.

Reviewed-by: Brian Paul <brianp@vmware.com>
gsi/tgsi_exec.c
gsi/tgsi_info.c
70754dd1fbb1f0184dbaa3d6ac03f2df4c2e0436 07-Jan-2012 Brian Paul <brianp@vmware.com> util: silence some MSVC type conversion warnings
til/u_format_r11g11b10f.h
f0f623a9075107461438468e1aea6bca3a3234f3 07-Jan-2012 Brian Paul <brianp@vmware.com> draw: replace assert(0) with debug_warn_once()

If the assertion was hit, it probably meant that we were unable to allocate
or map a vertex buffer. Instead of dying in a debug build, issue a warning
and continue.
raw/draw_pt_emit.c
raw/draw_pt_fetch_emit.c
raw/draw_pt_fetch_shade_emit.c
94bf2d48e19b86a4cfa4ff3bf3da97967f8a2793 07-Jan-2012 Brian Paul <brianp@vmware.com> util: add debug_warn_once() macro

Emits a warning message, but only once to avoid tons of repeated warnings.
til/u_debug.h
994c33db875c6af2f5b535a7a173ff3bfa24fc32 07-Jan-2012 Brian Paul <brianp@vmware.com> draw: whitespace fixes, etc.
raw/draw_pt_emit.c
raw/draw_pt_fetch.c
raw/draw_pt_fetch_emit.c
raw/draw_pt_fetch_shade_emit.c
488dd2c1912132fe7ee5e81b05fb64ba62a46098 07-Jan-2012 Brian Paul <brianp@vmware.com> gallium: make vbuf_render::set_primitive() return void

All the implementations of this function always return TRUE.
raw/draw_pt_emit.c
raw/draw_pt_fetch_emit.c
raw/draw_pt_fetch_shade_emit.c
raw/draw_vbuf.h
2bdf93449a0b00145fabdd3f7866acbafa18e734 07-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: don't unroll indices if mapping vertex buffers blocks
til/u_vbuf.c
784026139cc15db384bed858e7be943b79772aa4 07-Jan-2012 Dave Airlie <airlied@redhat.com> draw: fix missing include for u_format.

Signed-off-by: Dave Airlie <airlied@redhat.com>
raw/draw_pt_fetch.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/tgsi_strings.c
17707d89f438d7f52a3918f9b351e1419314cb17 06-Jan-2012 Dave Airlie <airlied@redhat.com> draw: don't translate non-floats to float.

translate signed/unsigned integers to coresponding uint/sint r32g32b32a32 types.

This fixes a bunch of piglit tests.

Signed-off-by: Dave Airlie <airlied@redhat.com>
raw/draw_pt_fetch.c
293a3916bd0dfa4fb8850e58f81743bfab0f89dc 02-Jan-2012 Dave Airlie <airlied@redhat.com> draw: fix piglit base vertex + user vertex array tests

This fixes
draw-elements-base-vertex user_varrays
draw-elements-instanced-base-vertex user_varrays
for softpipe with no llvm support (DRAW_USE_LLVM=false)

I'm not sure if this is the correct answer, but these tests were showing
a max_index of 7, then trying to fetch up to 43, maybe it should be fixing
max_index earlier somewhere to take care of this.

Signed-off-by: Dave Airlie <airlied@redhat.com>
raw/draw_pt_fetch.c
6951870e5790a4b563bfa3b943ed338f9c5922ac 02-Jan-2012 Bryan Cain <bryancain3@gmail.com> gallium: add support for clip distances
gsi/tgsi_strings.c
gsi/tgsi_ureg.c
gsi/tgsi_ureg.h
c2cc630f2896175ff0f368d9199acbe24afb7e75 04-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: use cso_cache to cache vertex element states

Improves performance to 28 fps in Cogs.
til/u_vbuf.c
ce44bae366ade59fb2dbdfbfe5a1ab8d24518a57 03-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: implement another upload codepath which unrolls indices

Improves performance from cca 1 fps to 23 fps in Cogs.
This new codepath is not always used, instead, there is a heuristic which
determines whether to use it. Using translate for uploads is generally
slower than what we have had already, it's a win only in a few cases.
til/u_vbuf.c
til/u_vbuf.h
2b851526c1c047bba7ebb7e51706b1694f027947 03-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: cleanup variable names to be consistent
til/u_vbuf.c
64242b23c1893dd6e1c048beee0e1573aeaf1abc 03-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: cleanup the computation of how many vertices to upload/translate
til/u_vbuf.c
c897b943f4ba6ad4c7547d16aa9bca47ac1230de 03-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: convert min_index,max_index to start,count
til/u_vbuf.c
1ae9e588fa8e213f414f3d2d2e70c001deb304c8 03-Jan-2012 Marek Olšák <maraeo@gmail.com> util: add helper function util_dump_draw_info
til/u_dump.h
til/u_dump_state.c
d1f11ed3eff405561fd94ed05a9f0e5e049f0908 02-Jan-2012 Marek Olšák <maraeo@gmail.com> translate: implement translation of 10_10_10_2 types

This is for GL_ARB_vertex_type_2_10_10_10_rev.
I just took the code from u_format_table.c. It's based on pack_rgba_float.
I had no other choice. The u_format hooks are not exactly compatible
with translate. The cleanup of it is left for future work.

Reviewed-by: Dave Airlie <airlied@redhat.com>
ranslate/translate_generic.c
0a8a7144a152eba0e1bd955b7a423ed5336a9f31 02-Jan-2012 Marek Olšák <maraeo@gmail.com> translate: implement translation of (pure) integer formats

The conversion is limited to only a few cases, because converting to any other
type shouldn't happen in any driver.

Reviewed-by: Dave Airlie <airlied@redhat.com>
ranslate/translate_generic.c
1ba3240b281fcbbf03372a6e2db68292cb8a8907 02-Jan-2012 Marek Olšák <maraeo@gmail.com> u_format: implement fetch_rgba_uint and fetch_rgba_sint for integer formats

Fetching int as float and vice versa is not allowed.
Fetching unsigned int as signed int and vice versa is not allowed either.
Doing conversions like that isn't allowed for samplers in OpenGL.

The three hooks could be consolidated into one fetch hook, which would fetch
uint as uint32, sint as sint32, and everything else as float. The receiving
parameter would be void*. This would be useful for implementing vertex fetches
for shader model 4.0, which has untyped registers.

Reviewed-by: Dave Airlie <airlied@redhat.com>
til/u_format.h
til/u_format_pack.py
til/u_format_table.py
7cd1c62b6be88072e3d937b67c499592490927f1 02-Jan-2012 Marek Olšák <maraeo@gmail.com> gallium: remove deprecated PIPE_TRANSFER_DISCARD

PIPE_TRANSFER_DISCARD_RANGE is defined the same.
l/vl_compositor.c
l/vl_idct.c
l/vl_mpeg12_decoder.c
l/vl_vertex_buffers.c
l/vl_zscan.c
5968e4068cdcb0551f1c519f236560bb44ea659e 01-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: translate per-vertex, per-instance, and constant attribs separately

We don't wanna convert per-instance or constant (zero-stride) attribs into
ordinary vertex attribs.

More importantly, the translation of instance attribs now finally works.
til/u_vbuf.c
dbd60d27e8087a3bacf36d4eceef15dc4fcdccee 01-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: take start_instance into account when uploading instanced attribs
til/u_vbuf.c
f94d390213308d4aca1515c75acc6865ebb45796 01-Jan-2012 Marek Olšák <maraeo@gmail.com> u_upload_mgr: remove the 'flushed' parameter

Not used by anybody.

Reviewed-by: Brian Paul <brianp@vmware.com>
til/u_upload_mgr.c
til/u_upload_mgr.h
til/u_vbuf.c
c727cc175bcbf96f12f27c46819667948d5ebbe2 01-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: don't map user buffers, just obtain a pointer to them
til/u_vbuf.c
f430f794ace50022b1b81408a3721b8e0b2519bb 01-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: only map a subrange of buffers to translate
til/u_vbuf.c
214b87aa0469a12ea72d624cfaee0ca46179ec5f 01-Jan-2012 Marek Olšák <maraeo@gmail.com> gallium: fix behavior of pipe_buffer_map_range

To match what transfer_map returns. Really, subtracting the offset leads
to bugs if someone expects it to work exactly like transfer_map.

Reviewed-by: Brian Paul <brianp@vmware.com>
til/u_inlines.h
til/u_upload_mgr.c
fb0aa34fab77fe8a7fc3253d5ecf635ce37a21c7 01-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: remove the workaround for half floats and translate
til/u_vbuf.c
1acef6a7465e8c54dc10a43c9e7278d4506c1d5e 01-Jan-2012 Marek Olšák <maraeo@gmail.com> translate: implement translation of half floats in the generic codepath
ranslate/translate_generic.c
85b5dac705fcf3fafb734696e1f863cfc21e2d6e 05-Jan-2012 Brian Paul <brianp@vmware.com> tgsi: consolidate TGSI string arrays in new tgsi_strings.h

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

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

Reviewed-by: Dave Airlie <airlied@redhat.com>
akefile.sources
allivm/lp_bld_tgsi_info.c
gsi/tgsi_dump.c
gsi/tgsi_dump.h
gsi/tgsi_strings.c
gsi/tgsi_strings.h
gsi/tgsi_text.c
c2e537fef26be6f9995f99e04015d0c1ac9ed5ae 04-Jan-2012 Brian Paul <brianp@vmware.com> gallium/util: fix argument cast in x32_s8_get_tile_rgba() call
til/u_tile.c
7b181d16c3b954bf567563e90e5e94bda833fab8 04-Jan-2012 Christian König <deathsimple@vodafone.de> vl/mpeg2: simple fix to get xine running again

Otherwise xines xxmc plugin will just display green blocks.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_mpeg12_decoder.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/tgsi_exec.c
e763b6e78825f11aa3e9e2368ba8fc47313a7848 07-Dec-2011 Morgan Armand <morgan.devel@gmail.com> softpipe: remove the 32bits limitation on depth(-stencil) formats

This patch remove the 32bits limitation. As a side effect, it bring the support for the GL_ARB_depth_buffer_float extension.
No regression have been found on piglit, and all tests for GL_ARB_depth_buffer_float pass successfully.

Signed-off-by: Dave Airlie <airlied@redhat.com>
til/u_tile.c
2ae591bdf13f02f23471ea302b55eaccbb810dd7 03-Jan-2012 Alexander von Gluck <kallisti5@unixzen.com> gallium: use Haiku provided debug_printf in OS.h

Signed-off-by: Brian Paul <brianp@vmware.com>
til/u_debug.h
bce506ffc09c44552c3d1053c6a0450b8f010292 22-Dec-2011 Christian König <deathsimple@vodafone.de> vl: seperate shader buffers from components

Buffers for shader based decoding can now be
released without its component still being around.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Acked-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
l/vl_idct.c
l/vl_idct.h
l/vl_mc.c
l/vl_mc.h
l/vl_mpeg12_decoder.c
l/vl_zscan.c
l/vl_zscan.h
ce31970af16558ebd60cfae33c000252bc3e1cbf 29-Dec-2011 Marek Olšák <maraeo@gmail.com> u_blitter: expose functions for setting default views and surfaces for copying

And more importantly, don't call u_sampler_view_default_template etc.
it was a source of bugs.
til/u_blitter.c
til/u_blitter.h
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/tgsi_exec.c
bed4c7ea5ea65ae4d591c5f9fb6d0ab24ba268ee 30-Dec-2011 Dave Airlie <airlied@gmail.com> u_format: fix latc fetches.

This fixes the latc fetches for llvmpipe, fixes
fbo-generatemipmap-formats GL_ARB_texture_compression
fbo-generatemipmap-formats GL_ATI_texture_compression_3dc
fbo-generatemipmap-formats GL_EXT_texture_compression_latc

Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Dave Airlie <airlied@gmail.com>
til/u_format_latc.c
0c6ee788f225e978dab3c78e18b1cf26e37edfbd 30-Dec-2011 Dave Airlie <airlied@gmail.com> u_format/rgtc: fix alpha values in returned texels.

This fixes fbo-generatemipmap-formats GL_EXT_texture_compression_rgtc
on llvmpipe.

Signed-off-by: Dave Airlie <airlied@redhat.com>
til/u_format_rgtc.c
4ca624f8e09bff1a4f681c54486e327605b8274d 30-Dec-2011 Dave Airlie <airlied@gmail.com> u_format: fix inv_swizzles generation

inv_swizzles is used in lp_tile_soa.py to create lp_tile_soa.c, we overwrite swizzles if they are already set.

This results in the i8 format getting alpha instead of red, and the l8 format
getting blue instead of red.

Fixes fbo-alphatest-formats, fbo-alphatest-formats ARB_texture_float,
and fbo-alphatest-formats EXT_texture_snorm on llvmpipe.

Signed-off-by: Dave Airlie <airlied@redhat.com>
til/u_format_parse.py
9e4c8ce3bc2c68d6397de1b48ce300ee6826e759 27-Dec-2011 Alexander von Gluck <kallisti5@unixzen.com> gallium: use Mesa pthread_barrier_t on Haiku, as it is incomplete under Haiku

Reviewed-by: Brian Paul <brianp@vmare.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
s/os_thread.h
157566860dee7ef4560f0f0a0a09f86b5973ed19 24-Dec-2011 Dave Airlie <airlied@redhat.com> gallium/u_pack: fix l8/i8 pack color ub

just noticed this in passing, not sure it actually fixes any issus.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmare.com>
til/u_pack_color.h
7ac114f94a8fac5fa7cc0e99bf6a3c03ec194650 22-Dec-2011 Christian König <deathsimple@vodafone.de> vl: call decode_bitstream only once

Submit all bitstreams at once to decode_bitstream.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
l/vl_mpeg12_bitstream.c
l/vl_mpeg12_bitstream.h
l/vl_mpeg12_decoder.c
1fdecef8868ce1a5ca6c2cb260294fb37d3bd69d 24-Dec-2011 Maarten Lankhorst <m.b.lankhorst@gmail.com> vl: Fix inverted logic in vlc checks

Reported-by: Andy Furniss <andyqos@ukfsn.org>
Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
l/vl_vlc.h
efa93ae449b6dc8437ee7240a8ea050a0d1699e0 20-Dec-2011 Maarten Lankhorst <m.b.lankhorst@gmail.com> vl: improve vlc functions and handling

Only initialize vlc in MPEG2 decoding once for all slices,
add more sanity checks to vlc decoding functions, support
multiple vlc input buffer, improve documentation of the
vlc functions.

v2: also implement multiple inputs for the vlc functions
v3: some bug fixes for buffer size and alignment corner cases
v4: rework of the patch, some more improvements

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_mpeg12_bitstream.c
l/vl_vlc.h
2eafd07323891944b9c012a17359cd5f07a87890 22-Dec-2011 Lauri Kasanen <cand@gmx.com> gallivm: Close a memory leak

Hi all

This fixes a memory leak of 32 bytes on exit.

From 924f8fdccb41b011f372bc57252005bcdb096105 Mon Sep 17 00:00:00 2001
From: Lauri Kasanen <curaga@operamail.com>
Date: Thu, 22 Dec 2011 21:28:33 +0200
Subject: [PATCH] gallivm: Close a memory leak

As reported by "valgrind --leak-check=full glxgears".

Signed-off-by: Lauri Kasanen <curaga@operamail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
allivm/lp_bld_init.c
68651c3243f5539caaa0f8b81bc2ad025610606d 20-Dec-2011 Maarten Lankhorst <m.b.lankhorst@gmail.com> vl: Remove unused declaration

csc is not used for rgba and gives a warning.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_compositor.c
72325ee6e35fc3941dc04a87e14e0ba0c9eec52e 19-Dec-2011 Maarten Lankhorst <m.b.lankhorst@gmail.com> vl: Use pipe clear_render_target instead of util_clear_render_target

Mapping to software and uploading again clearing is killing performance.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_compositor.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/tgsi_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/tgsi_exec.c
f4ab1783b390cd8ff7f4b1e7ba9fc15893e2d69c 19-Dec-2011 Dave Airlie <airlied@redhat.com> gallium/draw: fix two side handling

The code didn't handle the case where front wasn't specified in the vertex
shader outputs, but back was.

In that case we were doing a copy from back to non-existant front,
this code checks we have existant front/backs and only does the copy when
they both exist.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_pipe_twoside.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/tgsi_exec.c
95aa0e5d84a4f46f2f0809b26f5899b8e39f5afc 13-Dec-2011 Vinson Lee <vlee@vmware.com> gallivm: Fix build with llvm-3.1svn.

llvm-3.1svn r145714 moved global variables into a new TargetOptions
class. TargetMachine constructor now needs a TargetOptions object as
well.

Signed-off-by: Vinson Lee <vlee@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
allivm/lp_bld_debug.cpp
allivm/lp_bld_misc.cpp
cf5948380829ff44aafb12c911b0fc064360d352 15-Dec-2011 Fredrik Höglund <fredrik@kde.org> gallium: fix a crash in drivers that don't support stream output
so_cache/cso_context.c
c05fafa4a0fd93d4264c46578e23a83ecf2b481e 09-Dec-2011 Marek Olšák <maraeo@gmail.com> st/mesa: implement EXT_transform_feedback and ARB_transform_feedback2
so_cache/cso_context.c
so_cache/cso_context.h
til/u_blit.c
til/u_gen_mipmap.c
36d66f8d4ad1e2b18bb28d0b08e98f968ad6137e 09-Dec-2011 Marek Olšák <maraeo@gmail.com> u_blitter: implement copy_buffer using stream output
til/u_blitter.c
til/u_blitter.h
b177e2c54c7dbec58c2547524abe89e52d458252 19-Nov-2011 Marek Olšák <maraeo@gmail.com> u_blitter: restore stream output targets
til/u_blitter.c
til/u_blitter.h
8a9a37cebeff19b56afed43ae037d00950fa7594 09-Dec-2011 Marek Olšák <maraeo@gmail.com> gallium: utility helper functions for stream output
gsi/tgsi_ureg.c
gsi/tgsi_ureg.h
til/u_debug_describe.c
til/u_debug_describe.h
til/u_inlines.h
til/u_simple_shaders.c
til/u_simple_shaders.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
raw/draw_context.c
raw/draw_context.h
raw/draw_private.h
raw/draw_pt_so_emit.c
ostprocess/pp_run.c
gsi/tgsi_ureg.c
til/u_dump_state.c
167b1b32c5ff30d514253072ce54513112c03d4d 12-Dec-2011 Christian König <deathsimple@vodafone.de> g3dvl/compositor: improve dirty area handling

Take viewport and scissors into account and make
the dirty area a parameter instead of a member.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_compositor.c
l/vl_compositor.h
06f217d80f3d1318da4974bf7b31ea7edcf5eb0b 18-Nov-2011 Marek Olšák <maraeo@gmail.com> gallium: implement ARB_conservative_depth

This adds a new TGSI property to represent the GLSL layout qualifier in TGSI.
gsi/tgsi_dump.c
gsi/tgsi_ureg.c
gsi/tgsi_ureg.h
c83fb4d45f2a47042f395271efe6e5489b2c4aee 09-Dec-2011 José Fonseca <jfonseca@vmware.com> util: Add strings.h include on unices

Fixes -Wimplicit-function-declaration for ffs with GCC. Spotted/tested
by Kai Wasserbäch.
til/u_math.h
6cf7245f6938e27c9b8a1742f27659aec017bbdc 30-Nov-2011 José Fonseca <jfonseca@vmware.com> llvmpipe: Trim the fragment shader cached based on LLVM IR instruction count.

Number of fragment shader variants is not very representative of the
memory used by LLVM, neither is number of shader instructions, as often
texture sampling constitutes most of the generated code.

This change adds an additional trim criteria: least recently used
fragment shader variants will be freed until the total number of LLVM IR
instruction falls below a specified threshold.

Reviewed-by: Brian Paul <brianp@vmware.com>
allivm/lp_bld_type.c
allivm/lp_bld_type.h
f32c7232a8a16887af710a11f025381bc73640f0 28-Nov-2011 José Fonseca <jfonseca@vmware.com> llvmpipe,draw,gallivm: Ensure we don't walk beyond the end of the shader variant list.

u_simple_list.h uses a sentinel element, and not a NULL element. So
ensure list is not empty when reducing the list of shader variants.

Something I noticed while trying to free variants more aggressively.

Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_pt_fetch_shade_pipeline_llvm.c
1bb59b382a5702ebab37b0e7eb219e5b54769ffb 03-Dec-2011 Brian Paul <brianp@vmware.com> util: add casts in fprintf() calls to silence warnings

And wrap to 80 columns.
til/u_debug_refcnt.c
5c31eb78e5fa4c4cfcc82df3c9a2c34fcd4b402c 28-Nov-2011 Chia-I Wu <olv@lunarg.com> gallium: add PIPE_FORMAT_ETC1_RGB8

The format is defined by GL_OES_compressed_ETC1_RGB8_texture.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
akefile.sources
til/u_format.csv
til/u_format.h
til/u_format_etc.c
til/u_format_etc.h
til/u_format_pack.py
til/u_format_table.py
de93347d482a96f88c898622c9620f03e677e386 01-Dec-2011 Vinson Lee <vlee@vmware.com> u_vbuf: Silence uninitialized variable warnings.

Fixes these GCC warnings.
u_vbuf.c: In function ‘u_vbuf_draw_begin’:
u_vbuf.c:839:20: warning: ‘max_index’ may be used uninitialized in this function [-Wuninitialized]
u_vbuf.c:838:20: warning: ‘min_index’ may be used uninitialized in this function [-Wuninitialized]

Signed-off-by: Vinson Lee <vlee@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
til/u_vbuf.c
ccd4d4367f2b4e5aebfc59b832599812a4a1c7d8 29-Nov-2011 Kai Wasserbäch <kai@dev.carbon-project.org> gallium/cell: Remove the driver.

Complicates Gallium3D development and doesn't seem to have active users.

Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
akefile.sources
tasm/rtasm_ppc_spe.c
tasm/rtasm_ppc_spe.h
arget-helpers/inline_sw_helper.h
10b07665be5cff9fa9f03b0f7db459f3b380570d 09-Nov-2011 José Fonseca <jose.r.fonseca@gmail.com> Remove windows kernel support code.

Not actively used.

Reviewed-by: Brian Paul <brianp@vmware.com>
s/os_memory.h
s/os_memory_win32k.h
s/os_misc.c
s/os_misc.h
s/os_time.c
til/u_atomic.h
til/u_debug.c
til/u_debug_refcnt.c
til/u_math.h
til/u_snprintf.c
57f8e26ca87a2846f192682c84eccbf8b4500bfc 09-Nov-2011 José Fonseca <jose.r.fonseca@gmail.com> gallium/auxiliary: Remove os_stream.

XP kernel mode was the only subsystem lacking stdio FILES.

Reviewed-by: Brian Paul <brianp@vmware.com>
akefile.sources
s/os_stream.c
s/os_stream.h
s/os_stream_log.c
s/os_stream_null.c
s/os_stream_stdc.c
s/os_stream_str.c
til/u_debug.c
til/u_debug_refcnt.c
til/u_dump.h
til/u_dump_state.c
ee7bc103919d0af7d77a58cdaa855d6e07e899c6 27-Nov-2011 Dave Airlie <airlied@redhat.com> gallium: add B10G10R10A2_UINT format

This format is used for ARB_texture_rgb10_a2ui extension.

Signed-off-by: Dave Airlie <airlied@redhat.com>
til/u_format.csv
fba685a0995e76f86af5920163297e5c3b32fb4b 22-Nov-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: rename to u_vbuf
akefile.sources
til/u_vbuf.c
til/u_vbuf.h
til/u_vbuf_mgr.c
til/u_vbuf_mgr.h
611a8b82e3827dd7c256edd5c014f4d48cb045f0 20-Nov-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: better way to find a free VB slot + check errors early
til/u_vbuf_mgr.c
1146441a2dd0a47e51e9762a014fca4b15d9fe97 22-Nov-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: remove a useless variable
til/u_vbuf_mgr.c
c4f51b225b7ec9ce231d140b1abf8637f37a33c7 20-Nov-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: remove redundant memset
til/u_vbuf_mgr.c
498e86e414dbf9b2f7d2f18cca908217ee644710 20-Nov-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: don't reference non-native vertex buffers as native

also don't mark them as 'user', because they will be uploaded through
the translate fallback anyway.
til/u_vbuf_mgr.c
1e53a26b9c2aab0d6ed75856b7e3d08b5590d0a2 20-Nov-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: rename translate_vb_slot -> fallback_vb_slot
til/u_vbuf_mgr.c
bb71f9249a66b9a4921a878766c0a2d87624c369 19-Nov-2011 Marek Olšák <maraeo@gmail.com> gallium: separate out floating-point CAPs into its own enum

The motivation behind this is to add some self-documentation in the code
about how each CAP can be used.

The idea is:
- enum pipe_cap is only valid in get_param
- enum pipe_capf is only valid in get_paramf

Which CAPs are floating-point have been determined based on how everybody
except svga implemented the functions. svga have been modified to match all
the other drivers.

Besides that, the floating-point CAPs are now prefixed with PIPE_CAPF_.
til/u_caps.h
2a0126932b320806e030c1c085791e257516e0cd 18-Nov-2011 Marek Olšák <maraeo@gmail.com> gallium: remove PIPE_CAP_GLSL and enable GLSL unconditionally

Only i965g does not enable GLSL, but that driver has been unmaintained and
bitrotting for quite a while anyway.
til/u_caps.c
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/tgsi_ureg.c
03df791c6f0881e45a65106c22ccd28f77018fb3 20-Nov-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: correctly compute max vertex count from hw buffers

And update r300g.

This is different from util_draw_max_index in how it obtains vertex elements
and that it doesn't have to call util_format_description due to additional
precomputed data in vertex elements.
til/u_vbuf_mgr.c
til/u_vbuf_mgr.h
72e1117e489986783dd5b27a3ad781b86c2d5d67 20-Nov-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: correctly obtain min/max_index for uploads and translate

This forks vbo_get_minmax_index. We need to know the index range when
translating non-native vertices into native ones. There is no other way
around it.
til/u_vbuf_mgr.c
4cfc8c775c751dd2b2b43f3ca58ae9798a84c0f1 20-Nov-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: add set_index_buffer function

It will use the index buffer soon.
til/u_vbuf_mgr.c
til/u_vbuf_mgr.h
b5b7cc19d82c8761a6b56268aecdccbc1ed2f911 20-Nov-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: add comments
til/u_vbuf_mgr.c
df49b0ce9009e867f6d44fd48e31a16e5a933c64 20-Nov-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: don't upload user buffers which have been uploaded by translate
til/u_vbuf_mgr.c
438d7ac146dc89d1c2943610c662c57e11a47382 12-Nov-2011 Brian Paul <brianp@vmware.com> util/draw: replace assertions with conditionals in util_draw_max_index()

Don't assert/die if a VBO is too small. Return zero instead. For
debug builds, emit a warning message since this is an unusual situation
that might indicate that there's a bug in the app.

Note that util_draw_max_index() now returns max_index+1 instead of
max_index. This lets us return zero to indicate that one of the VBOs
is too small to draw anything.

Fixes a failure with the new piglit vbo-too-small test.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
raw/draw_pt.c
til/u_draw.c
e7ccd703a28e14431b90f29540cec0bf67be1e0f 14-Nov-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> gallium: add TGSI_SEMANTIC_VERTEXID
gsi/tgsi_dump.c
gsi/tgsi_scan.c
gsi/tgsi_scan.h
gsi/tgsi_text.c
6246c217ec1d00bf94a121508802eb7e49d5b61e 11-Nov-2011 José Fonseca <jfonseca@vmware.com> util: Avoid signed/unsigned comparison in u_trim_pipe_prim().
til/u_prim.h
9e29cdbe95810de8658dfd1cabf1a7d87264c2f7 09-Nov-2011 José Fonseca <jfonseca@vmware.com> draw: Handle failure to allocate aligned_constant_storage.

Also, actually update const_storage_size, therefore avoiding to
unnecessarily reallocate aligned_constant_storage every single time
draw_vs_set_constants() is called.

Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_vs.c
e21c5157b6b39d2332e7e13eeb45a7d2b6a41756 07-Nov-2011 José Fonseca <jfonseca@vmware.com> gallivm: Remove duplicate statement.

ary_ge_arx_arz is already set earlier.

Reviewed-by: Brian Paul <brianp@vmware.com>
allivm/lp_bld_sample.c
34930facfe11ef6e322c276295ddf884d36de11c 08-Nov-2011 José Fonseca <jfonseca@vmware.com> gallivm: Include stddef.h before the LLVM C++ headers.

Necessary with build against LLVM 2.6, with recent gcc, as LLVM headers
depend on ptrdiff_t but don't properly include stddef.h
allivm/lp_bld_debug.cpp
allivm/lp_bld_misc.cpp
aa661306828b8c76c1511f05e0fae577f06477b8 10-Nov-2011 Brian Paul <brianp@vmware.com> draw: handle out of memory conditions

If the vbuf backend fails to allocate a vertex buffer, don't crash
or assert.
raw/draw_pipe_vbuf.c
7288bfb2a480a06605e671485ea9887f502e5e1a 10-Nov-2011 Brian Paul <brianp@vmware.com> util: check for null vertex buffer object in blit code

Don't crash if we fail to allocate a vertex buffer.
til/u_blit.c
1462114475709c9460a3cb0c58ae684c5843f5cd 10-Nov-2011 Brian Paul <brianp@vmware.com> draw/llvm: silence uninitialized variable warnings
raw/draw_llvm.c
4fd485666a9a52c48633d261c2fdd763d63299f5 07-Nov-2011 Dave Airlie <airlied@redhat.com> llvmpipe/u_format: add support for EXT_texture_shared_exponent + EXT_packed_float

These two are fairly unique types so add specific cases for decoding them.

Passes piglit fbo-clear-format and fbo-generatemipmap-format tests for these
two extensions.

Signed-off-by: Dave Airlie <airlied@redhat.com>
til/u_format_pack.py
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.
akefile.sources
raw/draw_private.h
raw/draw_vs.c
raw/draw_vs.h
raw/draw_vs_aos.c
raw/draw_vs_aos.h
raw/draw_vs_aos_io.c
raw/draw_vs_aos_machine.c
raw/draw_vs_ppc.c
raw/draw_vs_sse.c
gsi/tgsi_sse2.c
gsi/tgsi_sse2.h
a69da5c0ce3c932b310bca7cd5cce78961f9946b 06-Nov-2011 Chia-I Wu <olv@lunarg.com> util: add log2f for Android

It is needed for nv50's new shader backend. With this change, both u_math.h
and imports.h in core mesa define the same function. I have to #undef log2f
here to avoid the conflict. Not sure if there is a better way to deal with
the situation.

Acked-by: José Fonseca <jfonseca@vmware.com>
til/u_math.h
0d8deb5bc961daac55d3a3329dc2a58018fe929c 06-Nov-2011 Dave Airlie <airlied@redhat.com> llvmpipe: fix typo in the depth sampling aos code.

Just found by reading llvmpipe code for no great reason.

Signed-off-by: Dave Airlie <airlied@redhat.com>
allivm/lp_bld_sample_aos.c
f0d1b5f41adf07a1aaeee93ef924b6624e12f9cb 06-Nov-2011 Dave Airlie <airlied@redhat.com> u_format: fix RGTC support in fits 8unorm.

Signed RGTC won't fit in a unorm, so don't allow them.

Signed-off-by: Dave Airlie <airlied@redhat.com>
til/u_format.c
3031708e648a39d1bb4c0b2b4f8fa80be7619267 06-Nov-2011 Christian Inci <chris.pcguy.inci@gmail.com> gallivm: change sys::getHostTriple to sys::getDefaultTargetTriple for LLVM >= 0x0301

LLVM change r143502

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
allivm/lp_bld_debug.cpp
adb7f1351e4c231184a6355573c01c7780135342 04-Nov-2011 Vinson Lee <vlee@vmware.com> g3dvl: Fix memory leaks on error paths.

Fixes Coverity resource leak defect.

Reviewed-by: Brian Paul <brianp@vmware.com>
l/vl_mpeg12_decoder.c
9288253051feb05ba155e4f939284360fdd70b15 04-Nov-2011 Vinson Lee <vlee@vmware.com> pp: Reorder calloc to avoid memory leak on error path.

Fixes Coverity resource leak defect.

Reviewed-by: Brian Paul <brianp@vmware.com>
ostprocess/pp_mlaa.c
d2633af696f2e4ff98f669061e4e222e8643312c 04-Nov-2011 Marek Olšák <maraeo@gmail.com> st/mesa: set geometry shader to NULL when doing internal drawing

The code expects the geometry shader to be NULL.
We don't have geometry shaders now, but it's good to be prepared.

v2: check for support in the cso context
so_cache/cso_context.c
til/u_blit.c
til/u_gen_mipmap.c
c5e48025ed8dd44de63144ee3621c6aa4b5add81 04-Nov-2011 Marek Olšák <maraeo@gmail.com> gallium/cso_cache: remove one call to pipe_sampler_view_reference
so_cache/cso_context.c
85c151f3d9baca0bb8384a5083e9997dbb4da364 04-Nov-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: avoid one call to pipe_resource_reference in most cases
til/u_vbuf_mgr.c
e814d577253d3b618cc40e36f9d50b42fe61d6ed 03-Nov-2011 Brian Paul <brianp@vmware.com> draw: assert that we have non-null fragment shader

Instead of just segfaulting. Recently ran into this.
raw/draw_pipe_pstipple.c
raw/draw_pipe_wide_point.c
c9c6eec1c6650623f1be412dc2acd935de6b728b 31-Oct-2011 Maarten Lankhorst <m.b.lankhorst@gmail.com> state_trackers/vdpau: Implement VdpGenerateCSCMatrix

With the smpte240 profile, which was missing.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
l/vl_csc.c
l/vl_csc.h
8a7e645c9befb8578c8a571ccc951ed908d177ae 02-Nov-2011 Christian König <deathsimple@vodafone.de> g3dvl: remove some stale variable increment

Incrementing "td" before initializing it is
pointless and just leads to an uninitialized
variable warning with MSVC.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_mpeg12_decoder.c
4a3be16fd2d126a84ff2f087f2a2900afa19d235 02-Nov-2011 Michel Dänzer <michel.daenzer@amd.com> gallium/util: Add macros for converting from little endian to CPU byte order.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
til/u_math.h
f6fa34f7ada52cfe4c811e12ba7e4eef84ba7ca1 01-Nov-2011 Brian Paul <brianp@vmware.com> postprocess: remove const qualifiers on unsigned int parameters

to match the prototype in postprocess.h
ostprocess/pp_init.c
0f26c6ae3f9bd6b8c97e9e8a461d55b30e429239 31-Oct-2011 José Fonseca <jfonseca@vmware.com> llvmpipe: Remove unsed variables.
allivm/lp_bld_conv.c
allivm/lp_bld_sample_aos.c
7ff247712d7c01141756d0999ff86af1e109ce7c 31-Oct-2011 José Fonseca <jfonseca@vmware.com> util: Add missing initializer.
til/u_format_table.py
037e7a68f504f019b409ec8cb92f0075019a90f5 31-Oct-2011 Thomas Hellstrom <thellstrom@vmware.com> pipebuffer/debug: Fix a recursive mutex lock

pb_debug_manager_dump was trying to take a lock already
held by all callers.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Jos� Fonseca <jfonseca@vmware.com>
ipebuffer/pb_bufmgr_debug.c
058e712415a8160479f0df13367b1171ffd66902 27-Oct-2011 Eric Anholt <eric@anholt.net> u_format: Fix -NaN handling for packing of 10F_11F_11F_REV to match GL specs.

Fixes the remainder of piglit GL_EXT_packed_float/pack.c

Reviewed-by: Marek Ol ák <maraeo@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
til/u_format_r11g11b10f.h
00d3716f4a91145609f50aa56de53e175d1c8b49 27-Oct-2011 Eric Anholt <eric@anholt.net> u_format: Fix clamping of overflow in 10F_11F_11F_REV to match GL specs.

Fixes the 1000000.0 overflow cases of piglit
GL_EXT_packed_float/pack.c

Reviewed-by: Marek Ol ák <maraeo@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
til/u_format_r11g11b10f.h
3d7477206d7a345eb53df5c1288a5b34e83bc2d8 26-Oct-2011 Eric Anholt <eric@anholt.net> u_format: Fix bitshifting for unpacking from 10F.

This code was copy and pasted from the 11F unpacking, but not updated
for actually being 10 bits instead of 11.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41206
Reviewed-by: Marek Ol ák <maraeo@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
til/u_format_r11g11b10f.h
028ce1cd0f5bb3e0169618cd572ac00968b8bd13 26-Oct-2011 Eric Anholt <eric@anholt.net> u_format: Fix bit definition of UF10_MANTISSA_BITS.

This is only used in the code for packing to INF, and resulted in an
extra bit set that was set anyway, so it was harmless except for the
confusion caused.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
til/u_format_r11g11b10f.h
68657183b0e42093777034460e0a93624b7ba501 22-Oct-2011 Alan Coopersmith <alan.coopersmith@oracle.com> gallium/auxiliary/util: Solaris also has standard Unix sockets

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
til/u_network.c
til/u_network.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/tgsi_exec.c
ca1b60057aaf7f10f9cdbdbcd75cf3f53c751d64 24-Oct-2011 Vinson Lee <vlee@vmware.com> pp: Fix memory leak on error path.

Fixes Coverity resource leak defect.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
ostprocess/pp_program.c
9dc7df1feaa4f5d2f03a7490aafc6064e309f818 24-Oct-2011 Brian Paul <brianp@vmware.com> util: handle failed mapping in u_upload_alloc()

Reviewed-by: José Fonseca <jfonseca@vmware.com>
til/u_upload_mgr.c
19961da4cb115ca930186bef41fb92740fdd09d1 24-Oct-2011 Brian Paul <brianp@vmware.com> util: handle failed mapping in u_upload_alloc_buffer()

Reviewed-by: José Fonseca <jfonseca@vmware.com>
til/u_upload_mgr.c
50b0069fc18f9d4d3c4469897b379df55eece547 23-Oct-2011 Brian Paul <brianp@vmware.com> util: remove gotos in u_upload_mgr.c

We can trivially remove the gotos in two places in this code and make
it a bit more readable.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
til/u_upload_mgr.c
89ce12a2d20b6662abb7240c1becba11d53b215a 21-Oct-2011 Marek Olšák <maraeo@gmail.com> u_blitter: accept overriden width0 and height0

We'll use this soon.
til/u_blitter.c
til/u_blitter.h
37b62cc35435a704d33c1814fbdbd0e807699e21 21-Oct-2011 Marek Olšák <maraeo@gmail.com> u_blitter: add a copy_texture function which uses views and not resources

The views (sampler views and surfaces) are great tools for changing resource
properties without having to change pipe_resource.
til/u_blitter.c
til/u_blitter.h
903a14ed9146f3a38895ca7e39f69f2ad77bf5df 23-Oct-2011 Brian Paul <brianp@vmware.com> gallivm: added lp_build_print_ivec4() function
allivm/lp_bld_printf.c
allivm/lp_bld_printf.h
e1e03ce4928edf4ea0ef43d853cb869f70b126aa 16-Oct-2011 José Fonseca <jose.r.fonseca@gmail.com> gallivm: Eliminate tgsi_util_get_full_src_register_sign_mode call.

It complicates more than it simplifies, now that there's only one negate
bit on TGSI registers.
allivm/lp_bld_tgsi_soa.c
e9c1d87ce73eb3da829d5124cc5f4716d79e8973 16-Oct-2011 José Fonseca <jose.r.fonseca@gmail.com> llvmpipe: Use lp_build_ifloor_fract for exp2 calculation.

Instead of separate ifloor / fract calls.

No change for SSE4.1 code, but less FP<->SI conversions on non SSE4.1
systems.
allivm/lp_bld_arit.c
866f9b18c68ede63c00917ec9c3dae3524ca8826 11-Sep-2011 Dave Airlie <airlied@redhat.com> gallium: rename ZS stencil type to UINT (v2)

these are never USCALED, always UINT in reality.

taken from some work by Christoph Bumiller

v2: fixup formatting of table + tabs

Signed-off-by: Dave Airlie <airlied@redhat.com>
ostprocess/pp_init.c
til/u_format.c
til/u_format.csv
til/u_format.h
til/u_format_table.py
til/u_format_tests.c
til/u_format_zs.c
til/u_format_zs.h
til/u_pack_color.h
til/u_surface.c
til/u_tile.c
11938c87a3e5a5b0a16b22f1913567a64015a92d 11-Oct-2011 Brian Paul <brianp@vmware.com> draw/llvm: set draw->pt.user.planes field in draw_set_clip_state()

Previously it was getting set in draw_set_mapped_constant_buffer() but
if there were no shader constants, that function wasn't called. So the
pt.user.planes field was null and we died when we tried to access the
clip planes in the LLVM-generated code.

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=41663

Note: This is a candidate for the 7.11 branch.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
raw/draw_context.c
e6c237cfd6f53ff569f68255d5d6da15148cd0f5 11-Oct-2011 Brian Paul <brianp@vmware.com> draw/llvm: fix hard-coded number of total clip planes

Instead of 12 use DRAW_TOTAL_CLIP_PLANES. The max number of user-defined
clip planes was increased to 8 so the total number of planes is 14.
This doesn't fix any specific bug, but clearly the old code was wrong.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
raw/draw_context.c
raw/draw_llvm.c
raw/draw_llvm.h
raw/draw_private.h
raw/draw_pt_fetch_shade_pipeline_llvm.c
9e66b25880febecb529582c6ead920637d73f51e 10-Oct-2011 Dave Airlie <airlied@redhat.com> u_blitter: clean up velem setup

as per Brian's suggestion, drop the pointless loops.

Signed-off-by: Dave Airlie <airlied@redhat.com>
til/u_blitter.c
0f55f133f1e5b72e463441d2d388a1ec4deac1da 09-Oct-2011 Marek Olšák <maraeo@gmail.com> u_blitter: query vertex shader caps instead of geometry for int vertices
til/u_blitter.c
dd20256a1c1566f11e1fa970028f3bb4f05445b7 09-Oct-2011 Dave Airlie <airlied@redhat.com> u_blitter: don't create integer vertex elements unless shader supports them

Should fix https://bugs.freedesktop.org/show_bug.cgi?id=41613

We don't want to create these vertex elements unless the pipe driver
vertex stage can handle integers.

Signed-off-by: Dave Airlie <airlied@redhat.com>
til/u_blitter.c
4e28e6f6c777841b9ffe7a7ad1e865e2595f70f9 26-Sep-2011 Dave Airlie <airlied@redhat.com> u_blitter: add integer clear support

We need add a new set of fragment shader variants, along with new vertex
elements for signed and unsigned clears.

The new fragment shader variants are due to the integers values requiring
CONSTANT interpolation. The new vertex element descriptions are for passing
the clear color as an unsigned or signed integer value.

Signed-off-by: Dave Airlie <airlied@redhat.com>
til/u_blitter.c
til/u_blitter.h
39d7de69b1e3317ba813b4475f2b6132d70f8eef 08-Oct-2011 Marek Olšák <maraeo@gmail.com> pb_bufmgr_cache: flush cache when create_buffer fails and try again

NOTE: This is a candidate for the stable branches.
ipebuffer/pb_bufmgr_cache.c
a441feb757b1be4845ba378f0207dcdc5cc1a407 19-Sep-2011 Dave Airlie <airlied@redhat.com> gallium: add initial pure integer support (v2)

This add support for unsigned/signed integer types via adding a 'pure' bit
in the format description table. It adds 4 new u_format get/put hooks,
for get/put uint and get/put sint so that accessors can get native access
to the integer bits. This is used to avoid precision loss via float converting
paths.

It doesn't add any float fetchers for these types at the moment, GL doesn't
require float fetching from these types and I expect we'll introduce a lot
of hidden bugs if we start allowing such conversions without an API mandating
it.

It adds all formats from EXT_texture_integer and EXT_texture_rg.

0 regressions on llvmpipe here with this.

(there is some more follow on code in my gallium-int-work branch, bringing
softpipe and mesa to a pretty integer clean state)

v2: fixup python generator to get signed->unsigned and unsigned->signed
fetches working.

Signed-off-by: Dave Airlie <airlied@redhat.com>
til/u_format.c
til/u_format.csv
til/u_format.h
til/u_format_pack.py
til/u_format_parse.py
til/u_format_table.py
til/u_tile.c
til/u_tile.h
61285c6cfa9ce6086d62fa08bc9e3813f0b30d3d 08-Oct-2011 Dave Airlie <airlied@redhat.com> u_format: add inline helper to find first non void channel

This is used in a few places in drivers as well, also the integer support
can use it as well.

Signed-off-by: Dave Airlie <airlied@redhat.com>
til/u_format.c
til/u_format.h
4c417697b6fa1503ac35b34e79f23716d813a208 07-Oct-2011 Marek Olšák <maraeo@gmail.com> u_blitter: bind a NULL geometry shader
til/u_blitter.c
til/u_blitter.h
c12c05c198f1cfd63eb52eeeb3c6e22dcb169b32 07-Oct-2011 Marek Olšák <maraeo@gmail.com> u_blitter: cleanup checking for and restoring saved states
til/u_blitter.c
til/u_blitter.h
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/tgsi_exec.h
16f8308c3df020a786908be065d3dcb90c8ca2a5 24-Sep-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> gallium: add polygon offset clamp state

This is required for D3D1x and supported by hardware.
raw/draw_pipe_offset.c
til/u_dump_state.c
9f61e43b4903c6cf0ac03a479ec9ed7b15fd6ccf 27-Sep-2011 Dave Airlie <airlied@redhat.com> gallium: move border color to be a color union

EXT_texture_integer also specifies border color should be a color
union, the values are used according to the texture sampler format.

(update docs)

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_llvm.c
til/u_dump_state.c
60a77cf316a90cb5be4f73495c2545b3d49e5ca1 26-Sep-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: fix uploading with a non-zero index bias

Also don't rely on pipe_draw_info being set correctly.

NOTE: This is a candidate for the 7.11 branch.
til/u_vbuf_mgr.c
21f71b6c050f8a746f6a671e57afc8e5500c5e77 26-Sep-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: dereference some pointers only once etc.
til/u_vbuf_mgr.c
cd9bbb3935320fd838c9b64236ccef865782a248 25-Sep-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: rework user buffer uploads

- first determine the buffer range to upload for each buffer by walking over
vertex elements
- take buffer_offset into account
- take src_offset into account
- take src_format into account in more places
- don't just blindly upload (stride*count) bytes

NOTE: This is a candidate for the 7.11 branch.
til/u_vbuf_mgr.c
315300e4443f7a2177f2d8c4435f30c9bf95504d 25-Sep-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: remove unused flag U_VBUF_UPLOAD_FLUSHED
til/u_vbuf_mgr.c
til/u_vbuf_mgr.h
28fb79891101c23c75982726c81112caa96f9275 25-Sep-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: s/u_vbuf_mgr_/u_vbuf_
til/u_vbuf_mgr.c
til/u_vbuf_mgr.h
f214e1c99970b7c254b7cbb8bdf3643b7514ee09 25-Sep-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: fix max_index computation for large src_offset

NOTE: This is a candidate for the 7.11 branch.
til/u_vbuf_mgr.c
4b5bf5a2a2b26a0f526ca8a85d61a6ef4ea0632f 25-Sep-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: don't take per-instance attribs into acc. when computing max index

NOTE: This is a candidate for the 7.11 branch.
til/u_vbuf_mgr.c
0b3270b9b72c2ca4fad172752045d8fa93c1ad6e 25-Sep-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: cleanup original vs real vertex buffer arrays

It can now override both buffer offsets and strides in additions to resources.
Overriding buffer offsets was kinda hackish and could cause issues with
non-native vertex formats.
til/u_vbuf_mgr.c
til/u_vbuf_mgr.h
4703f50e96fe3a9db039f59e154e15c06c3f8367 25-Sep-2011 José Fonseca <jose.r.fonseca@gmail.com> postprocess: Portability fixes.
ostprocess/pp_init.c
ostprocess/pp_mlaa.c
ostprocess/pp_program.c
86f97f7dc015092aa7fa1b0bdc4fe0a9f696d418 16-Sep-2011 Christian König <deathsimple@vodafone.de> g3dvl: Don't use SCALED types for iDCT

This should bring g3dvl back to work until we figured out
how SCALED types should really work.

Signed-off-by: Christian König <deathsimple@vodafone.de>
l/vl_mpeg12_decoder.c
102bf6e2a70f565f03d5e9c4995b29d61c0aa165 23-Sep-2011 José Fonseca <jfonseca@vmware.com> draw: Never allocate duplicate extra vertex attribs.

Prevents mismatches when the VS outputs generic attributes not used by
the FS.

Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_context.c
raw/draw_context.h
raw/draw_pipe_aaline.c
raw/draw_pipe_aapoint.c
raw/draw_pipe_wide_point.c
fc31f9a3f255c5565ce2a3e9c73415bc17199e28 23-Sep-2011 José Fonseca <jfonseca@vmware.com> draw: Make copy of the TGSI tokens.

There is no guarantee that the tokens TGSI will persist beyond the
create_fs_state. The pipe driver (and therefore the draw module) is
responsible for making copies of the TGSI tokens when it needs them.

Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_pipe_aaline.c
raw/draw_pipe_aapoint.c
ddfdea88d86bc9016dd51730b855ff6a9a53a4f3 22-Sep-2011 Brian Paul <brianp@vmware.com> draw/llvm: add additional null pointer checkin draw_pt_fetch_pipeline_or_emit_llvm()
raw/draw_pt_fetch_shade_pipeline_llvm.c
4465efc3bf8d755a9afb7a4bb5382e2f5bf113e1 21-Sep-2011 Brian Paul <brianp@vmware.com> draw: add support for guard-band clipping
raw/draw_cliptest_tmp.h
raw/draw_context.c
raw/draw_context.h
raw/draw_private.h
raw/draw_pt.h
raw/draw_pt_fetch_shade_pipeline.c
raw/draw_pt_fetch_shade_pipeline_llvm.c
raw/draw_pt_post_vs.c
a5c0fb51c6b1d5f7e6ea8f089da921719ad1b6c4 14-Jul-2010 José Fonseca <jfonseca@vmware.com> draw: Reduce the number of vertex shader variants per context to 128.
raw/draw_private.h
3c56280d330f50025fc948041f1413af55c50581 07-Mar-2011 Kurt Daverman <krd@vmware.com> draw: Respect max_indices from the renderer.
raw/draw_pipe_vbuf.c
37ef7c22ab3ab9ac976ad955197fe80fae5bf8b8 21-Sep-2011 Brian Paul <brianp@vmware.com> translate: check for PIPE_SUBSYSTEM_EMBEDDED
ranslate/translate_sse.c
c8c2fc9a7a029bb61520973e55fb3cec18f13e20 07-Apr-2011 Jakob Bornecrantz <jakob@vmware.com> tgsi: Check in scan for fs position and depth reads
gsi/tgsi_scan.c
gsi/tgsi_scan.h
ff6cf60cb80c3bc31d9a4307c32185f65054bc58 28-Jul-2011 Brian Paul <brianp@vmware.com> gallium/util: add util_format_is_srgb() helper
til/u_format.h
553930424dec0cb1a83d2c928c260de6626b0d11 21-Sep-2011 Keith Whitwell <keithw@vmware.com> util: add u_bit_scan helper
til/u_math.h
ffb1996f614679553ef1d029306d0194b3161113 21-Sep-2011 José Fonseca <jfonseca@vmware.com> util: Allow to make the depth/stencil format queries without repeatedly looking up the format description.

All functions here should take struct util_format_description * IMO, to
incentive efficient code.
til/u_format.h
c40c1599bb7782808a1387663d69cc9f99f4c68f 21-Sep-2011 Keith Whitwell <keithw@vmware.com> util: single call to util_format_description in fill_rect
til/u_rect.c
f2a2ba9c6cdef99e1dc12209ac06d4e817368bfd 16-Aug-2010 José Fonseca <jfonseca@vmware.com> util: Handle conversion between depth stencil formats.
til/u_format.c
169f57255ad9d3cf1b4ea48f54e17e2c9f54cbc3 21-Sep-2011 Brian Paul <brianp@vmware.com> util: remove stray debug code
til/u_format_latc.c
51002968c97758c30511eefab1bd1358b8380e15 21-Sep-2011 Brian Paul <brianp@vmware.com> gallivm: fix build with llvm 3.0svn

https://bugs.freedesktop.org/show_bug.cgi?id=41065
allivm/lp_bld_debug.cpp
f63dbc600fa95601ca8239ed5e3c3e439fe4565f 17-Sep-2011 Brian Paul <brianp@vmware.com> gallium/util: observe sampler view's first_level in util_blit_pixels_tex()

This lets us blit from a non-zero source level.
til/u_blit.c
b4e6afbf7715df7473723f3e0c5d714cd5721802 17-Sep-2011 Brian Paul <brianp@vmware.com> mesa/gallium: remove GLchan from latc, rgtc code
til/u_format_latc.c
til/u_format_rgtc.c
bc0037083235ea149d8a2708bd1a5d2559f07dc7 08-Sep-2011 Paul Berry <stereotype441@gmail.com> Gallium: remove unnecessary ifdef for MAX_CLIPPED_VERTICES.

draw_pipe_clip.c contained an ifdef to ensure that its local
definition of MAX_CLIPPED_VERTICES would not take effect if the global
MAX_CLIPPED_VERTICES (defined in src/mesa/main/config.h) was already
defined. This was unnecessary because draw_pipe_clip.c doesn't
directly or indirectly include src/mesa/main/config.h. Removed the
ifdef to reduce confusion.

Reviewed-by: Brian Paul <brianp@vmware.com>
raw/draw_pipe_clip.c
6dd284f7c8fac22f64c13fdf9909094f5ec59086 16-Sep-2011 Dave Airlie <airlied@redhat.com> gallium: move clear paths from rgba to a pointer to a color union (v2)

This moves the gallium interface for clears from using a pointer to 4 floats to a pointer to a union of float/unsigned/int values.

Notes:
1. the value is opaque.
2. only when the value is used should it be interpretered according to
the surface format it is going to be used with.
3. float clears on integer buffers and vice-versa are undefined.

v2: fixed up vega and graw, dropped hunks that shouldn't have been in
patch.

Signed-off-by: Dave Airlie <airlied@redhat.com>
ostprocess/pp_mlaa.c
ostprocess/pp_program.h
ostprocess/pp_run.c
til/u_blitter.c
til/u_blitter.h
til/u_clear.h
til/u_surface.c
til/u_surface.h
l/vl_compositor.c
l/vl_compositor.h
1795372feec77e62cbe150f5853e063b9e53acd2 15-Sep-2011 Tobias Droste <tdroste@gmx.de> gallivm: fix build with LLVM 3.0svn

LLVM 3.0svn added SubtargetInfo as additional parameter to
createMCDisassembler() and createMCInstPrinter().
See revision 139237 of LLVM.

Signed-off-by: Tobias Droste <tdroste@gmx.de>
Signed-off-by: Brian Paul <brianp@vmware.com>
allivm/lp_bld_debug.cpp
ba6f1f2c29c148e33acc9d2b411c19c7c9a9d04f 15-Sep-2011 Brian Paul <brianp@vmware.com> util: add util_format_is_luminance/intensity/rgb(), etc

Reviewed-by: José Fonseca <jfonseca@vmware.com>
til/u_format.c
til/u_format.h
82e8bf36d8fcd46bcb76ec300875a47c7312f1a1 12-Sep-2011 Emeric Grange <emeric.grange@gmail.com> g3dvl: Add max_references parameter to vl_create_decoder()

Signed-off-by: Emeric Grange <emeric.grange@gmail.com>
l/vl_decoder.c
l/vl_decoder.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
42fddacabafebd4c9f1ba2f8f94192f8f4f76fce 12-Sep-2011 Emeric Grange <emeric.grange@gmail.com> g3dvl: Add get_clear_color capability

Signed-off-by: Emeric Grange <emeric.grange@gmail.com>
Reviewed-by: Christian König <deathsimple@vodafone.de>
l/vl_compositor.c
l/vl_compositor.h
02e191cb6aa13286fff956a7929959d7cee7241d 12-Sep-2011 Emeric Grange <emeric.grange@gmail.com> g3dvl: Various whitespace cleanups found while reading some code

Signed-off-by: Emeric Grange <emeric.grange@gmail.com>
l/vl_compositor.c
l/vl_compositor.h
l/vl_video_buffer.c
l/vl_video_buffer.h
0ebf83b7318784e495b9cc56631f3961bb705827 13-Sep-2011 Brian Paul <brianp@vmware.com> gallivm: remove unused vars
allivm/lp_bld_sample.c
52b9ec727bfeca0cf13078dc352962b58293b2d4 13-Sep-2011 Brian Paul <brianp@vmware.com> gallium: minor comments for util_format_channel_description fields
til/u_format.h
4682e706012fe26627a2f827db01b5068cc62814 11-Sep-2011 Marek Olšák <maraeo@gmail.com> pb_buffer: inline 'base' sub-struct
ipebuffer/pb_buffer.h
ipebuffer/pb_buffer_fenced.c
ipebuffer/pb_buffer_malloc.c
ipebuffer/pb_bufmgr_cache.c
ipebuffer/pb_bufmgr_debug.c
ipebuffer/pb_bufmgr_mm.c
ipebuffer/pb_bufmgr_ondemand.c
ipebuffer/pb_bufmgr_pool.c
ipebuffer/pb_bufmgr_slab.c
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/tgsi_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/tgsi_exec.c
gsi/tgsi_info.c
aa77df135571978bcda5a3254f67ca7e307b1960 10-Sep-2011 Brian Paul <brianp@vmware.com> draw/llvm: combine draw_llvm_generate() and draw_llvm_generate_elts()

These two functions were nearly the same with lots of duplicated code.
Now pass in a boolean 'elts' flag and use a few conditionals to implement
the linear vs. indexed cases.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
raw/draw_llvm.c
274768856dc2b6d3dea254383199366bb4cd3cbc 05-Sep-2011 Marek Olšák <maraeo@gmail.com> u_blitter: add texture array support

Reviewed-by: Dave Airlie <airlied@redhat.com>
til/u_blitter.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.
allivm/lp_bld_tgsi_info.c
allivm/lp_bld_tgsi_soa.c
gsi/tgsi_dump.c
gsi/tgsi_exec.c
gsi/tgsi_sse2.c
gsi/tgsi_text.c
gsi/tgsi_util.c
f4dd0991719ef3e2606920c5100b372181c60899 06-Sep-2011 José Fonseca <jfonseca@vmware.com> rtasm,translate: Disable on Mingw-w64.

Causes crash and stack corruption.

Needs more investigation. Disable for now.
tasm/rtasm_x86sse.c
ranslate/translate_sse.c
797bb0eb47d23099180133175d8dac8d97e58837 21-Nov-2010 Dave Airlie <airlied@redhat.com> gallium: add missing formats for ARB_vertex_type_2_10_10_10_rev

This just reorgs one define in csv file, and adds all the new formats
that are needed for this extension.

Signed-off-by: Dave Airlie <airlied@redhat.com>
til/u_format.csv
4a468de2d78fc5a9e6de40a9dae09669ec556fc5 04-Sep-2011 Tobias Droste <tdroste@gmx.de> gallivm: fix build with LLVM 3.0svn

LLVM 3.0svn moved TargetRegistry.h and TargetSelect.h.
See revision 138450 of LLVM.

Signed-off-by: Tobias Droste <tdroste@gmx.de>
allivm/lp_bld_debug.cpp
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/tgsi_build.c
gsi/tgsi_dump.c
gsi/tgsi_exec.c
gsi/tgsi_exec.h
gsi/tgsi_parse.c
gsi/tgsi_parse.h
gsi/tgsi_ureg.c
gsi/tgsi_ureg.h
4f37636afb5adc299ecbe497209702a47039580c 01-Sep-2011 Christian König <deathsimple@vodafone.de> g3dvl: extend the functionality of the compositor

Prepares for vdpau menu overlay.
l/vl_compositor.c
l/vl_compositor.h
23f01fd31c11720caaff74a68bcde60bfbd23a6b 01-Sep-2011 Christian König <deathsimple@vodafone.de> gallium: add R8A8 and A8R8 UNORM formats

They are mostly used for menu overlay in video decoding.

Signed-off-by: Christian König <deathsimple@vodafone.de>
til/u_format.csv
cf49c49d0e193143ae497cebd5c91df37ba17c8e 30-Aug-2011 Christian König <deathsimple@vodafone.de> gallium: try to cleanup a bit of the format mess created with pipe-video merge

Start with correctly defining IA44 and AI44 formats.

Signed-off-by: Christian König <deathsimple@vodafone.de>
til/u_format.csv
til/u_format_yuv.c
til/u_format_yuv.h
19bcd21ed151cf1716f2f87dff0f712231aa2ce7 27-Aug-2011 Kai Wasserbäch <kai@dev.carbon-project.org> vl: Fix include style

As explained in the thread starting at [0], the internal include style
should be »#include "path/to/header.h"« for non-system includes.

[0]
<http://news.gmane.org/find-root.php?message_id=%3c4E5802BE.6020206%40vmware.com%3e>

Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Signed-off-by: Brian Paul <brianp@vmware.com>
l/vl_compositor.c
l/vl_compositor.h
l/vl_csc.c
l/vl_csc.h
l/vl_decoder.c
l/vl_decoder.h
l/vl_idct.c
l/vl_idct.h
l/vl_mc.c
l/vl_mc.h
l/vl_mpeg12_bitstream.c
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
l/vl_video_buffer.c
l/vl_video_buffer.h
l/vl_vlc.h
l/vl_zscan.c
l/vl_zscan.h
137ba91aadd7a3a24c1a7d76dd8bd5f7aa477fd2 27-Aug-2011 Kai Wasserbäch <kai@dev.carbon-project.org> util: Fix include style

As explained in the thread starting at [0], the internal include style
should be »#include "path/to/header.h"« for non-system includes.

[0]
<http://news.gmane.org/find-root.php?message_id=%3c4E5802BE.6020206%40vmware.com%3e>

Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Signed-off-by: Brian Paul <brianp@vmware.com>
til/u_debug_describe.c
til/u_debug_refcnt.c
til/u_debug_refcnt.h
til/u_video.h
d4bbdbd03893e900d8bcf0b46e8307a877d1a3ae 29-Aug-2011 Christian König <deathsimple@vodafone.de> g3dvl: Fix a bug not decoding the last 32-64 bits of an mpeg2 bitstream.

Another bug found by Andy Furniss.
l/vl_mpeg12_bitstream.c
l/vl_vlc.h
e3b0e3776646d0367206e4544229622eb22fe9f8 26-Aug-2011 Brian Paul <brianp@vmware.com> g3dvl: use pointer_to_uintptr() to silence a cast warning
l/vl_vlc.h
7ed14bec112e20002b18bea1caf11f17318d9f06 26-Aug-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> pp: initialize the sample mask

We cannot rely on pipe drivers to default to non-zero.

Fixes pp being a no-op on nv50.

Reviewed-by: Lauri Kasanen <cand@gmx.com>
ostprocess/pp_program.c
005aea891ec5814c3c05f20e5a65ca61db3b1b10 26-Aug-2011 Brian Paul <brianp@vmware.com> g3dvl: s/inline/INLINE/ to fix MSVC build
l/vl_mpeg12_decoder.c
b59715b13afa6885fe7950677df3be2fd89dee47 26-Aug-2011 Brian Paul <brianp@vmware.com> g3dvl: fix compilation failure on MSVC

I assume the intention of "mb = {}" was to zero-initialize it.
l/vl_mpeg12_bitstream.c
cdb7396390b0afffc0d33c9aba2898012802e6d0 26-Aug-2011 Brian Paul <brianp@vmware.com> scons: don't compile some files with -gstabs if using mingw32

Compiling some (large) files with i686-pc-mingw32-gcc 4.2.2 (at least)
and the -gstabs option triggers a compiler error. Use this work-around
to simply compile the effected files without -gstabs.
Conscript
9765dede7556f7ccfef1d90bab14a2bfa03384e5 24-Aug-2011 Christian König <deathsimple@vodafone.de> g3dvl: Rewrite the mpeg 1&2 bitstream parser

Based on work of Maarten Lankhorst this time.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Younes Manton <younes.m@gmail.com>
l/vl_mpeg12_bitstream.c
l/vl_mpeg12_bitstream.h
l/vl_mpeg12_decoder.c
l/vl_vlc.h
31096e13f858daf896c0c53077fb25e92da089a6 24-Aug-2011 Christian König <deathsimple@vodafone.de> g3dvl: Use a single texture for luma and chroma data

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Younes Manton <younes.m@gmail.com>
l/vl_mpeg12_bitstream.c
l/vl_mpeg12_bitstream.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
2e62b30826679e9d5e1a783dc19baabec4fc8dfa 12-Aug-2011 Christian König <deathsimple@vodafone.de> g3dvl: Rework the decoder interface part 5/5

Make setting the quant matrixes a generic interface.
Also removes setting the quant matrix from the XvMC interface

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Younes Manton <younes.m@gmail.com>
l/vl_mpeg12_decoder.c
835ea8480f656ba4076e30813eb8c85965017266 11-Aug-2011 Christian König <deathsimple@vodafone.de> g3dvl: Rework the decoder interface part 4/5

Make the picture_structure enum spec complient.
Also remove it from the compositor.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Younes Manton <younes.m@gmail.com>
l/vl_compositor.c
l/vl_compositor.h
d3770d6229d95e9beb67358ae2b2c8824ed3ae58 10-Aug-2011 Christian König <deathsimple@vodafone.de> g3dvl: Rework the decoder interface part 3/5

Revert back to a macroblock based interface. The structure used
tries to keep as close to the spec as possible.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Younes Manton <younes.m@gmail.com>
l/vl_mpeg12_bitstream.c
l/vl_mpeg12_bitstream.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
231fce7d630bcf6aaf0e435e461ad5af842e437f 09-Aug-2011 Christian König <deathsimple@vodafone.de> g3dvl: Rework the decoder interface part 2/5

Implement PIPE_CAP_NUM_BUFFERS_DESIRED giving the decoder control over
the number of buffers a state tracker should allocate.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Younes Manton <younes.m@gmail.com>
l/vl_decoder.c
l/vl_decoder.h
1d1d038c85ebb37f1da4540f092563e8ecab7dfb 09-Aug-2011 Christian König <deathsimple@vodafone.de> g3dvl: Rework the decoder interface part 1/5

First of all get ride of the decode_buffer structure, while still giving
the decoder the ability to organize it's buffers depending on the needs
of the state tracker.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Younes Manton <younes.m@gmail.com>
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
27395cb5b688d3d255d11c4d766a2699fd1c67d4 25-Aug-2011 Brian Paul <brianp@vmware.com> pp: add files to Makefile.sources
akefile.sources
6571c0774af1f5ebd0fab40bf4769702d3c9ded5 25-Aug-2011 Brian Paul <brianp@vmware.com> Merge branch 'kasanen-post-process-v2'

Conflicts:
src/gallium/auxiliary/Makefile
src/gallium/auxiliary/SConscript
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/tgsi_exec.c
gsi/tgsi_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/tgsi_exec.c
gsi/tgsi_exec.h
9bda86c3550090f5370ef2d010e659758dc9a540 21-Aug-2011 Chia-I Wu <olv@lunarg.com> auxiliary/os: add wrappers for mmap/munmap

The use of mmap() in winsys requires large file support. Not all OSes
have LFS so a wrapper should be used. In particular, os_mmap() should
call __mmap2() on Android.
s/os_mman.h
0457655035cda3678208cd2850fa75a364a59ca9 23-Aug-2011 José Fonseca <jfonseca@vmware.com> make: Add missing source file.
akefile.sources
dd250e6045dd290098b59af01b5e1b501535d45a 19-Aug-2011 Chia-I Wu <olvaffe@gmail.com> auxiliary: share the source lists

Factor out source lists from Makefile to Makefile.sources, and let
Makefile, SConscript, and Android.mk share it.

Note that files in $(GENERATED_SOURCES) are removed from $(C_SOURCES).

Acked-by: José Fonseca <jfonseca@vmware.com>
Acked-by: Chad Versace <chad@chad-versace.us>
ndroid.mk
akefile
akefile.sources
Conscript
688db6e8dc1507021cd84733ea379e97f0265351 17-Aug-2011 Chia-I Wu <olvaffe@gmail.com> android: build gallium auxiliaries

This builds the static library libmesa_gallium from gallium auxiliaries.
ndroid.mk
cd893ccba9b7e4bafbdbbb71f79d1b40bcef01a8 04-Aug-2011 Chia-I Wu <olvaffe@gmail.com> gallium: add PIPE_OS_ANDROID support

Android uses Linux kernel and its own C runtime. It resembles
PIPE_OS_LINUX a lot with some minor exceptions.

Reviewed-by: Brian Paul <brianp@vmware.com>
s/os_thread.h
til/u_math.h
88bc4eda0f93266e1e5dc40f933872c78d497aa6 18-Aug-2011 Lauri Kasanen <cand@gmx.com> pp/main queue: Add the PP headers

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
ostprocess/filters.h
ostprocess/postprocess.h
ostprocess/pp_filters.h
85d2ee59d9dd71b829f7356e9080103fe0b3251a 18-Aug-2011 Lauri Kasanen <cand@gmx.com> pp/main queue: Add pp_program.[ch]

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
ostprocess/pp_program.c
ostprocess/pp_program.h
0d383d4790040ecf1f2f73b1d0adaf42657496b7 18-Aug-2011 Lauri Kasanen <cand@gmx.com> pp/main queue: Add pp_init.c

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
ostprocess/pp_init.c
de43cd310ce1d9878efe9d760a781489d7d642e2 18-Aug-2011 Lauri Kasanen <cand@gmx.com> pp/main queue: Add pp_run.c

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
ostprocess/pp_run.c
caeb3cdf2f6295b1b82ace2ad3ca6f7c9970fe17 18-Aug-2011 Lauri Kasanen <cand@gmx.com> pp: Add Jimenez' MLAA

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
ostprocess/pp_mlaa.c
ostprocess/pp_mlaa.h
f951550d3ff60fc693fc2881482fe8e491147ad9 18-Aug-2011 Lauri Kasanen <cand@gmx.com> pp: Add the MLAA areamap

The areamap contains precomputed data on different aliasing types.
It is necessary for good performance.

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
ostprocess/pp_mlaa_areamap.h
6ff00c1afae51512d2680b096d5a9b4d618e82b9 18-Aug-2011 Lauri Kasanen <cand@gmx.com> pp: Cel-shade filter

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
ostprocess/pp_celshade.c
ostprocess/pp_celshade.h
e453289a77860634b8216dbde7e3631001dde44f 18-Aug-2011 Lauri Kasanen <cand@gmx.com> pp: Color filters

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
ostprocess/pp_colors.c
ostprocess/pp_colors.h
e86e4cf128105db8b3e18d34b28040a26be6516c 18-Aug-2011 Lauri Kasanen <cand@gmx.com> pp: Docs

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
ostprocess/ADDING
d2fdc58fe7ca59e7023ee955b59d92e3079cb277 18-Aug-2011 Lauri Kasanen <cand@gmx.com> aux/Makefile,SConscript: Build PP

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
akefile
Conscript
e3be51311834217cf35be9186e7dc9f57a10d44b 15-Aug-2011 Marek Olšák <maraeo@gmail.com> r600g: expose ARB_ES2_compatibility by claiming fixed-point format support

I also needed to make some changes in u_vbuf_mgr in order to override
the caps from the driver and enable the fallback even though the driver
claims the format is supported.
til/u_vbuf_mgr.c
til/u_vbuf_mgr.h
363295d7209636c56ee0cb1246915b03b7f73524 15-Aug-2011 Marek Olšák <maraeo@gmail.com> u_blitter: restore some states conditionally
til/u_blitter.c
233dd4953e3e6cf39f3c7a7cd898339a89d2ff86 10-Aug-2011 Marek Olšák <maraeo@gmail.com> u_blitter: rename util_blitter_copy_region -> util_blitter_copy_texture
til/u_blitter.c
til/u_blitter.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
b5e39405831092d8cf7943318c92b750325eb31e 03-Aug-2011 Marek Olšák <maraeo@gmail.com> util: fix a typo in util_format_swizzle_4f

Reported by Gustaw Smolarczyk.
til/u_format.c
be7407b75b12c70e1925c10117937ae2b9e6711f 02-Aug-2011 Marek Olšák <maraeo@gmail.com> gallium/util: add functions for manipulating swizzles

Some of those have been in drivers already.
til/u_format.c
til/u_format.h
f95169deb40f8245f4b3b07b17b222746da29bdd 14-Jun-2011 Bryan Cain <bryancain3@gmail.com> tgsi: add support for TGSI_OPCODE_MOD in tgsi_exec
gsi/tgsi_exec.c
17b695e6e7dd730497fb60a8e161935b23fa0e9c 06-May-2011 Bryan Cain <bryancain3@gmail.com> gallium: add PIPE_SHADER_CAP_INTEGERS
gsi/tgsi_exec.h
860c51d82711936d343b55aafb46befc8c032fe6 21-Jul-2011 Bryan Cain <bryancain3@gmail.com> util: enable S3TC support when the force_s3tc_enable env var is set to "true"

NOTE: This is a candidate for the 7.10 and 7.11 branches.
til/u_format_s3tc.c
4f90b89961ea2795f274611266b649803a058026 25-Jul-2011 Christian König <deathsimple@vodafone.de> gallium: change formats merged with pipe-video to type "other"

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=39276
til/u_format.csv
4c84acc86fce5eda0aabcb8aa362fd6b5e6a28f6 25-Jul-2011 Christian König <deathsimple@vodafone.de> g3dvl: remove unused vs output from create_ref_vert_shader

The position of the quad vertex is calculated in calc_position,
so we don't need the output here any more.
l/vl_mc.c
5161aff48af2fe0171be06fc727a000ad300fbd9 20-Jul-2011 José Fonseca <jfonseca@vmware.com> gallivm: Add a note about log2 computation and denormalized numbers.
allivm/lp_bld_arit.c
af82ff556cdd748f9f6b0d60d53afaaf369b1c5b 20-Jul-2011 José Fonseca <jfonseca@vmware.com> gallivm: Fix lp_build_exp2 order 4-5 polynomial coefficients and bump order.

Not sure how I computed these, but they were wrong (which explains why
bumping the polynomial order before never improved precision).

This allows to pass the EXP test cases of PSPrecision/VSPrecision DCTs.
allivm/lp_bld_arit.c
47d6d44a231b811f1bba05478a6bbfb1e3fdb27b 20-Jul-2011 José Fonseca <jfonseca@vmware.com> gallivm: Increase lp_build_rsqrt() precision.

Add an iteration step, which makes rqsqrt precision go from 12bits to
24, and fixes RSQ/NRM test case of PSPrecision/VSPrevision DCTs.

There are no uses of this function outside shader translation.
allivm/lp_bld_arit.c
ef1a2765a45c03b3bf7b5994197a611bcef96e0c 20-Jul-2011 José Fonseca <jfonseca@vmware.com> gallivm: Update minimax comments.
allivm/f.cpp
1ac86e249e38b163a3c3cc1915e7de7877c08fb5 20-Jul-2011 José Fonseca <jfonseca@vmware.com> gallivm: Fix lp_build_exp/lp_build_log.

Never used so far -- we only used the base 2 variants -- which is why
it went unnoticed so far.
allivm/lp_bld_arit.c
eb7590f6772db844d95ed4937ab7c98a3f412a28 20-Jul-2011 José Fonseca <jfonseca@vmware.com> util: Store alpha value too.
til/u_debug.c
a87afba50529c6ae6762a3da68d4f31bc431e064 21-Jul-2011 Younes Manton <younes.m@gmail.com> Revert "g3dvl: Preserve previously rendered components for MC output."

This reverts commit b56daf71d2f63d044d4c53ab49c6f87e02991a28.

The bug is actually in softpipe's blend and writemask interaction.
l/vl_mc.c
636d01bd61cac83e13c3c64874e7e34e828ca93a 21-Jul-2011 Brian Paul <brianp@vmware.com> Merge branch 'gallium-polygon-stipple'
3dde6be908d827f4d6d54e0968ae83c2c4dfa87c 21-Jul-2011 Brian Paul <brianp@vmware.com> util: assorted updates to polygon stipple helper
til/u_pstipple.c
2253906da3c506bb5378a8f2fa203ed0c9021171 21-Jul-2011 Brian Paul <brianp@vmware.com> tgsi: add info fields for fragcoord origin, center, etc
gsi/tgsi_scan.c
gsi/tgsi_scan.h
afc160e1c8f87d0a76e41f1100d528d8ab82ecc4 20-Jul-2011 Chia-I Wu <olv@lunarg.com> u_vbuf_mgr: restore buffer offsets

u_vbuf_upload_buffers modifies the buffer offsets. If they are not
restored, and any of the vertex formats is not supported natively, the
next u_vbuf_mgr_draw_begin call will translate the vertex buffers with
incorrect buffer offsets.
til/u_vbuf_mgr.c
2d960d3f4e8fcf7819bb94ba4913ec0a2a723daa 15-Jul-2011 Marek Olšák <maraeo@gmail.com> g3dvl: remove unused vertex shader inputs

See also comments in the code.
l/vl_idct.c
l/vl_mc.c
b56daf71d2f63d044d4c53ab49c6f87e02991a28 20-Jul-2011 Younes Manton <younes.m@gmail.com> g3dvl: Preserve previously rendered components for MC output.

Fixes xvmc-softpipe MC entrypoint, amongst others.
l/vl_mc.c
8082816e27a0ee376e679c4d81ff8a3f0611ea9e 20-Jul-2011 Younes Manton <younes.m@gmail.com> g3dvl: Init/clean pipe fully when a shader-based decoder isn't used.

Fixes VDPAU CSC-only mode.
l/vl_compositor.c
l/vl_compositor.h
3143e95353072523ff5d9c977a474a87fe3cbe57 16-Jul-2011 Tobias Droste <tdroste@gmx.de> llvmpipe: fix build with LLVM 3.0svn

LLVM 3.0svn introduced a new type system. It defines a new way to create
named structs and removes the (now not needed) LLVMInvalidateStructLayout
function. See revision 134829 of LLVM.

Signed-off-by: Tobias Droste <tdroste@gmx.de>
Signed-off-by: Brian Paul <brianp@vmware.com>
raw/draw_llvm.c
9228bfb37519e4a03183ec89e82a80f39addeeeb 16-Jul-2011 Vinson Lee <vlee@vmware.com> gallivm: Rename createAsmInfo to createMCAsmInfo with llvm-3.0.

llvm-3.0svn r135219 renamed createAsmInfo to createMCAsmInfo in
include/llvm/Target/TargetRegistry.h.
allivm/lp_bld_debug.cpp
0d082390d903e0a6908e1d444e762a23de14174a 15-Jul-2011 Christian König <deathsimple@vodafone.de> g3dvl: no need for flushing inside the compositor any more

Move that also inside the state tracker where needed.
l/vl_compositor.c
l/vl_compositor.h
2cbf532ae13513c3cbc7dad8ae41beeff931529e 15-Jul-2011 Christian König <deathsimple@vodafone.de> g3dvl: correctly distinct dst area and clip area in the compositor

Otherwise xine won't scale correctly.
l/vl_compositor.c
l/vl_compositor.h
13da00f07c35d78b7ba8bc5d30e8c4b0b001744c 14-Jul-2011 Christian König <deathsimple@vodafone.de> g3dvl: change picture parameter of decode_bitstream to general version

Using pipe_mpeg12_picture_desc was unintentional here.
l/vl_mpeg12_decoder.c
a5a942256162eb0ca4df2f8202a916b080396141 14-Jul-2011 Brian Paul <brianp@vmware.com> gallium: put video-related enums in separate header

The forward references to video enum types in p_context.h causes
a massive number of compiler warnings (ISO C forbids forward references
to ‘enum’ types).

By putting the new video enums in a separate header that can be included
by p_context.h and p_screen.h we can avoid this.

Acked-by Christian König <deathsimple@vodafone.de>
til/u_video.h
3cf22a0c6e215535266e7a7fac5ddd2404d4345d 14-Jul-2011 Vinson Lee <vlee@vmware.com> g3dvl: Remove non-constant expression array initializers.

The array initializer must be a constant expression in MSVC.
l/vl_idct.c
l/vl_zscan.c
f292d07b476d37904bedbb7d5a25cdb232d48b26 14-Jul-2011 Vinson Lee <vlee@vmware.com> g3dvl: Remove designated initializers.

MSVC does not support designated initializers.
l/vl_csc.c
49967950a56de276ffcbaea80acbc9f5bd3207bc 14-Jul-2011 Vinson Lee <vlee@vmware.com> g3dvl: s/inline/INLINE/

The inline keyword is not available in MSVC C.
l/vl_compositor.c
l/vl_mpeg12_bitstream.c
l/vl_vlc.h
88d647d83b77a9e45f66bff67513f908e6a23c01 14-Jul-2011 Emil Velikov <emil.l.velikov@gmail.com> utils: Add missing parentheses

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
til/u_video.h
d4cbd1272b723ba0da03a9664ee85452f8f2d457 13-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] don't upload all quant buffer layers at once

There seems to be a bug in r600g when uploading more than one layer of a
3D resource at once with a hardware blit.

So just do them one at a time to workaround this.
l/vl_mpeg12_decoder.c
l/vl_zscan.c
l/vl_zscan.h
ed24e19070b7dff12670151b2d184f31c845ccae 13-Jul-2011 Christian König <deathsimple@vodafone.de> Merge branch 'pipe-video'
c5110a1bfab8e97b8b958d42dd294a426310d1e2 13-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] implement workaround for missing blender clamp control

It's about 20% slower, but should at least work with every hardware.
l/vl_mc.c
l/vl_mc.h
7c48575402e8c384db2fab24e4dd0fc72bef0451 13-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] keep a pointer in idct buffer to idct object

So we always know to which idct object a buffer belongs
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_decoder.c
8f6c207024c1458a70da3cbc9a9c9f48cf1a41df 12-Jul-2011 Brian Paul <brianp@vmware.com> u_upload_mgr: add missing offset to src map in u_upload_buffer()

Fixes regression from dda8d7ac3f0e5148d9738a57f7bc03216f6514d1
til/u_upload_mgr.c
efc7fda4627919b5355952d955ee4a2c98505e56 12-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] add some more PIPE_VIDEO_CAPs
l/vl_decoder.c
l/vl_decoder.h
l/vl_video_buffer.c
l/vl_video_buffer.h
1844ae7e7e2285f52dc0ecd42194ccc47e3137ef 11-Jul-2011 Vinson Lee <vlee@vmware.com> gallivm: Re-enable LLVMUnionTypeKind case for llvm-2.7 only.

LLVMUnionTypeKind is not in llvm-2.6, llvm-2.8, llvm-2.9, or llvm-3.0svn.
allivm/lp_bld_type.c
e4189f2e2e310276136dc06af20062986920e8e2 11-Jul-2011 Vinson Lee <vlee@vmware.com> gallivm: Remove LLVMOpaqueKindType case with llvm-3.0.

llvm-3.0svn r134829 removed LLVMOpaqueKindType from enum LLVMTypeKind in
include/llvm-c/Core.h.
allivm/lp_bld_type.c
df5e0b9435c869f88234a69db9bfe97342b027d4 11-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] fix a whole bunch of memory leaks
l/vl_idct.c
l/vl_mpeg12_decoder.c
l/vl_video_buffer.c
3d1057f243efe6e2d7b11a65df6d5124c469cec7 11-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] sync SConscript with Makefile
Conscript
f919547f3785b1d8839b9fc5c00ac397e30896a1 11-Jul-2011 Christian König <deathsimple@vodafone.de> Merge remote-tracking branch 'origin/master' into pipe-video

Conflicts:
src/gallium/drivers/r600/r600_pipe.c
src/gallium/drivers/r600/r600_state_inlines.h
d9ab6712ccb5a7249feaaf071fefdc78e80808a6 21-Jun-2011 Marek Olšák <maraeo@gmail.com> gallium/util: handle Z32F_FLOAT_S8X24_USCALED in pipe_tile_raw_to_rgba

And make pipe_put_tile_rgba_format no-op like the other Z formats.
til/u_tile.c
e860cb64dbcb170207641fc280e47858fae74891 24-Jun-2011 Marek Olšák <maraeo@gmail.com> gallium/util: implement software Z32F_S8X24 depth-stencil clear
til/u_surface.c
8ff6f90c3f138fbe922d1eee6cecffc87234ef34 24-Jun-2011 Marek Olšák <maraeo@gmail.com> gallium/util: implement pack functions for Z32F and Z32F_S8X24
til/u_pack_color.h
ea78480029450c019287c2a94d7c42a6a1d12dc3 08-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] and finally remove pipe_video_context
akefile
l/vl_compositor.h
l/vl_context.c
l/vl_context.h
l/vl_decoder.c
l/vl_decoder.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_video_buffer.h
4e837f557bf5f5afb286e1f2244ed69c0092c2d6 08-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move video buffer creation out of video context
l/vl_context.c
l/vl_mpeg12_decoder.c
l/vl_video_buffer.c
l/vl_video_buffer.h
fc98444bd58960e6cab28423365923bc7e7af3e1 06-Jul-2011 Gustaw Smolarczyk <wielkiegie@gmail.com> gallivm: Fix build with llvm-3.0

LLVM 3.0svn changes pretty rapidly. The change in
Target->createMCInstPrinter() signature which inspired commits
40ae214067673edbda79371969d1730b6194d83e and
92e29dc5b0474c073b0f05d60629fc6c3decfca4 has been reverted.

Signed-off-by: Gustaw Smolarczyk <wielkiegie@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
allivm/lp_bld_debug.cpp
bd5fd67a3e3cda4b7676dd4745fc5d5524709210 08-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move compositor creation and handling directly into the state trackers
l/vl_compositor.c
l/vl_compositor.h
l/vl_context.c
10fd45114d4a7bbac4093755305ea5e4ba3ab6a5 08-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] remove sampler view handling from video context
l/vl_context.c
06ddbc3b8e58a6cf22708263a8b7d16cf1db5dbc 08-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] remove create_surface from video context
l/vl_context.c
2ec350ff1d9f13ec95d7b9d46f57ad9b9efcc8ea 08-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] make pipe_context mandatory for creation pipe_video_context
l/vl_context.c
7eca76952b6726be9459375dde7478a01789577e 08-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] rename is_format_supported to is_video_format_supported and move it into screen object
l/vl_context.c
l/vl_video_buffer.c
l/vl_video_buffer.h
f265a194263bb2a3fa204947a9c98f472835f121 07-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] rename get_param to get_video_param and move into screen object
l/vl_context.c
l/vl_context.h
2ea7b374f6111a3aab2589d915dd3fcd309a59ca 06-Jul-2011 Brian Paul <brianp@vmware.com> tgsi: add some debug/print code in exec_tex(), disabled
gsi/tgsi_exec.c
c3b2230b71cb3a00a7f4c0987197d397bada650b 04-Jul-2011 Christian König <deathsimple@vodafone.de> Merge remote-tracking branch 'origin/master' into pipe-video

Conflicts:
configure.ac
src/gallium/drivers/r600/r600_state_inlines.h
src/gallium/tests/trivial/Makefile
src/gallium/winsys/g3dvl/dri/XF86dri.c
src/gallium/winsys/g3dvl/dri/driclient.c
src/gallium/winsys/g3dvl/dri/driclient.h
src/gallium/winsys/g3dvl/dri/xf86dri.h
src/gallium/winsys/g3dvl/dri/xf86dristr.h
src/gallium/winsys/r600/drm/r600_bo.c
f67de2ed468ecbd09085746130a27bd2c2da911d 04-Jul-2011 José Fonseca <jfonseca@vmware.com> draw: Fix fetch_max calculation.

It should be

max_index = start + count - 1

instead of

max_index = count - 1
raw/draw_llvm.c
dda8d7ac3f0e5148d9738a57f7bc03216f6514d1 01-Jul-2011 José Fonseca <jfonseca@vmware.com> u_upload_mgr: Use pipe_buffer_map_range istead of pipe_buffer_map.

pipe_buffer_map_range makes stricter assertions, and would have saved us
grief detecting a bug in svga user buffer uploads.
til/u_upload_mgr.c
7d39ff44a2256a08fac725ae0ee8a4475fbf9de5 30-Jun-2011 Micael Dias <kam1kaz3@gmail.com> Gallium: fix buffer overflow

Signed-off-by: José Fonseca <jfonseca@vmware.com>
raw/draw_llvm.c
cf4cd8592ab54b9c959ea3b5f21437e8dca6bbcf 10-Mar-2011 Thomas Hellstrom <thellstrom@vmware.com> gallium/util: Upload manager optimizations

Make sure that the upload manager doesn't upload data that's not
dirty. This speeds up the viewperf test proe-04/1 a factor 5 or so on svga.

Also introduce an u_upload_unmap() function that can be used
instead of u_upload_flush() so that we can pack
even more data in upload buffers. With this we can basically reuse the
upload buffer across flushes.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
til/u_upload_mgr.c
til/u_upload_mgr.h
f8fcaf0215f0434baf13bb5c45545c58f97846b6 01-Jul-2011 Vinson Lee <vlee@vmware.com> gallivm: Pass in CPU name to createTargetMachine when on llvm-3.0.

llvm-3.0svn revision 134127 changed createTargetMachine to take in
an additional argument of the CPU name.
allivm/lp_bld_debug.cpp
b61e56756c2d61a94a8dd90abb4dc83e0c0349ae 01-Jul-2011 Vinson Lee <vlee@vmware.com> gallivm: Rename TargetInstrDesc to MCInstrDesc when using llvm-3.0.

llvm-3.0svn revision 134021 renamed TargetInstrDesc to MCInstrDesc.
allivm/lp_bld_debug.cpp
5349b95920c82ab9187fe965f3921bd564fe6524 29-Jun-2011 Stéphane Marchesin <marcheu@chromium.org> Gallium:draw:aaline and aapoint: Restore the old hooks when we destroy our stage.
raw/draw_pipe_aaline.c
raw/draw_pipe_aapoint.c
6b28b44d458177209705637f759d03a27fa100f1 24-Jun-2011 Brian Paul <brianp@vmware.com> indices: fix conversion of PIPE_PRIM_POLYGON to lines

When the fill mode is PIPE_POLYGON_MODE_LINE we were basically
converting the polygon into triangles, then drawing the outline of all
the triangles. But we really only want to draw the lines around the
perimeter of the polygon, not the interior lines.

NOTE: This is a candidate for the 7.10 branch.
ndices/u_unfilled_gen.py
ndices/u_unfilled_indices.c
ad7387fe12c034d32da4bf4e078d494cbaca5288 24-Jun-2011 Vinson Lee <vlee@vmware.com> gallivm: Fix x86 build with llvm-3.0svn.

LLVM revision 133739 renamed StackAlignment to StackAlignmentOverride.
allivm/lp_bld_misc.cpp
d1f66a9424d087f81d0040aafde033bd5cb1ca72 19-Jun-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: make u_vbuf_mgr_draw_begin return flags in a bitmask
til/u_vbuf_mgr.c
til/u_vbuf_mgr.h
0d58723cde31703f13f2e8e0747cde30b9e5d6de 19-Jun-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: fix uploading if format size is greater than stride
til/u_vbuf_mgr.c
41750107496858a047afa8d81d20fe903f285a78 17-Jun-2011 José Fonseca <jfonseca@vmware.com> scons: make embedding orthogonal to the platform

To enable embedding in platforms other than linux.
s/os_memory.h
s/os_misc.h
s/os_thread.h
s/os_time.c
til/u_debug.c
63e38bd0f6a1958f174a98e4b06be3fb152048b4 14-Jun-2011 Marek Olšák <maraeo@gmail.com> target-helpers: remove copy-pasted function inline_noop_helper
arget-helpers/inline_debug_helper.h
arget-helpers/inline_noop_helper.h
003401f95c9b59471c22368b7da16fe7a951e490 09-Jun-2011 Christian König <deathsimple@vodafone.de> Merge remote-tracking branch 'origin/master' into pipe-video

Conflicts:
src/gallium/tests/unit/u_format_test.c
src/gallium/winsys/r600/drm/r600_hw_context.c
d302804debeed13ced27fce222110c629e55d6f9 09-Jun-2011 Roland Scheidegger <sroland@vmware.com> util: fix strict aliasing issues in u_format_r11g11b10f.h
til/u_format_r11g11b10f.h
b3d5822e932767a572f392ae2b3ca1dfee5f6b03 08-Jun-2011 Roland Scheidegger <sroland@vmware.com> util: add gcc version check for builtins

Looks like only next_power_of_two, logbase2 and bitcount use builtins
requiring gcc 3.4, so maybe everything else compiles with older gcc.
til/u_math.h
894db40f122175ed85e0d32d42296f2d56cf748e 08-Jun-2011 Benjamin Bellec <b.bellec@gmail.com> util: better logbase2/next_power_of_two implementations

Use __builtin_clz when available for logbase/next_power_of_two,
and replace next_power_of_two with faster implementation otherwise.
til/u_math.h
5f2deba9f3f3f9230a9fdd2848e20c1e23e98b8f 08-Jun-2011 Brian Paul <brianp@vmware.com> gallium: s/bool/boolean/
allivm/lp_bld_tgsi_info.c
til/u_linkage.h
til/u_staging.c
til/u_staging.h
f6572017b94a137a4102342ebf6cd20dedc90271 08-Jun-2011 Brian Paul <brianp@vmware.com> draw: fix edge flag handling in clipper (for unfilled tris/quads/polygons)

Previously, we were errantly drawing some interior edges of clipped
polygons and quads. Also, we were introducing extra edges where
polygons intersected the view frustum clip planes.

The main problem was that we were ignoring the edgeflags encoded in
the primitive header's 'flags' field which are set during polygon/quad
->tri decomposition. We need to observe those during clipping. Since
we can't modify the existing vert's edgeflag fields, we need to store
them in a parallel array.

Edge flags also need to be handled differently for view frustum planes
vs. user-defined clip planes. In the former case we don't want to draw
new clip edges but in the later case we do. This matches NVIDIA's
behaviour and it just looks right.

Finally, note that the LLVM draw code does not properly set vertex
edge flags. It's OK on the regular software path though.
raw/draw_pipe_clip.c
00b4e48560f4d576b7b1924257322f5167e58c8d 07-Jun-2011 Christian König <deathsimple@vodafone.de> [g3dvl] rework video buffer format handling
l/vl_context.c
l/vl_video_buffer.c
l/vl_video_buffer.h
f1bf7d3dbfa8c74b9537e6132f17dd8250a3451b 07-Jun-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move dummy quantification into xvmc state tracker
l/vl_mpeg12_decoder.c
681ed756c05ad0be03425417dce18fb1d525e0bd 07-Jun-2011 Brian Paul <brianp@vmware.com> tgsi: s/varient/variant/
gsi/tgsi_ureg.h
b3e75a61eed372cde15b56dcd51c251c129a22c8 07-Jun-2011 Brian Paul <brianp@vmware.com> draw: rename draw_vs_varient.c to draw_vs_variant.c
akefile
Conscript
raw/draw_vs_variant.c
raw/draw_vs_varient.c
47f3d5d42d107b79c94b0713354c93b484c4c813 07-Jun-2011 Brian Paul <brianp@vmware.com> draw/llvm: whitespace, formatting fixes
raw/draw_llvm.c
57f2f84f0e2a06313d30b3d9341229f6643683a1 06-Jun-2011 Brian Paul <brianp@vmware.com> draw: s/1/TRUE/
raw/draw_context.c
cec2082ae515bc91e6b29084ba4b8deac28ef923 02-Jun-2011 Stéphane Marchesin <marcheu@chromium.org> Gallium: fix indentation in u_blitter.c
til/u_blitter.c
155cf15ce216c3b67c13da1041401cbcc1c43b1e 16-May-2011 Marcin Slusarz <marcin.slusarz@gmail.com> util: add \n to debug_checkpoint_full

Signed-off-by: José Fonseca <jfonseca@vmware.com>
til/u_debug.h
b4fa7db65639322ae8dea19a23c9cc8234a3d7e1 05-Jun-2011 Christian König <deathsimple@vodafone.de> [g3dvl] split quant matrix out of picture info
l/vl_mpeg12_decoder.c
c4a168819dee9a2f9b4e7c7ab8d79bb50876d85d 05-Jun-2011 Christian König <deathsimple@vodafone.de> [g3dvl] rename map/unmap to begin/end frame

mapping and unmapping of buffers is just an implementation detail.
begining and ending an frame is much more descriptive
l/vl_mpeg12_decoder.c
7e1fbb360332ecac2789e28a0f3d303306f687b1 05-Jun-2011 Christian König <deathsimple@vodafone.de> [g3dvl] remove unused and dublicate fields from picture structure
l/vl_mpeg12_bitstream.c
c6c2ef070957e5a0c0003e1d0a6d6e2fe197fb40 05-Jun-2011 Christian König <deathsimple@vodafone.de> [g3dvl] use a vertex element instead of the instance id

Enable this change permanently
l/vl_zscan.c
1eb957bb4108123bea95b818e0544e3b5f255e08 05-Jun-2011 Christian König <deathsimple@vodafone.de> Merge remote-tracking branch 'origin/master' into pipe-video
a6c76c8a90dc8995feed3c61b02dbd8408149036 04-Jun-2011 Christian König <deathsimple@vodafone.de> [g3dvl] use a vertex element instead of the instance id
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
l/vl_zscan.c
1dbcb83881f508280ed78dae6834d341936712f2 03-Jun-2011 Dave Airlie <airlied@redhat.com> cso: move cso hashes to a more table driven scheme

this removes a bad branch pain in the hash table lookup fn.

Signed-off-by: Dave Airlie <airlied@redhat.com>
so_cache/cso_cache.c
so_cache/cso_cache.h
970726dd6f9d5361cf7a4002d65ba24ac8baec20 03-Jun-2011 Dave Airlie <airlied@redhat.com> u_prim: convert u_trim_pipe_prim to table driven.

This makes this function not be an always miss for the branch predictor.

Noticed using cachegrind, makes a minor difference to gears numbers on r600g.

Signed-off-by: Dave Airlie <airlied@redhat.com>
til/u_prim.h
f62e1f41b4d6047e72222aebbb0b55a508269b0c 02-Jun-2011 Brian Paul <brianp@vmware.com> util: faster logbase2
til/u_math.h
ded2a9a628c58c2c8bfaaf6b8dd213e68de1dd20 01-Jun-2011 Christian König <deathsimple@vodafone.de> [g3dvl] respect maximum instruction for idct render targets
l/vl_mpeg12_decoder.c
a019b60dd37c546a29ca42209bb2f31eec3456d4 01-Jun-2011 Christian König <deathsimple@vodafone.de> [g3dvl] dynamical adjust blocks per line
l/vl_mpeg12_decoder.c
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/tgsi_ureg.c
912dc8ff09cd7c28926762c2e562de5a99d3e27a 29-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move quantification into shaders
l/vl_mpeg12_bitstream.c
l/vl_mpeg12_decoder.c
l/vl_zscan.c
l/vl_zscan.h
ae56a1dd67040dc5d53f4a1622f775462f0fec05 26-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] implement mismatch control inside idct shaders
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_bitstream.c
l/vl_mpeg12_decoder.c
b4837a53d365bd1bd5f50b3fb40910eeaac869a5 22-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] fix resource type for idct

Only the intermediate resource are 3D textures
l/vl_idct.c
311eb749a1ab7ffd417bc456345d63eba75e3fec 22-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] rework resource format handling
l/vl_mpeg12_decoder.c
aa63ebc48a2ee1ee9afbf2112d4d25e8a9a8d1e8 21-May-2011 Christian König <deathsimple@vodafone.de> Merge remote-tracking branch 'origin/master' into pipe-video
a436b3b2d4524447c59d8f4003895d626cab309c 20-May-2011 José Fonseca <jfonseca@vmware.com> gallivm: Fix for dynamically linked LLVM 2.8 library.

This prevents the error

prog: for the -disable-mmx option: may only occur zero or one times!

when creating a new context after XCloseDisplay with DRI drivers linked
with a shared LLVM 2.8 library.
allivm/lp_bld_misc.cpp
61c67eca7dbcef4b7b1398f5a9e0193597f304ed 18-May-2011 José Fonseca <jfonseca@vmware.com> gallivm: Tell LLVM to not assume a 16-byte aligned stack on x86.

Fixes fdo 36738.
allivm/lp_bld_misc.cpp
9f64199d39cb42f0266e52451fa1c4d3440bc9e2 18-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] fix missing swizzle on instanceid
l/vl_zscan.c
390196ecc73cd5d6bed48bf460d1abf70deb0eb4 17-May-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: fix max_index computation when src_offset is abused as buffer_offset
til/u_vbuf_mgr.c
9937e85bccbf2f6bd77d061ab0488d45e9366f10 16-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] add missing ureg_END
l/vl_mc.c
3e976ef31a27ca9a23372f4364955f0f0a5c4ef4 16-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] store the idct matrix as hex values

Give the dct matrix a higher precision.
l/vl_idct.c
bc16c73407d11bb6702cf7de9925bfaeb80a5272 15-May-2011 Dave Airlie <airlied@redhat.com> gallium: block signals for new thread when spawning threads

I'm hard pressed to think of any reason a gallium thread would want to
receive a signal, especially considering its probably loaded as a library
and you don't want the threads interfering with the main threads signal
handling.

This solves a problem loading llvmpipe into the X server for AIGLX,
where the X server relies on the SIGIO signal going to the main thread,
but once llvmpipe loads the SIGIO can end up in any of its threads.

Signed-off-by: Dave Airlie <airlied@redhat.com>
s/os_thread.h
828540e491d88b9b6217e6568873a78462919ae8 15-May-2011 Christian König <deathsimple@vodafone.de> Merge remote-tracking branch 'origin/master' into pipe-video
3db6514357a7c634045ae7bc7bba7d7dbf9d58c5 15-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] enable gl_rasterization_rules for idct
l/vl_idct.c
20aabb9c2eff63fd97571b9f3db453fe3accc10a 15-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] enable gl_rasterization_rules for zscan
l/vl_zscan.c
235de23e57bd6dac6a2fcdd0807838eef72f6173 15-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] store mvpos seperately from x,y cord
l/vl_mpeg12_bitstream.c
5d7c8130b80ffc27fc73a2ca1a55352d4b4e34c4 15-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] pre apply zscan to quant matrix
l/vl_mpeg12_bitstream.c
0121aae967d3d1366cccc8946cf89ad22818365e 15-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] no need for seperate intermediate buffers any more

This should reduce the video memory footprint drastically.
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
56457ffe11fd2b325f2bef3d99ca7e57b44e5c6a 15-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move alignment of buffers to mb size into context
l/vl_context.c
l/vl_mpeg12_decoder.c
51095f74cf92d3cada7366ce898ade7693570b48 14-May-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: fix max_index computation once again

See how I compute and use the 'unused' variable in the code.
It's crucial for getting max_index right.

Fixed with the help of apitrace.
(bisecting the problematic draw call manually was not fun though)

This should fix:
https://bugs.freedesktop.org/show_bug.cgi?id=36268
https://bugs.freedesktop.org/show_bug.cgi?id=36609
til/u_vbuf_mgr.c
6c731191c08561ea247cb2fcfacdf08f6b842363 14-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] fix fi_frame mb increment
l/vl_mpeg12_bitstream.c
c5ac8a8aa2a9fe751453c1fcc8539b7dae5d473c 09-May-2011 Matt Turner <mattst88@gmail.com> Remove redundant util_unsigned_logbase2

util_logbase2 is exactly the same function.

Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
allivm/lp_bld_sample.c
til/u_math.h
48a0a096f878d1e627226eae520847063473b17f 09-May-2011 Matt Turner <mattst88@gmail.com> u_math.h: Remove redundant mingw32 ffs definition

Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
til/u_math.h
ce31aaec02de0ef509dcee9d641c39623017a638 08-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move dct_type detection out of get_macroblock_modes
l/vl_mpeg12_bitstream.c
3b773d06d2edd39ce6e6ab6e306e3cca121dddfc 08-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] fix field selection of mb without mc
l/vl_mpeg12_bitstream.c
626352648a8c0b5d92a979d1b1adbf472e711ff8 07-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] memcpy the DCT buffer instead of writing it directly

It looks like texture buffers are not cached so this seems to be alot faster
l/vl_mpeg12_bitstream.c
6a5d2d7967074be2ea87c06ee1e9af3ac34a5c99 07-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] rgba surfaces are clearing if the alpha channel is one
l/vl_compositor.c
a67a0bb60c9f17608fe78467263ef7dbc5b49b0a 07-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] using reciprocals for size calc is sometimes not precise enough
l/vl_compositor.c
213b9004a6ee033a16af3dcd187aa68b56c39858 07-May-2011 Christian König <deathsimple@vodafone.de> Merge remote-tracking branch 'origin/master' into pipe-video

Conflicts:
src/gallium/drivers/r600/r600_state.c
6ad846ee78d9d8ba93dcecdefbf89f2b981333ef 05-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move zscan into shaders
l/vl_mpeg12_bitstream.c
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_zscan.c
l/vl_zscan.h
352bfb525ab4858ac1a5710cc8d629764cf6bd72 04-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] remove quantizer_scale from picture structure
l/vl_mpeg12_bitstream.c
a9b1c4fe2e67c5b158056a05cbc394d62c1d3e40 04-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] remove dc_dct_pred from picture structure
l/vl_mpeg12_bitstream.c
e3789105fe3a289338821a53da499857aa924637 04-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] divide mpg12 width height by 16
l/vl_mpeg12_bitstream.c
l/vl_mpeg12_decoder.c
0f24c19eea80290f533d69403586d9fc6f4b36f7 04-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] remove the dubble zscan from the mpg12 decoder
l/vl_mpeg12_bitstream.c
ff20be919a44d1398f4f5789a56eb6c755a2d158 04-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] remove the unused bitstream parser components
akefile
l/vl_bitstream_parser.c
l/vl_bitstream_parser.h
c888fe027c338f337123de4da2de1ac73b0f7587 04-May-2011 Christian König <deathsimple@vodafone.de> [g3dvl] Implement MPEG2 VLD

Based uppon xine's slice_xvmc.c.
This gets VDPAU up and running.
akefile
l/vl_mpeg12_bitstream.c
l/vl_mpeg12_bitstream.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_vlc.h
5829332a9b814c5922f45b570c83565f8d35752d 03-May-2011 Michel Dänzer <daenzer@vmware.com> gallium/draw: Fix enum type taken by draw_get_shader_param().

Pointed out by clang:

src/gallium/auxiliary/draw/draw_context.h:251:41: warning: implicit conversion
from enumeration type 'enum pipe_cap' to different enumeration type
'enum pipe_shader_cap' [-Wconversion]
return tgsi_exec_get_shader_param(param);
~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~
raw/draw_context.h
08520bdea2db623044e2e46c21402039fd8fe5e2 01-May-2011 Marek Olšák <maraeo@gmail.com> tgsi: remove set-but-unused variables
gsi/tgsi_build.c
cacdc42e36d27d49b6deb0f1ea57f564ad31c88f 01-May-2011 Marek Olšák <maraeo@gmail.com> draw: remove set-but-unused variable
raw/draw_vertex.c
425cfa139b36b4ac01db248de3dc8ad4799cec5c 01-May-2011 Marek Olšák <maraeo@gmail.com> rbug: remove set-but-unused variables
bug/rbug_context.c
bug/rbug_core.c
bug/rbug_texture.c
b48359184e36ecd11510e9c87e3db535935c99e2 27-Apr-2011 Marek Olšák <maraeo@gmail.com> util: implement R11G11B10_FLOAT pack/unpack functions

Reviewed-by: Brian Paul <brianp@vmware.com>
til/u_format.csv
til/u_format_other.c
til/u_format_other.h
til/u_format_r11g11b10f.h
1271424615b62544662a606bb23f6d7117a8b0e7 27-Apr-2011 Marek Olšák <maraeo@gmail.com> mesa, util: move RGB9E5 conversion functions to gallium/util

Also use MAX3 and incorporate Ian's suggestion in texformat.c.

I don't think wrapping u_format_rgb9e5.h in another header and thus making it
more complicated is worth it.
til/u_format_other.c
til/u_format_rgb9e5.h
349184be36e59f49309b8c1f371d99efceaf6d5f 26-Apr-2011 Marek Olšák <maraeo@gmail.com> util: implement R9G9B9E5 pack and unpack functions

softpipe and llvmpipe support done (sampler only).

Reviewed-by: Brian Paul <brianp@vmware.com>
til/u_format_other.c
563f6c225c75b2344e0f4cd5011540a21fac9abf 27-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] make clear color configureable
l/vl_compositor.c
l/vl_compositor.h
221e1b7ababe67efe80f38f8ab2236be5cacfddf 27-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] make reset_dirty_area a public interface
l/vl_compositor.c
0d53cb2e83cafb7007068192674a8b5b57a27ca4 27-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] implement clearing of dirty destination surface areas
l/vl_compositor.c
l/vl_compositor.h
b8de75d53760fb359d10d6f4794f28097210cef4 27-Apr-2011 Marek Olšák <maraeo@gmail.com> util: make macros MIN3, MAX3, MIN4, MAX4 little more efficient
til/u_math.h
31200d0688b67a0d764ad7fe4c2761d0f8d993d8 27-Apr-2011 Marek Olšák <maraeo@gmail.com> gallivm: fix warning: ‘value’ may be used uninitialized in this function

The path where it's uninitialized is guarded by an assert.
allivm/lp_bld_tgsi_soa.c
6092fbed46302e2bdf6c6f2e229f4e393652e228 27-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move compositor src and dst normalisation into layer setting
l/vl_compositor.c
l/vl_compositor.h
559f6d6cf4a9469c2c6ccea482115f22080f185f 27-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] fix setting width, height and chroma format in video buffer
l/vl_video_buffer.c
39cd791f3428ab48723fd4c73c4b1223e883ab2d 18-Jul-2010 nobled <nobled@dreamwidth.org> os: simplify ifdef

The actual code that needs this include is just using
"if defined (PIPE_OS_UNIX)", and the two conditions should match.

This should also make the file compile under Hurd.
s/os_time.c
76d881b8b086495081c0a3c8fea2278f1480f107 27-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] fix a couple of bugs around paletted subpictures
l/vl_compositor.c
l/vl_compositor.h
7f04fe5338d0846ec9a6003033da5357d2785c8b 25-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] merge idct stage 2 and mc ycbcr stage into a single draw
l/vl_idct.c
l/vl_idct.h
l/vl_mc.c
l/vl_mc.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
104ac0066394f8246d18c833bca4bcce271b5eef 24-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] rework fence handling and add r600g workaround
l/vl_mpeg12_decoder.c
3ea7e2713c836f23d59c4034385609e371a94c8d 24-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] start supporting different render target formats

Let's start with NV12, but anything else shouldn't be much of a problem any more.
l/vl_compositor.c
l/vl_context.c
l/vl_mc.c
l/vl_mc.h
l/vl_mpeg12_decoder.c
l/vl_video_buffer.c
l/vl_video_buffer.h
b54909910c04313fb45c4e8f39091ad73ec329f3 24-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] remove resource_format workaround
l/vl_context.c
fa31b1095eeea97695125ad5770239805bed37da 23-Apr-2011 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video

Conflicts:
configs/linux-dri
src/gallium/drivers/r600/r600_pipe.c
src/gallium/drivers/r600/r600_state.c
src/gallium/include/pipe/p_format.h
src/gallium/tests/graw/fragment-shader/frag-abs.sh
src/gallium/tests/graw/fragment-shader/frag-add.sh
src/gallium/tests/graw/fragment-shader/frag-cb-1d.sh
src/gallium/tests/graw/fragment-shader/frag-cb-2d.sh
src/gallium/tests/graw/fragment-shader/frag-dp3.sh
src/gallium/tests/graw/fragment-shader/frag-dp4.sh
src/gallium/tests/graw/fragment-shader/frag-dst.sh
src/gallium/tests/graw/fragment-shader/frag-ex2.sh
src/gallium/tests/graw/fragment-shader/frag-face.sh
src/gallium/tests/graw/fragment-shader/frag-flr.sh
src/gallium/tests/graw/fragment-shader/frag-frc.sh
src/gallium/tests/graw/fragment-shader/frag-kil.sh
src/gallium/tests/graw/fragment-shader/frag-lg2.sh
src/gallium/tests/graw/fragment-shader/frag-lit.sh
src/gallium/tests/graw/fragment-shader/frag-lrp.sh
src/gallium/tests/graw/fragment-shader/frag-mad-immx.sh
src/gallium/tests/graw/fragment-shader/frag-mad.sh
src/gallium/tests/graw/fragment-shader/frag-max.sh
src/gallium/tests/graw/fragment-shader/frag-min.sh
src/gallium/tests/graw/fragment-shader/frag-mov.sh
src/gallium/tests/graw/fragment-shader/frag-mul.sh
src/gallium/tests/graw/fragment-shader/frag-rcp.sh
src/gallium/tests/graw/fragment-shader/frag-rsq.sh
src/gallium/tests/graw/fragment-shader/frag-sge.sh
src/gallium/tests/graw/fragment-shader/frag-slt.sh
src/gallium/tests/graw/fragment-shader/frag-srcmod-abs.sh
src/gallium/tests/graw/fragment-shader/frag-srcmod-absneg.sh
src/gallium/tests/graw/fragment-shader/frag-srcmod-neg.sh
src/gallium/tests/graw/fragment-shader/frag-srcmod-swz.sh
src/gallium/tests/graw/fragment-shader/frag-sub.sh
src/gallium/tests/graw/fragment-shader/frag-tempx.sh
src/gallium/tests/graw/fragment-shader/frag-xpd.sh
src/gallium/tests/graw/vertex-shader/vert-abs.sh
src/gallium/tests/graw/vertex-shader/vert-add.sh
src/gallium/tests/graw/vertex-shader/vert-arl.sh
src/gallium/tests/graw/vertex-shader/vert-arr.sh
src/gallium/tests/graw/vertex-shader/vert-cb-1d.sh
src/gallium/tests/graw/vertex-shader/vert-cb-2d.sh
src/gallium/tests/graw/vertex-shader/vert-dp3.sh
src/gallium/tests/graw/vertex-shader/vert-dp4.sh
src/gallium/tests/graw/vertex-shader/vert-dst.sh
src/gallium/tests/graw/vertex-shader/vert-ex2.sh
src/gallium/tests/graw/vertex-shader/vert-flr.sh
src/gallium/tests/graw/vertex-shader/vert-frc.sh
src/gallium/tests/graw/vertex-shader/vert-lg2.sh
src/gallium/tests/graw/vertex-shader/vert-lit.sh
src/gallium/tests/graw/vertex-shader/vert-lrp.sh
src/gallium/tests/graw/vertex-shader/vert-mad.sh
src/gallium/tests/graw/vertex-shader/vert-max.sh
src/gallium/tests/graw/vertex-shader/vert-min.sh
src/gallium/tests/graw/vertex-shader/vert-mov.sh
src/gallium/tests/graw/vertex-shader/vert-mul.sh
src/gallium/tests/graw/vertex-shader/vert-rcp.sh
src/gallium/tests/graw/vertex-shader/vert-rsq.sh
src/gallium/tests/graw/vertex-shader/vert-sge.sh
src/gallium/tests/graw/vertex-shader/vert-slt.sh
src/gallium/tests/graw/vertex-shader/vert-srcmod-abs.sh
src/gallium/tests/graw/vertex-shader/vert-srcmod-absneg.sh
src/gallium/tests/graw/vertex-shader/vert-srcmod-neg.sh
src/gallium/tests/graw/vertex-shader/vert-srcmod-swz.sh
src/gallium/tests/graw/vertex-shader/vert-sub.sh
src/gallium/tests/graw/vertex-shader/vert-xpd.sh
src/gallium/tools/trace/dump.py
src/gallium/tools/trace/format.py
src/gallium/tools/trace/model.py
src/gallium/tools/trace/parse.py
24d76d2966a5c666c9627034e6751621b17024c8 23-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] cleanup error handling
l/vl_mpeg12_decoder.c
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
2e6274fc3b123e7de695038054b5cbd20b11559a 23-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] make ycbcr stream and block data a public interface
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
f0819a22f3dc63d1c0dde6320babf9b7fcda15bb 23-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] start implementing zscan and quantification

Not 100% complete, but at least a good start.
akefile
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
l/vl_zscan.c
l/vl_zscan.h
931432fea69c29b4029ff23613468c8ad2c0181e 22-Apr-2011 Brian Paul <brianp@vmware.com> draw: fix point/line/tri flushing bug in vbuf code

Need to reset the point/line/tri functions to point to the "first"
versions whenever we flush vertices. Fixes unfilled polygon rendering
errors seen in demos/samples/logo.c. See comments for more info.

NOTE: This is a candidate for the 7.10 branch.
raw/draw_pipe_vbuf.c
4ad63659c09499f4e538d71aec42035246747ffd 21-Apr-2011 Marek Olšák <maraeo@gmail.com> galahad,util: warn on resource target mismatch in copy_region

Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
til/u_surface.c
64f55216e4c11e8acb787bfe40e6dd25e862cd43 21-Apr-2011 Marek Olšák <maraeo@gmail.com> util: add a simple memcpy path for copying buffers in util_resource_copy_region

Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
til/u_surface.c
b7acf83d523563cde613fe805bd8edaa02f64b53 20-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] make motion vector buffers a public interface
l/vl_mc.c
l/vl_mpeg12_decoder.c
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
8b7f760f835f870b8f6af6c4d6613d44440f1dc5 20-Apr-2011 Brian Paul <brianp@vmware.com> translate: disable clamping of instanced array indexes

This fixes piglit's draw-instanced-divisor test for softpipe on both
the generic and SSE paths. This is temporary until we have the
correct per-array max_index information.
ranslate/translate_generic.c
ranslate/translate_sse.c
3511780a43077d1359bd491eadb4ab9b3b86795a 19-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] revert commit 310eea52ca1e997295c84163066cc5d0fd4f8cf6

Using a seperate vertex buffer for mc and ycbcr handling is still better.
l/vl_idct.c
l/vl_idct.h
l/vl_mc.c
l/vl_mpeg12_decoder.c
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
849bc838e81f930e6f090e6c6597bb92e822b4c9 17-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] give each color component their own vertex buffer
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
38a315b7049946d124409b377e622994feccdcb7 17-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] no need for seperate mv vertex states any more
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
b8a6e0e6fc451096d684a1e18529ab4879cdba0a 17-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] give mv their own vertex buffer back
l/vl_defines.h
l/vl_mc.c
l/vl_mc.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
l/vl_video_buffer.h
0a2310b375068694d5700395aededc3fe68a0f3a 17-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move blender state into idct code
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
ca79aeb91e914ac1a4774d51ca49911406377407 17-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] rename vl_mpeg12_mc_renderer into vl_mc

It's still not 100% free from mpeg12 specific stuff,
but should now be a good start for other codecs.
akefile
l/vl_mc.c
l/vl_mc.h
l/vl_mpeg12_decoder.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
9c8bb28ca128dca9f279c78857da1b39223e30f7 17-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move top/bottom field selection into mc code

Removes the workaround and get interlaced videos to work 100% correctly.
l/vl_mpeg12_mc_renderer.c
l/vl_vertex_buffers.c
f1485e155a985df3100708f4bfb1a9d7c72217f4 16-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] make macroblock_size configurable in mc
l/vl_mpeg12_decoder.c
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
cfe921a9b659ae94248054c4f1330f863d214d5b 16-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] remove dummy sampler from mc
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
5294ac62236bf05e1eaaca3399e539c28c0ccc4c 16-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move mc fb and viewport handling into buffer object
l/vl_mpeg12_decoder.c
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
ff210aea7c080600bd45eb18b29a6109468ed4df 16-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] back to seperate mc for y and c planes
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
c87b83d4b2b860bb4c9f90897232e661a2b94c07 15-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] give mc and ycbcr stage its own vertex element state
l/vl_mpeg12_decoder.c
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
b1c44b0ea6b3e891086ce554edf3c26dbd3708cd 15-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] give mv and ycbcr stage its own vertex shader
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
l/vl_vertex_buffers.c
41b38bd21c1031e65799c888a97d8a0c14ea2aaa 15-Apr-2011 Brian Paul <brianp@vmware.com> translate: s/varient/variant/
ranslate/translate_sse.c
75fa5c99a86c1ae0f8a4fecc016a5f82da9ae80a 11-Apr-2011 Marek Olšák <maraeo@gmail.com> gallium: add and use generic function for querying patented format support (v2)

v2: Unsigned floats are allowed regardless of the configure switch.
til/u_format.c
til/u_format.h
33128310b0ae67cb77f9854b206bc03dd24755ea 16-Feb-2011 Luca Barbieri <luca@luca-barbieri.com> gallium: add A/L/LA/I floating point formats
til/u_format.csv
4fc4f7b9ea83f02a81e9a3f57db7ae655490379a 15-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] set ref samplers to linear again
l/vl_mpeg12_mc_renderer.c
10c49b28752f5f2d822dfb1e2e6a1ec213cc44da 14-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] use blending for mc of ref frames
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
l/vl_types.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
e61a63a65198fe136ff9f1b6b8897c5b3c95b093 14-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] cleanup blender and sampler views
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
b88fa924009b5cc572187d3ca6a395d5226aa1c3 13-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] split mc into seperate stages
l/vl_mpeg12_decoder.c
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
751eb75310f62bd9b7ef18df1730958a467c99ad 13-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move intra handling into fetch_ycbcr
l/vl_mpeg12_mc_renderer.c
c7b65dcaffeb9d0760c8ecad052f4c79297bfc8a 13-Apr-2011 Christian König <deathsimple@vodafone.de> xvmc: Define some Xv attribs to allow users to specify color standard and procamp
l/vl_csc.c
l/vl_csc.h
3745025b28aa6142e7465f2af1387aebc99b5a70 12-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] make resource_format param const
l/vl_context.c
4f3fb1586aebfe248321e935651b5af92b5a8261 12-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] make resource format selection a public interface
l/vl_context.c
l/vl_mpeg12_decoder.c
l/vl_video_buffer.c
l/vl_video_buffer.h
ccc80d2c09ad35f867c0c0a85f7e1cadd73941bb 11-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] fully support different formats for source and intermediate textures
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_decoder.c
45920d2ecb38b14fdda5253fecce996570c22863 11-Apr-2011 pepp <pelloux@gmail.com> u_vbuf_mgr: fixed vbo max_index calculation

Signed-off-by: Marek Olšák <maraeo@gmail.com>
til/u_vbuf_mgr.c
bad3085c7839de734f6b883088f91ae55db61a35 10-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] autoselect texture formats
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
871d6d49c931739d94e646f2b0c3eb5db8a03d69 10-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] autoconfigure nr of idct render targets
l/vl_mpeg12_decoder.c
b6af6ba6c0e62fc91adb350d882bab69dde1ef7a 10-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] remove unused rasterizer state from mpeg decoder
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
ad4ed0e7f642a536618be183b293286fff1b206b 10-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] give idct it's own init buffer function
l/vl_mpeg12_decoder.c
5ed848129cb57269e80caf2c1ca522ae41f4500b 10-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] cleanup headers and comments
l/vl_compositor.c
l/vl_context.h
l/vl_csc.c
l/vl_idct.c
l/vl_mpeg12_decoder.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
l/vl_vertex_buffers.h
l/vl_video_buffer.h
fcf765620d803b376582afb618b1f643242b641b 10-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] make number of idct render targets configurable
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
31109e1be20d7c94521879c3221a9f77bacbdb8d 10-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] also use video buffer for idct intermediate
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_video_buffer.c
7a5390b06fea99f85ab47d40d8dc40e40e0f2ab8 09-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] make mv weights a public interface
l/vl_vertex_buffers.c
44477ac489a34402d9d3314857fd2358a5e58e48 09-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] give each mv an individual weight
l/vl_mpeg12_mc_renderer.c
l/vl_vertex_buffers.c
255033e4819b096491dd987c3ca4d8ee32a7cdb6 08-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] use scissor to handle compositor dst_area
l/vl_compositor.c
l/vl_compositor.h
a0d154dc1385d92a31dca8e65e50d958bdf6d532 08-Apr-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: fix crash with unsupported vertex format in hw VBOs
til/u_vbuf_mgr.c
til/u_vbuf_mgr.h
08070cead0bb79d4441d8c5b900d1571bb63c670 31-Mar-2011 Fabian Bieler <der.fabe@gmx.net> llvmpipe: Take the sampler view's first_level into account when sampling.
raw/draw_context.c
raw/draw_context.h
raw/draw_llvm.c
raw/draw_llvm.h
raw/draw_llvm_sample.c
allivm/lp_bld_sample.c
allivm/lp_bld_sample.h
allivm/lp_bld_sample_aos.c
allivm/lp_bld_sample_soa.c
30c4a07310e880d6ccb2f66efc30e123b8ae60e2 07-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] create composite buffer with USAGE_STREAM

Also add PIPE_TRANSFER_DONTBLOCK to mapping options
l/vl_compositor.c
ef2c80f5064b2d1830cea5bbcacde850138d54c4 07-Apr-2011 Brian Paul <brianp@vmware.com> util: add cpu detection for sse 4.2 and avx
til/u_cpu_detect.c
til/u_cpu_detect.h
1e105741f1e0ae4946febb41c844ed5741a54ec1 07-Apr-2011 Brian Paul <brianp@vmware.com> util: simplify bit shifting in util_cpu_detect()
til/u_cpu_detect.c
fcdf50f74befad8d89eb3f9cdfd88b82d1daa98c 07-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] add support for different decoding entry points
l/vl_context.c
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
9d2e630cd02362bfa8f090640a55cf2dea9d64b3 07-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move mapping/unmapping and uploading of blocks out of idct code
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
05a2247a945db21ec5fdb39f6270c5cb2ab6bb6f 06-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] set buffer_format correctly
l/vl_context.c
dcbc9be38ecea30506198d0db037cbf532f070e4 05-Apr-2011 José Fonseca <jose.r.fonseca@gmail.com> draw: Fix thinko in debug warnings.
raw/draw_pt_vsplit_tmp.h
d9ad3aa3b9647f1ede2568600978af956ff32fff 06-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] and finally split the decoder part out of the context

This should give a good basis to implement vdpau ontop of it.
akefile
l/vl_compositor.c
l/vl_context.c
l/vl_context.h
l/vl_mpeg12_context.c
l/vl_mpeg12_context.h
l/vl_mpeg12_decoder.c
l/vl_mpeg12_decoder.h
l/vl_video_buffer.c
l/vl_video_buffer.h
3a2b906805985e0a4258bcbaed4cdff758875514 04-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] rename ycbcr buffer to video buffer and add some more functionality
akefile
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_context.c
l/vl_mpeg12_context.h
l/vl_video_buffer.c
l/vl_video_buffer.h
l/vl_ycbcr_buffer.c
l/vl_ycbcr_buffer.h
087e17f52e6391cecc002066f53dadc8f1b53074 03-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] fix vertex buffer size calculation
l/vl_mpeg12_context.c
l/vl_mpeg12_context.h
l/vl_vertex_buffers.c
e5f78a74f8294ee02015552db664dae1e7da9f47 03-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] split compositor out of video context

Also redesign the compositor a bit and make the result a public available interface
l/vl_compositor.c
l/vl_compositor.h
l/vl_mpeg12_context.c
l/vl_mpeg12_context.h
59774e5c7a2756c5c430fc74bc80ea75d54f594d 02-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] remove unused color_swizzle from idct code
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_context.c
e6049aa0a990a630ed36a6d83e7526cc5e09bb19 02-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] rework mpeg12 context error handling
l/vl_mpeg12_context.c
71ee815b5cb0612906f9400f9a06ce8b7cdd51b3 02-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] remove PIPE_CAP_DECODE_TARGET_PREFERRED_FORMAT

It wasn't fully implemented anyway.
l/vl_mpeg12_context.c
l/vl_mpeg12_context.h
794cde3f5ef59cf603be284fbc8de33d2cda7d2c 02-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] splitt vertex element state into y, cb, cr
l/vl_idct.c
l/vl_mpeg12_context.c
l/vl_mpeg12_context.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
4de5d81638a79fbd74eca63723f6f09727bf4b60 01-Apr-2011 Christian König <deathsimple@vodafone.de> [g3dvl] some minor cleanup
l/vl_ycbcr_buffer.c
17bbc1f0425b3768e26473eccea5f2570dcb26d3 01-Apr-2011 José Fonseca <jfonseca@vmware.com> translate: Respect translate_buffer::max_index.
tasm/rtasm_x86sse.c
tasm/rtasm_x86sse.h
ranslate/translate_sse.c
3733da31e8b4405b65e1b6ca3b6599ecc5af5fe7 31-Mar-2011 José Fonseca <jfonseca@vmware.com> draw: Prevent out-of-bounds vertex buffer access.

Based on some code and ideas from Keith Whitwell.
akefile
Conscript
raw/draw_private.h
raw/draw_pt.c
raw/draw_pt_fetch.c
raw/draw_pt_fetch_emit.c
raw/draw_pt_fetch_shade_emit.c
raw/draw_pt_vsplit.c
raw/draw_pt_vsplit_tmp.h
til/u_draw.c
til/u_draw.h
3dedd39cdd198afa54ba5b53384d6be2040f9485 31-Mar-2011 José Fonseca <jfonseca@vmware.com> draw: Revert code reorg in previous change.

Because

fetch_count = max_index - min_index + 1

overflows for min_index = 0 and max_index = 0xffffffff.

Fixes fdo 35815.
raw/draw_pt_vsplit_tmp.h
5f996e2b1d09dad64c088ccabb1a4a53ebfb8102 16-Feb-2011 Luca Barbieri <luca@luca-barbieri.com> draw: implement vertex color clamping, and disable SSE and PPC paths

(some little changes by Marek Olšák)

Squashed commit of the following:

commit 737c0c6b7d591ac0fc969a7590e1691eeef0ce5e
Author: Luca Barbieri <luca@luca-barbieri.com>
Date: Fri Aug 27 02:13:57 2010 +0200

draw: disable SSE and PPC paths (use LLVM instead)

These paths don't support vertex clamping, and are anyway
obsoleted by LLVM.

If you want to re-enable them, add vertex clamping and test that it
works with the ARB_color_buffer_float piglit tests.

commit fed3486a7ca0683b403913604a26ee49a3ef48c7
Author: Luca Barbieri <luca@luca-barbieri.com>
Date: Thu Aug 26 18:27:38 2010 +0200

draw_llvm: respect vertex color clamp

commit ef0efe9f3d1d0f9b40ebab78940491d2154277a9
Author: Luca Barbieri <luca@luca-barbieri.com>
Date: Thu Aug 26 18:26:43 2010 +0200

draw: respect vertex clamping in interpreter path
raw/draw_llvm.c
raw/draw_llvm.h
raw/draw_vs.c
raw/draw_vs_exec.c
ebe304fa540f98d047382297f448fec692a67b8b 28-Mar-2011 Jerome Glisse <jglisse@redhat.com> gallium: list use inline function to avoid macro shot coming

Macro can lead to hard to debug list bugs. For instance consider
the following :
LIST_ADD(item, list->prev)
3 instruction of the macro became :
(list->prev)->next->prev = item
which is equivalent to :
list->prev = item
Thus list prev field changes and next instruction in the macro
(list->prev)->next = item
became :
item->next = item
And you endup with list corruption, other case lead to similar
list corruption. Inline function are not affected by this short
coming

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
til/u_double_list.h
dcad6fb670ccc533167d1ae360833989c1eb4823 30-Mar-2011 José Fonseca <jfonseca@vmware.com> draw: Forgot to remove one istart usage.
raw/draw_pt_vsplit_tmp.h
713230ff39cd22a2082c12b937889c3ef81973ac 29-Mar-2011 José Fonseca <jfonseca@vmware.com> draw: Fix bug when drawing ushort indices.

When the condition

min_index == 0 && sizeof(ib[0]) == sizeof(draw_elts[0])

was true, we were wrongly ignoring istart and processing indices 0.

Reorder some statements to make the code easier to understand.
raw/draw_pt_vsplit_tmp.h
1f3a85ec7931c5d67fce0ec1e845d6c91048e599 29-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] let mc code work on the different color planes seperately
l/vl_compositor.c
l/vl_compositor.h
l/vl_mpeg12_context.c
l/vl_mpeg12_context.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
l/vl_ycbcr_buffer.c
2af1da15468d06d3ce9d89bcc706276ecc66f761 14-Mar-2011 Marek Olšák <maraeo@gmail.com> gallium: add EXT_texture_snorm support
til/u_format.csv
92e29dc5b0474c073b0f05d60629fc6c3decfca4 29-Mar-2011 Vinson Lee <vlee@vmware.com> gallivm: Fix build with llvm-2.9.

The build fix of commit 40ae214067673edbda79371969d1730b6194d83e does
not apply to llvm-2.9 but rather to llvm-3.0svn.
allivm/lp_bld_debug.cpp
40ae214067673edbda79371969d1730b6194d83e 27-Mar-2011 Tobias Droste <tdroste@gmx.de> gallivm: Fix build with llvm-2.9

In llvm-2.9 Target->createMCInstPrinter() takes different arguments

Signed-off-by: Tobias Droste <tdroste@gmx.de>
allivm/lp_bld_debug.cpp
f3c9161b15988e90a2f727c8260ac3bff41912fd 27-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] remove texture dependencies from mc code
l/vl_mpeg12_context.c
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
020328ca32a3b6548b4c064c4fe115e386752daa 27-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] introduction of ycbcr buffers

Moves most of the buffer creation out of the idct code.
akefile
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_context.c
l/vl_mpeg12_context.h
l/vl_ycbcr_buffer.c
l/vl_ycbcr_buffer.h
5a351e51291922aa295926215fdecccc0baeef51 27-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] no need for individual samplers for idct stage 1 & 2
l/vl_idct.c
l/vl_idct.h
8330bc29dda71c41c56b3c1989334823ae8779d4 27-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] cleanup and improve idct error handling
l/vl_idct.c
c6182cc6d48a7c076cfbdba241e29e5f5901ba52 27-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] improve and cleanup mc error handling
l/vl_mpeg12_mc_renderer.c
7f426615ab308de508f672567094b8b21d836a9b 26-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] fully implement paletted subpictures
l/vl_compositor.c
l/vl_compositor.h
l/vl_mpeg12_context.c
c001c393713f36144701f3a61b6c7de7811898ee 26-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] add blend state to compositor

This seems to get at least mplayer working
l/vl_compositor.c
l/vl_compositor.h
l/vl_mpeg12_context.c
adbc9cee0ddf5a542d3e503db673af30e6d8df5b 26-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] correct layer size calculation
l/vl_compositor.c
05a2c182f1410a6c09eba70877311ceaf80c19c5 26-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] use quads instead of triangles for the compositor
l/vl_compositor.c
133add9c508f9e94e04c45a6cfa3a9dd6a2518d0 26-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] the sampler textview map is no longer needed
l/vl_compositor.c
l/vl_compositor.h
3d40d4f391e2fc319a03d8f171a2cfb9daf250c8 26-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] throw out all unused parts of the interface
l/vl_compositor.c
l/vl_compositor.h
l/vl_mpeg12_context.c
4a0b80f00dbc77d333027afd195daae7ef1e651c 25-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] rework supicture handling

This gets ia44 and ai44 at least partial working
l/vl_compositor.c
l/vl_compositor.h
l/vl_mpeg12_context.c
eb0dd370945b9e3f5eb548a1a4a8184bb0e604fc 25-Mar-2011 Vinson Lee <vlee@vmware.com> gallivm: Fix build with llvm-2.9.

In llvm-2.9, the header file llvm/System/Host.h has been moved to
llvm/Support/Host.h.
allivm/lp_bld_debug.cpp
da3c6dd099786d20906b5a16288887b80cd8ad29 24-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move sampler views for reference frames into context
l/vl_mpeg12_context.c
l/vl_mpeg12_context.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
884cb79edfefb1133229a002f41b4d370d717a7e 24-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] make mapping and flushing of buffers a public interface
l/vl_mpeg12_context.c
l/vl_mpeg12_context.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
f08d3bb59b862e5e176af11303e5068fdfa2100b 22-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] buffers must be aligned to macroblock size
l/vl_mpeg12_context.c
ba0bff85307c9b107cf432da05b39fd4ab242579 22-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] make video buffer a public available interface
l/vl_mpeg12_context.c
l/vl_mpeg12_context.h
52766c2c373a7ac484ae01dca3ab409e808709b2 20-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] handle different mc types more similary
l/vl_mpeg12_mc_renderer.c
l/vl_vertex_buffers.c
f2c6affa365eee55d2e5a18f889691900711583e 20-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] simplify motion vector calculation
l/vl_mpeg12_mc_renderer.c
l/vl_vertex_buffers.c
bac8760f7f3523e9b6d5b2fd7cd46091d4883f5e 20-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] rename motion vector fields
l/vl_vertex_buffers.c
dd6cd206a6395be651bc965580e17c0d63513c7b 20-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] correctly implement non power of two buffers
l/vl_mpeg12_context.c
l/vl_mpeg12_context.h
713a52d8564193e222e16aad52758d8fa3b79635 20-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] cleanup idct init
l/vl_mpeg12_context.c
2bf95c519e755146704f4942b1703d47d18bfeaa 19-Mar-2011 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video

Conflicts:
src/gallium/drivers/r600/r600_asm.c
src/gallium/tests/unit/SConscript
0719fdee2ecd8433eb687a2fb38a2cbcb1cea14a 17-Mar-2011 Christian König <deathsimple@vodafone.de> fix chroma swizzle
l/vl_mpeg12_context.c
1d72cf6986168a49fbadfa31e9d719ed0222836f 17-Mar-2011 Christian König <deathsimple@vodafone.de> move empty block mask into mpeg12 context
l/vl_mpeg12_context.c
l/vl_mpeg12_context.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
a1fecd09c2c5fdba3da5c38fce567b5bd2e6053d 17-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move mpeg12 context out of softpipe
akefile
l/vl_mpeg12_context.c
l/vl_mpeg12_context.h
e87bd8c9578dee384ff03039aa792e1a8dae7f36 16-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] cleanup and documentation
l/vl_defines.h
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
65942e141fc3da760b53248eafdd876a45b592d4 10-Mar-2011 Mathias Fröhlich <Mathias.Froehlich@web.de> gallium/util: Use PIPE_TRANSFER_DISCARD_RANGE in pipe_buffer_write.

Additionally, to discarding the whole buffer, use
PIPE_TRANSFER_DISCARD_RANGE in pipe_buffer_write when the
write covers only part of the buffer.

Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
til/u_inlines.h
c27e58c10940a6442705a4399c5100c82c122a6e 13-Mar-2011 José Fonseca <jfonseca@vmware.com> gallivm: Fix build with llvm 2.6 on 32bit platforms
allivm/lp_bld_debug.cpp
e6314db0ac537695a20feb5fab8d77a30836eccf 13-Mar-2011 José Fonseca <jfonseca@vmware.com> gallivm: Use LLVM MC disassembler, instead of udis86.

Included in LLVM 2.7+. Unlink udis86, should support all instructions that
LLVM can emit.
akefile
Conscript
allivm/lp_bld_debug.c
allivm/lp_bld_debug.cpp
allivm/lp_bld_debug.h
allivm/lp_bld_misc.cpp
d2332569d2be9ace850b8d6b80abe4c597968773 12-Mar-2011 José Fonseca <jfonseca@vmware.com> util: Silence gcc unitialized member warning
til/u_vbuf_mgr.c
b79b05e17e197a7cdc523deff8f7ea456a91e8d0 12-Mar-2011 José Fonseca <jfonseca@vmware.com> draw: Fix draw_variant_output::format's type.
raw/draw_vs.h
raw/draw_vs_aos_io.c
629bc76b75c6e35ecbbb7a6716b5f25f13ef34e6 13-Mar-2011 Jakob Bornecrantz <wallbraker@gmail.com> tgsi: Fix parsing of properties with digits in the name
gsi/tgsi_text.c
dfac72208db46a895115d60ca31669ff030757b3 13-Mar-2011 Jakob Bornecrantz <wallbraker@gmail.com> rbug: Remove flags from flush
bug/rbug_context.c
bug/rbug_context.h
1a79064da12a8be71dca7656e5eebc4b85d2b35f 05-Mar-2011 Jakob Bornecrantz <wallbraker@gmail.com> gallium: Delay the creation of simple helper shaders
til/u_blit.c
til/u_gen_mipmap.c
ab21147c899ba1506df38438b6750d3dc5eaabdf 12-Mar-2011 Henri Verbeet <hverbeet@gmail.com> u_blitter: Do blits in linear color space.

Blits between sRGB and linear formats should happen in linear color space.
This fixes piglit fbo/fbo-srgb-blit.
til/u_blit.c
til/u_blitter.c
e968975cb57eb854769292f7c6ff773c64a386c3 08-Mar-2011 Marek Olšák <maraeo@gmail.com> gallium: remove the geom_flags param from is_format_supported
til/u_blit.c
til/u_blitter.c
til/u_caps.c
til/u_gen_mipmap.c
til/u_surface.c
til/u_vbuf_mgr.c
25485f4b69447514ab8b595aced90c75606a99bd 07-Mar-2011 Marek Olšák <maraeo@gmail.com> gallium: kill is_resource_referenced

Only st/xorg used it and even incorrectly with regards to pipelined transfers.
til/u_resource.c
til/u_transfer.c
til/u_transfer.h
f0ea6395b6ff26c426d50b982e9973a3c89fdc1c 11-Mar-2011 José Fonseca <jfonseca@vmware.com> util: Fix typo in u_upload_flush().

upload->offset is how much we used. upload->size is the whole buffer size.
til/u_upload_mgr.c
8a01cb8793485ea3bded1cc881189a0114270612 08-Mar-2011 Marek Olšák <maraeo@gmail.com> draw: remove unnecessary flush
raw/draw_pipe_pstipple.c
bdf103894026238c7e896eccb995b141161bfb70 08-Mar-2011 Marek Olšák <maraeo@gmail.com> st/mesa: remove unnecessary flushes

The framebuffer cache flush should be implicit when calling
set_framebuffer_state.

There is no need to flush the command stream either.
til/u_gen_mipmap.c
7dcf019af2e76a4c6e0391c3c5e1d50966367df8 10-Mar-2011 Brian Paul <brianp@vmware.com> gallium/util: new polygon stipple utility helper

The polygon stipple fallback does not have to be implemented in the
draw module (it doesn't need window coords, etc). Drivers can use
this utility and avoid sw vertex fallbacks if pstipple is enabled.
Note: this is WIP and not used by any driver yet.
akefile
Conscript
til/u_pstipple.c
til/u_pstipple.h
0f07da0a1c87e1c7b53700c33d6b1f8f03c1fe11 09-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move idct out of mc code

iDCT and MC now look good, but sp_video_context is a total mess
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
d5249b7d89a12490335750eda01309e36c7d80cb 10-Feb-2011 José Fonseca <jfonseca@vmware.com> util: Use PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE in pipe_buffer_write.
til/u_inlines.h
05efcee46edd07e9b3957fb3c681354e736bc4d3 09-Jan-2011 Keith Whitwell <keithw@vmware.com> util: add ensure_sanity checks, fix a bug

Add ensure_sanity checks.
Fix a bug which caused us to misplace entries adding to a full cache.
til/u_cache.c
20962bf547f7beabf3a5125552fff81a01136dbb 22-Dec-2010 Keith Whitwell <keithw@vmware.com> util: improve cache collision behaviour

Add linear probing on collisions.

Expand entry array by a fixed scale (currently 2) to help avoid
collisions.

Use a LRU approach to ensure that the number of entries stored in the
cache doesn't exceed the requested size.
til/u_cache.c
d00cbf46cde0edee6d8f2c08e14458ef92ff0fbe 06-Jan-2011 Alex Corscadden <alexc@vmware.com> util: Add remove to util_cache

I need to be able to remove entries from util_cache caches. This change
enables that functionality.
til/u_cache.c
til/u_cache.h
eb2e8167fa543d12bac91e451838934ebbf0d594 09-Mar-2011 Alex Corscadden <alexc@vmware.com> util: Allow util_draw_texquad to draw quads with non-integer coordinates.
til/u_draw_quad.c
b39bccbd4ed71e9585da4cf5acf7b887b2e90899 05-Mar-2011 Marek Olšák <maraeo@gmail.com> gallium: add timeout parameter to fence_finish

This is a follow-up to the ARB_sync patch for st/mesa and completes
the ARB_sync implementation.
til/u_simple_screen.h
23f92c20d721aa373d91a949586fd93a92d9f275 07-Mar-2011 Marek Olšák <maraeo@gmail.com> gallium/util: add LATC support

Again, a lot of code is shared with RGTC.

The layout is UTIL_FORMAT_LAYOUT_RGTC, because LATC is just swizzled RGTC.
akefile
Conscript
til/u_format.csv
til/u_format_latc.c
til/u_format_latc.h
til/u_format_rgtc.c
til/u_format_rgtc.h
til/u_format_table.py
37a548c9d1db6bbf8712277f678d850f34d0e445 08-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] start to cleanup the mess

Move the vertex buffer out of the mc code
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
310eea52ca1e997295c84163066cc5d0fd4f8cf6 08-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] use a single vertex buffer for both idct and mc
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
l/vl_types.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
2c1ef65a04de8d61fddee55c7a2f0673d69235d5 08-Mar-2011 Brian Paul <brianp@vmware.com> llvmpipe: clamp texcoords in lp_build_sample_compare()

See previous commit for more info.

NOTE: This is a candidate for the 7.10 branch.
allivm/lp_bld_sample_soa.c
7cb17862c6a5690fbe88508cbb772ba92373292f 06-Mar-2011 José Fonseca <jose.r.fonseca@gmail.com> pb: Add is_buffer_busy for malloc buffers.
ipebuffer/pb_buffer_malloc.c
db6d0d9ebf20bfc16ebabd3ff9e8f560ac306210 06-Mar-2011 José Fonseca <jose.r.fonseca@gmail.com> os: Fix pipe_static_mutex on Windows.
s/os_thread.h
4ea38176028a6ecfc6ed195f64429b6b34279359 05-Mar-2011 Christian König <deathsimple@vodafone.de> [g3dvl] use instanced drawing to reduce the vertex buffer payload
l/vl_idct.c
l/vl_mpeg12_mc_renderer.c
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
199034a3cc46e09e7a325690ac5b2b097e90249f 05-Mar-2011 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video
4a4f6a390160d8c535e0a7ae96a203a99971f3c0 04-Mar-2011 José Fonseca <jfonseca@vmware.com> draw: Silence tgsi_emit_sse2 failed messages.
raw/draw_vs_sse.c
54f11a27a1ec28fcf9734f4454dee870bc0113f8 04-Mar-2011 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video
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/tgsi_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/tgsi_exec.c
0eccb1038a620bc76ba45ac00c293b3e88427510 03-Mar-2011 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video
ff2a0faba068ac8bc891f4a6427ad3e241c5f09f 02-Mar-2011 Zack Rusin <zack@kde.org> tgsi: defer allocation of huge inputs/outputs until we have a gs
gsi/tgsi_exec.c
gsi/tgsi_exec.h
0f29d394a463bcbb1b82bcfba26942db8b846fb4 02-Mar-2011 Vinson Lee <vlee@vmware.com> gallium: Add u_format_rgtc.c to SConscript.
Conscript
8d62b2aca99ba67f794dd682ed1ec49dc8826390 02-Mar-2011 Dave Airlie <airlied@redhat.com> gallium: add RGTC UNORM support to u_format.

SNORM needs a bit of work in the state tracker in order for mipmap
generation to work I believe.

I'm also not sure that having unorm fetches for an snorm format is
sane.
akefile
til/u_format_pack.py
til/u_format_rgtc.c
til/u_format_rgtc.h
til/u_format_table.py
til/u_math.h
e6f3e24330926b2ea04c39b5a60b9a20123e5bd4 01-Mar-2011 Brian Paul <brianp@vmware.com> draw: setup pipe's draw pointer for the aapoint stage

The other draw stages like aaline and pstipple were already doing this.
If the driver used the aapoint stage but not the others it would crash
because of a null pipe->draw pointer.
raw/draw_pipe_aapoint.c
fbedd9c73a2ad4bdded2d900244fd5ea5bcfad97 28-Feb-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: compute user buffer size for instance data from instance_count
til/u_vbuf_mgr.c
b97e41c7b18c363a303693fb841fe606b1106fe6 28-Feb-2011 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video
bce4f9ac395986ee0acae2702ed73448333d81b8 28-Feb-2011 Christian König <deathsimple@vodafone.de> st/mesa & v_bug_mgr: two small instanced drawing fixes
til/u_vbuf_mgr.c
11f9ec5422b45f2bbcffec26f692a6a22e0aaef2 26-Feb-2011 Jakob Bornecrantz <jakob@vmware.com> gallivm: Initialize stack values

valgrind gives me a warning with llvmpipe with profile builds but
not debug builds, this seems to fix the issue at least.
allivm/lp_bld_sample_soa.c
ca8a91ff7eb7e3fb4595763ea71f427b97e426c6 26-Feb-2011 Jakob Bornecrantz <jakob@vmware.com> util: Don't destroy shaders null shaders

Fixes regression from a08e612fd8e7ca2ac2fef8961e56e5b094033717
til/u_gen_mipmap.c
a08e612fd8e7ca2ac2fef8961e56e5b094033717 26-Feb-2011 Jakob Bornecrantz <jakob@vmware.com> util: Don't create array texture shaders if the driver doesn't support it
til/u_gen_mipmap.c
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/tgsi_ureg.h
179ff0551c4938e59f4b57fec0a10d63f012d7c6 25-Feb-2011 Dave Airlie <airlied@redhat.com> gallium/util: add 1d/2d mipmap generation support

so far only hw mipmap generation is testing on softpipe,
passes test added to piglit.

this requires another patch to mesa to let array textures mipmaps
even start to happen.
til/u_gen_mipmap.c
b922a0ce12916a91cfc3e56714913fcf63279ff2 24-Feb-2011 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video

Conflicts:
configure.ac
src/gallium/auxiliary/Makefile
src/gallium/auxiliary/SConscript
src/gallium/drivers/r600/r600_asm.c
src/gallium/drivers/r600/r600_asm.h
src/gallium/drivers/r600/r600_shader.c
src/gallium/drivers/r600/r600_state_inlines.h
src/gallium/drivers/r600/r600_texture.c
728695b4353c8b74b30310cd2d87071f662fdb63 24-Feb-2011 Fabian Bieler <der.fabe@gmx.net> gallium/utils: Fix vertex element setup

Check if element was translated per element instead of per buffer.
til/u_vbuf_mgr.c
57d4e922a62921e7a8cfb1023ce0f68af806d898 19-Feb-2011 José Fonseca <jfonseca@vmware.com> gallivm: Use simple scaling plus casting in more unorm->float cases.
allivm/lp_bld_conv.c
52ad45677dd3d8a50836edea9f5841aa12d70419 17-Feb-2011 Jakob Bornecrantz <jakob@vmware.com> util: Make refcnt and symbol debuggers work on windows

Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
til/u_debug_refcnt.c
til/u_debug_symbol.c
449c4f3706bb479aaa3921cd8e6edc62e80c6e5b 18-Feb-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: initialize flag indicating that buffers have been updated

This fixes r300g errors:
r300: Cannot get a relocation in radeon_drm_cs_write_reloc.
til/u_vbuf_mgr.c
262b785ccd4fae212c1314fba4fa64678705ba74 17-Feb-2011 José Fonseca <jfonseca@vmware.com> util: Fix typo in last commit.
til/dbghelp.h
1fa97ddb25c008c9edd0a137198eb89c3650d6fa 17-Feb-2011 Brian Paul <brianp@vmware.com> draw: update comments, rename vars in pstipple code
raw/draw_pipe_pstipple.c
6c1fcf85838a4aa76bcb9f9ceb312f1772f1122e 17-Feb-2011 José Fonseca <jfonseca@vmware.com> util: Cleanup symbol name resolution on Windows.

- Support symbol name resolution on MinGW.
- Use dbghelp.dll (which should allow 64bit support), but untested yet.
- Cleanup.
til/dbghelp.h
til/u_debug_symbol.c
5d236d71c84075d79349218be7b427366bc7406b 17-Feb-2011 Brian Paul <brianp@vmware.com> gallium/util: init key with memset()

To silence missing initializers warning.
til/u_vbuf_mgr.c
b5df19492322cbe3a61d45981111fd862772f427 16-Feb-2011 Brian Paul <brianp@vmware.com> rtasm: add dummy return statement to silence MSVC warning

And use assert(0) instead of abort() to be consistent with rest
of Gallium.
tasm/rtasm_x86sse.c
4ffef888997888c120deba9c1604cfd56645c041 16-Feb-2011 Dave Airlie <airlied@redhat.com> Revert "util: fix DXT1 RGBA texture compression if the source color is (0, 0, 0, 0)"

This reverts commit 6e7d782da506da233b2ac695b022ac393e1c719e.

Oops, I just had this locally for testing and forgot to remove it before pushing.
til/u_format_s3tc.c
6e7d782da506da233b2ac695b022ac393e1c719e 16-Feb-2011 Marek Olšák <maraeo@gmail.com> util: fix DXT1 RGBA texture compression if the source color is (0, 0, 0, 0)

This is a workaround for a bug in libtxc_dxtn.

Fixes:
- piglit/GL_EXT_texture_compression_s3tc/fbo-generatemipmap-formats

Signed-off-by: Dave Airlie <airlied@redhat.com>
til/u_format_s3tc.c
eafb7f234d11a290b00dcaf5492b9bdad1cf5148 13-Feb-2011 Marek Olšák <maraeo@gmail.com> gallium: add usage parameter to pipe_buffer_create

And set a reasonable buffer usage flag everywhere instead of
just PIPE_USAGE_DEFAULT.
til/u_blit.c
til/u_gen_mipmap.c
til/u_index_modify.c
til/u_inlines.h
til/u_upload_mgr.c
49579a4df8f9f85139a02c95ae59ea0a5dec663c 13-Feb-2011 Marek Olšák <maraeo@gmail.com> pb_bufmgr_cache: add is_buffer_busy hook and use it instead of non-blocking map

This is cleaner and implementing the hook is optional.
ipebuffer/pb_bufmgr.h
ipebuffer/pb_bufmgr_cache.c
588fa884d212eba5ffbc69fda75db37d7c77214c 09-Feb-2011 Marek Olšák <maraeo@gmail.com> gallium: notify drivers about possible changes in user buffer contents

Also implement the redefine_user_buffer hook in the drivers.
til/u_blitter.c
til/u_transfer.c
til/u_transfer.h
cdca3c58aa2d9549f5188910e2a77b438516714f 10-Jan-2011 Marek Olšák <maraeo@gmail.com> gallium: remove pipe_vertex_buffer::max_index

This is redundant to pipe_draw_info::max_index and doesn't really fit
in the optimizations I plan.
raw/draw_llvm.c
raw/draw_llvm.h
raw/draw_pt.c
raw/draw_pt_fetch.c
raw/draw_pt_fetch_emit.c
raw/draw_pt_fetch_shade_emit.c
til/u_draw_quad.c
til/u_dump_state.c
d5062fb3a315c46d77d5c954a3e3c14be1907d33 09-Jan-2011 Marek Olšák <maraeo@gmail.com> gallium: always save and restore vertex buffers using cso_cache
so_cache/cso_context.c
so_cache/cso_context.h
til/u_blit.c
til/u_blitter.c
til/u_draw_quad.c
til/u_draw_quad.h
til/u_gen_mipmap.c
07eb660fc92b63213b542d47671b0d944286b77a 14-Feb-2011 José Fonseca <jfonseca@vmware.com> draw: Don't define the last two mipmap levels in aa lines.

Some hardware needs to make a seperate copy of all levels to obey
max_lod, so simply do not define the last two levels instead of
clamping.
raw/draw_pipe_aaline.c
9a90eeee676450c254f9948ad8f996e88b437e61 14-Feb-2011 Marek Olšák <maraeo@gmail.com> u_index_modify: map buffers with PIPE_TRANSFER_UNSYNCHRONIZED
til/u_index_modify.c
20a78b68a3271d7a66fdf1e55c5882b8c12dfb8d 12-Feb-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: fix segfault

max_index could have been less than min_index, which later caused integer
underflow followed by a segfault in memcpy.
til/u_vbuf_mgr.c
413511f7967260c61085a4fa61bebdcc385cf7ca 09-Feb-2011 Brian Paul <brianp@vmware.com> draw: tweak AA line texture minimum alpha

AA lines drawn as textured quads look a little better with this change.
Conformance/piglit tests still pass.
raw/draw_pipe_aaline.c
4586e6c8cb5b391536a370faa0c419c3fd541693 11-Feb-2011 José Fonseca <jfonseca@vmware.com> draw: Don't use the pipeline when drawing lines with fractional widths.

Spotted by Jakob Bornecrantz.
raw/draw_context.c
raw/draw_pipe.c
raw/draw_pipe_validate.c
151faa2258be40abbce017b65d95c52003053d2b 11-Feb-2011 José Fonseca <jfonseca@vmware.com> util: Define round and roundf on MSVC.
til/u_math.h
05a16b8e1cf5f402636ae5f870ed0ae5e250735e 10-Feb-2011 José Fonseca <jfonseca@vmware.com> u_upload_mgr: Use PIPE_TRANSFER_FLUSH_EXPLICIT.

This can avoid DMAing the whole buffer when just a fraction was changed.
til/u_upload_mgr.c
ac366af9fdb6853ccb172a3dd52a88063e5136e7 10-Feb-2011 Marek Olšák <maraeo@gmail.com> u_blitter: let the driver check whether there's a recursion
til/u_blitter.c
til/u_blitter.h
1ee71bdc8a8471357cee6a1cf2fbaac6a70bb86c 08-Feb-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: add a way to specify the BIND flag for the upload buffer
til/u_vbuf_mgr.c
til/u_vbuf_mgr.h
7628c4ecb6e87dbe900d1d68feca33626c8fbfc0 08-Feb-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: remove tabs
til/u_vbuf_mgr.c
f53cbf8bb0e542a114b76467fe715ceb977411ab 08-Feb-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: make the uploader public
til/u_vbuf_mgr.c
til/u_vbuf_mgr.h
975320ab76f5c247f6ed4dab80627173845200d0 29-Jan-2011 Marek Olšák <maraeo@gmail.com> util: import a new vertex buffer manager

This code has originally matured in r300g and was ported to r600g several
times. It was obvious it's a code duplication.

See also comments in the header file.
akefile
Conscript
til/u_vbuf_mgr.c
til/u_vbuf_mgr.h
9ee765197c9af24545b4cc774da3b01e056e6299 04-Feb-2011 Vinson Lee <vlee@vmware.com> util: Change u_get_transfer_vtbl usage argument type to match prototype.

The type of u_get_transfer_vtbl of the usage argument in u_transfer.h is
unsigned and not enum pipe_transfer_usage. This patch changes the type
of usage to unsigned to match the prototype in the header file.
til/u_resource.c
c5fb2c60bfe114d993da6c416a39c7873ab9cb3d 03-Feb-2011 Brian Paul <brianp@vmware.com> cso: don't tell drivers to bind null samplers, sampler views

Before, the set_sampler_views() and restore_sampler_views() functions
used MAX2(old,new) to tell the driver how many samplers or sampler
views to set. This could result in cases such as:

pipe->set_fragment_sampler_views(pipe, 4, views={foo, bar, NULL, NULL})

Many/most gallium drivers would take this as-is and set
ctx->num_sampler_views=4 and ctx->sampler_views={foo, bar, NULL, NULL, ...}.
Later, loops over ctx->num_sampler_views would have to check for null
pointers. Worse, the number of sampler views and number of sampler CSOs
could get out of sync:

ctx->num_samplers = 2
ctx->samplers = {foo, bar, ...}
ctx->num_sampler_views = 4
ctx->sampler_views={Foo, Bar, NULL, NULL, ...}

So loops over the num_samplers could run into null sampler_views pointers
or vice versa.

This fixes a failed assertion in the SVGA driver when running the Mesa
engine demo in AA line mode (and possibly other cases).

It looks like all gallium drivers are careful to unreference views
and null-out sampler CSO pointers for the units beyond what's set
with the pipe::bind_x_sampler_states() and pipe::set_x_sampler_views()
functions.

I'll update the gallium docs to explain this as well.
so_cache/cso_context.c
b6b6b8f8bb56c2e010b9e126797b4e54c6875eb3 03-Feb-2011 José Fonseca <jfonseca@vmware.com> util: Prevent transfer dangling pointer on map failure.
til/u_inlines.h
c06fa98c86abbff730a098ffbe980347b3c7d0e6 03-Feb-2011 Brian Paul <brianp@vmware.com> cso: refactor texture sampler and sampler view code

This consolidates the code duplicated between the fragment sampler
and vertex sampler functions. Plus, it'll make adding support for
geometry shader samplers trivial.
so_cache/cso_context.c
5f30e0b2316c5d0a50f1b331e7cdb4c46882e918 03-Feb-2011 Brian Paul <brianp@vmware.com> cso: rename fragment sampler-related fields

To better distinguish from vertex sampler fields.
so_cache/cso_context.c
d087cfaabf386c462329fb62f54311523a89f106 03-Feb-2011 Brian Paul <brianp@vmware.com> cso: fix loop bound in cso_set_vertex_samplers()

Before we were looping to nr_samplers, which is the number of fragment
samplers, not vertex samplers.

NOTE: This is a candidate for the 7.9 and 7.10 branches.
so_cache/cso_context.c
f668b464c0c08bd929c259048082a9d3585481a2 30-Jan-2011 Henri Verbeet <hverbeet@gmail.com> util: Call tables should be const.
til/u_transfer.h
2a456dc123e8263de8e4666890a34f403faa9a39 29-Jan-2011 Marek Olšák <maraeo@gmail.com> u_blitter: use user buffers instead of real buffers

User buffers may be the fastest way to upload data.
til/u_blitter.c
3451ee056c8703f0d09bfab33d5fa224d4649bc4 27-Jan-2011 Jakob Bornecrantz <jakob@vmware.com> util: Fix leak of transfers in upload manager
til/u_upload_mgr.c
387fe8dd475d70f098eabc48a8a3696cf0b72275 26-Jan-2011 Marek Olšák <maraeo@gmail.com> util: fix parsing debug options

So that 'foo' can be found in: OPTION=prefixfoosuffix,foo

Also allow that debug options can be separated by a non-alphanumeric characters
instead of just commas.
til/u_debug.c
db299a9f8244d53d9041fcdbd396a77ebe1f9e3e 25-Jan-2011 Marek Olšák <maraeo@gmail.com> r300g: fix some bugs with zbuffer compression (v4)

This drops the memblock manager for ZMASK. Instead, only one zbuffer can be
compressed at a time. Note that this does not necessarily have to be slower.
When there is a large number of zbuffers, compression might be used more often
than it was before. It's also easier to debug.

How it works:
1) 'clear' turns the compression on.
2) If some other zbuffer is set or the currently-bound zbuffer is used
for texturing, the driver decompresses it and then turns the compression off.

Notes:
- The ZMASK clear has been refactored, so that only one packet3 is used to clear
ZMASK.
- The 8x8 compression mode is disabled. I couldn't make it work without issues.
- Also removed driver-specific stuff from u_blitter.

Driver status:
- RV530 and R580 appear to just work (finally).
- RV570 should work, but there may be an issue that we don't correctly
calculate the number of dwords to clear, resulting in a partially
uninitialized zbuffer.
- RS690 misrenders as if no ZMASK clear happened. No idea what's going on.
- RV350 may even hardlock. This issue was already present and this patch doesn't
fix it.

I think we are still missing some hardware info we need to make the zbuffer
compression work fully.

Note that there is also an issue with HiZ, resulting in a sort of blocky
zigzagged corruption around some objects.
til/u_blitter.c
til/u_blitter.h
til/u_inlines.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/tgsi_sse2.c
c7c733545a19aab3e2b954153b9348ebe3147368 24-Jan-2011 Marek Olšák <maraeo@gmail.com> util: require debug options to be separated by commas

Let's assume there are two options with names such that one is a substring
of another. Previously, if we only specified the longer one as a debug option,
the shorter one would be considered specified as well (because of strstr).
This commit fixes it by checking that each option is surrounded by commas.

(a regexp would be nicer, but this is not a performance critical code)
til/u_debug.c
c0d941877b410b2402ed853d1d33b0664a3d1445 26-Jan-2011 Brian Paul <brianp@vmware.com> tgsi: add support for 1D/2D texture arrays
gsi/tgsi_dump.c
gsi/tgsi_exec.c
gsi/tgsi_util.c
02d7d9ec363c7955105497c518296630cf2b638a 25-Jan-2011 Marek Olšák <maraeo@gmail.com> u_blitter: remove bogus assertion

The module uses the 3D engine, so it can blit non-compatible formats.
til/u_blitter.c
9a3523e38b8703211829a666661e8cbffdb0936f 25-Jan-2011 Marek Olšák <maraeo@gmail.com> u_blitter: report recursion, update comments
til/u_blitter.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/tgsi_build.c
gsi/tgsi_dump.c
gsi/tgsi_exec.c
gsi/tgsi_exec.h
gsi/tgsi_info.c
gsi/tgsi_opcode_tmp.h
gsi/tgsi_parse.c
gsi/tgsi_parse.h
gsi/tgsi_sanity.c
gsi/tgsi_text.c
gsi/tgsi_ureg.c
gsi/tgsi_ureg.h
92badb4c8c6f603ff823d4aeb87c27582648ba6d 24-Jan-2011 José Fonseca <jfonseca@vmware.com> draw: Do not use LLVM's opaque types.

Contrary what the name may suggest, LLVM's opaque types are used for
recursive types -- types whose definition refers itself -- so opaque
types correspond to pre-declaring a structure in C. E.g.:

struct node;

struct link {
....
struct node *next;
};

struct node {
struct link link;
}

Void pointers are also disallowed by LLVM. So the suggested way of creating
what's commonly referred as "opaque pointers" is using byte pointer (i.e.,
uint8_t * ).
raw/draw_llvm.c
c48dd8049ccc46c075c9836c4bd3a66ed3edd83a 24-Jan-2011 Tim Wiederhake <twied@gmx.net> secure malloc in translate_cache_create

Signed-off-by: Brian Paul <brianp@vmware.com>
ranslate/translate_cache.c
b7d2919e8e079f2ba77741a6b3f9d038b17cc799 23-Jan-2011 Jakob Bornecrantz <wallbraker@gmail.com> util: Add function logger helpers
til/u_debug.c
til/u_debug.h
4c73030d47f39441d718157f7d9a59c136bbfac0 23-Jan-2011 Jakob Bornecrantz <wallbraker@gmail.com> draw: Init llvm if not provided
raw/draw_context.c
raw/draw_private.h
allivm/lp_bld_init.c
e75844b4e09cbbfca159a4e4709d3ca1249d784d 23-Jan-2011 Brian Paul <brianp@vmware.com> gallium/util: added pipe_put_tile_rgba_format()
til/u_tile.c
til/u_tile.h
3ce1ec853b561dd4731a4d62395d5e50df26e868 23-Jan-2011 Brian Paul <brianp@vmware.com> gallium/util: simplify pipe_get_tile_rgba()

Implement it in terms of pipe_get_tile_rgba_format()
til/u_tile.c
90671fcdda52a83e2bbba581e985d25c6bff961e 23-Jan-2011 Brian Paul <brianp@vmware.com> gallium/softpipe: replace pipe_get_tile_swizzle()

The new function, pipe_get_tile_rgba_format(), no longer takes a
swizzle (we weren't actually using it anywhere). Rename it to
indicate that the format is passed explicitly.
til/u_tile.c
til/u_tile.h
11fbdf726da9fbb2864fad68f23ef51634487560 22-Jan-2011 Brian Paul <brianp@vmware.com> gallium/util: added util_format_linear()
til/u_format.h
d2ff6b8715e817c1ef14d4bf12be58c19d894143 20-Jan-2011 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video

Conflicts:
src/gallium/drivers/r600/r600_asm.c
src/gallium/drivers/r600/r600_shader.c
5700bc6bac8a1a7f8a82f667e561745804317bb8 16-Jan-2011 Brian Paul <brianp@vmware.com> draw: add missing LP_CHECK_MEMBER_OFFSET()
raw/draw_llvm.c
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
abbb1c8f084c6739bc9d6f559caf26f3f71b2fab 13-Jan-2011 Chia-I Wu <olv@lunarg.com> draw: Fix an off-by-one bug in a vsplit assertion.

When use_spoken is true, istart (the first vertex of this segment) is
replaced by i0 (the spoken vertex of the fan). There are still icount
vertices.

Thanks to Brian Paul for spotting this.
raw/draw_pt_vsplit_tmp.h
80f18876f689e250e286f8821e37389b414776bd 13-Jan-2011 José Fonseca <jfonseca@vmware.com> util: Undo spurious changes in last commit.
til/u_debug.c
fe2cfd9b19657274244b187310b706ff5aa09728 13-Jan-2011 José Fonseca <jfonseca@vmware.com> util: Don't limit debug_printf message length on unices.
til/u_debug.c
a96fe679e2f57e8e4e26c38660d8b6e5b67d5b4b 12-Jan-2011 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video

Conflicts:
src/gallium/drivers/r600/r600_shader.c
9032d2a13ecd019206a48767d9205c0aafa7cca2 10-Jan-2011 Christian König <deathsimple@vodafone.de> Merge remote branch 'vdpau/pipe-video' into pipe-video

Conflicts:
src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c
src/gallium/drivers/softpipe/sp_video_context.c
src/gallium/include/pipe/p_format.h
src/gallium/state_trackers/xorg/xvmc/context.c
src/gallium/tests/unit/SConscript
b725bbebae19890ceaaa31c1d7fb7f155ac3b6ef 10-Jan-2011 Christian König <deathsimple@vodafone.de> [g3dvl] static usage for intermediate buffer
l/vl_mpeg12_mc_renderer.c
c8236aaf7056bd8645804e71596d2d6460e62d15 10-Jan-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move to integer verticies
l/vl_idct.c
l/vl_mpeg12_mc_renderer.c
l/vl_types.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
3349517351059dcd70a81b31bdffe9835bd8f216 10-Jan-2011 Jerome Glisse <jglisse@redhat.com> noop: make noop useable like trace or rbug

If you want to enable noop set GALLIUM_NOOP=1 as an env variable.
You need first to enable noop wrapping for your driver see change
to src/gallium/targets/dri-r600/ in this commit as an example.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
arget-helpers/inline_noop_helper.h
4025958e1bfcd7fd75d476f8f5687b983e730b71 09-Jan-2011 Christian König <deathsimple@vodafone.de> [g3dvl] use a table of empty block mask instead of calculating it
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
72e30991559017c16d48569e612dbc0970e3b9ca 08-Jan-2011 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video

Conflicts:
configure.ac
src/gallium/drivers/r600/eg_asm.c
src/gallium/drivers/r600/r600_asm.c
src/gallium/drivers/r600/r600_asm.h
src/gallium/include/pipe/p_format.h
src/gallium/targets/dri-nouveau/Makefile
45b51a9e7021c004c754e1903afeb15fd885109e 06-Jan-2011 Marek Olšák <maraeo@gmail.com> util: add comments to u_upload_mgr and u_inlines
til/u_inlines.h
til/u_upload_mgr.c
til/u_upload_mgr.h
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/tgsi_dump.c
gsi/tgsi_dump.h
gsi/tgsi_text.c
3c9aa3a7b12cfe178c14fea93cfb64a32db0b8ad 26-Dec-2010 Marek Olšák <maraeo@gmail.com> gallium: drivers should reference vertex buffers

So that a state tracker can unreference them after set_vertex_buffers.
raw/draw_context.c
til/u_blitter.h
til/u_inlines.h
06286110b4fc0ff80ae21bb3d8ff9909db1f5d47 27-Dec-2010 Marek Olšák <maraeo@gmail.com> u_upload_mgr: new features

- Added a parameter to specify a minimum offset that should be returned.
r300g needs this to better implement user buffer uploads. This weird
requirement comes from the fact that the Radeon DRM doesn't support negative
offsets.

- Added a parameter to notify a driver that the upload flush occured.
A driver may skip buffer validation if there was no flush, resulting
in a better performance.

- Added a new upload function that returns a pointer to the upload buffer
directly, so that the buffer can be filled e.g. by the translate module.
til/u_upload_mgr.c
til/u_upload_mgr.h
8b7bd3ce8875f5028bbf234d107f56d595a0d0b7 24-Dec-2010 Marek Olšák <maraeo@gmail.com> u_upload_mgr: keep the upload buffer mapped until it is flushed

The map/unmap overhead can be significant even though there is no waiting on busy
buffers. There is simply a huge number of uploads.

This is a performance optimization for Torcs, a car racing game.
til/u_upload_mgr.c
8d79765feb8fa003e629d4c5890af636324def9f 30-Dec-2010 Vinson Lee <vlee@vmware.com> util: Add forward declarations in u_index_modify.h.
til/u_index_modify.h
8114cf9ad82860ac5d547e9e04af4e10e854ed6d 30-Dec-2010 Vinson Lee <vlee@vmware.com> tgsi: Clean up header file inclusion in tgsi_text.h.
gsi/tgsi_text.h
20a0f342833b61ebbfb0b8c622fd0c18fad59b7d 30-Dec-2010 Vinson Lee <vlee@vmware.com> tgsi: Clean up header file inclusion in tgsi_sanity.h.
gsi/tgsi_sanity.h
76db330e2ca2a3eef9e0428edcdccf0c8215c57d 29-Dec-2010 Marek Olšák <maraeo@gmail.com> util: add a way to store translated indices to a user memory in u_index_modify

I am about to use the upload buffer in r300g instead.
til/u_index_modify.c
til/u_index_modify.h
17004b39546b4033bd3d2612c231473c8f06157f 28-Dec-2010 Dave Airlie <airlied@gmail.com> tgsi_dump: fix assert due to missing property name.
gsi/tgsi_dump.c
2191d8064e9d177311f0833241d16384ead89e1a 22-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] fix merge conflicts
l/vl_compositor.c
l/vl_vertex_buffers.c
e179a8bf34022c200deee92d328cb1bae3c3aa4a 22-Dec-2010 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video
f853ea007816cdad4395b42388e12cd65bb8eb43 22-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] move code around for more optimal shader generation
l/vl_idct.c
l/vl_mpeg12_mc_renderer.c
ec51092a72e2dff1e9b1362d813fe4691cda89b7 19-Dec-2010 Marek Olšák <maraeo@gmail.com> gallium: remove unused 'buf' parameter in pipe_buffer_unmap
til/u_index_modify.c
til/u_inlines.h
til/u_upload_mgr.c
7ff871ee15b61ac2bef7ea91c70e32242581d3f4 18-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] add some missing writemasks
l/vl_mpeg12_mc_renderer.c
3f94d96fce244bbe8a9edc15758729ce0e604ae2 17-Dec-2010 José Fonseca <jfonseca@vmware.com> gallivm: Cleanup util_format_xxx_fetch_xxx call generation.

No need to register function prototypes in the module now that we call
the C function pointer directly -- less LLVM objects lying around.

Limited testing with lp_test_format.
allivm/lp_bld_format_aos.c
3ecf47af1252ad10f98d5ce488cc1b91fab64c25 16-Dec-2010 Brian Paul <brianp@vmware.com> gallivm: fix copy&paste error from previous commit

Fixes piglit regression, http://bugs.freedesktop.org/show_bug.cgi?id=32452

NOTE: This is a candidate for the 7.10 branch
allivm/lp_bld_format_aos.c
f780626c35c7c3cac2e9aa7c2ec77ca587d6ab95 16-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] move scaling completely into matrix and use less temp registers
l/vl_idct.c
l/vl_mpeg12_mc_renderer.c
ee16e97ed1d0921c533c77688b278bef393d9922 16-Dec-2010 Brian Paul <brianp@vmware.com> gallivm: work around LLVM 2.6 bug when calling C functions

Create a constant int pointer to the C function, then cast it to the
function's type. This avoids using trampoline code which seem to be
inadvertantly freed by LLVM in some situations (which leads to segfaults).
The root issue and work-around were found by José.

NOTE: This is a candidate for the 7.10 branch
allivm/lp_bld_const.h
allivm/lp_bld_format_aos.c
b7e150605d402224cdd8fa3d186924bdee3c6c49 16-Dec-2010 Brian Paul <brianp@vmware.com> draw: s/varient/variant/
raw/draw_pt_fetch_shade_emit.c
raw/draw_vs.c
raw/draw_vs.h
raw/draw_vs_aos.c
raw/draw_vs_aos.h
raw/draw_vs_exec.c
raw/draw_vs_llvm.c
raw/draw_vs_ppc.c
raw/draw_vs_sse.c
raw/draw_vs_varient.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/tgsi_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/tgsi_text.c
gsi/tgsi_ureg.c
gsi/tgsi_ureg.h
a7804903745b06b8520214131c9e5f0dd1e7fc35 21-Dec-2010 Marek Olšák <maraeo@gmail.com> gallium: add new formats L16A16_UNORM, A16_UNORM, I16_UNORM, B2G3R3_UNORM
til/u_format.csv
492afbce18af21ce5bbc89675c797e45a0b72bf5 23-Dec-2010 Vinson Lee <vlee@vmware.com> gallivm: Disable MMX-disabling code on llvm-2.9.

The disable-mmx option was removed in llvm-2.9svn by revisions 122188
and 122189.

Fixes FDO bug 32564.
allivm/lp_bld_misc.cpp
adaa310e399960b034aa1d7d16ab077dd964b59a 23-Dec-2010 Vinson Lee <vlee@vmware.com> gallivm: Fix 'cast from pointer to integer of different size' warning.

Fixes this GCC warning.
lp_bld_const.h: In function 'lp_build_const_int_pointer':
lp_bld_const.h:137: warning: cast from pointer to integer of different size
allivm/lp_bld_const.h
dbb679e51d7e91e98d1d48d0c93be69bfabbba23 15-Dec-2010 Jerome Glisse <jglisse@redhat.com> gallium: properly check for src->dst blit compatibilities

Spotted by Christoph Bumiller & Jose Fonseca

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
til/u_blitter.c
d98d2e7c6c34039032e6a0fb8888c450660c763f 14-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] no need to swizzle a scalar
l/vl_mpeg12_mc_renderer.c
dfbc20593ec89ef5ddcb0dba3b05ea95e296861e 14-Dec-2010 Brian Paul <brianp@vmware.com> gallivm: do texture swizzle after shadow compare

We need to swizzle after the shadow comparison so that the GL_DEPTH_MODE
functionality is handled properly.

This fixes all the piglit glsl-fs-shadow2d*.shader_test cases, except
for glsl-fs-shadow2dproj-bias.shader_test which fails because of a
bug in the GLSL compiler (fd.o 32395).
allivm/lp_bld_sample_aos.c
allivm/lp_bld_sample_soa.c
b363dd43d6f7f63bfe5261a46f8bdb2024f85db1 13-Dec-2010 Brian Paul <brianp@vmware.com> gallivm: store callbacks in a linked list rather than fixed size array

Should fix http://bugs.freedesktop.org/show_bug.cgi?id=32308
allivm/lp_bld_init.c
e13fecbbd69ab7e119fcf1dafcb4fb517de5c20d 13-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] add reg_fixup_label to IF ELSE ENDIF
l/vl_mpeg12_mc_renderer.c
be4de05c1093db27b3fca12b782055ab8a1eba13 12-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] move idct texture addr generation into vertex shader
l/vl_idct.c
l/vl_idct.h
ebab090ed93270b40475151e60dbc7f2b72f1a61 12-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] seperate texture addr generation from fetching
l/vl_idct.c
ad643bfc12de13f78b86de15a9d44a91ffa93ce9 11-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] remove "Nouveau can't writemask tex dst regs" workaround

This now works with r600g, but will probably break Nouveau.
It's just way faster on r600 hardware, so let's fix Nouveau.
l/vl_mpeg12_mc_renderer.c
dbe6454aa32b448d1b76ce2ac4c44e11121e7218 11-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] move mv into vertex stream
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
772b25e1f366edc857e77b8c1ccdc5297d82cc41 11-Dec-2010 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video

Conflicts:
src/gallium/drivers/r600/r600_pipe.c
src/gallium/drivers/r600/r600_texture.c
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/tgsi_parse.h
ab130400cf91ab471e265e58193c95f04c7aeeda 10-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] move z-coord generation for multiple render targets into vertex shader
l/vl_idct.c
4a8420513d653cd2fccf93a51315120a1a5d0fcc 10-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] move idct stage 1 scaling into matrix
l/vl_idct.c
9c296be7d6fc4cabed97b9d10e24c226b2ee7d08 10-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] make render targets full configureable
l/vl_idct.c
becc4bb90c46f754018ac596460e6c6a650d399c 10-Dec-2010 Brian Paul <brianp@vmware.com> draw/llvm: don't flush in vs_llvm_delete()

Fixes piglit glx-shader-sharing crash.

When shaders are shared by multiple contexts, the shader's draw context
pointer may point to a previously destroyed context. Dereferencing the
context pointer will lead to a crash.

In this case, simply removing the flushing code avoids the crash (the
exec and sse shader paths don't flush here either).

There's a deeper issue here, however, that needs examination. Shaders
should not keep pointers to contexts since contexts might get destroyed
at any time.

NOTE: This is a candidate for the 7.10 branch (after this has been
tested for a while).
raw/draw_vs_llvm.c
70ca06445445060c75b55b6c5531973b7b2a1bf0 10-Dec-2010 Brian Paul <brianp@vmware.com> draw/llvm: remove redundant comment
raw/draw_llvm.h
bd995cf6c053075833b53fae29773b15d948462e 10-Dec-2010 Brian Paul <brianp@vmware.com> draw/llvm: remove extraneous conditional
raw/draw_llvm.c
593a2cf8c54bbe45efd7c142e9bc97d111e8ed88 10-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] move interlaced dct handling into vertex shader
l/vl_mpeg12_mc_renderer.c
1fb4bf84d588f78056e3ba5849410895841fe01d 10-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] move frame predition handling vom fragment into vertex shader
l/vl_mpeg12_mc_renderer.c
cf234984f436b77deefebd281c2eecd494398940 10-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] avoid some ELSE blocks
l/vl_mpeg12_mc_renderer.c
25cdc79f32f9e4242d53a22a4debe80ca6a66348 09-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] fix buffer handling in mc code
l/vl_mpeg12_mc_renderer.c
7c4887f5ae642131d7895da5bffda77a6287c6d4 09-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] fix idct matrix upload
l/vl_idct.c
1d6f3543a063ab9e740fd0c149dcce26c282d773 09-Dec-2010 Brian Paul <brianp@vmware.com> gallivm/llvmpipe: implement system values and instanceID
raw/draw_llvm.c
allivm/lp_bld_tgsi.h
allivm/lp_bld_tgsi_soa.c
2d62fb6c3f7dd7261513253767cc63ff00fad9bb 09-Dec-2010 Brian Paul <brianp@vmware.com> draw: setup instance ID for SSE generator
raw/draw_vs_sse.c
0be042cb4d256393750f7060d79bdaa2cd47d72e 09-Dec-2010 Brian Paul <brianp@vmware.com> draw: setup instance ID for VS interpreter
raw/draw_vs_exec.c
975418a654e72d8338a9cf288d2d1f9429c226ae 09-Dec-2010 Brian Paul <brianp@vmware.com> tgsi/ppc: add case for system values and assert
gsi/tgsi_ppc.c
e8154eeae52c09783f537f5584e6fb57b3c5efb6 09-Dec-2010 Brian Paul <brianp@vmware.com> tgsi/sse: add support for system values
gsi/tgsi_sse2.c
b550d8d76b42ef5ba5e8293dcc24220d5b683369 09-Dec-2010 Brian Paul <brianp@vmware.com> tgsi: new tgsi_shader_info fields for system values
gsi/tgsi_scan.c
gsi/tgsi_scan.h
859f45a92197f310186924c47ef7b7d1c2bd7ec8 09-Dec-2010 Brian Paul <brianp@vmware.com> tgsi: add support for system values to TGSI interpreter
gsi/tgsi_exec.c
gsi/tgsi_exec.h
1e3f5e9520940592dae1c37bb4c8d3fc156aa5d5 08-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] split mc code into state and buffer
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
3b2ef2d007193f8a5f6979b378ee3c952ff39f7f 08-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] move buffer mapping/unmapping out of flush
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
877edb67859cffad44b1cea1c3392911e86cdef6 08-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] replace IF THEN ELSE with CMP statement
l/vl_mpeg12_mc_renderer.c
1482b9a7f39ec8875fcd4137c35b3cb9ac0c0934 08-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] remove shadow buffering of vertex buffers
l/vl_idct.c
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
8df88ca10fbfc56fca715fe60ab2edecd15d5736 08-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] remove mb type handler structure
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
050e7035f246f3271f53b962d743ff1a864c6f33 08-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] move macro block type handling into shaders part 3
l/vl_mpeg12_mc_renderer.c
5790ca5289596332a3f4d736f554dc8118ee3883 08-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] moving macroblock type handling into shaders part 2
l/vl_mpeg12_mc_renderer.c
081b01fd604f4ab7a33804b7deabe3304631fa59 08-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] start moving macroblock type handling into shaders
l/vl_mpeg12_mc_renderer.c
b680476b522b538f4de0b81785fa1f113fa0c507 08-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] allways use all motion vectors

reprogramming the vertex buffers takes more time than pumping
all motion vectors through the vertex shader
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
d8d8939dd5d79600807b3c64310a45d7e18c408e 08-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] split empty block handling

Empty block handling is split between vertex shader (x-axis)
and fragment shader (y-axis).
l/vl_mpeg12_mc_renderer.c
0b749d6dcb537472771d6fe6e454aafc916ab3fe 08-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] split idct code into state and buffers
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
22b4acb2069a368e986805d3b43395172ebf9146 07-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] use buffer width instead of texture size or vs constants
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
bfb4fb057d92869f98dc627d53d3e1b7d031d93f 07-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] move vertex buffer handling into vl_vertex_buffer.c
l/vl_idct.c
l/vl_mpeg12_mc_renderer.c
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
857d107bfe1d8c98e614f93da06588639576d3fe 07-Dec-2010 Marek Olšák <maraeo@gmail.com> u_blitter: use util_is_format_compatible in the assert
til/u_blitter.c
eb7452e267974f9ff971b752046c512963f59f81 07-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] rework pot buffer handling and flushing
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
4fc62a074c5cc7e55a81c2a24cc5ef2f1452e948 04-Dec-2010 Brian Paul <brianp@vmware.com> gallium/util: minor formatting fixes
til/u_gen_mipmap.c
6484898752d733a2442b433fbb78325f9021c698 05-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] move mapping/unmapping of buffers one layer up
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_mc_renderer.c
57018734023b41ef84f5be560c12dce6ae5f1c58 05-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] move vertex handling into vl_vb object
l/vl_idct.c
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
8e0c05960daa7a38ab7834e6a9e7e0a7a973ac2d 05-Dec-2010 Christian König <deathsimple@vodafone.de> [g3dvl] cleanup empty block handling

doing empty block handling in the mc code is indeed faster
l/vl_idct.c
l/vl_idct.h
e3256ccb045032960f099318938991392b896b44 05-Dec-2010 Xavier Chantry <chantry.xavier@gmail.com> init ps->context with util_surfaces_get and do_get

Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Reviewed-by: Jakob Bornecrantz <wallbraker at gmail.com>
Signed-off-by: Patrice Mandin <patmandin@gmail.com>
til/u_inlines.h
til/u_surfaces.c
til/u_surfaces.h
af5345d9371e927019d51ce3ad198958f8cd42a9 05-Dec-2010 Xavier Chantry <chantry.xavier@gmail.com> nvfx: fixes after array textures merge

Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Signed-off-by: Patrice Mandin <patmandin@gmail.com>
til/u_surfaces.c
til/u_surfaces.h
b87369e863c4c9650ef3a04a111e9ca79bca9e08 03-Dec-2010 Brian Paul <brianp@vmware.com> mesa: consolidate some compiler -D flags

-D__STDC_CONSTANT_MACROS and -D__STDC_LIMIT_MACROS are only needed for
LLVM build.
akefile
9af3c243d958dd5b9802dda321ab980c83cb8cb8 03-Dec-2010 Christian König <deathsimple@vodafone.de> move empty block handling back into mc for testing
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
l/vl_vertex_buffers.h
29840040af128fe3f3542defd9448e1f66c23f03 01-Dec-2010 Christian König <deathsimple@vodafone.de> add rasterizer state
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
27016941bca40a6563dd2122369745351102bc0c 30-Nov-2010 Christian König <deathsimple@vodafone.de> use CMP also for referenz frame fetch
l/vl_mpeg12_mc_renderer.c
c8b7cf469fa9db9e7ee459eec2d61f485e7961b8 30-Nov-2010 Christian König <deathsimple@vodafone.de> cleanup and use CMP instead of IF ELSE ENDIF
l/vl_mpeg12_mc_renderer.c
74c71f09f3d321963b738acfb0bfd30b1e1efaeb 30-Nov-2010 Christian König <deathsimple@vodafone.de> move to four component calculation for idct code
l/vl_idct.c
69f53c3dc89944c6a089e5d2b7a643baef9339e1 29-Nov-2010 Christian König <deathsimple@vodafone.de> copy only mv really needed to vb
l/vl_mpeg12_mc_renderer.c
d2888c5f2f3ed8727ea973e839b54435eac31e89 29-Nov-2010 Christian König <deathsimple@vodafone.de> use vertex buffer also for mc code
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
c7068d79a06c374dd6e732a53436dd9bcdba7e0e 28-Nov-2010 Christian König <deathsimple@vodafone.de> give each vertex element its own buffer
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
838d1092077368d45674f5f5637186da5c69ca15 28-Nov-2010 Christian König <deathsimple@vodafone.de> use vl_vb_upload_quads also for mc
l/vl_mpeg12_mc_renderer.c
3e6a5077ca5968a3bf76e6ab6ba8f33487895066 28-Nov-2010 Christian König <deathsimple@vodafone.de> move vertex elemt states into mb type handlers
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
3bbbb3c54f633ab10e7e2302e8edf3cf1f801858 28-Nov-2010 Christian König <deathsimple@vodafone.de> move macroblock type handling into its own structure
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
4abe7382882a451a7750ccc451b8568768d122cb 28-Nov-2010 Christian König <deathsimple@vodafone.de> use a shadow buffer for vertex data to optimize memory access
akefile
l/vl_idct.c
l/vl_idct.h
l/vl_types.h
l/vl_vertex_buffers.c
l/vl_vertex_buffers.h
a984c67b316ac2ca9aaf6d38a3127cf3d61a249e 28-Nov-2010 Christian König <deathsimple@vodafone.de> make nr of render targets configureable for testing
l/vl_idct.c
14746b1d4fc7ae30b557dacc819b81756df2f72f 03-Dec-2010 Brian Paul <brianp@vmware.com> gallivm: fix null builder pointers
allivm/lp_bld_tgsi_soa.c
6299f241e9fdd86e705d144a42d9b1979c13f9ad 03-Dec-2010 Brian Paul <brianp@vmware.com> gallivm/llvmpipe: remove lp_build_context::builder

The field was redundant. Use the gallivm->builder value instead.
allivm/lp_bld_arit.c
allivm/lp_bld_bitarit.c
allivm/lp_bld_conv.c
allivm/lp_bld_logic.c
allivm/lp_bld_quad.c
allivm/lp_bld_sample.c
allivm/lp_bld_swizzle.c
allivm/lp_bld_tgsi_aos.c
allivm/lp_bld_tgsi_soa.c
allivm/lp_bld_type.c
allivm/lp_bld_type.h
e737b9294aa63a69b9041eedcd858d9535ccfe2d 02-Dec-2010 Zack Rusin <zackr@vmware.com> gallium/util: add states relevant to geometry shaders
til/u_dirty_flags.h
63c05c96e798e68fdec93e6a1184ec06d3713d98 02-Dec-2010 José Fonseca <jfonseca@vmware.com> util: Don't try to use imagehlp on mingw.
til/u_debug_symbol.c
50a52ba67e06fa00e06d19370a0478a85f9011be 02-Dec-2010 José Fonseca <jfonseca@vmware.com> util: __builtin_frame_address() doesn't work on mingw.
til/u_debug_stack.c
744ef8721b5ce0f6ea7f5a82d437e48d731803e3 02-Dec-2010 José Fonseca <jfonseca@vmware.com> util: Plug leaks in util_destroy_gen_mipmap.
til/u_gen_mipmap.c
431c478df9797c803a6c37b35f09988dc6c8ff7d 02-Dec-2010 José Fonseca <jfonseca@vmware.com> util: C++ safe.
til/u_surface.h
4c7001462607e6e99e474d6271dd481d3f8f201c 02-Dec-2010 Roland Scheidegger <sroland@vmware.com> gallium: support for array textures and related changes

resources have a array_size parameter now.
get_tex_surface and tex_surface_destroy have been renamed to create_surface
and surface_destroy and moved to context, similar to sampler views (and
create_surface now uses a template just like create_sampler_view). Surfaces
now really should only be used for rendering. In particular they shouldn't be
used as some kind of 2d abstraction for sharing a texture. offset/layout fields
don't make sense any longer and have been removed, width/height should go too.
surfaces and sampler views now specify a layer range (for texture resources),
layer is either array slice, depth slice or cube face.
pipe_subresource is gone array slices (or cube faces) are now treated the same
as depth slices in transfers etc. (that is, they use the z coord of the
respective functions).

Squashed commit of the following:

commit a45bd509014743d21a532194d7b658a1aeb00cb7
Merge: 1aeca28 32e1e59
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Dec 2 04:32:06 2010 +0100

Merge remote branch 'origin/master' into gallium-array-textures

Conflicts:
src/gallium/drivers/i915/i915_resource_texture.c
src/gallium/drivers/i915/i915_state_emit.c
src/gallium/drivers/i915/i915_surface.c

commit 1aeca287a827f29206078fa1204715a477072c08
Merge: 912f042 6f7c8c3
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Dec 2 00:37:11 2010 +0100

Merge remote branch 'origin/master' into gallium-array-textures

Conflicts:
src/gallium/state_trackers/vega/api_filters.c
src/gallium/state_trackers/vega/api_images.c
src/gallium/state_trackers/vega/mask.c
src/gallium/state_trackers/vega/paint.c
src/gallium/state_trackers/vega/renderer.c
src/gallium/state_trackers/vega/st_inlines.h
src/gallium/state_trackers/vega/vg_context.c
src/gallium/state_trackers/vega/vg_manager.c

commit 912f042e1d439de17b36be9a740358c876fcd144
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Dec 1 03:01:55 2010 +0100

gallium: even more compile fixes after merge

commit 6fc95a58866d2a291def333608ba9c10c3f07e82
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Dec 1 00:22:26 2010 +0100

gallium: some fixes after merge

commit a8d5ffaeb5397ffaa12fb422e4e7efdf0494c3e2
Merge: f7a202f 2da02e7
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Nov 30 23:41:26 2010 +0100

Merge remote branch 'origin/master' into gallium-array-textures

Conflicts:
src/gallium/drivers/i915/i915_state_emit.c
src/gallium/state_trackers/vega/api_images.c
src/gallium/state_trackers/vega/vg_context.c

commit f7a202fde2aea2ec78ef58830f945a5e214e56ab
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Nov 24 19:19:32 2010 +0100

gallium: even more fixes/cleanups after merge

commit 6895a7f969ed7f9fa8ceb788810df8dbcf04c4c9
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Nov 24 03:07:36 2010 +0100

gallium: more compile fixes after merge

commit af0501a5103b9756bc4d79167bd81051ad6e8670
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Nov 23 19:24:45 2010 +0100

gallium: lots of compile fixes after merge

commit 0332003c2feb60f2a20e9a40368180c4ecd33e6b
Merge: 26c6346 b6b91fa
Author: Roland Scheidegger <sroland@vmware.com>
Date: Tue Nov 23 17:02:26 2010 +0100

Merge remote branch 'origin/master' into gallium-array-textures

Conflicts:
src/gallium/auxiliary/gallivm/lp_bld_sample.c
src/gallium/auxiliary/util/u_blit.c
src/gallium/auxiliary/util/u_blitter.c
src/gallium/auxiliary/util/u_inlines.h
src/gallium/auxiliary/util/u_surface.c
src/gallium/auxiliary/util/u_surfaces.c
src/gallium/docs/source/context.rst
src/gallium/drivers/llvmpipe/lp_rast.c
src/gallium/drivers/nv50/nv50_state_validate.c
src/gallium/drivers/nvfx/nv04_surface_2d.c
src/gallium/drivers/nvfx/nv04_surface_2d.h
src/gallium/drivers/nvfx/nvfx_buffer.c
src/gallium/drivers/nvfx/nvfx_miptree.c
src/gallium/drivers/nvfx/nvfx_resource.c
src/gallium/drivers/nvfx/nvfx_resource.h
src/gallium/drivers/nvfx/nvfx_state_fb.c
src/gallium/drivers/nvfx/nvfx_surface.c
src/gallium/drivers/nvfx/nvfx_transfer.c
src/gallium/drivers/r300/r300_state_derived.c
src/gallium/drivers/r300/r300_texture.c
src/gallium/drivers/r600/r600_blit.c
src/gallium/drivers/r600/r600_buffer.c
src/gallium/drivers/r600/r600_context.h
src/gallium/drivers/r600/r600_screen.c
src/gallium/drivers/r600/r600_screen.h
src/gallium/drivers/r600/r600_state.c
src/gallium/drivers/r600/r600_texture.c
src/gallium/include/pipe/p_defines.h
src/gallium/state_trackers/egl/common/egl_g3d_api.c
src/gallium/state_trackers/glx/xlib/xm_st.c
src/gallium/targets/libgl-gdi/gdi_softpipe_winsys.c
src/gallium/targets/libgl-gdi/libgl_gdi.c
src/gallium/tests/graw/tri.c
src/mesa/state_tracker/st_cb_blit.c
src/mesa/state_tracker/st_cb_readpixels.c

commit 26c6346b385929fba94775f33838d0cceaaf1127
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Aug 2 19:37:21 2010 +0200

fix more merge breakage

commit b30d87c6025eefe7f6979ffa8e369bbe755d5c1d
Merge: 9461bf3 1f1928d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Aug 2 19:15:38 2010 +0200

Merge remote branch 'origin/master' into gallium-array-textures

Conflicts:
src/gallium/drivers/llvmpipe/lp_rast.c
src/gallium/drivers/llvmpipe/lp_rast_priv.h
src/gallium/drivers/r300/r300_blit.c
src/gallium/drivers/r300/r300_screen_buffer.c
src/gallium/drivers/r300/r300_state_derived.c
src/gallium/drivers/r300/r300_texture.c
src/gallium/drivers/r300/r300_texture.h
src/gallium/drivers/r300/r300_transfer.c
src/gallium/drivers/r600/r600_screen.c
src/gallium/drivers/r600/r600_state.c
src/gallium/drivers/r600/r600_texture.c
src/gallium/drivers/r600/r600_texture.h
src/gallium/state_trackers/dri/common/dri1_helper.c
src/gallium/state_trackers/dri/sw/drisw.c
src/gallium/state_trackers/xorg/xorg_exa.c

commit 9461bf3cfb647d2301364ae29fc3084fff52862a
Merge: 17492d7 0eaccb3
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jul 15 20:13:45 2010 +0200

Merge commit 'origin/master' into gallium-array-textures

Conflicts:
src/gallium/auxiliary/util/u_blitter.c
src/gallium/drivers/llvmpipe/lp_rast.c
src/gallium/drivers/llvmpipe/lp_surface.c
src/gallium/drivers/r300/r300_render.c
src/gallium/drivers/r300/r300_state.c
src/gallium/drivers/r300/r300_texture.c
src/gallium/drivers/r300/r300_transfer.c
src/gallium/tests/trivial/quad-tex.c

commit 17492d705e7b7f607b71db045c3bf344cb6842b3
Author: Roland Scheidegger <sroland@vmware.com>
Date: Fri Jun 18 10:58:08 2010 +0100

gallium: rename element_offset/width fields in views to first/last_element

This is much more consistent with the other fields used there
(first/last level, first/last layer).
Actually thinking about removing the ugly union/structs again and
rename first/last_layer to something even more generic which could also
be used for buffers (like first/last_member) without inducing headaches.

commit 1b717a289299f942de834dcccafbab91361e20ab
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jun 17 14:46:09 2010 +0100

gallium: remove PIPE_SURFACE_LAYOUT_LINEAR definition

This was only used by the layout field of pipe_surface, but this
driver internal stuff is gone so there's no need for this driver independent
layout definition neither.

commit 10cb644b31b3ef47e6c7b55e514ad24bb891fac4
Merge: 5691db9 c85971d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jun 17 12:20:41 2010 +0100

Merge commit 'origin/master' into gallium-array-textures

Conflicts:
src/gallium/docs/source/glossary.rst
src/gallium/tests/graw/fs-test.c
src/gallium/tests/graw/gs-test.c

commit 5691db960ca3d525ce7d6c32d9c7a28f5e907f3b
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jun 17 11:29:03 2010 +0100

st/wgl: fix interface changes bugs

commit 2303ec32143d363b46e59e4b7c91b0ebd34a16b2
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Jun 16 19:42:32 2010 +0100

gallium: adapt code to interface changes...

commit dcae4f586f0d0885b72674a355e5d56d47afe77d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Jun 16 19:42:05 2010 +0100

gallium: separate depth0 and array_size in the resource itself.

These fields are still mutually exclusive (since no 3d array textures exist)
but it ultimately seemed to error-prone to adapt all code accept the new
meaning of depth0 (drivers stick that into hardware regs, calculate mipmap
sizes etc.). And it isn't really cleaner anyway.
So, array textures will have depth0 of 1, but instead use array_size,
3D textures will continue to use depth0 (and have array_size of 1). Cube
maps also will use array_size to indicate their 6 faces, but since all drivers
should just be fine by inferring this themselves from the fact it's a cube map
as they always used to nothing should break.

commit 621737a638d187d208712250fc19a91978fdea6b
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Jun 16 17:47:38 2010 +0100

gallium: adapt code to interface changes

There are still usages of pipe_surface where pipe_resource should be used,
which should eventually be fixed.

commit 2d17f5efe166b2c3d51957c76294165ab30b8ae2
Author: Roland Scheidegger <sroland@vmware.com>
Date: Wed Jun 16 17:46:14 2010 +0100

gallium: more interface changes

In particular to enable usage of buffers in views, and ability to use a
different pipe_format in pipe_surface.
Get rid of layout and offset parameter in pipe_surface - the former was
not used in any (public) code anyway, and the latter should either be computed
on-demand or driver can use subclass of pipe_surface.
Also make create_surface() use a template to be more consistent with
other functions.

commit 71f885ee16aa5cf2742c44bfaf0dc5b8734b9901
Merge: 3232d11 8ad410d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 14 14:19:51 2010 +0100

Merge commit 'origin/master' into gallium-array-textures

Conflicts:
src/gallium/auxiliary/util/u_box.h
src/gallium/drivers/nv50/nv50_surface.c
src/gallium/drivers/nvfx/nvfx_surface.c
src/gallium/drivers/r300/r300_blit.c
src/gallium/drivers/r300/r300_texture.c
src/gallium/drivers/r300/r300_transfer.c
src/gallium/drivers/r600/r600_blit.c
src/gallium/drivers/r600/r600_screen.h
src/gallium/include/pipe/p_state.h

commit 3232d11fe3ebf7686286013c357b404714853984
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 14 11:40:04 2010 +0100

mesa/st: adapt to interface changes

still need to fix pipe_surface sharing
(as that is now per-context).
Also broken is depth0 handling - half the code assumes
this is also used for array textures (and hence by extension
of that cube maps would have depth 6), half the code does not...

commit f433b7f7f552720e5eade0b4078db94590ee85e1
Author: Roland Scheidegger <sroland@vmware.com>
Date: Mon Jun 14 11:35:52 2010 +0100

gallium: fix a couple of bugs in interface chnage fixes

commit 818366b28ea18f514dc791646248ce6f08d9bbcf
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:42:11 2010 +0200

targets: adapt to interface changes

Yes even that needs adjustments...

commit 66c511ab1682c9918e0200902039247793acb41e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:41:13 2010 +0200

tests: adapt to interface changes

Everything needs to be fixed :-(.

commit 6b494635d9dbdaa7605bc87b1ebf682b138c5808
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:39:50 2010 +0200

st: adapt non-rendering state trackers to interface changes

might not be quite right in all places, but they really don't want
to use pipe_surface.

commit 00c4289a35d86e4fe85919ec32aa9f5ffe69d16d
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:38:48 2010 +0200

winsys: adapt to interface changes

commit 39d858554dc9ed5dbc795626fec3ef9deae552a0
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:26:54 2010 +0200

st/python: adapt to interface changes

don't think that will work, sorry.

commit 6e9336bc49b32139cec4e683857d0958000e15e3
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:26:07 2010 +0200

st/vega: adapt to interface changes

commit e07f2ae9aaf8842757d5d50865f76f8276245e11
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:25:56 2010 +0200

st/xorg: adapt to interface changes

commit 05531c10a74a4358103e30d3b38a5eceb25c947f
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:24:53 2010 +0200

nv50: adapt to interface changes

commit 97704f388d7042121c6d496ba8c003afa3ea2bf3
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:24:45 2010 +0200

nvfx: adapt to interface changes

commit a8a9c93d703af6e8f5c12e1cea9ec665add1abe0
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:24:01 2010 +0200

i965g: adapt to interface changes

commit 0dde209589872d20cc34ed0b237e3ed7ae0e2de3
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:22:38 2010 +0200

i915g: adapt to interface changes

commit 5cac9beede69d12f5807ee1a247a4c864652799e
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:20:58 2010 +0200

svga: adapt to interface changes

resource_copy_region still looking fishy.
Was not very suited to unified zslice/face approach...

commit 08b5a6af4b963a3e4c75fc336bf6c0772dce5150
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:20:01 2010 +0200

rbug: adapt to interface changes

Not sure if that won't need changes elsewhere?

commit c9fd24b1f586bcef2e0a6e76b68e40fca3408964
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:19:31 2010 +0200

trace: adapt to interface changes

commit ed84e010afc5635a1a47390b32247a266f65b8d1
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:19:21 2010 +0200

failover: adapt to interface changes

commit a1d4b4a293da933276908e3393435ec4b43cf201
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:19:12 2010 +0200

identity: adapt to interface changes

commit a8dd73e2c56c7d95ffcf174408f38f4f35fd2f4c
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:18:55 2010 +0200

softpipe: adapt to interface changes

commit a886085893e461e8473978e8206ec2312b7077ff
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:18:44 2010 +0200

llvmpipe: adapt to interface changes

commit 70523f6d567d8b7cfda682157556370fd3c43460
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:18:14 2010 +0200

r600g: adapt to interface changes

commit 3f4bc72bd80994865eb9f6b8dfd11e2b97060d19
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:18:05 2010 +0200

r300g: adapt to interface changes

commit 5d353b55ee14db0ac0515b5a3cf9389430832c19
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:17:37 2010 +0200

cell: adapt to interface changes

not even compile tested

commit cf5d03601322c2dcb12d7a9c2f1745e2b2a35eb4
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:14:59 2010 +0200

util: adapt to interface changes

amazing how much code changes just due to some subtle interface changes?

commit dc98d713c6937c0e177fc2caf23020402cc7ea7b
Author: Roland Scheidegger <sroland@vmware.com>
Date: Sat Jun 12 02:12:40 2010 +0200

gallium: more interface fail, docs

this also changes flush_frontbuffer to use a pipe_resource instead of
a pipe_surface - pipe_surface is not meant to be (or at least no longer)
an abstraction for standalone 2d images which get passed around.
(This has also implications for the non-rendering state-trackers.)

commit 08436d27ddd59857c22827c609b692aa0c407b7b
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jun 10 17:42:52 2010 +0200

gallium: fix array texture interface changes bugs, docs

commit 4a4d927609b62b4d7fb9dffa35158afe282f277b
Author: Roland Scheidegger <sroland@vmware.com>
Date: Thu Jun 3 22:02:44 2010 +0200

gallium: interface changes for array textures and related cleanups

This patch introduces array textures to gallium (note they are not immediately
usable without the associated changes to the shader side).
Also, this abandons pipe_subresource in favor of using level and layer
parameters since the distinction between several faces (which was part of
pipe_subresource for cube textures) and several z slices (which were not part
of pipe_subresource but instead part of pipe_box where appropriate for 3d
textures) is gone at the resource level.
Textures, be it array, cube, or 3d, now use a "unified" set of parameters,
there is no distinction between array members, cube faces, or 3d zslices.
This is unlike d3d10, whose subresource index includes layer information for
array textures, but which considers all z slices of a 3d texture to be part
of the same subresource.
In contrast to d3d10, OpenGL though reuses old 2d and 3d function entry points
for 1d and 2d array textures, respectively, which also implies that for instance
it is possible to specify all layers of a 2d array texture at once (note that
this is not possible for cube maps, which use the 2d entry points, although
it is possible for cube map arrays, which aren't supported yet in gallium).
This should possibly make drivers a bit simpler, and also get rid of mutually
exclusive parameters in some functions (as z and face were exclusive), one
potential downside would be that 3d array textures could not easily be supported
without reverting this, but those are nowhere to be seen.

Also along with adjusting to new parameters, rename get_tex_surface /
tex_surface_destroy to create_surface / surface_destroy and move them from
screen to context, which reflects much better what those do (they are analogous
to create_sampler_view / sampler_view_destroy).

PIPE_CAP_ARRAY_TEXTURES is used to indicate if a driver supports all of this
functionality (that is, both sampling from array texture as well as use a range
of layers as a render target, with selecting the layer from the geometry shader).
raw/draw_pipe_aaline.c
raw/draw_pipe_pstipple.c
allivm/lp_bld_sample.c
til/u_blit.c
til/u_blit.h
til/u_blitter.c
til/u_blitter.h
til/u_box.h
til/u_debug.c
til/u_debug_describe.c
til/u_dirty_surfaces.h
til/u_dump_state.c
til/u_gen_mipmap.c
til/u_gen_mipmap.h
til/u_inlines.h
til/u_resource.c
til/u_sampler.c
til/u_simple_screen.h
til/u_staging.c
til/u_staging.h
til/u_surface.c
til/u_surface.h
til/u_surfaces.c
til/u_surfaces.h
til/u_transfer.c
til/u_transfer.h
efc82aef35a2aac5d2ed9774f6d28f2626796416 01-Dec-2010 Brian Paul <brianp@vmware.com> gallivm/llvmpipe: squash merge of the llvm-context branch

This branch defines a gallivm_state structure which contains the
LLVMBuilderRef, LLVMContextRef, etc. All data structures built with
this object can be periodically freed during a "garbage collection"
operation.

The gallivm_state object has to be passed to most of the builder
functions where LLVMBuilderRef used to be used.

Conflicts:
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
src/gallium/drivers/llvmpipe/lp_state_setup.c
akefile
raw/draw_context.c
raw/draw_context.h
raw/draw_llvm.c
raw/draw_llvm.h
raw/draw_llvm_sample.c
raw/draw_llvm_translate.c
raw/draw_private.h
raw/draw_pt_fetch_shade_pipeline_llvm.c
allivm/lp_bld.h
allivm/lp_bld_arit.c
allivm/lp_bld_assert.c
allivm/lp_bld_assert.h
allivm/lp_bld_bitarit.c
allivm/lp_bld_const.c
allivm/lp_bld_const.h
allivm/lp_bld_conv.c
allivm/lp_bld_conv.h
allivm/lp_bld_debug.h
allivm/lp_bld_flow.c
allivm/lp_bld_flow.h
allivm/lp_bld_format.h
allivm/lp_bld_format_aos.c
allivm/lp_bld_format_soa.c
allivm/lp_bld_format_yuv.c
allivm/lp_bld_gather.c
allivm/lp_bld_gather.h
allivm/lp_bld_init.c
allivm/lp_bld_init.h
allivm/lp_bld_intr.c
allivm/lp_bld_intr.h
allivm/lp_bld_logic.c
allivm/lp_bld_logic.h
allivm/lp_bld_pack.c
allivm/lp_bld_pack.h
allivm/lp_bld_printf.c
allivm/lp_bld_printf.h
allivm/lp_bld_quad.c
allivm/lp_bld_sample.c
allivm/lp_bld_sample.h
allivm/lp_bld_sample_aos.c
allivm/lp_bld_sample_soa.c
allivm/lp_bld_struct.c
allivm/lp_bld_struct.h
allivm/lp_bld_swizzle.c
allivm/lp_bld_swizzle.h
allivm/lp_bld_tgsi.h
allivm/lp_bld_tgsi_aos.c
allivm/lp_bld_tgsi_soa.c
allivm/lp_bld_type.c
allivm/lp_bld_type.h
80f24c1575688e9cd4a5a811137f43b7e0a661bb 29-Nov-2010 Marek Olšák <maraeo@gmail.com> util: rename u_mempool -> u_slab
akefile
Conscript
til/u_mempool.c
til/u_mempool.h
til/u_slab.c
til/u_slab.h
557280542399629ac64a48f5b618365e2b18fce1 30-Nov-2010 Zack Rusin <zackr@vmware.com> gallivm: fix storing of the addr register

we store into the index specified by the register index, not an
indirect register.
allivm/lp_bld_tgsi_soa.c
5d4d8b6205af9a09e67f53631eefad77054aa8e9 28-Nov-2010 Marek Olšák <maraeo@gmail.com> u_blitter: interpolate clear color using a GENERIC varying instead of COLOR

There are also some u_simple_shaders changes.

On r300, the TGSI_SEMANTIC_COLOR varying is a fixed-point number clamped
to the range [0,1] and limited to 12 bits of precision. Therefore we can't
use it for passing through a clear color in order to clear high precision
texture formats.

This also makes u_blitter use only one vertex shader instead of two.
til/u_blitter.c
til/u_simple_shaders.c
til/u_simple_shaders.h
336c7735ae97ddc0a177562375136297c2de3d19 28-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] join empty blocks to get larger slices
l/vl_idct.c
l/vl_idct.h
e742a1043dbd56fe11f0490cb74b7a738bab2238 27-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] use 8 zslices for idct
l/vl_idct.c
l/vl_idct.h
3fd53e6c2a05e65872de4292557d7839cbcf7395 27-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] some more bugfixing
l/vl_idct.c
12836fbcfad7f317b1f5aa5e46f9946894bf040c 27-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] idividual vs for each stage and a bunch of bugsfixes
l/vl_idct.c
l/vl_idct.h
027704db75a61300e733b0f5a9efbb491189dce5 27-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] give idct stage 1 & 2 its own sb_state and viewport
l/vl_idct.c
l/vl_idct.h
13e28cff7655adec0f89aed9c5ee74f8481133ab 26-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] use four component fetch also for idct source
l/vl_idct.c
l/vl_idct.h
cfe489b89723117e56674c2be7761c201f8d78ff 26-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] split matrix mul into seperate functions
l/vl_idct.c
7408a6ab89e0bc87209b50334604fae93277fdc6 26-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] use inline constants instead of vs_const for idct
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_mc_renderer.c
3dd7bf7d39781f3ef4c0b53732945674c9924cdf 25-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] no need to keep the idct matrix multiple times
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_mc_renderer.c
2c1de07ddf9f4de6813f0ed46fc859b2f61db7b2 23-Nov-2010 Marek Olšák <maraeo@gmail.com> u_blitter: use PIPE_TRANSFER_DISCARD to prevent cpu/gpu stall

But the driver must be smart here and follow PIPE_TRANSFER_DISCARD,
as it should.
til/u_blitter.c
ed8b767a8e09cff4d98a44cdc07b08f1b322c4d3 25-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] also use four elemets on right side multiplikation
l/vl_idct.c
3965051dff4554cf2b521b34c8c82c4c7744aac6 25-Nov-2010 Chia-I Wu <olv@lunarg.com> auxiliary: util_blit_pixels_tex should restore the viewport.

Viewport state should be saved/restored.
til/u_blit.c
c9e10c666adc64f6c5dfb04422560508f115aa54 24-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] use four elements in matrix texture fetch
l/vl_idct.c
2c9db2484b7c1cec7a3a629f70a5aa840e16268e 24-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] no need for all samplers at all stages
l/vl_idct.c
l/vl_idct.h
5391ef86063d382ab011e887bdd0350f394f2352 24-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] remove flushing between stages
l/vl_idct.c
ed49905944243863913bc2598f734ca038c85b94 24-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] spread scaling between idct stages
l/vl_idct.c
5a8078486a013152d150a4524ebfab929eefe6c4 23-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] remove invalid use of assert
l/vl_idct.c
l/vl_mpeg12_mc_renderer.c
58d04f816c00c6829975d0e797cb76eca3943e7d 23-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] switch to r32 float for idct matrix
l/vl_idct.c
21efda86875096333dc0412c0edab1e188f551d8 23-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] add some error handling
l/vl_idct.c
l/vl_mpeg12_mc_renderer.c
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/tgsi_exec.h
e6b71530daea3059ee362d4df51575e27e026b22 21-Nov-2010 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video

Conflicts:
src/gallium/auxiliary/Makefile
src/gallium/auxiliary/SConscript
ac1fd50163119a887487d748fab507b23e215c2b 21-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] first working version of idct code
l/vl_idct.c
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/tgsi_text.c
95febb69cc333dad75c0f2da19dd85f444281ad2 20-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] move empty block handling into idct code
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_mc_renderer.c
03c5a0ea5cd5b3e5931d6784749f87789a016b98 20-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] enable stage 1&2 buffers in idct code
l/vl_idct.c
l/vl_mpeg12_mc_renderer.c
e89e8a4347dacceda0b131b55d16206e25eb984f 10-Nov-2010 Jakob Bornecrantz <jakob@vmware.com> gallium: Remove redundant sw and debug target helpers
akefile
Conscript
arget-helpers/wrap_screen.c
arget-helpers/wrap_screen.h
e639e1b83ea65985cd84d12dc120d77cab80ba9e 16-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] next round of idct implementation
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_mc_renderer.c
508a4a056c3140dc1f90b93acd46c06c30f7094e 14-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] add skeleton and incomplete idct
akefile
l/vl_idct.c
l/vl_idct.h
l/vl_mpeg12_mc_renderer.c
l/vl_mpeg12_mc_renderer.h
3886295a0cd1a51b1fa82fb076d826471d4697bb 14-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] remove need for XVMC_INTRA_UNSIGNED

Move from unsigned to signed intra dct blocks.
You also need to update xf86-video-ati for this to work.
l/vl_mpeg12_mc_renderer.c
48e19e8f35b2bbf437f6dcfe3213098690b8c925 14-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] fix of my one bug in SCALE_FACTOR_16_TO_9
l/vl_mpeg12_mc_renderer.c
0bc51ba484912e0b1c51922d409ae2645594e7ec 13-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] switch to using macroblock vertices
l/vl_mpeg12_mc_renderer.c
35a8efe5773909e31e36e5e0e379ae7a30913b7b 13-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] move empty block handling completely into shaders
l/vl_mpeg12_mc_renderer.c
d128c091c74f3cd862bd12a381bc521cae42264c 13-Nov-2010 Christian König <deathsimple@vodafone.de> [g3dvl] use quads instead of triangles
l/vl_mpeg12_mc_renderer.c
33311ffed5f54fbc014fc35a204