History log of /external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
42b73955808d7b33cf8f65fc8b4abe53aeaba135 20-Feb-2017 Nicolai Hähnle <nicolai.haehnle@amd.com> radeonsi: fix UINT/SINT clamping for 10-bit formats on <= CIK

The same PS epilog workaround as for 8-bit integer formats is required,
since the CB doesn't do clamping.

Fixes GL45-CTS.gtf32.GL3Tests.packed_pixels.packed_pixels*.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
(cherry picked from commit 066a117be77fdc2b29c8eafabb4e2c2fa902a18e)
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
35cd7551a443477147293e562d8c1adfbe00dea9 17-Jan-2017 Marek Olšák <marek.olsak@amd.com> radeonsi: use the correct target machine when building shader variants

If the shader selector is created with a different context than
the shader variant, we should use the calling context's target machine
for the shader variant.

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

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
3ae3be6dd44dbc5ac6ec847ce67c53c10479a75c 17-Jan-2017 Marek Olšák <marek.olsak@amd.com> radeonsi: move shader pipe context state into a separate structure

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
d5234156097ec34d77d7159ddfdb0b7fdaa7e3b0 06-Jan-2017 Marek Olšák <marek.olsak@amd.com> radeonsi: implement GL_FIXED vertex format

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
018fb2ecb3d962cfd732bab5f0d700c6419cd1d2 06-Jan-2017 Marek Olšák <marek.olsak@amd.com> radeonsi: implement 32-bit SNORM/UNORM/SSCALED/USCALED vertex formats

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
44e9b67229c91d6741e4284cff4ea23cc350ed18 06-Jan-2017 Marek Olšák <marek.olsak@amd.com> radeonsi: make fix_fetch 64-bit

v2: add u_bit_consecutive64

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
6f356d15be008d23dc01707fcf3ff7a3b5a5c4d3 03-Jan-2017 Marek Olšák <marek.olsak@amd.com> radeonsi: cleanly communicate whether si_shader_dump should check R600_DEBUG

Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com>
Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
72d48fcd8eb5862c72d27e5462c289c5de65396e 29-Nov-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: apply a multi-wave workgroup SPI bug workaround to affected CIK chips

All codepaths are handled except for clover.

Cc: 13.0 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
274fb601c2a335242903eb32aa68fbf1301c2ed7 26-Nov-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: count and report temp arrays in scratch separately

v2: only do this if debug output of shader dumping is enabled

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> (v1)
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
ef6c84b301ce15022d4907dfb0db5764e31e68f5 14-Nov-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: eliminate VS outputs that aren't used by PS at runtime

A past commit added the ability to compile "optimized" shader variants
asynchronously (not stalling the app).

This commit builds upon that and adds what is basically a runtime shader
linker. If a VS output isn't used by the currently-bound PS, a new VS
compilation is started without that output. The new shader variant
is used when it's ready.

All apps using separate shader objects I've seen had unused VS outputs.

Eliminating unused/useless VS outputs also eliminates the corresponding
vertex attribute loads.

Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
7e76f9a7a8041e2fe6aa557f1520358f1c323553 14-Nov-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: record information about all written and read varyings

It's just tgsi_shader_info with DEFAULT_VAL varyings removed.

Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
ed3190b3f3a776fc8c75b1e6130a88079166d115 13-Nov-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: don't export ClipVertex and ClipDistance[] if clipping is disabled

This is the first user of optimized monolithic shader variants.

Cull distances can't be disabled by states.

Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
d984a324bf8702adde68c006f1c3454233871e1c 13-Oct-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: add infrastr. for compiling optimized shader variants asynchronously

Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
fee71fec25efb9771a7c3fa15b120d4c816b59b5 13-Nov-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: simplify checking for monolithic compilation

Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
6d5c2a8b5c33122682d801f9b14a70e3d3d9a5cc 13-Nov-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: split the shader key into 3 logical parts

key->part.*: prolog and epilog flags only
key->as_{ls,es}: special flags
key->mono.*: flags for monolithic compilation only

Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
2c875158e2763d57e5dae8892af96a894bdb7dc9 02-Nov-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> radeonsi: fix vertex fetches for 2_10_10_10 formats

The hardware always treats the alpha channel as unsigned, so add a shader
workaround. This is rare enough that we'll just build a monolithic vertex
shader.

The SINT case cannot actually happen in OpenGL, but I've included it for
completeness since it's just a mix of the other cases.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
908f92ad1f8562490468716d789f4d78b543399c 31-Oct-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> radeonsi: generate GS prolog to (partially) fix triangle strip adjacency rotation

Fixes GL45-CTS.geometry_shader.adjacency.adjacency_indiced_triangle_strip and
others.

This leaves the case of triangle strips with adjacency and primitive restarts
open. It seems that the only thing that cares about that is a piglit test.
Fixing this efficiently would be really involved, and I don't want to use the
hammer of degrading to software handling of indices because there may well
be software that uses this draw mode (without caring about the precise
rotation of triangles).

