[Mesa-dev] [PATCH v2 24/24] anv: improve error reporting when creating pipelines
Iago Toral Quiroga
itoral at igalia.com
Fri Mar 10 12:38:37 UTC 2017
Specifically, report 'out of memory' errors that might have happened while
emitting the pipeline's batch.
---
src/intel/vulkan/anv_pipeline.c | 1 +
src/intel/vulkan/genX_pipeline.c | 5 +++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c
index dc65e26..97ddd18 100644
--- a/src/intel/vulkan/anv_pipeline.c
+++ b/src/intel/vulkan/anv_pipeline.c
@@ -1207,6 +1207,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 7b01ee5..8011515 100644
--- a/src/intel/vulkan/genX_pipeline.c
+++ b/src/intel/vulkan/genX_pipeline.c
@@ -1675,7 +1675,7 @@ genX(graphics_pipeline_create)(
*pPipeline = anv_pipeline_to_handle(pipeline);
- return VK_SUCCESS;
+ return pipeline->batch.status;
}
static VkResult
@@ -1714,6 +1714,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.
@@ -1803,7 +1804,7 @@ compute_pipeline_create(
*pPipeline = anv_pipeline_to_handle(pipeline);
- return VK_SUCCESS;
+ return pipeline->batch.status;
}
VkResult genX(CreateGraphicsPipelines)(
--
2.7.4
More information about the mesa-dev
mailing list