radv: store pointer to sgprs for last vertex stage
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 7 Sep 2022 20:06:15 +0000 (16:06 -0400)
committerMarge Bot <emma+marge@anholt.net>
Mon, 26 Sep 2022 11:40:26 +0000 (11:40 +0000)
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18808>

src/amd/vulkan/radv_pipeline.c
src/amd/vulkan/radv_private.h

index eebf5fe..edde3eb 100644 (file)
@@ -6226,6 +6226,7 @@ radv_graphics_pipeline_init(struct radv_graphics_pipeline *pipeline, struct radv
       pipeline->base.shaders[pipeline->last_vgt_api_stage]->info.force_vrs_per_vertex;
    pipeline->uses_user_sample_locations = state.ms && state.ms->sample_locations_enable;
    pipeline->rast_prim = vgt_gs_out_prim_type;
+   pipeline->last_vgt_api_stage_locs = pipeline->base.shaders[pipeline->last_vgt_api_stage]->info.user_sgprs_locs.shader_data;
 
    pipeline->base.push_constant_size = pipeline_layout.push_constant_size;
    pipeline->base.dynamic_offset_count = pipeline_layout.dynamic_offset_count;
index df3f6bd..9267249 100644 (file)
@@ -2024,6 +2024,7 @@ struct radv_graphics_pipeline {
 
    /* Last pre-PS API stage */
    gl_shader_stage last_vgt_api_stage;
+   struct radv_userdata_info *last_vgt_api_stage_locs;
 
    /* Used for rbplus */
    uint32_t col_format;