v2:
- skip the GS prolog entirely if workaround is not needed
- only check for TES (TES is always non-null when tessellation is used)

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
3b2516721b91165936a25d1cfd88c65104ca04b1 31-Oct-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> radeonsi: make the GS copy shader owned by the GS selector

The copy shader only depends on the selector. This change avoids creating
separate code paths for monolithic vs. non-monolithic geometry shaders.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
3ec9975555d1cc5365413ad9062f412904f944a3 18-Oct-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: eliminate trivial constant VS outputs

These constant value VS PARAM exports:
- 0,0,0,0
- 0,0,0,1
- 1,1,1,0
- 1,1,1,1
can be loaded into PS inputs using the DEFAULT_VAL field, and the VS exports
can be removed from the IR to save export & parameter memory.

After LLVM optimizations, analyze the IR to see which exports are equal to
the ones listed above (or undef) and remove them if they are.

Targeted use cases:
- All DX9 eON ports always clear 10 VS outputs to 0.0 even if most of them
are unused by PS (such as Witcher 2 below).
- VS output arrays with unused elements that the GLSL compiler can't
eliminate (such as Batman below).

The shader-db deltas are quite interesting:
(not from upstream si-report.py, it won't be upstreamed)

PERCENTAGE DELTAS Shaders PARAM exports (affected only)
batman_arkham_origins 589 -67.17 %
bioshock-infinite 1769 -0.47 %
dirt-showdown 548 -2.68 %
dota2 1747 -3.36 %
f1-2015 776 -4.94 %
left_4_dead_2 1762 -0.07 %
metro_2033_redux 2670 -0.43 %
portal 474 -0.22 %
talos_principle 324 -3.63 %
warsow 176 -2.20 %
witcher2 1040 -73.78 %
----------------------------------------
All affected 991 -65.37 % ... 9681 -> 3353
----------------------------------------
Total 26725 -10.82 % ... 58490 -> 52162

v2: treat Undef as both 0 and 1

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> (v1)
Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com> (v1)
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
7dddf0b7ab9a222a79b647082ebfb8787c8559ac 12-Oct-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: adjust and clean up Z_ORDER and EXEC_ON_x settings

The table was copied from the Vulkan driver. The comment lines are as long
as the table for cosmetic reasons.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
77c81164bc1cd9ec98b32c40753f590791450434 09-Sep-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> radeonsi: support ARB_compute_variable_group_size

Not sure if it's possible to avoid programming the block size twice (once for
the userdata and once for the dispatch).

Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
3388f27d8439e75a0f4e64fd12f0433ccb2b3698 02-Oct-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: clean up lucky #include dependencies

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
275c073c6a49eacac85c21dc618d3c577f4d0495 10-Sep-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: export SampleMask from pixel shaders at full rate

Heaven and Valley write gl_SampleMask and not Z.
Use 16_ABGR instead of 32_ABGR if Z isn't written.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
8dbf2a857008599a9432d64c1363c5a1139e6acd 08-Aug-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> radeonsi: add DRAWID parameter to vertex shaders

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
1e5f00f9d5f412526d025f8f4762160ce7b5f2ba 22-Jul-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: pre-generate shader logs for ddebug

This cuts down the overhead of si_dump_shader when ddebug is capturing
shader logs, which is done for every draw call unconditionally (that's
quite a lot of work for a draw call).

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
dd66f9d3e71ba27960040375709a05f87b7a735b 22-Jul-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: move the shader key dumping to si_shader_dump

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
0f7a6ea5e7b95cfe10dd5c176858ca078b36a197 05-Jul-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: report accurate SGPR and VGPR spills

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
5c92c21369ee3b4f52eb5aed183092ba3ee7e079 11-Jun-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: do compilation from si_create_shader_selector asynchronously

Main shader parts and geometry shaders are compiled asynchronously
by util_queue. si_create_shader_selector doesn't wait and returns.
si_draw_vbo(si_shader_select) waits for completion.

This has the best effect when shaders are compiled at app-loading time.
It doesn't help much for shaders compiled on demand, even though
VS+PS compilation should take as much as time as the bigger one of the two.

If an app creates more shaders, at most 4 threads will be used to compile
them.

Debug output disables this for shader stats to be printed in the correct
order.

(We could go even further and build variants asynchronously too, then emit
draw calls without waiting and emit incomplete shader states, then force IB
chaining to give the compiler more time, then sync the compilation at the IB
flush and patch the IB with correct shader states. This is great for
compilation before draw calls, but there are some difficulties such as
scratch and tess states requiring the compiler output, and an on-disk shader
cache will likely be a much better and simpler solution.)

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
850cd953b16a12c85d39a454302da38b00cfe68c 11-Jun-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: separate the compilation chunk of si_create_shader_selector

The function interface is ready to be used by util_queue.
Also, si_shader_select_with_key can no longer accept si_context.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
4d1f32376d845c08d2fd7cc868f143bc7cf6f9c9 30-Jun-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: don't interpolate colors if flatshading is enabled

