History log of /external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
78222e63630280b96488de0d51d1b2578e26f814 30-Jan-2013 Jerome Glisse <jglisse@redhat.com> r600g: add cs memory usage accounting and limit it v3 (backport for mesa 9.0)

We are now seing cs that can go over the vram+gtt size to avoid
failing flush early cs that goes over 70% (gtt+vram) usage. 70%
is use to allow some fragmentation.

The idea is to compute a gross estimate of memory requirement of
each draw call. After each draw call, memory will be precisely
accounted. So the uncertainty is only on the current draw call.
In practice this gave very good estimate (+/- 10% of the target
memory limit).

v2: Remove left over from testing version, remove useless NULL
checking. Improve commit message.
v3: Add comment to code on memory accounting precision

This version is a backport for mesa 9.0

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
41d14eaf193c6b1eb87fe1998808a887f1c6c698 06-Sep-2012 Jerome Glisse <jglisse@redhat.com> r600g: fix num of dwords needed for alphatest_state atom

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
64db3cc6ad2d52dec46119e5b80030393cb60bf4 30-Aug-2012 Marek Olšák <maraeo@gmail.com> r600g: implement MSAA for Cayman

Everything works except for blitting MSAA colorbuffers, which isn't
so trivial on Cayman. It's a rarely-used feature anyway.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.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_state_common.c
48edfe0505ee79d35f770f53b9c9b7ca3c69fd2b 13-Aug-2012 Marek Olšák <maraeo@gmail.com> r600g: cleanup names around depth decompression

for consistency with the upcoming color decompression naming

Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
951ac46a6a0a901b53a518c8dcde734578cbf228 14-Aug-2012 Marek Olšák <maraeo@gmail.com> r600g: rename r600_resource_texture to r600_texture
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
d663a557fd27d7c238248e19f22f2e6b05f03030 10-Aug-2012 Brian Paul <brianp@vmware.com> r600: update sampler, sampler_view code for the future

For when we have pipe->set_sampler_states(pipe, shader, start, num, samplers),
etc.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
a01791add08fbcb5386e0e9209ba21ed58fbdc42 22-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: implement set_sample_mask
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
26cb887ea213be2445e0fd64364d9264ed4fbfd2 04-Aug-2012 Marek Olšák <maraeo@gmail.com> r600g: implement alpha-to-one
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
2df399c34bb39122a45bdd5b430b48346542e1cb 01-Aug-2012 Jerome Glisse <jglisse@redhat.com> r600g: atomize sampler state v2

Use atom for sampler state. Does not provide new functionality
or fix any bug. Just a step toward full atom base r600g.

v2: Split seamless on r6xx/r7xx into it's own atom. Make sure it's
emited after sampler and with a pipeline flush before otherwise
it does not take effect.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
c3c83af380d703cdc24475bd39baa1722c333b44 18-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: setup streamout before calling last r600_need_cs_space before drawing

This fixes CS checker errors due to registers not being initialized, because
the flush occured after dirty state was emitted but before drawing.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
f237fd431b512f1d67c88a8d29581b5bef143bbf 18-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: update R600_MAX_DRAW_CS_DWORDS to take draw-opaque into account
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
30257c32910c3f7ac2b9cc24399d6be196d34d26 18-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: move VGT_STRMOUT_DRAW_OPAQUE_OFFSET initialization into invariant state
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
d9ba1b0beb6a78e208128e758bd22173fe4a8234 18-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: only set the index type if drawing is indexed
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
ff9a49328e5d8b647aeb7511a01e5a41592a2799 18-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: inline r600_context_draw_opaque_count
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
de4fd087cbccd47e703f750968b79525ddbe4554 18-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: always derive alphatest state from the first colorbuffer
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
bc2f5fc01e678ecd19f921e5bc7bd55c131dde66 18-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: atomize alphatest state
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
5130196c0b3cbdb1944918d7f8d4db24d026deea 18-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: try to fix line stippling with lineloops

The piglit test is failing, but visually it looks almost correct.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
5d8d4252f2f6632fc455dcf1079c95495ef445ac 14-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: convert sampler view emission into atoms

Vertex and constant buffers are emitted in the same way.
This is mainly a simplification of the code. The cleanup is in another patch.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
7022f49b52cb8b414a3716a08deb741cce9ed75c 14-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: only make constant buffers dirty if there's something to update
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
80755ff56317446a8c89e611edc1fdf320d6779b 14-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: properly track which textures are depth

This fixes the issue with have_depth_texture never being set to false.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
ba48f47ebf7f017db0507b92a3ca83e404dc586c 14-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: consolidate code for setting sampler views and fix bugs in the process

Issues fixed:

- set_vs_sampler_views for evergreen is now properly implemented.

- Added the missing inval_texture_cache call for evergreen.

- have_depth_texture was sometimes incorrectly set to false on evergreen even
if there were depth textures in other shader stages. To fix this, set it
to true once and never set it to false again. It's stupid, but it matches
the r600 code. The proper fix is left to another patch.

