From: Iago Toral Quiroga Date: Thu, 9 Mar 2017 13:37:26 +0000 (+0100) Subject: anv: improve error reporting when creating pipelines X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ca34a3125f671a63b390e19a2c170c0380a228d7;p=mesa.git anv: improve error reporting when creating pipelines Specifically, report 'out of memory' errors that might have happened while emitting the pipeline's batch. Reviewed-by: Topi Pohjolainen --- diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c index 1e8e28dc3d3..23274ef2a87 100644 --- a/src/intel/vulkan/anv_pipeline.c +++ b/src/intel/vulkan/anv_pipeline.c @@ -1201,6 +1201,7 @@ anv_pipeline_init(struct anv_pipeline *pipeline, pipeline->batch.next = pipeline->batch.start = pipeline->batch_data; pipeline->batch.end = pipeline->batch.start + sizeof(pipeline->batch_data); pipeline->batch.relocs = &pipeline->batch_relocs; + pipeline->batch.status = VK_SUCCESS; copy_non_dynamic_state(pipeline, pCreateInfo); pipeline->depth_clamp_enable = pCreateInfo->pRasterizationState && diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index 0c8d3d5a74f..70a8dee0267 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -1677,7 +1677,7 @@ genX(graphics_pipeline_create)( *pPipeline = anv_pipeline_to_handle(pipeline); - return VK_SUCCESS; + return pipeline->batch.status; } static VkResult @@ -1716,6 +1716,7 @@ compute_pipeline_create( pipeline->batch.next = pipeline->batch.start = pipeline->batch_data; pipeline->batch.end = pipeline->batch.start + sizeof(pipeline->batch_data); pipeline->batch.relocs = &pipeline->batch_relocs; + pipeline->batch.status = VK_SUCCESS; /* When we free the pipeline, we detect stages based on the NULL status * of various prog_data pointers. Make them NULL by default. @@ -1805,7 +1806,7 @@ compute_pipeline_create( *pPipeline = anv_pipeline_to_handle(pipeline); - return VK_SUCCESS; + return pipeline->batch.status; } VkResult genX(CreateGraphicsPipelines)(