use v_interp_mov for those

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
4accb02d7a3722b3e1eb12252201846353f002b7 30-Jun-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: enable the barycentric optimization in all cases

Handle the bc_optimize SGPR bit if both CENTER and CENTROID are enabled.
This should increase the PS launch rate for big primitives with MSAA.
Based on discussion with SPI guys.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
476e9cee1d0cbe321c401277214e6c36ce5b18c9 30-Jun-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: compute only one set of interpolation (i,j) when MSAA is disabled

This should increase the PS launch rate for shaders using at least 2 pairs
of perspective (i,j) and same for linear.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
a675c6a00036e1718230359ff0407592ef10db9a 30-Jun-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: split ps.prolog.force_persample_interp into persp and linear bits

This reduces the number of v_mov's in the prolog.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
b42bc90b6add0d0f81d915d49712761d32329afa 01-Jun-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> radeonsi: enable WQM in PS prolog when needed

WQM is needed when the PS prolog computes a VGPR that is consumed by a shader
with (implicit or explicit) derivatives.

Depends on http://reviews.llvm.org/D20839 / LLVM r272063 for this to be
effective (otherwise it's just a no-op).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95130
Cc: 12.0 <mesa-dev@lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
26f436132bbeebb7ec5efd56c1473a13719daccf 10-May-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radeonsi: Remove LDS layout user SGPR's from TES.

They are unused.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
6217716e8f6091f7bbacbb9fa2f52997d3ac5d03 03-May-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radeonsi: Store inputs to memory when not using a TCS.

We need to copy the VS outputs to memory. I decided to do this
using a shader key, as the value depends on other shaders.

I also switch the fixed function TCS over to monolithic, as
otherwisze many of the user SGPR's need to be passed to the
epilog, which increases register pressure, or complexity to
avoid that. The main body of the fixed function TCS is not
that interesting to precompile anyway, since we do it on
demand and it is very small.

v2: Use u_bit_scan64.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
c49e68dc4bcc14cac529d1e3be5fe0090ed4d146 10-May-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radeonsi: Add user SGPR for the layout of the offchip buffer.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
d9a0c54f6f9811cfe6411a0ed4af8a1086b01b9d 01-May-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radeonsi: Use correct parameter index for LS_OUT_LAYOUT.

This happens to be in the right position, but that changes
when TCS/TES get new parameters.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
5c34562d7ce5d278c2948b4f27d16fcb3e4fd22d 02-May-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radeonsi: Add offchip tessellation parameters.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
3cbd8cfc7a19b58a57e7eb16c9a73fff42c68563 19-Apr-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: decrease GS copy shader user SGPRs to 2

const buffers are no longer used since the clip plane const buffer was
moved to RW buffers

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
3138a28ff2a6a7c9bbf315538412f84b549d694a 19-Apr-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: move default tess level constant buffer to RW buffers

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
38f4cee3ff36970254ddce238638c4b9724669e3 21-Apr-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radeonsi: Add config parameter to si_shader_apply_scratch_relocs.

shader->config is not updated for compute kernels.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
84a6761ae34105fbdb38757a07e229b2392545d3 29-Mar-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radeonsi: add shared memory

Declares the shared memory as a global variable so that
LLVM is aware of it and it does not conflict with passes
like AMDGPUPromoteAlloca.

v2: - Use ctx->i8.
- Dropped null-check for declare_memory_region.
- Changed memory region array to single region.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
753a3e472b4c026d96f9984b02b53f596a0d595e 17-Mar-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radeonsi: lower compute shader arguments

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
ed66c75784e3a51d414a6c4e90820d908d724b80 16-Apr-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: use enums in si_shader.h

Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
c495c0ad37dc6a4505a726e3ac0e3d83adc46d30 15-Mar-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> radeonsi: implement set_shader_buffers

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
e85cf35a6516c44e33663fcd9637c6b434bb63ee 07-Feb-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> radeonsi: implement set_shader_images (v2)

Whether DCC is disabled depends on the access flags with which the image
is bound: image_load supports DCC, but store and atomic don't.

v2: remove an unnecessary masking of images->desc.enabled_mask

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
74b4ce81fbbb513198b8d2cae0460aa779574964 25-Feb-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: allow dumping shader disassemblies to a file

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
d0f3b524cdb8489a6872ba3639a13813de221fc2 22-Feb-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: use re-Z

This can increase perf for shaders that kill pixels (kill, alpha-test,
alpha-to-coverage).

v2: add comments

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
ff360a52e6700d1085876169ed3b328910b394de 11-Feb-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: implement binary shaders & shader cache in memory (v2)

v2: handle _mesa_hash_table_insert failure
other cosmetic changes

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
1fe73d55e3f92b1dfbd619d46fd892fd169ae796 11-Feb-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: move some struct si_shader members to new struct si_shader_info

This will be part of shader binaries.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
10fa269f4f8e3d58c10e7b3ab317e2d65f8f2f3c 11-Feb-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: use smaller types for some si_shader members

in order to decrease the shader size for a shader cache.

v2: add & use SI_MAX_VS_OUTPUTS

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
3c98e0b369aa79b3adcbbd299fa510e825866416 28-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: compile non-GS middle parts of shaders immediately if enabled

Still disabled.

Only prologs & epilogs are compiled in draw calls, but each variant of those
is compiled only once per process.

VS is always compiled as hw VS.
TES is always compiled as hw VS.

LS and ES stages are always compiled on demand.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
4636d9be4a40138d0a10cadcb1b63eea89d95e34 15-Feb-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: add PS prolog

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
e79bb746ab8525d56f71948ebf3d6dbf8a3bdd4d 27-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: add PS epilog

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
eb10919b835a7eef420a839f479f02c7f0cd10e6 27-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: add TCS epilog

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
e1b21696a3c2c23ba401fab58ef042d31f7f6273 27-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: add VS epilog

It only exports the primitive ID.
Also used by TES when it's compiled as VS.

The VS input location of the primitive ID input is v2.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
70de433dea31c75a2e3f02ba3e060634ee66730d 27-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: add VS prolog

This is disabled with use_monolithic_shaders = true.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
19a92886a8c495c1bd7816faf974967776488f05 15-Feb-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: first bits for non-monolithic shaders

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
17eb99d8b9fa633776ff01abe4ccffcf81729d5c 26-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: add code for combining and uploading shaders from 3 shader parts

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
dc2745619459171ee8e5367c1d126d4695e92691 26-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: separate out shader key bits for prologs & epilogs

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
d995d4830e77d55552972dcc9d64e106f55fdc3f 03-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: compute how many input VGPRs fragment shaders have

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
fe1b6ede0134168815527fedbff8ce06cca5a3aa 01-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: compute how many input SGPRs and VGPRs shaders have

Prologs (shader binaries inserted before the API shader binary) need to
know this, so that they won't change the input registers unintentionally.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
7aedbbacae6d3ec3d06735fff2eb662964773ad2 06-Feb-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: put image, fmask, and sampler descriptors into one array

The texture slot is expanded to 16 dwords containing 2 descriptors.
Those can be:
- Image and fmask, or
- Image and sampler state

By carefully choosing the locations, we can put all three into one slot,
with the fmask and sampler state being mutually exclusive.

This improves shaders in 2 ways:
- 2 user SGPRs are unused, shaders can use them as temporary registers now
- each pair of descriptors is always on the same cache line

v2: cosmetic changes: add back v8i32, don't load a sampler state & fmask
at the same time

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
dc5fc3c2f60b4c208369e0eddbf416af059d88c7 26-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: make LLVM IR dumping less messy

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
b6d5666fbf2a4196462db7ea82918feae883daae 26-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: remove useless code that handles dx10_clamp_mode

"enable-no-nans-fp-math" is a wrong string and there was a disagreement
about fixing it.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
5a53628f45787370636b3b0a0c7d29cb80e1ada7 06-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: read SPI_PS_INPUT_ADDR from LLVM if it returns it

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
b9126dcda834ba9cf58af32e97f4b5d93c9817a3 03-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: implement forcing per-sample_interpolation using the shader key only

It was partly a state and partly emulated by shader code, but since we want
to do this in a fragment shader prolog, we need to put it into the shader
key, which will be used to generate the prolog.

This also removes the spi_ps_input states and moves the registers
to the PS state.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
4596f3c1b8bbcc83b841b6c7ea4a287a6f3210f7 02-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: remove si_shader::ps_input_interpolate

tgsi_shader_info has this too.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
6dda2455c88a752d513d842cc9be1833fe98a89c 02-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: move BCOLOR PS input locations after all other inputs

BCOLOR inputs were immediately after COLOR inputs. Thus, all following inputs
were offset by 1 if color_two_side was enabled, and not offset if it was not
enabled, which is a variation that's problematic if we want to have 1 variant
per shader and the variant doesn't care about color_two_side (that should be
handled by other bytecode attached at the beginning).

