diff --git a/.pick_status.json b/.pick_status.json index 100b80f817f..d0774519cf6 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -7555,7 +7555,7 @@ "description": "v3dv/pipeline: don't clone the nir shader at pipeline_state_create_binning", "nominated": false, "nomination_type": null, - "resolution": 4, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/broadcom/ci/deqp-v3dv-rpi4-fails.txt b/src/broadcom/ci/deqp-v3dv-rpi4-fails.txt index 7898bc2a2d1..6379afbe3df 100644 --- a/src/broadcom/ci/deqp-v3dv-rpi4-fails.txt +++ b/src/broadcom/ci/deqp-v3dv-rpi4-fails.txt @@ -3,30 +3,3 @@ dEQP-VK.geometry.input.basic_primitive.line_strip_adjacency,Fail # CTS bug; fix submitted dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.graphics.writes_single_buffer_geom,Fail - -# Multiview doesn't work with points -dEQP-VK.multiview.point_size.15,Fail -dEQP-VK.multiview.point_size.8,Fail -dEQP-VK.multiview.point_size.1_2_4_8,Fail -dEQP-VK.multiview.point_size.15_15_15_15,Fail -dEQP-VK.multiview.point_size.8_1_1_8,Fail -dEQP-VK.multiview.point_size.5_10_5_10,Fail -dEQP-VK.multiview.point_size.1_2_4_8_16_32,Fail -dEQP-VK.multiview.point_size.max_multi_view_view_count,Fail - -dEQP-VK.draw.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_1_multiview,Fail -dEQP-VK.draw.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_2_multiview,Fail -dEQP-VK.draw.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_4_multiview,Fail -dEQP-VK.draw.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_20_multiview,Fail -dEQP-VK.draw.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_1_multiview,Fail -dEQP-VK.draw.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_2_multiview,Fail -dEQP-VK.draw.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_4_multiview,Fail -dEQP-VK.draw.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_20_multiview,Fail -dEQP-VK.draw.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_1_multiview,Fail -dEQP-VK.draw.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_2_multiview,Fail -dEQP-VK.draw.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_4_multiview,Fail -dEQP-VK.draw.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_20_multiview,Fail -dEQP-VK.draw.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_1_multiview,Fail -dEQP-VK.draw.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_2_multiview,Fail -dEQP-VK.draw.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_4_multiview,Fail -dEQP-VK.draw.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_20_multiview,Fail diff --git a/src/broadcom/vulkan/v3dv_pipeline.c b/src/broadcom/vulkan/v3dv_pipeline.c index 85932f399cd..daa6c75501b 100644 --- a/src/broadcom/vulkan/v3dv_pipeline.c +++ b/src/broadcom/vulkan/v3dv_pipeline.c @@ -1412,7 +1412,11 @@ pipeline_stage_create_binning(const struct v3dv_pipeline_stage *src, p_stage->stage = bin_stage; p_stage->entrypoint = src->entrypoint; p_stage->module = src->module; - p_stage->nir = src->nir ? nir_shader_clone(NULL, src->nir) : NULL; + /* For binning shaders we will clone the NIR code from the corresponding + * render shader later, when we call pipeline_compile_xxx_shader. This way + * we only have to run the relevant NIR lowerings once for render shaders + */ + p_stage->nir = NULL; p_stage->spec_info = src->spec_info; p_stage->feedback = (VkPipelineCreationFeedbackEXT) { 0 }; memcpy(p_stage->shader_sha1, src->shader_sha1, 20);