radv: fix reporting subgroup size with VK_KHR_pipeline_executable_properties
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 25 Nov 2019 13:24:52 +0000 (14:24 +0100)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 26 Nov 2019 09:48:48 +0000 (10:48 +0100)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_pipeline.c

index 4c3cb17..dc2cbc4 100644 (file)
@@ -5332,6 +5332,7 @@ VkResult radv_GetPipelineExecutablePropertiesKHR(
                        break;
                }
 
+               pProperties[executable_idx].subgroupSize = pipeline->shaders[i]->info.wave_size;
                desc_copy(pProperties[executable_idx].name, name);
                desc_copy(pProperties[executable_idx].description, description);
 
@@ -5343,6 +5344,7 @@ VkResult radv_GetPipelineExecutablePropertiesKHR(
                                break;
 
                        pProperties[executable_idx].stages = VK_SHADER_STAGE_GEOMETRY_BIT;
+                       pProperties[executable_idx].subgroupSize = 64;
                        desc_copy(pProperties[executable_idx].name, "GS Copy Shader");
                        desc_copy(pProperties[executable_idx].description,
                                  "Extra shader stage that loads the GS output ringbuffer into the rasterizer");
@@ -5351,9 +5353,6 @@ VkResult radv_GetPipelineExecutablePropertiesKHR(
                }
        }
 
-       for (unsigned i = 0; i < count; ++i)
-               pProperties[i].subgroupSize = 64;
-
        VkResult result = *pExecutableCount < total_count ? VK_INCOMPLETE : VK_SUCCESS;
        *pExecutableCount = count;
        return result;