Instead, move BCOLOR inputs after all other inputs, so BCOLOR0 is at location
"num_inputs" if it's present. BCOLOR1 is next.

This also allows removing si_shader::nparam and
si_shader::ps_input_param_offset, which are useless now.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
efc4142acd0e5e43b9896440c1c8191d41ff273a 21-Jan-2016 Jan Vesely <jan.vesely@rutgers.edu> r600,compute: Plug few memory leaks

v2: drop inline keyword
drop radeon_llvm_dispose_kernel_module wrapper

v3: move definitions to .c file
use in radeonsi

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
c55b9499d5e3d2bb6772f0194b7556b87abf44b9 22-Jan-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> radeonsi: move is_gs_copy_shader to si_shader_context

It is only used during shader creation now, so no need to keep it around
afterwards.

Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
99dfeb01bd5c3e059968e934f3ec88b2fe43e3f4 15-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: disable SPI color outputs the shader doesn't write

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
f1f01588372a26b7c217fa1898eefea75290feed 15-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: add shader conversion code for all SPI color formats

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
8667a1aea2ac3fee9b1b663132dc1bea8ec21cda 11-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: use SPI_SHADER_COL_FORMAT fields instead of export_16bpc

This does change the behavior slightly:
If a shader writes COLOR[i] and that color buffer isn't bound,
the shader will export MRT_NULL instead and discard the IR tree that
calculates the output. The only exception is alpha-to-coverage, which
requires an alpha export.

