summaryrefslogtreecommitdiffstats
path: root/src/amd/vulkan/radv_private.h
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2017-01-20 11:06:52 +1000
committerDave Airlie <[email protected]>2017-01-31 09:30:19 +1000
commit1fa5b755c23f97d6a92465b08d460bb4406e44dd (patch)
treed1c7eb48846f24e5c1ed7ce9c648493dc017e7c8 /src/amd/vulkan/radv_private.h
parent8f41fe4389a820d243651a31c7e44ba57735b3ff (diff)
radv: emit geometry ring size and pointers via preamble (v2)
This uses the scratch infrastructure to handle the esgs and gsvs rings. (this replaces the old code that did this with patching). v2: fix correct ring sizes, reset sizes (Bas) Reviewed-by: Bas Nieuwenhuizen <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_private.h')
-rw-r--r--src/amd/vulkan/radv_private.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
index 3a0318b9fc2..57aa9ead9b7 100644
--- a/src/amd/vulkan/radv_private.h
+++ b/src/amd/vulkan/radv_private.h
@@ -470,10 +470,14 @@ struct radv_queue {
uint32_t scratch_size;
uint32_t compute_scratch_size;
+ uint32_t esgs_ring_size;
+ uint32_t gsvs_ring_size;
struct radeon_winsys_bo *scratch_bo;
struct radeon_winsys_bo *descriptor_bo;
struct radeon_winsys_bo *compute_scratch_bo;
+ struct radeon_winsys_bo *esgs_ring_bo;
+ struct radeon_winsys_bo *gsvs_ring_bo;
struct radeon_winsys_cs *preamble_cs;
};
@@ -742,6 +746,10 @@ struct radv_cmd_buffer {
uint32_t scratch_size_needed;
uint32_t compute_scratch_size_needed;
+ uint32_t esgs_ring_size_needed;
+ uint32_t gsvs_ring_size_needed;
+
+ int ring_offsets_idx; /* just used for verification */
};
struct radv_image;