History log of /external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd95b673479f8a8ac3d5aabf387d33f705e156e9 04-Jan-2013 Marek Olšák <maraeo@gmail.com> r600g: fix int->bool conversion in fence_signalled

NOTE: This is a candidate for the stable branches.
(cherry picked from commit 9f0ddbc9e4b44f165c96841fe32ebc66c68d2709)
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
b55c98ea4124f63a6a4b5ecf349ae80404449695 26-Oct-2012 Marek Olšák <maraeo@gmail.com> r600g: advertise 32 streamout vec4 outputs

to match the varying limit.
(cherry picked from commit b78b62497f1e5cc64eb924c64e4685fe5d814fd7)
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
1106bbc7d6cd024d1e20573e281ea4c48c5eaf19 25-Sep-2012 Marek Olšák <maraeo@gmail.com> r600g: fix streamout on RS780 and RS880

The latest kernel from git is required. Transform feedback (along with GL3.0)
is turned off on older kernels.
(cherry picked from commit d063c7b1421a6e8ad4e2efc1bf913920766cc5ee)
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
0e470533ad0aecb58341a8935618c8cdf642bedd 30-Aug-2012 Marek Olšák <maraeo@gmail.com> r600g: enable transform feedback on Cayman

There doesn't seem to be anything wrong with it.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
78354011f99c4103345f8f32e10b0b4b884ebdaf 26-Aug-2012 Marek Olšák <maraeo@gmail.com> r600g: implement color resolve for r600

The blend state is different and the resolve single-sample buffer must have
FMASK and CMASK enabled. I decided to have one CMASK and one FMASK
per context instead of per resource.

There are new FMASK and CMASK allocation helpers and a new buffer_create
helper for that.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
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.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
8698a3b85dd89c5d2fa473e7942b7dc8d25f3c8f 02-Aug-2012 Marek Olšák <maraeo@gmail.com> r600g: implement MSAA for r700

Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.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>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
8d1a9a984f33d8e45f932a9f47cdd57da617a919 21-Aug-2012 Vadim Girlin <vadimgirlin@gmail.com> r600g: fix lockups with dual_src_blend v2

Disable blending when dual_src_blend is enabled and number of color exports
in the current fragment shader is less than 2.

Fixes lockups with ext_framebuffer_multisample-
alpha-to-coverage-dual-src-blend piglit test.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
44f14ebd7b9ba7186342039d2602fdd6ea5077f5 05-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: implement timestamp query and get_timestamp hook

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
0f86915c5322b096b7154b6c84e21288074b775d 09-Aug-2012 Marek Olšák <maraeo@gmail.com> r600g: implement MSAA color resolve
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
581f7e3101980a4e1068bb75c2eca60bb2071229 29-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: drop the old texture allocation code

Made obsolete by the libdrm surface allocator.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
1ffac44e83a6fa6f486c6493e1d4eda259938ebb 24-Jul-2012 Jerome Glisse <jglisse@redhat.com> r600g: enable streamout only on 2.14 or latter kernel

The kernel streamout support was supposed to get into 3.3 along
the tiling change and thus use the same kernel version bump of
2.13 to report userspace that streamout register were supported.

This is not what happen. So as streamout kernel support did not
bump the kernel driver version, rely on kernel 2.14 version bump
to know if streamout is enabled or not. Which means you need at
least 3.4 kernel.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
99c65bac341f808279a8a847158ace4f058aa72e 26-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: implement wait-free buffer transfer for DISCARD_RANGE

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
9d699cd845f3544fa6e149fa4ffb1d131d32b482 15-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: fix lockups with and enable dual source blending on evergreen

GL_ARB_blend_func_extended is now enabled on all chipsets.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
c26fadf195876271e559f844c1fc88effa6a60c1 15-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: remove unused code after conversion of sampler views
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
15ca9d159e50815b0bfe60df8873f48c32a59ca5 14-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: don't check the R600_GLSL130 env var

GLSL 1.3 has been enabled by default for quite a while.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
c0f7fe7b79afa9b95b1af56dce9eb881575b1cde 11-Jul-2012 Tom Stellard <thomas.stellard@amd.com> r600g/compute: Disable growing the memory pool

The code for growing the memory pool (which is used for storing all of
the global buffers) wasn't working. There seem to be two separate issues
with the memory pool code. The first was the way it was growing the pool.
When the memory pool needed more space, it would:

1. Copy the data from the memory pool's backing texture to system memory.
2. Delete the memory pool's texture
3. Create a bigger backing texture for the memory pool.
4. Copy the data from system memory into the bigger texture.

The copy operations didn't seem to be working, and I suspect that since
they were using fragment shaders to do the copy, that there might have
been a problem with the mixing of compute and 3D state.

The other issue is that the size of 1D textures is limited, and I was
having trouble getting 2D textures to work.

I think these problems will be easier to solve once more code is shared
between 3D and compute, which is why I decided to disable it for now
rather than continue searching for a fix.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
bcc735aaca3b305d05c28e4076996d91b19d80fd 05-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium: add QUERY_TIMESTAMP cap and get_timestamp screen function
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
9b00edc79a49bd9fdef9102e3d74828d93ee185e 09-Jul-2012 Tom Stellard <thomas.stellard@amd.com> r600g: Don't create a texture for the memory_pool during screen init

This fixes a segfault in r600_screen_create() introduced by
eb065f5d9d1159af3a88a64a7606c9b6d67dc3

Reported by tilman on irc.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
5016fe2d47a08ce2cd7c597e67862086e7d63b64 25-Jun-2012 Tom Stellard <thomas.stellard@amd.com> r600g: Add start_compute_cs atom to struct r600_context

The start_compute_cs atom initializes some config and context registers
to the values needed for running compute shaders. When a compute shader
is dispatched, this atom is emitted after the start_cs_cmd atom, which
initializes registers that are common to both 3D and compute.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
9974e9ac5db9f1bfe601309b64e61901439dfd12 07-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: enable dual src blending on r7xx

No lockups here.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
af372129e5c1722a3d53dd1fc2f3409207c12f7e 18-Jun-2012 Fredrik Höglund <fredrik@kde.org> gallium: Add PIPE_CAP_START_INSTANCE

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
6e7756db14c362ede6fdc97454267a32b8eab1d4 17-Jun-2012 Marek Olšák <maraeo@gmail.com> r600g: enable streamout by default on r7xx and DRM 2.17.0

Now that it's in Linus's tree.

Has anyone had a chance to test streamout on Cayman recently?
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
6a829a1b724ca0d960decee217d260b4de8a5463 30-Nov-2011 Adam Rak <adam.rak@streamnovation.com> r600g: compute support for evergreen