- Optimizaton: The sampler views which aren't changed aren't updated.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
d1ca16b2738644d17c10e736ca36981f69f5fa87 14-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: remove unused flag have_depth_fb

This is a leftover from:

commit fe1fd675565231b49d3ac53d0b4bec39d8bc6781
Author: Marek Olšák <maraeo@gmail.com>
Date: Sun Jul 8 03:10:37 2012 +0200

r600g: don't flush depth textures set as colorbuffers
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
585baac652ffa172fb3fbbdd4c7559d03b7c27ef 06-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: do fine-grained vertex buffer updates

If only some buffers are changed, the other ones don't have to re-emitted.
This uses bitmasks of enabled and dirty buffers just like
emit_constant_buffers does.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
bc6bff79475ab0996923a105fa699a19fb65455e 15-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: compute needed CS space for vertex buffers correctly
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
c2f444c54db82a53f63fa7a103770ee5eedc3559 12-Jul-2012 Tom Stellard <tstellar@gmail.com> r600g: Emit vertex buffers using the same method as constant buffers

Signed-off-by: Marek Olšák <maraeo@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
5a17d8318ec2c20bf86275044dc8f715105a88e7 08-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: flush depth textures bound to vertex shaders

This was missing/broken. There are also minor code cleanups.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
dee58f94af833906863b0ff2955b20f3ab407e63 08-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: do fine-grained depth texture flushing

- maintain a mask of which mipmap levels are dirty (instead of one big flag)
- only flush what was requested at a given point and not the whole resource
(most often only one level and one layer has to be flushed)

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
df79eb59566f20a7fa8e11d87b63b81ec35eaf25 07-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: remove is_flush from DSA state

we can just update the state when decompressing, there's no need to add
additional info into the DSA state

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
4fe74412cfdba9af6ce878aebbb0c367f19cbb4b 07-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: move CB_SHADER_MASK setup into cb_misc_state

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
a1a1ff5ec09acda0c4849c9e41a37ae82a80f000 07-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: move MULTIWRITE setup into cb_misc_state for r6xx-r7xx

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
0ea76916e63f8fc556f5e8f5a46c196d317cd5ad 07-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: move CB_TARGET_MASK setup into new cb_misc_state

to remove some overhead from draw_vbo. This is a derived state.

BTW, I've got no idea how compute interacts with 3D here, but it should
use cb_misc_state, so that 3D and compute don't conflict.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
e00e1586dd94c1bbcd1ecfd9649fde9281be1977 25-Jun-2012 Tom Stellard <thomas.stellard@amd.com> r600g: Add pkt_flag parameter to r600_context_block_emit_dirty()

This allows the shader type bit to be set in the pm4 header when
emitting registers for compute shaders.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
b75f1d973c7b626dba567b792be5a3539855a705 26-Jun-2012 Jerome Glisse <jglisse@redhat.com> r600g: enable DUAL_EXPORT mode when possible on r6xx/r7xx

DUAL_EXPORT can be enabled on r6xx/r7xx when all CBs use 16-bit export
and there is no depth/stencil export.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
470d00c0e270c6079232d0d5ab10bf3219768faf 26-Jun-2012 Vadim Girlin <vadimgirlin@gmail.com> r600g: enable DUAL_EXPORT mode when possible

It seems DUAL_EXPORT on evergreen may be enabled when all CBs use 16-bit export
mode (EXPORT_4C_16BPC), also there should be at least one CB, and the PS
shouldn't export depth/stencil.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
0c47d9dcab80923c61b3f5375128e9b511b842fb 26-Jun-2012 Vadim Girlin <vadimgirlin@gmail.com> r600g: avoid unnecessary shader exports v2

In some cases TGSI shader has more color outputs than the number of CBs,
so it seems we need to limit the number of color exports. This requires
different shader variants depending on the nr_cbufs, but on the other hand
we are doing less exports, which are very costly.

v2: fix various piglit regressions

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
4acf71f01ea1edb253cd38cc059d4af1a2a40bf4 11-Jun-2012 Vadim Girlin <vadimgirlin@gmail.com> r600g: cache shader variants instead of rebuilding v3

Shader variants are stored in the list, the key for lookup is based on the
states that require different hw shaders - currently it's rctx->two_side (all
gpus) and rctx->nr_cbufs (evergreen/cayman, when writes_all property is set).

