diff options
author | Connor Abbott <[email protected]> | 2020-03-18 13:12:31 +0100 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-04-09 15:56:55 +0000 |
commit | d3b7681df28e89311c4149708311de546e0a58cc (patch) | |
tree | d2e4454f9ec38879732c27c3947a2dd6cc41cfe6 /src/freedreno/vulkan/tu_private.h | |
parent | 63c2e8137d4dca0f5232a3c3a98e182e7ba7f943 (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.h | 8 |
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; |