aboutsummaryrefslogtreecommitdiffstats
path: root/src/freedreno/vulkan/tu_private.h
diff options
context:
space:
mode:
authorConnor Abbott <[email protected]>2020-03-18 13:12:31 +0100
committerMarge Bot <[email protected]>2020-04-09 15:56:55 +0000
commitd3b7681df28e89311c4149708311de546e0a58cc (patch)
treed2e4454f9ec38879732c27c3947a2dd6cc41cfe6 /src/freedreno/vulkan/tu_private.h
parent63c2e8137d4dca0f5232a3c3a98e182e7ba7f943 (diff)
tu: ir3: Emit push constants directly
Carve out some space at the beginning for push constants, and push them directly, rather than remapping them to a UBO and then relying on the UBO pushing code. Remapping to a UBO is easy now, where there's a single table of UBO's, but with the bindless model it'll be a lot harder. I haven't removed all the code to move the remaining UBO's over by 1, though, because it's going to all get rewritten with bindless anyways. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4358>
Diffstat (limited to 'src/freedreno/vulkan/tu_private.h')
-rw-r--r--src/freedreno/vulkan/tu_private.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/freedreno/vulkan/tu_private.h b/src/freedreno/vulkan/tu_private.h
index aecc294b79f..3c50b2ec019 100644
--- a/src/freedreno/vulkan/tu_private.h
+++ b/src/freedreno/vulkan/tu_private.h
@@ -1129,10 +1129,17 @@ struct tu_descriptor_map
int array_size[128];
};
+struct tu_push_constant_range
+{
+ uint32_t lo;
+ uint32_t count;
+};
+
struct tu_shader
{
struct ir3_shader ir3_shader;
+ struct tu_push_constant_range push_consts;
struct tu_descriptor_map texture_map;
struct tu_descriptor_map sampler_map;
struct tu_descriptor_map ubo_map;
@@ -1181,6 +1188,7 @@ struct tu_program_descriptor_linkage
uint32_t constlen;
+ struct tu_push_constant_range push_consts;
struct tu_descriptor_map texture_map;
struct tu_descriptor_map sampler_map;
struct tu_descriptor_map ubo_map;