diff options
author | Bas Nieuwenhuizen <[email protected]> | 2019-03-14 11:20:53 +0100 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2019-04-19 09:21:47 +0200 |
commit | 8d2654a4197bbf45cbe9f72e82f025d04cda7bc2 (patch) | |
tree | 6e41b9da03e5927afd4442d971c8c9b3076785e3 /src/amd/vulkan/radv_private.h | |
parent | 2b515a8259bc104f09e3af7a0e545f7aa659e30d (diff) |
radv: Support VK_EXT_inline_uniform_block.
Basically just reserve the memory in the descriptor sets.
On the shader side we construct a buffer descriptor, since
AFAIU VGPR indexing on 32-bit pointers in LLVM is still broken.
This fully supports update after bind and variable descriptor set
sizes. However, the limits are somewhat arbitrary and are mostly
about finding a reasonable division of a 2 GiB max memory size over
the set.
v2: - rebased on top of master (Samuel)
- remove the loading resources rework (Samuel)
- only load UBO descriptors if it's a pointer (Samuel)
- use LLVMBuildPtrToInt to avoid IR failures (Samuel)
Reviewed-by: Bas Nieuwenhuizen <[email protected]> (v2)
Diffstat (limited to 'src/amd/vulkan/radv_private.h')
-rw-r--r-- | src/amd/vulkan/radv_private.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index 82ab4eff8ca..cd3af7e614d 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -102,6 +102,8 @@ typedef uint32_t xcb_window_t; #define MAX_SO_STREAMS 4 #define MAX_SO_BUFFERS 4 #define MAX_SO_OUTPUTS 64 +#define MAX_INLINE_UNIFORM_BLOCK_SIZE (4ull * 1024 * 1024) +#define MAX_INLINE_UNIFORM_BLOCK_COUNT 64 #define NUM_DEPTH_CLEAR_PIPELINES 3 |