v2: - update a comment about 16BPC
- account for MRTZ when when fixing alpha-test/kill

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
bca18057a359f98b5db0a6453abe4dc7dd70a31d 06-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: adjust the parameters of si_shader_dump

The function will be extended to dump all binaries shaders will consist of,
so si_shader* makes sense here.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
b0df5f4c19f2c084fe65b13f5712433c91ad83d0 03-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: inline si_shader_binary_read

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
c9c031f3d0ed28a65b78748ed1e6e2ec29336451 03-Jan-2016 Marek Olšák <marek.olsak@amd.com> radeonsi: move si_shader_dump call out of si_shader_binary_read

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
ccd7d7e13d708e6f4128bc09b42dd88bd606d49b 28-Dec-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: add si_shader_destroy_binary

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
5c9f104567c3b072aa103902ee5868a08ded4835 28-Dec-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: don't pass si_shader to si_compile_llvm

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
63345cfc3a8a0f2d9bb16deef2a24cebe9045642 28-Dec-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: don't pass si_shader to si_shader_binary_read

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
2d3a96448a6ce28a9955ef7b4d5c62228703e4a3 28-Dec-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: don't pass si_shader to si_shader_binary_read_config

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
20b9b5d7f527ca29f603242dc5355bd2e29c654d 28-Dec-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: add struct si_shader_config

There will be 1 config per variant, which will be a union of configs
from {prolog, main, epilog}. For now, just add the structure.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
e00f3f23b13e2ad99977005da2c1538f181e401d 23-Dec-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: set SPI color formats and CB_SHADER_MASK outside of compilation

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
746a7a74983a708edfd60ac2e501939844eacfc0 23-Dec-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: determine SPI_SHADER_Z_FORMAT outside of shader compilation

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
2cb8bf90cd21cdeba708ed4ee875a9e4ada128ae 23-Dec-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: determine DB_SHADER_CONTROL outside of shader compilation

because the API pixel shader binary will not emulate alpha test one day,
so the KILL_ENABLE bit must be determined elsewhere.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
86fa48426cef42d7224139603b52a7d16bd35eb5 28-Dec-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: remove unused parameter from si_shader_binary_read_config

Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
b6d95248f0c423dfde573617cffddb4fa2d3c8ab 27-Dec-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: move si_shader_binary_upload out of si_shader_binary_read

Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
fd7000bd7897565a7a019a7ec3aacb832d696d22 27-Dec-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: pass TGSI processor type to si_shader_binary_read for dumping

the parameter will be used later

Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
3ce0a2fd7f4270b036b4449a312cff8dcfd5925e 27-Dec-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: pass TGSI processor type to si_compile_llvm for dumping

the parameter will be used later

Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
dd79034ca68be7216615c824bac07ccae889004f 30-Dec-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: rename shader parameter definitions and variables for more clarity

Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
4bb1c8dfecef133822511f6147eac317e4690345 30-Dec-2015 Nicolai Hähnle <nicolai.haehnle@amd.com> radeonsi: pass pipe_debug_callback down into si_shader_binary_read (v2)

This will allow us to send shader debug info.

Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com> (v1)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
51603af3901b2e401d2009ec27b99996fc9ccffb 10-Dec-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: use tgsi_shader_info::colors_written

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
95e051091676584fd7bfba9d0316c3747bf17f35 16-Nov-2015 Tom Stellard <thomas.stellard@amd.com> radeonsi: Rename si_shader::ls_rsrc{1,2} to si_shader::rsrc{1,2}

In the future, these will be used by other shaders types.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
3694d58e6c4a39bd84e8aef0d8e67c3ae9447f33 15-Oct-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: remove dead code after ES-GS linkage change

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
d79a3449a70b35a7fd38e7b4e17cafcbc28dda0d 15-Oct-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: link ES-GS just like LS-HS

This reduces the shader key for ES.

Use a fixed attrib location based on (semantic name, index).

The ESGS item size is determined by the physical index of the highest ES
output, so it's almost always larger than before, but I think that
shouldn't matter as long as the ESGS ring buffer is large enough.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
b1c5f3faa9d7a227150b677469df1a5832236541 08-Nov-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: calculate optimal GS ring sizes to fix GS hangs on Tonga

I discovered that increasing the ESGS ring size fixes GS hangs on Tonga,
so let's do it properly.