Tom Stellard:
- Updated for gallium interface changes
- Fixed a few bugs:
+ Set the loop counter
+ Calculate the correct number of pipes
- Added hooks into the LLVM compiler
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
05ea705c7c6212d16fcc9bcf04619ffd4311bb03 11-May-2012 Marek Olšák <maraeo@gmail.com> r600g: remove slab allocator for pipe_resource (used mainly for user buffers)
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
ec848d2730afcc8a0c81bf74b7bb27936407c305 12-May-2012 Francisco Jerez <currojerez@riseup.net> r600g: Handle compute caps.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
1b749dc34f8d83cf3dfa863279b1fe2b356d34b2 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: add PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT

This is required for any serious constant buffer support.
Constant buffer offsets on ATI and NVIDIA DX10 and DX11 GPUs must be
a multiple of 256.

In OpenGL, this can be queried via GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
437ab1d6df7282770ee869180446db36c2dbdfa8 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: add PIPE_CAP_USER_INDEX_BUFFERS and PIPE_CAP_USER_CONSTANT_BUFFERS
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
0a6120244e66494db070ce875c0a464fbc5b15a1 26-Apr-2012 Marek Olšák <maraeo@gmail.com> winsys/radeon: simplify buffer map/unmap functions

The idea is not to use pb_map and pb_unmap wrappers, calling straight
into the winsys.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.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
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
428855eea3e99d94474df6df0cb8dfc4a8819702 11-Apr-2012 Marek Olšák <maraeo@gmail.com> r600g: don't share u_upload_mgr with u_vbuf, create its own
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
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.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
e6aad9ba04fb914a2484241f74ed0557fd1d59da 22-Apr-2012 Dave Airlie <airlied@redhat.com> r600g: enable GLSL130 on all cards

Alexandre Demers sent me some cayman results with no major problems.

I'll rip out the env var in a week or so.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
47d22e56de4738f792bb9a86da23435744d53f00 21-Apr-2012 Dave Airlie <airlied@redhat.com> r600g: enable dual src blending on r600 cards

tested on my rv610 and it passes the tests with no hangs.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
7745cf2be4abfbac0a5f7981d7c3dd2f4d0cbcbe 21-Apr-2012 Dave Airlie <airlied@redhat.com> r600g: enable GLSL 1.30 for r600 class

Full piglit run on my rv610 with no regressions.

This only leaves cayman, however my cayman is resisting my attempt
to get through a full piglit run.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
12bedaa24ba8f4cdb3f2b58482ce8f9ac5715703 21-Apr-2012 Dave Airlie <airlied@redhat.com> r600: enable glsl 1.30 on r700

I've done a piglit run on rv740 and confirmed no regressions.

We don't get GL3 on r700 due to transform feedback being busted still.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
5f457f66186375d5fb82d5a0a81025887bfe2d2e 20-Apr-2012 Dave Airlie <airlied@redhat.com> r600g: report INTEGERS cap if glsl130 is on.

This cap is used by u_blitter to decide if it can use integers
in vertex data.

fixes some crashes with glsl130 in piglit

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
7af9f6325ee3b9791fba7b49c60496c42fa79e6b 20-Apr-2012 Dave Airlie <airlied@redhat.com> r600g: enable glsl 130 on evergreen.

I've done a piglit run on my SUMO machine and I see no regressions.

Lots of things to fix (skip->fail), but hey maybe we can fix them
if we can see them.

I'll try and work my way across r600,700,cayman sometime if nobody
else gets to them.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
e382a0c14251a3000090ee75765f8d88d1b20409 09-Apr-2012 Vadim Girlin <vadimgirlin@gmail.com> r600g: store glsl_feature_level in the r600_screen

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Michel Dänzer <michel@daenzer.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
f8741ff21eb014567a538c7f1475bb8d22a4a830 14-Apr-2012 Dave Airlie <airlied@redhat.com> r600g: disable dual-src hangs evergreen for some reason.

This did work previously, so I've broken something.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
d1cc87c0b64c2221b079015a6c3b593af83f0758 24-Mar-2012 Dave Airlie <airlied@redhat.com> r600g: initial r600 dual src blending support

survives piglit with no regressions on rv610/evergreen

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
0d29fb017bce0968240ae875af4b3702c2cd46ef 24-Mar-2012 Dave Airlie <airlied@redhat.com> gallium: rename DUAL_SOURCE_BLEND cap to MAX_DUAL_SOURCE_RENDER_TARGETS

Though I don't think we'll ever expose > 1.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
bc95152f1d3bf0dbf79d81e6b9956fd60198e3df 31-Mar-2012 Marek Olšák <maraeo@gmail.com> r600g: determine in advance if hw has vertex cache
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
9773369ab4d1c75965821635f448733edde98636 28-Mar-2012 Marek Olšák <maraeo@gmail.com> r600g: also disable transform feedback on cayman

It's said to cause troubles there.
The env var is R600_STREAMOUT again.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
393d741788fa82896d4b1c9fd02402a83053afcf 27-Mar-2012 Marek Olšák <maraeo@gmail.com> r600g: enable transform feedback on everything that isn't r700

Use R700_STREAMOUT=1 if you wanna hack transform feedback on r700.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
b4082f492b4b55df4c636445e47b97d1f1e4b5b2 21-Mar-2012 Alex Deucher <alexander.deucher@amd.com> r600g: add support for TN (trinity) APUs

Note: this is a candidate for the stable branches.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
7f1cbf12bc883090734983bdd98e5158b9a194a0 08-Mar-2012 Marek Olšák <maraeo@gmail.com> r600g: enable ARB_draw_instanced
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
e363dd5c7d8ba40984d937ad7487abbb5be439bc 05-Mar-2012 Marek Olšák <maraeo@gmail.com> r600g: replace atom_ prefix with _state and _cmd suffixes
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
330b6c85c961b32f704ce8ec7dbf8cb7fc0b80a8 05-Mar-2012 Marek Olšák <maraeo@gmail.com> r600g: cleanup includes
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
6ed5855009a0ab8c6f88cad1ae517e49d8953d98 05-Mar-2012 Marek Olšák <maraeo@gmail.com> r600g: move r600_context_bo_reloc to r600_pipe.h

so that we don't have to include r600_hw_context_priv.h outside of
the *hw_context* files.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
f71f5edf78572ae87b9efb897df49efab1a53558 24-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: if pixel shader is NULL, bind a dummy one

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
aacd653834264b70a2537aff7914762b39f0683f 26-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: rework scissor for r600-r700

We must use VPORT_SCISSOR, because that's the only one we can use for multiple
scissor rectangles in ARB_viewport_array.

