diff options
author | Wladimir J. van der Laan <[email protected]> | 2017-07-24 10:28:16 +0200 |
---|---|---|
committer | Christian Gmeiner <[email protected]> | 2017-08-06 20:43:57 +0200 |
commit | 6c321c8b0b3547b0af0b0939391eef4dc8d2f873 (patch) | |
tree | 2a0243c4ac8bea14a8aca70c918ce0998bb4db6b /src/gallium/drivers/etnaviv/etnaviv_internal.h | |
parent | 9c04c88830bc1001bdb446eef692e925483d73f4 (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.h | 6 |
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 */ |