v2:
- use simple list instead of keymap as suggested by Marek on irc
- call r600_adjust_gprs from r600_bind_vs_shader for r6xx/r7xx
(r600_shader_select isn't used for vertex shaders currently)

v3:
- fix call to r600_adjust_gprs - do it after updating current shader

Improves performance for some apps, e.g. FlightGear -
see https://bugs.freedesktop.org/show_bug.cgi?id=50360

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
cc2cd8b356e137c83600d5e1804fd6162ce687c9 26-Jun-2012 Marek Olšák <maraeo@gmail.com> r600g: don't disable streamout if it hasn't been started
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
31a25dac98ea20ba853128f98987c6358d8e0598 27-Apr-2012 Dave Airlie <airlied@redhat.com> r600g: setup COLOR1 for possible dual-src in the framebuffer bind

As pointed out by Marek, if we have only one cb, we may as well add this
single register write here rather than adding it in the draw loop.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
bb4c5d72d7c7cb1d9e7016e2c07c36875f30011a 11-May-2012 Marek Olšák <maraeo@gmail.com> Merge branch 'gallium-userbuf'

Conflicts:
src/gallium/docs/source/screen.rst
src/gallium/drivers/nv50/nv50_state.c
src/gallium/include/pipe/p_defines.h
src/mesa/state_tracker/st_draw.c
4a26454e979251db25bab68685835fa32c099429 22-Apr-2012 Dave Airlie <airlied@redhat.com> r600g: bypass alpha for integer types (v2)

This moves the alpha test control to derived state and disables alpha
testing for integer fbs.

fbo-blending test in piglit gets further when we do this (not a pass
but less fail).

v2: drop the fb_sx_alpha_test_control

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
0b7d48cbad86eaac21fce3793da41b46db8be3b4 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: add void *user_buffer to pipe_constant_buffer

This reduces CPU overhead when updating constants.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
bf469f4edc60bd1c5fd770cb231b8d5ab801427f 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: add void *user_buffer in pipe_index_buffer

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

User index buffers have been disabled in nv30, nv50, nvc0 and svga to keep
things working.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
507337864fa80caf9f26602324d2c28dd0a75d61 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: change set_constant_buffer to be UBO-friendly
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
23b948057ad33cf0b27e5c88a8e9ff7dbfa0573c 01-Apr-2012 Marek Olšák <maraeo@gmail.com> r600g: move updating vertex buffer state into set_vertex_buffers
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
a52b3338c6e51421e3836ae210cd98d9c1ec337b 10-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: remove u_vbuf_resource
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
5ec7c28fdbc2e05d20b1a07cba1fe6ac3b6658f9 31-Mar-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: override draw_vbo
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
889238c8b1e6b8ac5eed30ec3122be94216ca7cf 31-Mar-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: override create/bind/destroy_vertex_elements_state
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
2d03d4f4a365d7af5f4dac20700009152eba1682 31-Mar-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: override set_vertex_buffers
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
31714ea4d5a20285f398286fe45b53d0609926dd 31-Mar-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: override set_index_buffer

This makes u_vbuf_mgr call the driver instead of the other way around.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
62b0323cf6af90aa2be89ec76ec3693213b0de5e 23-Apr-2012 Dave Airlie <airlied@redhat.com> r600g: split add_reg into add_reg and add_reg_bo variants

This shaves 2k off the final dri.so, and removes lots of pointless
NULL, 0 passing.

most like pointless - but it looked nicer to me.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
34e53adc51ade8d53d74b6ae35bec90f1a6b9b29 02-Apr-2012 Marek Olšák <maraeo@gmail.com> r600g: inline r600_upload_index_buffer
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
e9abb2cd6e93681504fbcf323c790e3950304734 02-Apr-2012 Marek Olšák <maraeo@gmail.com> r600g: inline r600_upload_const_buffer
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
82a7fe6f5c93e6787f99124974af0dbcafef5fb1 02-Apr-2012 Marek Olšák <maraeo@gmail.com> r600g: handle DISCARD_WHOLE_RESOURCE for buffers

This should prevent stalls and therefore increase perfomance in some cases.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
68bbfc1afe210d82acfb14a78b0fd8c436a8f78c 01-Apr-2012 Marek Olšák <maraeo@gmail.com> r600g: rework state emission of constant buffers

Framerate in ipers:
before: 43.6 FPS
after: 46.6 FPS

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
c76462b45f1e3a0aa2ee7971191e30e8a5f52015 30-Mar-2012 Marek Olšák <maraeo@gmail.com> r600g: rework state emission of vertex buffers

This reduces a little of CPU overhead.
The idea is to translate pipe vertex buffers directly into the CS
and not using any intermediate representations.

Framerate in Torcs:
before: 32.2
after: 34.6

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
5c03d1fa0fbe130153a2e4c937f684c680ca20b2 30-Mar-2012 Marek Olšák <maraeo@gmail.com> r600g: kill off the fallback for crazy src_offset values

st/mesa doesn't allow src_offset to be greater than stride and the maximum
stride r600 supports is 2047.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
7f2156c9bd35893a82eff92ae780ca97e52f389d 03-Apr-2012 Marek Olšák <maraeo@gmail.com> r600g: remove dead code in r600_update_derived_state
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
80e4d18f84748f903cea07b9bba2d519cfa4163a 08-Mar-2012 Marek Olšák <maraeo@gmail.com> Revert "r600g: rework rasterizer discard for evergreen"

I will use SX_MISC instead.

This reverts commit 734792e83fdc526623d8fe0a60479648c936bd53.

Conflicts:

src/gallium/drivers/r600/evergreen_hw_context.c
src/gallium/drivers/r600/evergreen_state.c
src/gallium/drivers/r600/r600_hw_context.c
src/gallium/drivers/r600/r600_pipe.h
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
330b6c85c961b32f704ce8ec7dbf8cb7fc0b80a8 05-Mar-2012 Marek Olšák <maraeo@gmail.com> r600g: cleanup includes
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
428146c14fed5b41e3da9e72488396f214b23b0d 27-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: initialize VS_GS_OUT_PRIM_TYPE

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
734792e83fdc526623d8fe0a60479648c936bd53 24-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: rework rasterizer discard for evergreen

Implement it right using STRMOUT_CONFIG.RAST_STREAM. This fixes rasterizer
discard with points and lines.

This also adds another derived state. It's a combination of rasterizer discard
and streamout enable.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.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_state_common.c
edc0ce292b5a34ba1e2ef96c0b530fbf8428e67d 21-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: remove duplicated set_xx_resource functions

Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
8f5c172c854a52b2a69b8383a55c76f1faa5f704 02-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: consolidate the main draw code

The code was almost the same for r600 and eg. What can't be consolidated is
in the *_prepare functions.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
182fd4c54476ced92b61412b0cac5be32e257b53 02-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: move all invariant state from draw_vbo into start_cs
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.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_state_common.c
73191026b4198a3dce86dac015f973616f76363a 02-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: remove redundant r600_context::vs_so_stride_in_dw
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
014198ec8860d8a0abfd6aa0ddd8db9d26febdbb 14-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: consolidate set_blend_color code
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
5cc9aa0e02f222fd6a8f16f65d8c7f5eda06f893 14-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: consolidate more translate functions
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
9a20130e5f703e9e9279965183993b95907c7d6b 14-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: consolidate some translate functions
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
b0337b679ad4c2feae59215104cfa60b58a619d5 31-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: shorten expressions accessing family and chip_class
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.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_state_common.c
3b0467192057cc561b6d495d6445b2ed04fc3ebf 30-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: consolidate some context_draw code
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
78293b99b23268e6698f1267aaf40647c17d95a5 29-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: remove u8,u16,u32,u64 types
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
85db52025189c88437f82369716ffe88429dc08b 29-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: don't use r600_context_reg on r6xx-r7xx

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
b1b969f670c50a15110fd41527ccbc7e885e1cdd 29-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: don't use r600_context_reg on evergreen

Just getting rid of things which use the register mask.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
9344ab382a1765c1a7c2560e771485edf4954fe2 29-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: get rid of the mask in r600_pipe_reg

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
4a058aebb2ce340d0e03434a8820fdf5853b971e 29-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: get rid of the mask parameter in pipe_state_add_reg

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
a494301f7fd4c93df67396d296a3edc6acfa44c3 29-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: don't use register mask for PA_CL_CLIP_CNTL

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
97acf2ca59defd3bcba946cdb014ee7b440f9186 29-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: don't use register mask for PA_CL_VS_OUT_CNTL

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
a652cc40b9641d0b51e0a8533924a50073a50aae 29-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: don't use register mask for PA_SU_SC_MODE_CNTL

It's always emitted in draw_vbo.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
2000086fcd5174f121f61dd6df5948c67101e148 29-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: don't add PA_SC_LINE_STIPPLE to rasterizer_state

It's always emitted in draw_vbo.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
84b4b2a8aacf6655d3f2a9f03dec3913a00aabdb 29-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: don't use register mask for CB_COLOR_CONTROL on r6xx-r7xx

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
a2361946e782b57f0c63587841ca41c0ea707070 28-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: rework and consolidate stencilref state setting

Stop using the register mask.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
1a9d2b764295f561aa9c24f504bd8cf3f95e7f54 24-Jan-2012 Vadim Girlin <vadimgirlin@gmail.com> r600g: fix linear and flat interpolation

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
c2b800cf38b299c1ab1c53dc0e4ea00c7acef853 23-Jan-2012 Marek Olšák <maraeo@gmail.com> r600g: nuke the fallback for vertex and fragment color clamping
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
91d47296967ebfaf685f3870998ea0a1450ecf55 15-Jan-2012 Vadim Girlin <vadimgirlin@gmail.com> r600g: implement clip distances

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
725a820b926575265e6790601a0defd9c30947dc 06-Jan-2012 Vadim Girlin <vadimgirlin@gmail.com> r600g: implement two-sided lighting (v3)

v2: select the colors in the pixel shader

v3: fix rs state creation for pre-evergreen

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
2449695e822421fdcaf1c66dffc12d7d705ea69d 17-Dec-2011 Marek Olšák <maraeo@gmail.com> gallium: improve the pipe_stream_output_info struct (v2)

There are 3 changes:

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

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

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

Christoph Bumiller: fixed nvc0.

v2: resolve merge conflicts in Draw and clean it up
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
bb1f0cf3508630a9a93512c79badf8c493c46743 02-Dec-2011 Jerome Glisse <jglisse@redhat.com> r600g: add support for virtual address space on cayman v11

Virtual address space put the userspace in charge of their GPU
address space. It's up to userspace to bind bo into the virtual
address space. Command stream can them be executed using the
IB_VM chunck.

This patch add support for this configuration. It doesn't remove
the 64K ib size limit thought this limit can be extanded up to
1M for IB_VM chunk.

v2: fix rendering
v3: fix rendering when using index buffer
v4: make vm conditional on kernel support add basic va management
v5: catch the case when we already have va for a bo
v6: agd5f: update on top of ioctl changes
v7: agd5f: further ioctl updates
v8: indentation cleanup + fix non cayman
v9: rebase against lastest mesa + improvement from Marek & Michel
v10: fix cut/paste bug
v11: don't rely on updated radeon_drm.h

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
ce44bae366ade59fb2dbdfbfe5a1ab8d24518a57 03-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: implement another upload codepath which unrolls indices

Improves performance from cca 1 fps to 23 fps in Cogs.
This new codepath is not always used, instead, there is a heuristic which
determines whether to use it. Using translate for uploads is generally
slower than what we have had already, it's a win only in a few cases.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
e98521e0f3ef430adc0eb2587ffe83844e24be06 02-Dec-2011 Vadim Girlin <vadimgirlin@gmail.com> r600g: check shaders presence in r600_draw_vbo

This patch should prevent the crashes when some shaders are absent,
see https://bugs.freedesktop.org/show_bug.cgi?id=43341

Note this is a candidate for the stable branch.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
c95bd12bec0834715894ee42e89e26c31a4ffac4 20-Nov-2011 Marek Olšák <maraeo@gmail.com> r600g: use u_vbuf_mgr to set/get the index buffer
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
dd2227e3fd30970793e4998ca7837cb887fd52d5 20-Nov-2011 Marek Olšák <maraeo@gmail.com> r600g: set MIN/MAX_VTX_INDX to 0 and ~0, respectively

The CS checker doesn't check the regs and the state-tracker-provided values
are not to be trusted.

This also removes the hack for non-zero index bias.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
391e33ffbf01180d66d4c4e9a6c91fc17f9feaca 06-Nov-2011 Dave Airlie <airlied@redhat.com> r600g: add initial linestipple support.

It seems line loop stipple in hardware needs something I don't know, it might
need a proper geometry shader who knows.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
e532c710c60f0895e32af6562ac2855aa7d5eb63 04-Nov-2011 Vadim Girlin <vadimgirlin@gmail.com> r600g: move SPI setup to PS setup

SPI semantic indices for PS/VS are now static, so we don't
need to update spi config for every shaders combination. We can move
the functionality of r600_spi_update to r600(evergreen)_pipe_shader_ps.

Flatshade state is now controlled by the global FLAT_SHADE_ENA flag
instead of updating FLAT_SHADE for all inputs.

Sprite coord still requires the update of spi setup when
sprite_coord_enable is first changed from zero (enabled), and then
only when it's changed to other non-zero value (enabled for other input).
Change to zero (disabling) and back to the same value is handled via
global SPRITE_COORD_ENA.

New field "sprite_coord_enable" added to "struct r600_pipe_shader"
to track current state for the pixel shader. It's checked in the
r600_update_derived_state.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
5b27b63de64167a84a03d820550e56c4b7bbc69d 05-Nov-2011 Vadim Girlin <vadimgirlin@gmail.com> r600g: precalculate semantic indices for SPI setup

There is no need to duplicate semantic mapping which is done in hw, so get
rid of r600_find_vs_semantic_index.

TGSI name/sid pair is mapped to the 8-bit semantic index for SPI.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
df121b868a13e7ca76f19d1488b625c02d632a47 04-Nov-2011 Alex Deucher <alexander.deucher@amd.com> Revert "r600g: precalculate semantic indices for SPI setup"

This reverts commit c15f8569fddac5f8aee77863922fd5bb992cfe8a.

This breaks r6xx.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
9212637f34c6600daaf162f95ca49e3c42abbc40 04-Nov-2011 Alex Deucher <alexander.deucher@amd.com> Revert "r600g: move SPI setup to PS setup"

This reverts commit 9804cf3118ae7249098af2a9c78b36f4fb576ee4.

This breaks r6xx.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
9804cf3118ae7249098af2a9c78b36f4fb576ee4 04-Nov-2011 Vadim Girlin <vadimgirlin@gmail.com> r600g: move SPI setup to PS setup

SPI semantic indices for PS/VS are now static, so we don't
need to update spi config for every shaders combination. We can move
the functionality of r600_spi_update to r600(evergreen)_pipe_shader_ps.

Flatshade state is now controlled by the global FLAT_SHADE_ENA flag
instead of updating FLAT_SHADE for all inputs.

Sprite coord still requires the update of spi setup when
sprite_coord_enable is first changed from zero (enabled), and then
only when it's changed to other non-zero value (enabled for other input).
Change to zero (disabling) and back to the same value is handled via
global SPRITE_COORD_ENA.

New field "sprite_coord_enable" added to "struct r600_pipe_shader"
to track current state for the pixel shader. It's checked in the
r600_update_derived_state.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
c15f8569fddac5f8aee77863922fd5bb992cfe8a 04-Nov-2011 Vadim Girlin <vadimgirlin@gmail.com> r600g: precalculate semantic indices for SPI setup

There is no need to duplicate semantic mapping which is done in hw, so get
rid of r600_find_vs_semantic_index.

TGSI name/sid pair is mapped to the 8-bit semantic index for SPI.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
a19e6a8f2840be9a59e46c8d408658715ae47bf0 27-Oct-2011 Marek Olšák <maraeo@gmail.com> r600g: remove redundant variable r600_pipe_context::blit
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
69e48e7220f018d874e85eea6962ec58b1feba87 26-Oct-2011 Marek Olšák <maraeo@gmail.com> r600g: remove redundant assignment of pipe_draw_info in draw_vbo
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
344039d81d3cc079dd73b3b703ff613c344904e0 26-Oct-2011 Marek Olšák <maraeo@gmail.com> r600g: cleanup draw_vbo and add comments
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
765503bb5dc21dd9cacf11039fa1555b887804f2 25-Oct-2011 Marek Olšák <maraeo@gmail.com> r600g: move some code out of draw_vbo into new r600_update_derived_state
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
3d7934760930fdf208032aca2d933baf7768fdfc 25-Oct-2011 Marek Olšák <maraeo@gmail.com> r600g: cleanup some magic numbers
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
dc651aff0c725846c86a32c1c076d66b3b38318f 25-Oct-2011 Marek Olšák <maraeo@gmail.com> r600g: don't render if pipe_draw_info::count is 0

Also call r600_conv_pipe_prim earlier.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
44afac04eaac08eb49938001a65363bef6bd3d3b 26-Sep-2011 Marek Olšák <maraeo@gmail.com> r600g: add index_bias to index buffer bounds

This fixes ARB_draw_elements_base_vertex with max_index != ~0.

NOTE: This is a candidate for the 7.11 branch.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
0b3270b9b72c2ca4fad172752045d8fa93c1ad6e 25-Sep-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: cleanup original vs real vertex buffer arrays

It can now override both buffer offsets and strides in additions to resources.
Overriding buffer offsets was kinda hackish and could cause issues with
non-native vertex formats.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
c4519c3aec37f5cb3db8fe7e8ead13ae04e792b5 02-Sep-2011 Marek Olšák <maraeo@gmail.com> r600g: fix texture array filtering

This fixes piglit/fbo-generatemipmap-array.

It looks like SQ_TEX_SAMPLER_WORD0_0.TEX_ARRAY_OVERRIDE should be set
for array textures in order to disable filtering between slices,
which adds a dependency between sampler views and sampler states.

This patch reworks sampler state updates such that they are postponed until
draw time. TEX_ARRAY_OVERRIDE is updated according to bound sampler views.

This also consolidates setting the texture state between vertex and
pixel shaders.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.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_state_common.c
47dcfb8dab517e2c92af2f4813b0f5ad200b8b07 07-Aug-2011 Marek Olšák <maraeo@gmail.com> r600g: set read/write usage flags for each relocation

This takes advantage of the new GEM_WAIT ioctl when mapping buffers.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
e69dde5233a2fc6ad4c5483d079e1ea3a2123a59 23-Jul-2011 Marek Olšák <maraeo@gmail.com> r600g: remove dummy function r600_bo_offset

Always returned 0.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
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_state_common.c
3acae4591566ed9560798e23edb5416e6a614a21 25-Jun-2011 Alex Deucher <alexdeucher@gmail.com> r600g: limit fs_write_all shader rebuild to eg+

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
feec48114b261f43c8dc94c06cfccea3b6ef1689 25-Jun-2011 Alex Deucher <alexdeucher@gmail.com> r600g: eg+ support for FS_COLOR0_WRITES_ALL_CBUFS

Evergreen+ don't support multi-writes so we need to emulate
it in the shader. Fixes the following piglit tests:
fbo-drawbuffers-fragcolor
ati_draw_buffers-arbfp-no-option

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
d81126b714cd4de0ab036bb22bf4103f5fcec015 24-Jun-2011 Vadim Girlin <vadimgirlin@gmail.com> r600g: optimize spi update

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
e251b3903a6aadd49cec6a9ce1ce466e3fcbbdcd 21-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: use maths instead of a loop to work out mask.

This is equivalent results with less looping.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
59a402cecd74e0a7a277f5af0b8a2707857846ed 21-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: optimise draw vbo function a bit more.

this drop a bunch of unnecessary checks (i.e. should be trapped
at gallium level), and also removes the switch statement in favour
of some calculated values for the vgt values.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
d1f66a9424d087f81d0040aafde033bd5cb1ca72 19-Jun-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: make u_vbuf_mgr_draw_begin return flags in a bitmask
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
016621ee142682153cb292cd3774e6d9377871ae 14-Jun-2011 Vadim Girlin <vadimgirlin@gmail.com> r600: fix SPI inputs setup on r600/r700

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
9346d895e7ff6c1f01b46513694542026ffba5cc 13-Jun-2011 Vadim Girlin <vadimgirlin@gmail.com> r600g: skip SPI setup for position and face inputs

fixes fdo bug 38145

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
2743851c1a73305dd83e42b99edc49906d9c0a51 07-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: move depth texture flushing out of line.

this needs a piglit run.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
04554c7d3a3b28e8103e50ed54f1ac57c6c11017 08-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: adjust vs/ps gprs on r600/r700 cards when needed.

Ideally we'd have a compiler and register spilling and all that
but this is good enough for now to avoid the gpu hang in piglit,

glsl-vs-vec4-indexing-temp-dst-in-nested-loop-combined

on r600/r700 cards.

based on r600c patch
Andre Maasikas <amaasikas@gmail.com>
r600c: bump sq gpr resources if a shader needs more than default

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
e66053d01c011e3bdcf1cdab8ea9224b868ae246 07-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: take alpha ref update out of line.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
cf0f02e501eb2eb8edcf2c4f6db826b0cdd31c9b 03-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: move resource setting to its own structures.

resource setting could be a fair bit more lightweight,
this patch just separates the resource structs from the standard
reg tracking structs in the driver, later patches will improve
the winsys.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
4077336fc79353ca369dc5865f5fada920fc96e0 03-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: move spi update to only when states change.

This updates the spi state after ps/vs binding or rasteriser state
change.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
de0adb691feb2ae7f64dd74ed6bc5a9e0f493631 03-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: make conv pipe prim table driven.

This is a lot more branch predictor friendly, it actually
showed up in cachegrind profiles.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
51d0892ee2daaa442a48abff2329e1485dd337e8 03-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: sampler and texture state doesn't need a range/block.

These are handled separately in the winsys, so don't need the calculations
done at this point. this manifested as a crash in point-sprite,

Thanks to XoD on #radeon for pointing it out.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
b0dc2d0c3b964c2670554a91b4ee79360fd5934a 02-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: add spi state and move spi/vgt to modify register

This modifies the VGT state and move the SPI setup to its own discrete state.

It then just sets the SPI state up and the VGT state up once and modifies
them thereafter.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
573758fd094431c8b3220786cea28dfdb4cfad1c 02-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: decrease CPU time on set buffer resources

This splits the initialisation and the setting of values in the resource
buffers. We only should end up initialising once and updateing with new values
when needed.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
4423c79ddf6853d1d4594afda3e1262c1b9af4f5 02-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: work out range/block etc at state build time.

This moves the overhead of working out the range/block to state build time,
it also allows the compiler to use constants for a lot of things instead
of working them out each time.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
42502b6f03230b828121f60143190c39bc5c8dda 02-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: deinline r600_pipe_state_add_reg.

This is going to get too big to be a forced inline. Also going to remove it
from some hotpaths.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
9eb86f89a9d6471a92519064547a3937a6f89762 02-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: optimise state setting in r600_draw_vbo.

This drop the r600_draw_vbo CPU usage on a run of nexuiz from 1.40% to 0.72%
in sysprof for me on my Fusion APU.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
f60235e73a5260f92630ce472e06d8c5c00414fb 05-May-2011 Henri Verbeet <hverbeet@gmail.com> r600g: Match alpha ref precision to color format precision.

This fixes piglit fbo-alphatest-formats on Evergreen.

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
d7577ae3a6d6e174ab36d244f6bd4dedd63c3d1d 25-Apr-2011 Henri Verbeet <hverbeet@gmail.com> r600g: Cleanup the big endian support a bit.

In particular, make sure the code is at least compiled on little endian
systems.

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
d737857ed2ff4313fd6046dcd80018c6308a53c5 25-Apr-2011 Dave Airlie <airlied@redhat.com> r600g: drop r600_helper.c no point in it

move the one function into state common

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
0a9cec3475fb14be8aa5fa66557d338556cd8ed5 24-Apr-2011 Dave Airlie <airlied@redhat.com> r600g: fix glean clipflat test.

the provoking vertex doesn't apply to quad/strip/polygon.

This fixes clipFlat on r600g.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
843dfe3206c4f397c7911b748373dde5540392a4 19-Apr-2011 Cédric Cano <ccano@interfaceconcept.com> r600g: add big endian support for r6xx/r7xx

Signed-off-by: Cedric Cano <ccano@interfaceconcept.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
719f07e45a4cd43d1edce196512b54f36ada53b1 08-Mar-2011 Christian König <deathsimple@vodafone.de> r600g: set start instance correctly
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
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_state_common.c
96bbc627f369c0100b950f81531b1fe9ef586c34 28-Feb-2011 Christian König <deathsimple@vodafone.de> r600g: implement instanced drawing support
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
e9d993e9b9d7ea2b4a9be7caa4e5a73fe5126cbe 14-Feb-2011 Marek Olšák <maraeo@gmail.com> r600g: do not destroy the original index buffer when translating indices

Because we only translate a subrange of the buffer.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.c
5c59eebfae55240a2308c02b0a6ad971c9b83304 07-Feb-2011 Henri Verbeet <hverbeet@gmail.com> r600g: Generalize the pipe_add_vertex_attrib() functions.

This allows them to be used for VS or PS buffer resources as well.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.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_state_common.c
b13b7b86b2e1165b24a2df20cb67f9f3baa17b13 03-Feb-2011 Dave Airlie <airlied@redhat.com> r600g: rework dirty / depth texture tracking.

this adds a flag to keep track of whether the depth texture structure
is the flushed texture or not, so we can avoid doing flushes when
we do a hw rendering from one to the other.

it also renames flushed to dirty_db which tracks if the DB copy
has been dirtied by being bound to the hw.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
7fb722c35c2d2cb74b14417a8ddc0684ed6dd838 31-Jan-2011 Christian König <deathsimple@vodafone.de> r600g: fix invalid ref count handling in r600_set_constant_buffer

Only decrement ref count if r600_upload_const_buffer
really changes the buffer.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
38b54158b68479e1f97c8452ba0d67f50dce7582 30-Jan-2011 Henri Verbeet <hverbeet@gmail.com> r600g: Update the flushed depth texture after drawing to the corresponding texture.

I know Jerome will probably rewrite the way depth textures work sometime
soon. For the time being this should at least make common depth texture usage
for shadowing work properly though.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
73a40d1383071fe25599509d218f4c40d049988d 29-Jan-2011 Marek Olšák <maraeo@gmail.com> r600g: rework vertex format fallback

1) Only translate the [min_index, max_index] range.
2) Upload translated vertices via the uploader.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
70e656b4ebdd3cd2962ce66544ae9af349ecd59a 29-Jan-2011 Marek Olšák <maraeo@gmail.com> r600g: fix vertex format fallback