R700 can use the VPORT_SCISSOR_ENABLE bit, but R600 doesn't have that and must
emit a 8192x8192 rectangle if scissor is disabled.

This commit also cleanups magic numbers in create_rs_state.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
370c8b5ee7666f4f515d63603afe8282b1b3c682 24-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: remove obsolete todo comments

Also use XXX in the other ones, because it's the most used word for that
purpose in Mesa.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
09ec30f02830b3cbf9d6ac04d9497634dca86846 23-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: don't suspend timer queries for u_blitter

Timer queries should be able to measure the time spent in u_blitter as well.

Queries are split into two groups: the timer ones and the others (streamout,
occlusion), because we should only suspend non-timer queries for u_blitter,
and later if the non-timer queries are suspended, the context flush should
only suspend and resume the timer queries.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
622b65d33bcc46a6b2cede6081b32a26a4ec7c7f 24-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: check for R600_STREAMOUT env var in winsys
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
b85fc0ac7e9795b773edad22e20eb3270f4909bd 24-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: move initialization of use_surface flag into screen_create

Also change the type to bool and give it a less ambiguous name.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
04e324008759282728a95a1394bac2c4c2a1a3f9 23-Feb-2012 Marek Olšák <maraeo@gmail.com> gallium: remove PIPE_SHADER_CAP_OUTPUT_READ

r600g is the only driver which has made use of it. The reason the CAP was
added was to fix some piglit tests when the GLSL pass lower_output_reads
didn't exist.

However, not removing output reads breaks the fallback for glClampColorARB,
which assumes outputs are not readable. The fix would be non-trivial
and my personal preference is to remove the CAP, considering that reading
outputs is uncommon and that we can now use lower_output_reads to fix
the issue that the CAP was supposed to workaround in the first place.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
04d2828b03a75963a469f2fb008c3595948cfcfc 21-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: simplify fail paths in create_context

Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
6a94c9dde0d62b5ccfcbe3dbafdadeab37fd48a6 21-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: fix possible crashes in destroy_context when failing in create_context

Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
9670e72f6ef85f0e6f6c9afe136dc67c017e3fae 21-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: consolidate common context init code

Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
e2809849ecac69615ece294a55ee355afaac33d3 02-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: add a depth misc state which depends on occlusion queries

This is a state which is derived from other states and is actually the first
state which doesn't correspond to any gallium state.

There are two state flags:
bool occlusion_query_enabled
bool flush_depthstencil_enabled

Additional flags can be added later if needed, e.g. bool hiz_enabled.
The emit function will have to figure out the register values by itself.

It basically just emits the registers when the state changes.
This commit also adds a few helper functions for writing registers directly
into a command stream.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
f126253040654d52db134063a69ebaf0c417d410 31-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: turn init_config into a command buffer for starting a CS

This is the first pure command buffer. It contains CS initialization
packets and emits invariant state (i.e. the registers which never or rarely
change).

The affected registers are removed from *_hw_context.c, so that both ways
of emitting commands can co-exist.

v2: emit context_control in cayman's start_cs too
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
96d882939d612fcc8332f107befec470ed4359de 17-Feb-2012 Marek Olšák <maraeo@gmail.com> gallium: remove unused winsys pointers in pipe_screen and pipe_context

A winsys is already a private object of a driver.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
b0b81218132b6952de987dca21b9750d8d51b7f0 16-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: remove the workaround for quads and provoking vertex
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
8cd03b933cf868ff867e2db4a0937005a02fd0e4 14-Feb-2012 Simon Farnsworth <simon.farnsworth@onelan.co.uk> r600g: Use a fake reloc to sleep for fences

r300g is able to sleep until a fence completes rather than busywait because
it creates a special buffer object and relocation that stays busy until the
CS containing the fence is finished.

Copy the idea into r600g, and use it to sleep if the user asked for an
infinite wait, falling back to busywaiting if the user provided a timeout.

Note: this is a candidate for the stable branches.

Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
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
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
f3f03c67e90f962f67e7b58b7c7baff3be251cb1 01-Feb-2012 Christian König <deathsimple@vodafone.de> vl: add interlacing capabilities

Let the driver control interlaced or progressive
format of video buffers.

Signed-off-by: Christian König <deathsimple@vodafone.de>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
0813e58a3e41faf6f2072d034dfdc6198a3a1fee 30-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: rework cache flushing

This also significantly improves the RV670 flush by using the CB1 flush
*always* and also DEST_BASE_0_ENA, which appears to magically fix some tests.
I am not entirely sure, but it's possible that RV670 flushing is fixed
completely.

v2: fix cayman by flushing texture cache instead of vertex cache

Thanks to Dave Airlie for testing Cayman.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
2fe521fa419ee153afb6295289dc5e95d3229858 30-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: add a new simple API for state emission
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
302862defa61b2cee1ae24159aca306f090ca854 29-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: remove the now-useless internal flush callback
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
bc70bcfc6915883bd5c60712b70e9ed7e1d80ea8 29-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: don't initialize the screen and winsys pointer twice
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
e4340c1908a6a3b09e1a15d5195f6da7d00494d0 29-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: merge r600_context with r600_pipe_context

The split made no sense.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
171be755223d99f8cc5cc1bdaf8bd7b4caa04b4f 24-Jan-2012 Marek Olšák <maraeo@gmail.com> st/mesa: add PIPE_CAP_GLSL_FEATURE_LEVEL, cleanup st_extensions.c

v2: handle the cap in r300 and r600 as well

Additional info for r600g:
The env var R600_GLSL130=1 enables GLSL 1.3.
Along with R600_STREAMOUT=1, it enables full GL 3.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
15146fd1bcbb08e44a1cbb984440ee1a5de63d48 25-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: don't expose transform_feedback2 without kernel support
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
bc1c8369384b5e16547c5bf9728aa78f8dfd66cc 23-Jan-2012 Marek Olšák <maraeo@gmail.com> st/mesa: do vertex and fragment color clamping in shaders

For ARB_color_buffer_float. Most hardware can't do it and st/mesa is
the perfect place for a fallback.
The exceptions are:
- r500 (vertex clamp only)
- nv50 (both)
- nvc0 (both)
- softpipe (both)

We also have to take into account that r300 can do CLAMPED vertex colors only,
while r600 can do UNCLAMPED vertex colors only. The difference can be expressed
with the two new CAPs.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
64cb0cae55a0f71a8f2feffc1c0067abc5e56a1a 24-Jan-2012 Brian Paul <brianp@vmware.com> r600g: remove unused variable
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
54e8dcaad65cbe3603730414fd8d76ac53f89a86 20-Jan-2012 Vadim Girlin <vadimgirlin@gmail.com> r600g: implement clip vertex v2

