summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_shader.h
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2016-01-27 00:29:53 +0100
committerMarek Olšák <marek.olsak@amd.com>2016-02-21 21:08:57 +0100
commit70de433dea31c75a2e3f02ba3e060634ee66730d (patch)
treed3caabee2aaa27fd8512f878cbf8b34a31eb2b5e /src/gallium/drivers/radeonsi/si_shader.h
parent19a92886a8c495c1bd7816faf974967776488f05 (diff)
downloadexternal_mesa3d-70de433dea31c75a2e3f02ba3e060634ee66730d.zip
external_mesa3d-70de433dea31c75a2e3f02ba3e060634ee66730d.tar.gz
external_mesa3d-70de433dea31c75a2e3f02ba3e060634ee66730d.tar.bz2
radeonsi: add VS prolog
This is disabled with use_monolithic_shaders = true. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_shader.h')
-rw-r--r--src/gallium/drivers/radeonsi/si_shader.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.h b/src/gallium/drivers/radeonsi/si_shader.h
index 66b3156..e3ba4c7 100644
--- a/src/gallium/drivers/radeonsi/si_shader.h
+++ b/src/gallium/drivers/radeonsi/si_shader.h
@@ -268,6 +268,14 @@ struct si_ps_epilog_bits {
unsigned clamp_color:1;
};
+union si_shader_part_key {
+ struct {
+ struct si_vs_prolog_bits states;
+ unsigned num_input_sgprs:5;
+ unsigned last_input:4;
+ } vs_prolog;
+};
+
union si_shader_key {
struct {
struct si_ps_prolog_bits prolog;
@@ -327,6 +335,7 @@ struct si_shader {
struct si_shader_part {
struct si_shader_part *next;
+ union si_shader_part_key key;
struct radeon_shader_binary binary;
struct si_shader_config config;
};