anv/pipeline: Don't free blend states that don't exist
Compute pipelines don't need a blend state so we shouldn't be unconditionally freeing it.
This commit is contained in:
@@ -244,7 +244,8 @@ void anv_DestroyPipeline(
|
|||||||
|
|
||||||
anv_reloc_list_finish(&pipeline->batch_relocs, pipeline->device);
|
anv_reloc_list_finish(&pipeline->batch_relocs, pipeline->device);
|
||||||
anv_state_stream_finish(&pipeline->program_stream);
|
anv_state_stream_finish(&pipeline->program_stream);
|
||||||
anv_state_pool_free(&device->dynamic_state_pool, pipeline->blend_state);
|
if (pipeline->blend_state.map)
|
||||||
|
anv_state_pool_free(&device->dynamic_state_pool, pipeline->blend_state);
|
||||||
anv_device_free(pipeline->device, pipeline);
|
anv_device_free(pipeline->device, pipeline);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -598,6 +598,8 @@ VkResult gen8_compute_pipeline_create(
|
|||||||
pipeline->device = device;
|
pipeline->device = device;
|
||||||
pipeline->layout = anv_pipeline_layout_from_handle(pCreateInfo->layout);
|
pipeline->layout = anv_pipeline_layout_from_handle(pCreateInfo->layout);
|
||||||
|
|
||||||
|
pipeline->blend_state.map = NULL;
|
||||||
|
|
||||||
result = anv_reloc_list_init(&pipeline->batch_relocs, device);
|
result = anv_reloc_list_init(&pipeline->batch_relocs, device);
|
||||||
if (result != VK_SUCCESS) {
|
if (result != VK_SUCCESS) {
|
||||||
anv_device_free(device, pipeline);
|
anv_device_free(device, pipeline);
|
||||||
|
Reference in New Issue
Block a user