diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 59772f77bc5..48ffa49ee77 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -5608,6 +5608,7 @@ radv_graphics_pipeline_create(VkDevice _device, VkPipelineCache _cache, return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY); vk_object_base_init(&device->vk, &pipeline->base, VK_OBJECT_TYPE_PIPELINE); + pipeline->type = RADV_PIPELINE_GRAPHICS; result = radv_pipeline_init(pipeline, device, cache, pCreateInfo, extra); if (result != VK_SUCCESS) { @@ -5754,6 +5755,7 @@ radv_compute_pipeline_create(VkDevice _device, VkPipelineCache _cache, return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY); vk_object_base_init(&device->vk, &pipeline->base, VK_OBJECT_TYPE_PIPELINE); + pipeline->type = RADV_PIPELINE_COMPUTE; pipeline->device = device; pipeline->graphics.last_vgt_api_stage = MESA_SHADER_NONE; diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index 89885cbb099..47d968f670c 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -1729,8 +1729,15 @@ struct radv_binning_state { #define SI_GS_PER_ES 128 +enum radv_pipeline_type { + RADV_PIPELINE_GRAPHICS, + RADV_PIPELINE_COMPUTE, +}; + struct radv_pipeline { struct vk_object_base base; + enum radv_pipeline_type type; + struct radv_device *device; struct radv_dynamic_state dynamic_state;