radv/aco: return a correct name and description for the backend IR
authorRhys Perry <pendingchaos02@gmail.com>
Tue, 24 Sep 2019 14:25:07 +0000 (15:25 +0100)
committerRhys Perry <pendingchaos02@gmail.com>
Thu, 26 Sep 2019 10:08:43 +0000 (11:08 +0100)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_pipeline.c
src/amd/vulkan/radv_shader.c
src/amd/vulkan/radv_shader.h

index 70ffc2412b35481fa4be1963aeae1992c3d42c80..21d37313cb21166487130babe9dea1dd07b07cd6 100644 (file)
@@ -5244,8 +5244,13 @@ VkResult radv_GetPipelineExecutableInternalRepresentationsKHR(
        /* LLVM IR */
        if (p < end) {
                p->isText = true;
-               desc_copy(p->name, "LLVM IR");
-               desc_copy(p->description, "The LLVM IR after some optimizations");
+               if (shader->aco_used) {
+                       desc_copy(p->name, "ACO IR");
+                       desc_copy(p->description, "The ACO IR after some optimizations");
+               } else {
+                       desc_copy(p->name, "LLVM IR");
+                       desc_copy(p->description, "The LLVM IR after some optimizations");
+               }
                if (radv_copy_representation(p->pData, &p->dataSize, shader->llvm_ir_string) != VK_SUCCESS)
                        result = VK_INCOMPLETE;
        }
index b9e83c911af79324cd38df65d57032abca377131..10cce9c276872e765b4584efef6effd7801b7c9b 100644 (file)
@@ -1160,6 +1160,7 @@ shader_variant_compile(struct radv_device *device,
                free(binary);
                return NULL;
        }
+       variant->aco_used = use_aco;
 
        if (options->dump_shader) {
                fprintf(stderr, "disasm:\n%s\n", variant->disasm_string);
index 459ff863a91274207f97e420143000cc8e536195..37ff74b6f0b9bcf42de63c51406a7fa9761d2827 100644 (file)
@@ -360,6 +360,7 @@ struct radv_shader_variant {
        struct radv_shader_info info;
 
        /* debug only */
+       bool aco_used;
        uint32_t *spirv;
        uint32_t spirv_size;
        char *nir_string;