Clip planes are uploaded as a constant buffer and used by the vertex
shader to produce corresponding clip distances for hw clipping.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
9d9afcb5bac2931d4b8e6d1aa571e941c5110c90 10-Jan-2012 Christian König <deathsimple@vodafone.de> vl: reintroduce PIPE_VIDEO_CAP_PREFERED_FORMAT

Create the video buffers in the format the driver preffers.
This temporary creates problems with decoder less VDPAU video playback.

Signed-off-by: Christian König <deathsimple@vodafone.de>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
3e044bcc4b2fcf9418f5a8fb682c8fab3bc454e9 12-Jan-2012 Dave Airlie <airlied@redhat.com> r600g: don't advertise integers yet on r600.

Still some work to be done before this is finished.

This is a candidate for 8.0 branch.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.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
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
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>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
7dd2d29a560a53d42d15f9ac06ba2ee7cd312ed9 30-Dec-2011 Michel Dänzer <michel.daenzer@amd.com> r600g: Manage fences per screen rather than per context.

A fence is a screen object and can outlive the context it was created from.
The previous code would access freed memory in that case, resulting in
various problems.

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

Probably fixes: https://bugs.freedesktop.org/show_bug.cgi?id=43993

NOTE: This is a candidate for the 7.11 branch.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
1b9577b833db28651e89e5c12559c7af5dde8822 17-Dec-2011 Marek Olšák <maraeo@gmail.com> gallium: remove PIPE_CAP_MAX_STREAM_OUTPUT_SEPARATE_ATTRIBS

It's the same as PIPE_CAP_MAX_STREAM_OUTPUT_BUFFERS.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
745d990b8d95b935874284b786dce1f010970c8d 17-Dec-2011 Marek Olšák <maraeo@gmail.com> r600g: fix MAX_STREAM_OUTPUT_SEPARATE_ATTRIBS limit
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
a3bfbccd0a97ccaa9d07317d9681a350d02ee456 17-Dec-2011 Marek Olšák <maraeo@gmail.com> r600g: handle new caps
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
543b2331d7b45a29ccd3530daa2389e87e65d89b 08-Nov-2011 Marek Olšák <maraeo@gmail.com> r600g: implement transform feedback