There is now a separate init_config_gs_rings state that is not immutable,
because GS rings are resized when needed.

This also saves some memory. Most apps won't need more than 1MB
per ring per shader engine.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
4acd856088c31ab7ebbfbe5010db1fbcca72845c 08-Nov-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: calculate ESGS_RING_ITEMSIZE in create_shader

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
a0cf58996197d99cc7d743b76be977cc2359dca9 08-Nov-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: move maximum gs stream calculation into create_shader

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
3ab0c49f04e5039655ddc8b81cac325709b154fe 08-Nov-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: clean up small duplication in si_shader_gs

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
38391835b5cbdd52e7a3221ff98f402aefa1639b 17-Oct-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: fix the export_prim_id field size in the shader key

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
9b54ce3362f117b4d46497b578211bb26554dd78 07-Oct-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: support thread-safe shaders shared by multiple contexts

The "current" shader pointer is moved from the CSO to the context, so that
the CSO is mostly immutable.

The only drawback is that the "current" pointer isn't saved when unbinding
a shader and it must be looked up when the shader is bound again.

This is also a prerequisite for multithreaded shader compilation.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
5bc871a4caf97f4e07830ea463f445994c8d13b5 07-Oct-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: implement vertex color clamping

This is only supported in the compatibility profile (without GS and tess).

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
208d1ed38ddb7de8211a9ffc3d89ae176ef7e9d4 07-Oct-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: implement fragment color clamping

using the shader key for now.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
c4f086f3999894c9b6fe2de466add3bb09c8b354 09-Oct-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: remove an unused ctx parameter in si_shader_destroy

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
b3c55fc669b54589e57a112df75094405e16ff52 28-Sep-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: do force_persample_interp in shaders for non-trivial cases

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
c2a42d1f9ff104c562822d7ab2cbaa361666266b 29-Aug-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: don't rebind GSVS ring buffers every draw call using GS

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
f6a10f60b75821c20ce7cf338b519b92ed0330fc 28-Aug-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: optimize scissor states

- convert 16 states to 1 atom
- only emit 1 scissor if VIEWPORT_INDEX isn't written
- use only one packet when emitting consecutive scissors

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
9b510a9652297a63677f1d55b2bf444694fd94e1 29-Aug-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: fix a Unigine Heaven hang when drirc is missing

Cc: 10.6 11.0 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
93d97db3492cc1af8fb401ed5eb6766e608f744e 11-Jul-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: allow si_dump_key to write to a file

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
e7a52a5cb810de49a8282cb9f9caea5d554c3348 10-Aug-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: add support for gl_PrimitiveID in the fragment shader

It must be obtained from the VS.

The GS scenario A must be enabled for PrimID to be generated for the VS.

+ 4 piglits

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
4b6c1efb225777231459de54903484367d0b1ca1 17-Jul-2015 Dave Airlie <airlied@redhat.com> radeonsi: split out interpolation input selection

This is prep work for using it in the interpolation code
later.

Also add storage for the input interpolation mode so we
can pick it up later.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
ebfd9e007191d582e22d252e9ff9b93fe4f8c593 22-Feb-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: add tessellation shader states

ls_rsrc# will be emitted as part of the derived tessellation state

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
aa2fa6723a0f8ab86ce2e55b1ac093f2cffd87c6 22-Feb-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: update si_get_vs_info and si_get_vs_state for tessellation

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
fff16e4ad2cf51749e01e04805908effe49217d1 22-Feb-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: add shader code generation for tessellation

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
2ecb06b946ff8bf4a96de79ab81926fa1bf5a93f 06-Oct-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: make ES2GS offset sgpr location dynamic

It will have a different location in the tessellation evaluation shader.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
50a957c5de842b18e10c361f7b0310aa46bb483f 10-Jul-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: upload shader rodata after updating scratch relocations

Cc: 10.5 10.6 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
e4d738f6c6b98a78830c10ab7b89704d847637a5 10-Jul-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: remove redundant parameter in si_shader_binary_read

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
248b26429f52d0f19949a083aa3e0aeebcbe2138 06-Jul-2015 Michel Dänzer <michel.daenzer@amd.com> radeonsi: Use param export count from si_llvm_export_vs in si_shader_vs

This eliminates the error prone logic in si_shader_vs recalculating this
value.

It also fixes TGSI_SEMANTIC_CLIPDIST outputs incorrectly not being
counted for VS exports. They need to be counted because they are passed
to the pixel shader as parameters as well.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91193
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
556dd4af76ca0be9b0698139c06e6d12d52e8ff3 25-Jun-2015 Dave Airlie <airlied@redhat.com> radeonsi: add support for geometry shader invocations.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
d64adc3a79e419062432cfa8d1cbc437676a3fbd 26-Mar-2015 Michel Dänzer <michel.daenzer@amd.com> radeonsi: Cache LLVMTargetMachineRef in context instead of in screen

Fixes a crash in genymotion with several threads compiling shaders
concurrently.

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

