From: Nanley Chery Date: Mon, 30 Jan 2017 20:27:15 +0000 (-0800) Subject: anv/cmd_buffer: Use the proper depth input attachment surface state X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=33e0c5d003658320f5005e26caf55bbcfbe1fbb2;p=mesa.git anv/cmd_buffer: Use the proper depth input attachment surface state Commit 2852efcda40274acf3272611c6a3b7731523a72d moved the location of the depth input attachment surface state from the render pass to the image view, but failed to update the surface state location used when emitting the binding table. Fix this by loading the surface state from the correct location. Fixes: dEQP-VK.renderpass.formats.d16_unorm.input.* dEQP-VK.renderpass.formats.d24_unorm_s8_uint.input.* dEQP-VK.renderpass.formats.d32_sfloat.input.* dEQP-VK.renderpass.formats.x8_d24_unorm_pack32.input.* dEQP-VK.renderpass.attachment_allocation.input_output.93 dEQP-VK.renderpass.attachment_allocation.input_output.92 dEQP-VK.renderpass.attachment_allocation.input_output.82 dEQP-VK.renderpass.attachment_allocation.input_output.46 Cc: "17.0" Reviewed-by: Iago Toral Quiroga Reviewed-by: Jason Ekstrand Signed-off-by: Nanley Chery --- diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index f7894a05741..d93d3770554 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -1177,9 +1177,9 @@ emit_binding_table(struct anv_cmd_buffer *cmd_buffer, case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: assert(stage == MESA_SHADER_FRAGMENT); - if (desc->image_view->aspect_mask == VK_IMAGE_ASPECT_STENCIL_BIT) { - /* For stencil input attachments, we treat it like any old texture - * that a user may have bound. + if (desc->image_view->aspect_mask != VK_IMAGE_ASPECT_COLOR_BIT) { + /* For depth and stencil input attachments, we treat it like any + * old texture that a user may have bound. */ surface_state = desc->image_view->sampler_surface_state; assert(surface_state.alloc_size); @@ -1187,9 +1187,9 @@ emit_binding_table(struct anv_cmd_buffer *cmd_buffer, desc->image_view->image->aux_usage, surface_state); } else { - /* For depth and color input attachments, we create the surface - * state at vkBeginRenderPass time so that we can include aux - * and clear color information. + /* For color input attachments, we create the surface state at + * vkBeginRenderPass time so that we can include aux and clear + * color information. */ assert(binding->input_attachment_index < subpass->input_count); const unsigned subpass_att = binding->input_attachment_index;