summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/etnaviv/etnaviv_internal.h
diff options
context:
space:
mode:
authorWladimir J. van der Laan <[email protected]>2017-07-24 10:28:16 +0200
committerChristian Gmeiner <[email protected]>2017-08-06 20:43:57 +0200
commit6c321c8b0b3547b0af0b0939391eef4dc8d2f873 (patch)
tree2a0243c4ac8bea14a8aca70c918ce0998bb4db6b /src/gallium/drivers/etnaviv/etnaviv_internal.h
parent9c04c88830bc1001bdb446eef692e925483d73f4 (diff)
etnaviv: Unified uniforms support
GC3000 has changed from a separate store for VS and PS uniforms to a single, unified one. There is backwards compatibilty functionalty, however this does not work correctly together with ICACHE. This patch adds explicit support, although in the simplest way possible: the PS/VS uniforms split is still fixed and hardcoded. It should make no difference on hardware that does not have unified uniform memory. Signed-off-by: Wladimir J. van der Laan <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
Diffstat (limited to 'src/gallium/drivers/etnaviv/etnaviv_internal.h')
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_internal.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/etnaviv/etnaviv_internal.h b/src/gallium/drivers/etnaviv/etnaviv_internal.h
index 8a311678304..5c13f23b063 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_internal.h
+++ b/src/gallium/drivers/etnaviv/etnaviv_internal.h
@@ -74,6 +74,8 @@ struct etna_specs {
unsigned has_new_transcendentals : 1;
/* supports single-buffer rendering with multiple pixel pipes */
unsigned single_buffer : 1;
+ /* has unified uniforms memory */
+ unsigned has_unified_uniforms : 1;
/* can use any kind of wrapping mode on npot textures */
unsigned npot_tex_any_wrap;
/* number of bits per TS tile */
@@ -100,6 +102,10 @@ struct etna_specs {
uint32_t vs_offset;
/* pixel shader memory address*/
uint32_t ps_offset;
+ /* vertex shader uniforms address*/
+ uint32_t vs_uniforms_offset;
+ /* pixel shader uniforms address*/
+ uint32_t ps_uniforms_offset;
/* vertex/fragment shader max instructions */
uint32_t max_instructions;
/* maximum number of varyings */