Cc: 10.5 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
303d23e10d2caad69b2d122f45c78fee2906fc09 15-Mar-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: add shader code for smoothing

The fragment shader multiplies the alpha channel with gl_SampleMaskIn.
If blending is enabled, it looks like MSAA.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
bbfa1c323917cc54162a64e7882cecaaaa9a7b70 06-Mar-2015 Tom Stellard <thomas.stellard@amd.com> radeonsi/compute: Use value from compiler for COMPUTE_PGM_RSRC1.FLOAT_MODE

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
6c5af1dc4e7871ddd0383713b9d5382318a34fc9 31-Jan-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: implement polygon stippling

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
2397a721291457c146c7f4bcd48adcb3b2d979bd 10-Dec-2014 Tom Stellard <thomas.stellard@amd.com> radeonsi: Enable VGPR spilling for all shader types v5

v2:
- Only emit write SPI_TMPRING_SIZE once per packet.
- Use context global scratch buffer.

v3:
- Patch shaders using WRITE_DATA packet instead of map/unmap.
- Emit ICACHE_FLUSH, CS_PARTIAL_FLUSH, PS_PARTIAL_FLUSH, and
VS_PARTIAL_FLUSH when patching shaders.

v4:
- Code cleanups.
- Remove unnecessary multiplies.

v5:
- Patch shaders in system memory and re-upload to vram.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
32206c5e560cea8c992ec983e7f5324493385ead 23-Jan-2015 Tom Stellard <thomas.stellard@amd.com> radeonsi: Add radeon_shader_binary member to struct si_shader

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
1829f9c928836940fa13b12a8b073f09c26dc782 04-Jan-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: enable LLVM optimizations that assume no NaNs for non-compute shaders

v2: complete rewrite

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
15a7fff69a644856945f461e4b2c62c3a13872fb 04-Jan-2015 Marek Olšák <marek.olsak@amd.com> radeonsi: remove flatshade from the shader key

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
161534737c643e15bacf77b389daa18da325b74f 07-Dec-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: get info about VS outputs from tgsi_shader_info

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
1f4e48d5b53e73605832971f3fb06cb3402f97a5 26-Sep-2014 Tom Stellard <thomas.stellard@amd.com> radeonsi/compute: Enable PIPE_SHADER_IR_NATIVE for compute shaders v2

v2:
- Drop dependency on LLVM >= 3.5.1
- Rename si_create_shader() to si_shader_binary_read()
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
80677327404490e1bb4a37c065b4536940e74f73 04-Oct-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: remove shader->input[] and output[] arrays and dependencies

They were reinventing tgsi_shader_info. They are unused now.

radeon_llvm_context::load_input can be NULL if input fetching is implemented
in some other way.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
8b057ddaeaa1e5ef65f1dbd548b59f8bd0a943b1 04-Oct-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: move param_offset out of shader->input[] and output[]

Those are going away.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
fa933438a2fe19eab62a3f35b64d834b1176f8eb 04-Oct-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: use tgsi_shader_info in si_shader_ps

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
34e82005998138504147fd265f87825e4aace31f 04-Oct-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: don't recompile shaders when changing nr_cbufs from 0 to 1

Both cases are equivalent.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
5e0fbe1b631d883eb0e033938a534a259c8d95fd 04-Oct-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: remove vs.ucps_enabled from the shader key

Written CLIPDIST outputs are simply disabled in PA_CL_VS_OUT_CNTL.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
a9592cd3ac20143e01126ef1df372ecca54b41d1 04-Oct-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: assume ClipDistance usage mask is always 0xf

No code in Mesa sets the usage mask to any other value.
The final mask is AND'ed with enable bits from the rasterizer state anyway.

If somebody implements setting usage masks in st/mesa, we can use
tgsi_shader_info to get it more easily.

This is a prerequisite for the following commit.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
1f6c0b55df9f3553b18062ad2c7e2dc021d4c731 23-Sep-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: set number of userdata SGPRs of GS copy shader to 4

It only needs the constant buffer with clip planes and read-write resources
for the GS->VS ring and streamout. That's 2 pointers.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
91f1a79f78f7dfa84f93abe1e3efa68535e191a3 25-Sep-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: make the vertex shader key smaller

We only support 16 vertex attribs, not 32.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
10e386f4aa3ef8ce1c60ec5be0865cc61bd093e2 30-Sep-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: remove interp_at_sample from the key, use TGSI_INTERPOLATE_LOC_SAMPLE

st/mesa has the same flag in its shader key, we don't need to do it
in the driver anymore.