This fixes:
- piglit/draw-vertices
- piglit/draw-vertices-half-float
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
8c631cfeae29b5236928f759e222aa35e6e4984c 28-Jan-2011 Marek Olšák <maraeo@gmail.com> r600g: rework vertex buffer uploads

Only upload the [min_index, max_index] range instead of [0, userbuf_size].
This an important optimization.

Framerate in Lightsmark:
Before: 22 fps
After: 75 fps

The same optimization is already in r300g.
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
15730a8207374936e354d945730070cb29c9547c 29-Jan-2011 Marek Olšák <maraeo@gmail.com> r600g: consolidate set_constant_buffer functions
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
73fb2b7c9074c8878e8ff617ad6d6a21b93b66f2 29-Jan-2011 Marek Olšák <maraeo@gmail.com> r600g: consolidate vertex_buffer_update functions
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.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_state_common.c
2dd189a824d4c5c5157aaf381d5e424317a8d1e4 22-Dec-2010 Dave Airlie <airlied@redhat.com> r600g: fix evergreen segfaults.

evergreen was crashing running even gears here.

This is a 7.10 candidate if its broken the same.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
abe9ffc25c8d65b48ae02cdc8445b212b9f61632 20-Dec-2010 Jerome Glisse <jglisse@redhat.com> r600g: properly unset vertex buffer