r600: DONE.
r700: MOSTLY (done but locks up).
Evergreen: MOSTLY (done but doesn't work for an unknown reason).

The kernel support will come soon.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
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
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
034e63b9f8ee23cfac769b1a2c431bdd2307a6c4 22-Nov-2011 Marek Olšák <maraeo@gmail.com> r600g: handle all remaining CAPs
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
4ac250c9d594898ad02323dbf02aab8792366d11 22-Nov-2011 Marek Olšák <maraeo@gmail.com> r600g: remove default case statements in get_param

This will throw a compile warning if there's an unhandled CAP.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.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_.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
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.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
0fe14178dbd5b350082a06c7488b6077362a85e3 15-Nov-2011 Vadim Girlin <vadimgirlin@gmail.com> r600g: handle PIPE_SHADER_CAP_OUTPUT_READ

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
ec3d2c7f089e0a4750dc42f10da914b58858499e 10-Nov-2011 Marek Olšák <maraeo@gmail.com> r600g: flush the whole context when CS is full, not just hw_context

Because we disable render condition in r600_flush, but not in r600_context_flush.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
578b211be6a1466eea00fc4a8fc5d4efa4bfd62c 10-Nov-2011 Marek Olšák <maraeo@gmail.com> r600g: disable render condition at the end of CS, re-enable at the beginning
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
b40edc63d7d272ac132fded52f3119f4780c7e6b 29-Oct-2011 Marek Olšák <maraeo@gmail.com> r600g: shortcut ctx->screen->ws to ctx->ws
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
bbad5103e61806ef6d6a0d5e53abc4b9e77a7fe9 28-Oct-2011 Marek Olšák <maraeo@gmail.com> r600g: get backend mask after the context is fully set up
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
ddcdd6137ba8f7bf7cdaba701bb7f6307958f35f 09-Oct-2011 Dave Airlie <airlied@redhat.com> r600g: enable integer shader cap for evergreen.

Will get to adding r600/r700/cayman support, have it mostly written on
another PC.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
90ce3cdde9fb2dd507b4e21c5456a3371f5996bc 17-Sep-2011 Marek Olšák <maraeo@gmail.com> r600g: remove struct radeon (or what's left of it)

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
518557d74abd4ce035dae079ff6eb1b08cc639d0 17-Sep-2011 Marek Olšák <maraeo@gmail.com> r600g: move family and chip_class from struct radeon to r600_screen

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
6101b6d442b06a347c001fe85848d636ab7df260 11-Sep-2011 Marek Olšák <maraeo@gmail.com> r600g: merge r600_bo with r600_resource

I have moved 'last_flush' and 'binding' from r600_bo to winsys/radeon.
The other members are now part of r600_resource.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
ba89086e79b22bd9578ea642846108de624c91e9 27-Sep-2011 Marek Olšák <maraeo@gmail.com> gallium: add PIPE_CAP_TEXTURE_BARRIER

Same issue as with conditional_render.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
3d13b081c72626acba6b9a25baec740c60dfafe1 27-Sep-2011 Marek Olšák <maraeo@gmail.com> gallium: add PIPE_CAP_CONDITIONAL_RENDER

We were checking whether render_condition is set. That was not reliable,
because it's always set with trace and noop regardless of driver support.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
f5bfe54a34d9c8cd5de2b096d0e8486fe0d990a7 27-Sep-2011 Marek Olšák <maraeo@gmail.com> gallium: add and use PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS

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

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
557c3febdfd88ba1a41d3e8e0221e447d491c343 26-Sep-2011 Marek Olšák <maraeo@gmail.com> gallium: remove PIPE_CAP_TEXTURE_MIRROR_REPEAT

All drivers support it (well, except Cell). The boolean option is going away
from core Mesa too.

This is a follow-up to Ian Romanick's patch
"mesa: Remove ARB_texture_mirrored_repeat extension enable flag".

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
28fb79891101c23c75982726c81112caa96f9275 25-Sep-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: s/u_vbuf_mgr_/u_vbuf_
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
9f0dc855b274cb2591fc6896149f9a9cabcbcab5 11-Sep-2011 Marek Olšák <maraeo@gmail.com> r600g: remove r600_resource_buffer struct

This subclass of r600_resource doesn't contain any useful members,
so let's just use r600_resource.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
b87bc2eb44cd605f2992335b5649ca907ba0c55d 11-Sep-2011 Marek Olšák <maraeo@gmail.com> r600g: remove r600_drm_public.h
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
1a532ca79a4a87bb86c641a6ca22da0301dc1f62 11-Sep-2011 Marek Olšák <maraeo@gmail.com> r600g: inline some of the winsys r600_get functions
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
3603d157889544230f1787bbdc4915ccd7461c59 11-Sep-2011 Marek Olšák <maraeo@gmail.com> r600g: compute tiling info in the pipe, not in the winsys

The winsys doesn't need it.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
b37931f69b7885ec9cdcaea8aec10db777d7e60a 04-Sep-2011 Marek Olšák <maraeo@gmail.com> r600g: enable texture arrays
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
379429137238e79296b8222c0e13d7d961910633 05-Sep-2011 Marek Olšák <maraeo@gmail.com> gallium: add PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS

v2: remove PIPE_CAP_ARRAY_TEXTURES in favor of the new CAP.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
0b666106c5f75b581ef1ebeb354c29a00400404f 29-Aug-2011 Dave Airlie <airlied@redhat.com> gallium: add caps for MIN/MAX texel offsets.

As per Brian's suggestion, add caps for drivers that support texture
offsets to advertise a min/max via TGSI, also use it in the state tracker.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
8fb7f1a8a4cbab5365491b4b41e50ff3f03306c8 27-Aug-2011 Kai Wasserbäch <kai@dev.carbon-project.org> r600g: 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>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
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>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
01680ce2f350f44073e8f1adf3b36d48424d21fa 16-Aug-2011 Marek Olšák <maraeo@gmail.com> r600g: implement NV_primitive_restart functionality (v2)

Needed for GL3.

v2: evergreen support

I don't set PA_SU_SC_MODE_CNTL.MULTI_PRIM_IB_ENA.
piglit/primitive-restart does pass though. Tested on RV730 and EG-REDWOOD.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
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.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
c79e9f0ed59d561849a0a4fbaafe87d5064d3e8c 04-Aug-2011 Marek Olšák <maraeo@gmail.com> r600g: enable thread offloading

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
041ed559e11ee99d720c8132428c07d8fe57ec81 04-Aug-2011 Marek Olšák <maraeo@gmail.com> r600g: remove an unused parameter from r600_bo_destroy

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
ab630b5768b0bfa4d7729d110ce4fb8f42e0cfb9 04-Aug-2011 Marek Olšák <maraeo@gmail.com> r600g: use buffer_map/unmap from radeon_winsys

This also drops the unneeded bo_busy/wait functions.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
e2e1dc9e66ff348caa97b7b35e558d75c6cc6899 04-Aug-2011 Marek Olšák <maraeo@gmail.com> r600g: set the flush callback in radeon_winsys

I have also renamed the winsys function.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
2ce783d8ddec1b1fcadc0798af0ebb045bba1cc4 02-Aug-2011 Marek Olšák <maraeo@gmail.com> r600g: put radeon_winsys in screen::winsys, don't include drm_driver in the pipe

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
ce12f826927cf2d3ac3fd70d893abfb07adc23db 22-Jul-2011 Marek Olšák <maraeo@gmail.com> r600g: first step into winsys/radeon

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
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
babb26776fadb683be9dacb492efcdc455b176ab 04-Aug-2011 Marek Olšák <maraeo@gmail.com> r600g: remove more of unused code

This is a follow-up to f6df430a85141f6a384c18079fb5b2ad848dac0d.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
17b695e6e7dd730497fb60a8e161935b23fa0e9c 06-May-2011 Bryan Cain <bryancain3@gmail.com> gallium: add PIPE_SHADER_CAP_INTEGERS
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
3093cbaad9962df8ad35f2c1c42d6b1259381498 18-Jul-2011 Henri Verbeet <hverbeet@gmail.com> r600g: Get rid of leftover PB_USAGE_* flags.

These happen to work because their values are the same as the equivalent
PIPE_TRANSFER_* flags, but it's still misleading.

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
efc7fda4627919b5355952d955ee4a2c98505e56 12-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] add some more PIPE_VIDEO_CAPs
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
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
b3b946b0ab88c1d7edeab183d8ad5125ba223392 09-Jul-2011 Henri Verbeet <hverbeet@gmail.com> r600g: Store the chip class in r600_pipe_context.

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
ea78480029450c019287c2a94d7c42a6a1d12dc3 08-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] and finally remove pipe_video_context
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
4e837f557bf5f5afb286e1f2244ed69c0092c2d6 08-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] move video buffer creation out of video context
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
3bb33c911b895819fde5e179b2466c08f88164cf 08-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] remove the unused priv member from pipe_video_context
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
2ec350ff1d9f13ec95d7b9d46f57ad9b9efcc8ea 08-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] make pipe_context mandatory for creation pipe_video_context
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.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
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
f265a194263bb2a3fa204947a9c98f472835f121 07-Jul-2011 Christian König <deathsimple@vodafone.de> [g3dvl] rename get_param to get_video_param and move into screen object
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
18cdb9c8abfb5d9f009fcb36ab788f48792207e4 05-Jul-2011 Henri Verbeet <hverbeet@gmail.com> r600g: Use the actual Evergreen functions to query format support on Evergreen.

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
865f9272189697932d96a318f60efb99344ab944 05-Jul-2011 Henri Verbeet <hverbeet@gmail.com> r600g: Get rid of the unused "family" parameter to r600_is_vertex_format_supported().

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.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
61c976c3ccc815aaf0128eea835aee9667cd8bbe 29-Jun-2011 Vadim Girlin <vadimgirlin@gmail.com> r600g: fix check for empty cs
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
eafd331cf3b024001abd3f64861f41cd33a9acb2 24-Jun-2011 Vadim Girlin <vadimgirlin@gmail.com> r600g: implement fragment and vertex color clamp

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

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
1e5cef96d184b00eb588b48ecd02386998077d82 23-Jun-2011 Marek Olšák <maraeo@gmail.com> r600g: bump shader input limits
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
badf0335ef70223204fbae3e8fdef718cdb3ad19 19-Jun-2011 Marek Olšák <maraeo@gmail.com> r600g: implement seamless_cube_map on r600-r700

st/mesa guarantees that all bound sampler states have the same value
in seamless_cube_map.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
13c9a8552bc83b1ad91442caacf847cb6cead2b5 15-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: add TXD support.

