radv/gfx10: allocate GDS/OA buffer objects for NGG streamout
[mesa.git] / src / amd / vulkan / radv_private.h
index 8b612155621ea8b50cc8128c928f8e6d9ffee201..03dc9e02145f1f947c040c1d6674b669f593e0c0 100644 (file)
@@ -663,6 +663,7 @@ struct radv_queue {
        uint32_t esgs_ring_size;
        uint32_t gsvs_ring_size;
        bool has_tess_rings;
+       bool has_gds;
        bool has_sample_positions;
 
        struct radeon_winsys_bo *scratch_bo;
@@ -671,6 +672,8 @@ struct radv_queue {
        struct radeon_winsys_bo *esgs_ring_bo;
        struct radeon_winsys_bo *gsvs_ring_bo;
        struct radeon_winsys_bo *tess_rings_bo;
+       struct radeon_winsys_bo *gds_bo;
+       struct radeon_winsys_bo *gds_oa_bo;
        struct radeon_cmdbuf *initial_preamble_cs;
        struct radeon_cmdbuf *initial_full_flush_preamble_cs;
        struct radeon_cmdbuf *continue_preamble_cs;
@@ -1223,6 +1226,7 @@ struct radv_cmd_buffer {
        uint32_t esgs_ring_size_needed;
        uint32_t gsvs_ring_size_needed;
        bool tess_rings_needed;
+       bool gds_needed; /* for GFX10 streamout */
        bool sample_positions_needed;
 
        VkResult record_result;