Fix bug http://bugs.freedesktop.org/show_bug.cgi?id=32455

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
54773415f407678eb9728ac347cc8302e2d76c74 14-Dec-2010 Jerome Glisse <jglisse@redhat.com> r600g: fix segfault when translating vertex buffer

Note the support for non float vertex draw likely regressed need to
find what we want to do there.

candidates for 7.10 branches

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
4523285e518702ac9be839851765d8d0d2461eca 13-Dec-2010 Alex Deucher <alexdeucher@gmail.com> r600g: fix rendering with a vertex attrib having a zero stride

The hardware supports zero stride just fine. This is a port
of 2af8a1983180fc0168c1e0e53bcc69ee3d684ea4 from r300g.

NOTE: This is a candidate for both the 7.9 and 7.10 branches.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.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_state_common.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_state_common.c
0b841b0349d7aca218eac4e9d9b7b1406ad71944 03-Dec-2010 Jerome Glisse <jglisse@redhat.com> r600g: update polygon offset only when rasterizer or zbuffer change

Aim is to build as little state as possible in draw functions.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
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_state_common.c
a20c2347a0bb9e0e1591b070ee5d0cac81168114 24-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: drop more common state handling code
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
9612b482e2c8e994709bcaab79185224b4d76670 23-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: merge more of the common r600/evergreen state handling
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
9f9d24c89a2286f952b123c703e8268d2f1aa719 23-Oct-2010 Tilman Sauerbeck <tilman@code-monkey.de> r600g: Fixed r600_vertex_element leak.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c
f39e6c9c816b603a4ed8fd8cda8569b7e13c1f68 21-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: start splitting out common code from eg/r600.

no point duplicating code that doesn't touch hw, also make it easier
to spot mistakes
/external/mesa3d/src/gallium/drivers/r600/r600_state_common.c