This at least passes the piglit arb_shader_texture_lod-texgrad test,
the AMD shader analyzer seems to multiply the V component by an unspecified
constant value no idea why.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
13dcf3f20da063c2cf740873d0c596f05073a6bf 14-Jun-2011 Marek Olšák <maraeo@gmail.com> r600g: disable shader_texture_lod until there is driver support
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
92563476e451a7df131822a8bcdedc2c161ed75f 10-Jun-2011 Pierre-Eric Pelloux-Prayer <pelloux@gmail.com> r600g: remove useless call to u_upload_flush

No regressions found with :
- piglit (quick.tests)
- Unigine Heaven
- Lightsmark
- openarena
- Imprudence (Second Life fork)

agd5f Note: this patch was previously reverted due to piglit
regressions, but I'm not able to reproduce them here.
See this bug:
https://bugs.freedesktop.org/show_bug.cgi?id=34008
and discussion:
http://lists.freedesktop.org/archives/dri-devel/2011-June/011996.html

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
1eb957bb4108123bea95b818e0544e3b5f255e08 05-Jun-2011 Christian König <deathsimple@vodafone.de> Merge remote-tracking branch 'origin/master' into pipe-video
414cd5df50435f475d92b02c229453d037369c0f 04-Apr-2011 Alex Deucher <alexdeucher@gmail.com> r600g: add llano support

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
7779f6d1dffde2c0501e44adc342e52803de08d4 09-Mar-2011 Dave Airlie <airlied@redhat.com> r600g: add initial cayman acceleration support.

Cayman is the RadeonHD 69xx series of GPUs. This adds support for
3D acceleration to the r600g driver.

Major changes:
Some context registers moved around - mainly MSAA and clipping/guardband related.
GPR allocation is all dynamic
no vertex cache - all unified in texture cache.
5-wide to 4-wide shader engines (no scalar or trans slot)
- some changes to how instructions are placed into slots
- removal of END_OF_PROGRAM bit in favour of END flow control clause
- no vertex fetch clause - TC accepts vertex or texture

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.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
d931b0d8b360fc0222d295eca38aaee3e4e5d0be 02-May-2011 Marek Olšák <maraeo@gmail.com> r600g: implement seamless_cube_map for evergreen

The r600/r700 support will follow soon.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
93754d8499934a4c38e9a934d0a934c1484b707c 03-May-2011 Marek Olšák <maraeo@gmail.com> r600g: reorder caps
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
320adb93a137a733da4b44f41e2d8ba01f164568 03-May-2011 Marek Olšák <maraeo@gmail.com> r600g: set correct PIPE_CAP_MAX_COMBINED_SAMPLERS
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
b2a98c3531c276b76024bb9b10fdd6c3360cb0c9 25-Apr-2011 Henri Verbeet <hverbeet@gmail.com> r600g: Unify comment style somewhat.

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
de48199693484fc903627ce53b007901af2e37a8 24-Apr-2011 Dave Airlie <airlied@redhat.com> r600g: enable EXT_draw_buffers2

Doesn't cause any piglit regression and passes the fbo-draw-buffers-blend
test.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.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
fc8e30edbcc802aac61a3562a3be42bb18b5dcd5 17-Apr-2011 Marek Olšák <maraeo@gmail.com> r600g: disable ARB_draw_instanced

The very presence of this extension breaks things.
This should bring us closer to being able to run Unigine Heaven.

The extension will be re-enabled once gl_InstanceID is implemented.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
b5dfc38eea8a4b497574ca791452c11fa4163c8a 16-Apr-2011 Marcin Slusarz <marcin.slusarz@gmail.com> gallium: include u_format.h for util_format_is_supported

Without it gcc complains:
nv50_screen.c: In function ‘nv50_screen_is_format_supported’:
nv50_screen.c:48: warning: implicit declaration of function ‘util_format_is_supported’

and handles it wrongly - util_format_is_supported returns boolean, which is typedef'ed
to uchar, but function without prototype is assumed to return int.

For me nv50_screen_is_format_supported was returning true for float formats without
--enable-texture-float...
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.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.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
5c477ab2de9fb2ad3b0e4ae53f5930f1288cb90e 11-Apr-2011 Marek Olšák <maraeo@gmail.com> r600g: handle PIPE_CAP_FRAGMENT_COLOR_CLAMP_CONTROL in get_param
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
09eff39a58885bb3b8507d02920b53b4e81a66ea 07-Apr-2011 Henri Verbeet <hverbeet@gmail.com> r600g: Unreference framebuffer state on context destruction.

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
4a7f013f9db793dab8dbc9f71646dab49f12ed2f 29-Mar-2011 Marek Olšák <maraeo@gmail.com> gallium: set PIPE_CAP_MIXED_COLORBUFFER_FORMATS in some drivers
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
948e1eb8e9c166ad5b74abc630d0760768ce78c9 29-Mar-2011 Fredrik Höglund <fredrik@kde.org> r600g: implement the pipe_screen fence functions

v2: Allocate the fences from a single shared buffer object.
v3: Allocate the r600_fence structs in blocks of 16.
Spin a few times before calling sched_yield in r600_fence_finish().
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.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
d6fea4a9856598961dd0f69436df749e5aa8d077 14-Mar-2011 Alex Deucher <alexdeucher@gmail.com> r600g: Original R600 does not support per-MRT blends

Only rv6xx+ support them.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
7e02303497237cde958c28608477d0c355a8038b 08-Mar-2011 Marek Olšák <maraeo@gmail.com> gallium: remove flags from the flush function

The drivers have been changed so that they behave as if all of the flags
were set. This is already implicit in most hardware drivers and required
for multiple contexts.

Some state trackers were also abusing the PIPE_FLUSH_RENDER_CACHE flag
to decide whether flush_frontbuffer should be called.
New flag ST_FLUSH_FRONT has been added to st_api.h as a replacement.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
e968975cb57eb854769292f7c6ff773c64a386c3 08-Mar-2011 Marek Olšák <maraeo@gmail.com> gallium: remove the geom_flags param from is_format_supported
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
eac50295fccb983281423e825e57ab4a2a5bbbfb 07-Mar-2011 Henri Verbeet <hverbeet@gmail.com> r600g: Constant buffers can contain up to 4096 constants.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
95c7881ac8240fa369e33db411bbd165d0f61948 05-Mar-2011 Marek Olšák <maraeo@gmail.com> gallium: split CAP_INSTANCE_DRAWING into INSTANCEID and INSTANCE_DIVISOR

ARB_instanced_arrays is a subset of D3D9.
ARB_draw_instanced is a subset of D3D10.

The point of this change is to allow D3D9-level drivers to enable
ARB_instanced_arrays without ARB_draw_instanced.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
0eccb1038a620bc76ba45ac00c293b3e88427510 03-Mar-2011 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video
929be6eb95c33d5885a89b36dbc82db64c1344fe 01-Mar-2011 Dave Airlie <airlied@redhat.com> r600g: start using drm minor version to enable things.