Instead, use TGSI_INTERPOLATE_LOC_SAMPLE, which is what st/mesa sets.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
0a2d6f0c4e2230739aad6b6938925bf91d55d9d4 30-Sep-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: move geometry shader properties from si_shader to si_shader_selector

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
6c9f61c97e4d06afc5d86e50a83d22d60c35834a 30-Sep-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: remove unused variable si_shader::gs_input_prim

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
8860584045f8c534264f9d456bfafdb545d81437 30-Sep-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: get fs_write_all from tgsi_shader_info directly

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
5233568861b082ee288d845f447012fa47e8bd1e 30-Sep-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: get tgsi_shader_info only once before compilation

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
1abb1a97b0559b103c4a458def317c6440491a76 17-Sep-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: don't pass the context to the shader translator

This should prevent accessing context state there.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
e29353ff20a2761a5a1caeaed78398557797207c 17-Sep-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: don't snoop currently-bound GS shader when compiling ES

Instead, pass the layout of GS inputs in memory to the ES using the shader
key. Only 64 bits are needed to represent the layout in the key.

Mixing and matching different VS and GS shaders should now always work.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
2774abd4cec70d95cb73f83c2c150e9f5171c50d 16-Sep-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: shorten si_pipe_* prefixes to si_*

This was the original naming convention in r600g and it somehow crept
into radeonsi.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
8c37c16cbc4fd84bbb648cac2189b02633e3f806 16-Sep-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: merge si_pipe_shader into si_shader

One is part of the other anyway.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
dba4c5baf449108f8d1f910af33998ce3c21b47a 19-Sep-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: move DB_SHADER_CONTROL into db_render_state

I will need this for fixing sample shading with 1 sample.

The good news is that all shader pm4 states no longer use the current context
state, so we can generate the pm4 states outside of draw_vbo if needed.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
adc5797f54260ccf60020c00c231d9c00a00b13d 19-Sep-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: set KILL_ENABLE during shader compilation, remove uses_kill flag

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
a34c9f70b1f64b8802d22114900475e520b143e6 19-Sep-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: remove shader.ps_conservative_z, set db_shader_control instead

Also set the field on SI too. It's not just specific to CIK.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
a768b43bc36c98451e4b3669a7e6a22769fa4cb7 16-Sep-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: remove unused variable si_pipe_shader::sprite_coord_enable

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
b0f780345ed4b75485a0fdd8cea65fa77c7675bd 18-Jul-2014 Tom Stellard <thomas.stellard@amd.com> radeonsi/compute: Add support scratch buffer support v2

The scratch buffer will be used for private memory and also register
spilling.

v2:
- Code cleanups
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
09056b352d6de42d24decafdcd6819ad70dc98f1 23-Apr-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: use an SGPR instead of VGT_INDX_OFFSET

The draw indirect packets cannot set VGT_INDX_OFFSET, they can only set user
data SGPRs. This is the only way to support start/index_bias with indirect
drawing.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
6a2b38381ee90b7fc9584b05b84284c0e609bb6d 14-Jun-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: pass ARB_conservative_depth parameters to the hardware

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
99df120e006dbbce7aaf4b1466db423aa2432e54 06-May-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: interpolate varyings at sample when full sample shading is enabled
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
d9e102b220701c15730329290daa0176751af09a 06-May-2014 Marek Olšák <marek.olsak@amd.com> radeonsi: prepare depth export registers at compile time

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
f8e16010e51eef19ed7030ac7248438f729ae511 28-Jan-2014 Michel Dänzer <michel.daenzer@amd.com> radeonsi: Put GS ring buffer descriptors with streamout buffer descriptors

And mark the constant buffers as read only for the GPU again.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
8afde9fa23db6ac1802f7a2c74123f10db96f552 09-Jan-2014 Michel Dänzer <michel.daenzer@amd.com> radeonsi: Take GS into account for VS state in more places

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
d8b3d806fc328ee2997c1d9f9bb630682f49cce5 08-Jan-2014 Michel Dänzer <michel.daenzer@amd.com> radeonsi: Handle TGSI_SEMANTIC_PRIMID

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
7c7d7380f13d5863de846fef60d80ad13836634e 09-Jan-2014 Michel Dänzer <michel.daenzer@amd.com> radeonsi: Generalize counting of shader parameters

Now it covers ES->GS as well as VS->PS.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
404b29d765e2fe4d2bf80d17063e5672d2d59ca1 21-Nov-2013 Michel Dänzer <michel.daenzer@amd.com> radeonsi: Initial geometry shader support

Partly based on the corresponding r600g work by Vadim Girlin and Dave
Airlie.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
8662e66bf237a820a704df112718be599136098b 11-Jan-2014 Andreas Hartmetz <ahartmetz@gmail.com> radeonsi: Rename the commonly occurring rctx/r600 variables.

The "r" stands for R600.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
238aeabce0e5cfd850279a68fe0c816adc175294 11-Jan-2014 Andreas Hartmetz <ahartmetz@gmail.com> radeonsi: Rename r600->si for structs in si_pipe.h.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h
786af2f963925df2c2a6fb60b29a83e8340f03c7 04-Jan-2014 Andreas Hartmetz <ahartmetz@gmail.com> radeonsi: Apply si_* file naming scheme.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/radeonsi/si_shader.h