radv: gather if shaders load dynamic offsets separately
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 5 Feb 2019 19:21:59 +0000 (20:21 +0100)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 12 Feb 2019 16:25:49 +0000 (17:25 +0100)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_shader.h
src/amd/vulkan/radv_shader_info.c

index 92886188459e16a17758484ab0fc218b9cabe977..c194401c02d9fc41907d76dcf0a7226793628f6f 100644 (file)
@@ -162,6 +162,7 @@ struct radv_streamout_info {
 
 struct radv_shader_info {
        bool loads_push_constants;
+       bool loads_dynamic_offsets;
        uint8_t min_push_constant_used;
        uint8_t max_push_constant_used;
        bool has_only_32bit_push_constants;
index bece7b20f024aa891b8cee2fb1507060ae1dde77..7f97da7d209e47600580fd81a20246a5762e962f 100644 (file)
@@ -550,6 +550,7 @@ radv_nir_shader_info_pass(const struct nir_shader *nir,
        if (options->layout && options->layout->dynamic_offset_count &&
            (options->layout->dynamic_shader_stages & mesa_to_vk_shader_stage(nir->info.stage))) {
                info->loads_push_constants = true;
+               info->loads_dynamic_offsets = true;
        }
 
        nir_foreach_variable(variable, &nir->inputs)