If the drm minor version is > 9 (i.e. whats in drm-next),
we enable s3tc + texture tiling by default now.

this changes R600_FORCE_TILING to R600_TILING which can
be set to false to disable tiling on working drm.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
b97e41c7b18c363a303693fb841fe606b1106fe6 28-Feb-2011 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video
c33e091d17b90df61f7b3873a2f124c4f26adf06 28-Feb-2011 Jerome Glisse <jglisse@redhat.com> r600g: indentation fixes

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
96bbc627f369c0100b950f81531b1fe9ef586c34 28-Feb-2011 Christian König <deathsimple@vodafone.de> r600g: implement instanced drawing support
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.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
69d969e8fafd3357a140072f0f4bbf0f28db9769 17-Feb-2011 Dave Airlie <airlied@redhat.com> r600g: EXT_texture_array support.

This adds EXT_texture_array support to r600g, it passes the piglit
array-texture test but I suspect may not be complete.

It currently requires a kernel patch to fix the CS checker to allow
these, so you need to use R600_ARRAY_TEXTURE=true for now
to enable them.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
0ed5bf668db24fb56b5b359399099c89531e2a0a 14-Feb-2011 Fabian Bieler <der.fabe@gmx.net> r600g: Request DWORD aligned vertex buffers.

The spec says that the offsets in the vertex-fetch instructions need to be byte-aligned and makes no specification with regard to the required alignment of the offset and stride in the vertex resource constant register.

However, testing indicates that all three values need to be DWORD aligned.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
8e0437914bb786d0b05be8f95e4ff37bf5a19f44 11-Feb-2011 Dave Airlie <airlied@redhat.com> r600g: add support for s3tc formats.

On r600, s3tc formats require a 1D tiled texture format,
so we have to do uploads using a blit, via the 64-bit and 128-bit formats

Based on the r600c code we use a 64 and 128-bit type to do the
blits.

Still requires R600_ENABLE_S3TC until the kernel fixes are in,
this has only been tested on evergreen where the kernel doesn't
yet get in the way.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
f0b202ec73855bd9e1b29909c8ac90393043cb8b 08-Feb-2011 Marek Olšák <maraeo@gmail.com> r600g: slab-allocate buffer and transfer structures
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
467023e8080489abeff53e18ac83560eaf851827 08-Feb-2011 Marek Olšák <maraeo@gmail.com> r600g: use the same upload buffer for vertices, indices, and constants

This should reduce memory consumption.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
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
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
f53cbf8bb0e542a114b76467fe715ceb977411ab 08-Feb-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: make the uploader public
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
d8d5c2660f581821f017fdcb7954c6f7bd099114 08-Feb-2011 Marek Olšák <maraeo@gmail.com> Revert "r600g: do not flush the uploader" (with comments)

This reverts commit 1c2a4f0820ff2272f993e6da28dcf8bcbbc3252a.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
077c448d184799e0d9ec962013ec784c6a5c1807 07-Feb-2011 Henri Verbeet <hverbeet@gmail.com> r600g: Add support for relative addressing on constant buffers.

Relative addressing of constant buffers can't work properly through the
kcache, since you can only address within the currently locked kcache window.
Instead, this patch binds the constant buffer as a shader resource, and then
explicitly fetches the constant using a vertex fetch with fetch type
VTX_FETCH_NO_INDEX_OFFSET from the shader. There's probably still some room
for improvement, doing the fetch right before the instruction that needs the
value may not be quite optimal for example.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
b9fd1a1e4b2121225195056ea1b679d62c399ddb 07-Feb-2011 Henri Verbeet <hverbeet@gmail.com> r600g: Remove vs_resource and ps_resource from the pipe context.

These are practically unused, only the vs_resource array is being abused for
fetch shader resources.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
a22bda9f80070393581c6ac512c03aa3144577ef 07-Feb-2011 Marek Olšák <maraeo@gmail.com> r600g: correctly report supported vertex formats
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
aa8a2224a3df111a1613f0baefebc00883e1b70b 07-Feb-2011 Marek Olšák <maraeo@gmail.com> r600g: use the new vertex buffer manager
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
1c2a4f0820ff2272f993e6da28dcf8bcbbc3252a 06-Feb-2011 Marek Olšák <maraeo@gmail.com> r600g: do not flush the uploader
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
2d7738eb2bee41656953d1173926f546c6711bad 28-Jan-2011 Marek Olšák <maraeo@gmail.com> r600g: consolidate draw_vbo functions (v2)

Added a conditional to spi_update per Dave's comment.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
5cefe1eddd4854490aebdf4f138ffb07aa59073c 28-Jan-2011 Marek Olšák <maraeo@gmail.com> r600g: make r600_drawl inherit pipe_draw_info
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
02f8f134643f631364ca621fe0b6d6b72449e00c 28-Jan-2011 Marek Olšák <maraeo@gmail.com> r600g: add back u_upload_mgr integration

I can't see a performance difference with this code, which means all
the driver-specific code removed in this commit was unnecessary.

Now we use u_upload_mgr in a slightly different way than we did before it got
dropped. I am not restoring the original code "as is" due to latest
u_upload_mgr changes that r300g performance benefits from.

This also fixes:
- piglit/fp-kil
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
6dc0a0e71f3a911437a88798145e18d176703482 28-Jan-2011 Marek Olšák <maraeo@gmail.com> r600g: handle PIPE_CAP_ARRAY_TEXTURES
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
90c2fd86407999475ff6accecf36e5a2c75feb9b 23-Jan-2011 Mathias Fröhlich <Mathias.Froehlich@web.de> r600g: Implement timer queries.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
78faf8d0e9c276a0ff1465e501d58fb3d66de2f7 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
ef3b8042e00fa4ac371f61b0832d1d5e73cff52f 16-Jan-2011 Christian König <deathsimple@vodafone.de> r600g: fix PIPE_CAP_INSTANCED_DRAWING warning
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
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
6d9ca78ef7bf831b9b63f4bda68623cbae627508 07-Jan-2011 Dave Airlie <airlied@redhat.com> r600g: allow constant buffers to be user buffers.

This provides an upload facility for the constant buffers since Marek's
constants in user buffers changes.

gears at least work on my evergreen now.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
f54366bcf61a414885abb9f7f47e897598a80859 07-Jan-2011 Alex Deucher <alexdeucher@gmail.com> r600g: add support for NI (Northern Islands) GPUs

This adds support for Barts, Turks, and Caicos asics.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
878519b73e5ff80df98591f70e6d53d05ed46f2f 24-Dec-2010 Henri Verbeet <hverbeet@gmail.com> r600g: Get rid of r600_blit_uncompress_depth_ptr.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
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
7055068eeae7f64166cca513282829d5a3e9b9d3 08-Dec-2010 Jerome Glisse <jglisse@redhat.com> r600g: specialized upload manager

Allow important performance increase by doing hw specific implementation
of the upload manager helper. Drop the range flushing that is not hit with
this code (and wasn't with previous neither). Performance improvement are
mostly visible on slow CPU.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
afc56b1861c1dae4137493af4c0e6dacc6ee41f9 06-Dec-2010 Jerome Glisse <jglisse@redhat.com> r600g: avoid useless shader rebuild at draw call

Avoid rebuilding constant shader state at each draw call,
factor out spi update that might change at each draw call.
Best would be to update spi only when revealent states
change (likely only flat shading & sprite point).

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
fa86fc564aea4e40c89f6fc889e6a5bf817634b3 04-Dec-2010 Jerome Glisse <jglisse@redhat.com> r600g: build fetch shader from vertex elements

Vertex elements change are less frequent than draw call, those to
avoid rebuilding fetch shader to often build the fetch shader along
vertex elements. This also allow to move vertex buffer setup out
of draw path and make update to it less frequent.

Shader update can still be improved to only update SPI regs (based
on some rasterizer state like flat shading or point sprite ...).

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
119f00659c03c48cfab0f2770dd6b6fb89af31e4 03-Dec-2010 Jerome Glisse <jglisse@redhat.com> r600g: indentation fix

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
fae7cb8ed83d43b28a7837acdb4912714a955217 02-Dec-2010 Alex Deucher <alexdeucher@gmail.com> r600g: bump texture/cb limits appropriately for evergreen
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
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).
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
0e4c5f63b9023b292b88b2f0d5d0f6154e8ad263 22-Nov-2010 Alex Deucher <alexdeucher@gmail.com> r600g: add support for ontario APUs

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.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>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
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
7ffd4e976fd11b8c083c2927effd25a2f79ac841 17-Nov-2010 Jerome Glisse <jglisse@redhat.com> r600g: code cleanup (indent, trailing space, empty line ...)

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
5c7127c07c3933662bc5447ce4a83b4e8af3b473 12-Nov-2010 Marek Olšák <maraeo@gmail.com> r600g: fill out CAPs for indirect addressing
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
195bbe8ce218533569dde1368d04da0fd229913d 11-Nov-2010 Christian König <deathsimple@vodafone.de> Merge remote branch 'origin/master' into pipe-video
9f064116458ff68b92f179a19be4615f003eaa3e 07-Nov-2010 Henri Verbeet <hverbeet@gmail.com> r600g: Mention AMD in the renderer string.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
01b39b053b0cb6c7493b560b26734f3c4fa52efa 03-Nov-2010 José Fonseca <jfonseca@vmware.com> r600g: Swap the util_blitter_destroy call order.

Trivial change that avoids a segmentation fault when the blitter state
happens to be bound when the context is destroyed.

The free calls should probably removed altogether in the future -- the
responsibility to destroy the state atoms lies with whoever created it,
and the safest thing for the pipe driver is to not touch any bound state
in its destructor.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
52ba68d0b071620c891122d8049ec77568aa8d19 31-Oct-2010 Tilman Sauerbeck <tilman@code-monkey.de> r600g: Destroy the winsys in r600_destroy_screen().

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
ecb1b8b98f7b2464e29e56a1f1bf87f74129ac08 31-Oct-2010 Tilman Sauerbeck <tilman@code-monkey.de> r600g: Delete custom_dsa_flush on shutdown.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
c49dcaef65296dd51d374d3f903734c46b601b2d 30-Oct-2010 Tilman Sauerbeck <tilman@code-monkey.de> r600g: We don't support PIPE_CAP_PRIMITIVE_RESTART.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
41ed47d6b8fb6c032e2907ef2e49e414c26f35c1 28-Oct-2010 Christian König <deathsimple@vodafone.de> Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa into pipe-video

Conflicts:
src/gallium/include/pipe/p_format.h
8ad9d83fdfc609303cebba3d811064b91aed6b0b 24-Oct-2010 Tilman Sauerbeck <tilman@code-monkey.de> r600g: Destroy the blitter.

This fix got lost in the state rework merge.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
4381580936f07e0c5eb0ad7c51d2ccf765000d08 23-Oct-2010 Christian König <deathsimple@vodafone.de> First xvmc-r600 implementation
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
e68c83a5a01a8a659857310cfcc785c7e028d3f0 21-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: initial translate state support
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
7b3fa038830663de9bceded1b0dd2d64b8cf39c4 08-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: get tiling info from kernel
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
560427667006f01ad9146fa07185924d4f3a08d6 13-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: the vs/ps const arrays weren't actually being used.

completely removed them.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
d59498b78041b8a7a046ac2c892e7a1896f59ca2 13-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: reduce size of context structure.

this thing will be in the cache a lot, so having massive big struct
arrays inside it won't be helping anyone.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
39d1feb51e9dac794751e72f48faf26409a84b1c 06-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: add shader stencil export support.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
ea1d818b58d6ff9e4cd0c40eb865beabde8f268c 11-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: enable vertex samplers.

We need to move the texture sampler resources out of the range of the vertex attribs.

We could probably improve this using an allocator but this is the simple answer for now.

makes mesa-demos/src/glsl/vert-tex work.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
7af2a22d1f10fa1f556e0d0c55092184ff734c88 02-Oct-2010 Vinson Lee <vlee@vmware.com> r600g: Remove unnecessary headers.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
084c29baedf2702200b310d6e63a5d0f95aaac37 01-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: fix evergreen depth flushing.

although evergreen can apparantly sample direct from 24-bit,
just make it work with the current method for now.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
4378c17c88c6d1fb046f53ef83955fd7fbd992db 30-Sep-2010 Dave Airlie <airlied@redhat.com> r600g: return string for chip family

use same strings as r600c.
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
dbcd6526021c50770c3e5e04b04dc64c70298124 30-Sep-2010 Dave Airlie <airlied@redhat.com> r600g: clean up some code from move to new paths.

mainly remove 2 suffix from function names
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
6abd7771c6ab2c733b20835e211060dd18fd847d 29-Sep-2010 Jerome Glisse <jglisse@redhat.com> r600g: more cleanup

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c
1235becaa1cf7e29f580900592563c3329d326de 29-Sep-2010 Jerome Glisse <jglisse@redhat.com> r600g: cleanup

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_pipe.c