Module: Mesa
Branch: main
Commit: 40e74ed5d3c4da4f7ac1b5a682a9150411ff5e83
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=40e74ed5d3c4da4f7ac1b5a682a9150411ff5e83

Author: Connor Abbott <cwabbo...@gmail.com>
Date:   Mon Nov  6 17:27:22 2023 +0100

tu: Assume no raster-order attachment access with NULL DS/blend state

The spec isn't explicit on this point, but I believe the intent is that
if the state is NULL then we're supposed to behave as-if the flags field
is 0.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26076>

---

 src/freedreno/ci/freedreno-a618-fails.txt | 31 ----------------------------
 src/freedreno/ci/freedreno-a630-fails.txt | 11 ----------
 src/freedreno/ci/freedreno-a660-fails.txt | 34 -------------------------------
 src/freedreno/vulkan/tu_pipeline.cc       |  8 ++++----
 4 files changed, 4 insertions(+), 80 deletions(-)

diff --git a/src/freedreno/ci/freedreno-a618-fails.txt 
b/src/freedreno/ci/freedreno-a618-fails.txt
index fc9b1552cac..ffba7648cfb 100644
--- a/src/freedreno/ci/freedreno-a618-fails.txt
+++ b/src/freedreno/ci/freedreno-a618-fails.txt
@@ -1297,35 +1297,11 @@ 
dEQP-VK.api.maintenance3_check.support_count_uniform_buffer_dynamic_extra_bindin
 dEQP-VK.api.maintenance3_check.support_count_uniform_buffer_extra_bindings,Fail
 
dEQP-VK.api.maintenance3_check.support_count_uniform_buffer_no_variable_size,Fail
 dEQP-VK.api.version_check.unavailable_entry_points,Fail
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.after_pipelines.null_color_blend_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.after_pipelines.null_depth_stencil_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.before_draw.null_color_blend_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.before_good_static.null_depth_stencil_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.between_pipelines.null_color_blend_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.cmd_buffer_start.null_depth_stencil_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.two_draws_dynamic.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.two_draws_dynamic.null_rasterization_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.two_draws_static.null_color_blend_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.after_pipelines.null_color_blend_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.before_draw.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.monolithic.extended_dynamic_state.before_draw.null_rasterization_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.before_good_static.null_color_blend_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.before_good_static.null_rasterization_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.between_pipelines.null_color_blend_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.between_pipelines.null_depth_stencil_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_dynamic.null_color_blend_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_dynamic.null_depth_stencil_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_static.null_color_blend_state,Crash
 
dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_static.null_rasterization_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.after_pipelines.null_depth_stencil_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.before_draw.null_color_blend_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.before_draw.null_depth_stencil_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.before_good_static.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.before_good_static.null_rasterization_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.between_pipelines.null_color_blend_state,Crash
 
dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.between_pipelines.null_rasterization_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.two_draws_dynamic.null_color_blend_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.two_draws_dynamic.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.two_draws_dynamic.null_rasterization_state,Crash
 
dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.two_draws_static.null_rasterization_state,Crash
 
dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.line_list.indirect,Fail
@@ -1472,8 +1448,6 @@ 
gmem-dEQP-VK.glsl.derivate.fwidthfine.dynamic_switch.float_highp,Crash
 gmem-dEQP-VK.glsl.derivate.fwidthfine.dynamic_switch.vec2_highp,Crash
 gmem-dEQP-VK.glsl.derivate.fwidthfine.dynamic_switch.vec2_mediump,Crash
 
gmem-dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_static.null_rasterization_state,Crash
-gmem-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.after_pipelines.null_depth_stencil_state,Crash
-gmem-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.before_good_static.null_color_blend_state,Crash
 
gmem-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.before_good_static.null_rasterization_state,Crash
 
gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.32bit.point_list.indirect,Fail
 
gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.32bit.triangle_fan.draw,Fail
@@ -1667,14 +1641,9 @@ 
dEQP-VK.api.maintenance3_check.support_count_uniform_buffer_extra_bindings_no_va
 
dEQP-VK.api.maintenance3_check.support_count_uniform_texel_buffer_extra_bindings_no_variable_size,Fail
 
dEQP-VK.api.maintenance3_check.support_count_uniform_texel_buffer_no_variable_size,Fail
 
dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.partial_binding_depth_stencil,Fail
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.before_good_static.null_color_blend_state,Crash
 
dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.before_good_static.null_rasterization_state,Crash
 
dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_dynamic.null_rasterization_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_static.null_depth_stencil_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.between_pipelines.null_depth_stencil_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.cmd_buffer_start.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.cmd_buffer_start.null_rasterization_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.two_draws_static.null_color_blend_state,Crash
 
dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.line_list.draw,Fail
 
dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.line_strip.draw,Fail
 
dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.point_list.draw,Fail
diff --git a/src/freedreno/ci/freedreno-a630-fails.txt 
b/src/freedreno/ci/freedreno-a630-fails.txt
index 5d25789cc07..19ebf60e931 100644
--- a/src/freedreno/ci/freedreno-a630-fails.txt
+++ b/src/freedreno/ci/freedreno-a630-fails.txt
@@ -863,15 +863,7 @@ 
dEQP-VK.api.maintenance3_check.support_count_uniform_buffer_dynamic_no_variable_
 
dEQP-VK.api.maintenance3_check.support_count_uniform_buffer_no_variable_size,Fail
 dEQP-VK.api.version_check.unavailable_entry_points,Fail
 
dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.partial_binding_depth_stencil,Fail
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.after_pipelines.null_color_blend_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.before_draw.null_color_blend_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.before_good_static.null_depth_stencil_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.two_draws_static.null_color_blend_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.two_draws_static.null_depth_stencil_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_dynamic.null_color_blend_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_dynamic.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_dynamic.null_rasterization_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.between_pipelines.null_depth_stencil_state,Crash
 
dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.point_list.draw,Fail
 
dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.triangle_list_with_adjacency.indirect,Fail
 
dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.triangle_strip_with_adjacency.draw,Fail
@@ -907,7 +899,6 @@ 
gmem-dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.all_formats.c
 
gmem-dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.all_formats.color.2d_to_3d.r8g8_uint.r16_sfloat.optimal_optimal,Fail
 
gmem-dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.all_formats.color.2d_to_3d.r8g8_unorm.r16_sfloat.general_general,Fail
 gmem-dEQP-VK.glsl.derivate.dfdy.dynamic_loop.vec4_mediump,Crash
-gmem-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.before_good_static.null_depth_stencil_state,Crash
 
gmem-dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_static.null_rasterization_state,Crash
 
gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.32bit.triangle_fan.draw,Fail
 
gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.64bit.line_list_with_adjacency.indirect,Fail
@@ -973,14 +964,12 @@ 
dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.all_formats.color.
 
dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.dimensions.src6x8192_dst6x8192.r4g4b4a4_unorm_pack16.r16_sfloat.optimal_general,Fail
 
dEQP-VK.api.maintenance3_check.support_count_uniform_texel_buffer_no_variable_size,Fail
 
dEQP-VK.pipeline.monolithic.extended_dynamic_state.cmd_buffer_start.null_rasterization_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_static.null_color_blend_state,Crash
 
dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.triangle_strip.draw,Fail
 
gmem-dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.dimensions.src4x8192_dst4x8192.r4g4b4a4_unorm_pack16.r16_sfloat.general_optimal,Fail
 
gmem-dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.2d_to_2d.a8b8g8r8_srgb_pack32.r16g16_sfloat.optimal_optimal,Fail
 
gmem-dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.2d_to_3d.a8b8g8r8_unorm_pack32.r16g16_sfloat.general_optimal,Fail
 
gmem-dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.2d_to_3d.r8g8_snorm.r16_sfloat.optimal_optimal,Fail
 gmem-dEQP-VK.glsl.derivate.dfdy.dynamic_if.vec4_highp,Crash
-gmem-dEQP-VK.pipeline.monolithic.extended_dynamic_state.after_pipelines.null_depth_stencil_state,Crash
 
gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.pgq_32bit_xfb_64bit.triangle_strip_with_adjacency.draw,Fail
 
stale-regs-dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.all_formats.color.2d_to_2d.r5g6b5_unorm_pack16.r16_sfloat.general_optimal,Fail
 
stale-regs-dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.all_formats.color.2d_to_3d.r8g8_snorm.r16_sfloat.optimal_general,Fail
diff --git a/src/freedreno/ci/freedreno-a660-fails.txt 
b/src/freedreno/ci/freedreno-a660-fails.txt
index 1b9f84e05c8..7c1c56cd200 100644
--- a/src/freedreno/ci/freedreno-a660-fails.txt
+++ b/src/freedreno/ci/freedreno-a660-fails.txt
@@ -955,50 +955,19 @@ 
dEQP-VK.api.maintenance3_check.support_count_uniform_texel_buffer_extra_bindings
 
dEQP-VK.api.maintenance3_check.support_count_uniform_texel_buffer_no_variable_size,Fail
 dEQP-VK.api.version_check.unavailable_entry_points,Fail
 
dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.partial_binding_depth_stencil,Fail
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.after_pipelines.null_color_blend_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.after_pipelines.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.after_pipelines.null_rasterization_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.before_draw.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.before_draw.null_rasterization_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.before_good_static.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.before_good_static.null_rasterization_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.cmd_buffer_start.null_color_blend_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.cmd_buffer_start.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.cmd_buffer_start.null_rasterization_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.two_draws_dynamic.null_color_blend_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.two_draws_dynamic.null_depth_stencil_state,Crash
-dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.two_draws_static.null_color_blend_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.after_pipelines.null_color_blend_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.after_pipelines.null_depth_stencil_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.before_draw.null_color_blend_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.before_draw.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.monolithic.extended_dynamic_state.before_draw.null_rasterization_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.before_good_static.null_color_blend_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.before_good_static.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.monolithic.extended_dynamic_state.between_pipelines.null_rasterization_state,Crash
 
dEQP-VK.pipeline.monolithic.extended_dynamic_state.cmd_buffer_start.null_rasterization_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_dynamic.null_color_blend_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_dynamic.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_dynamic.null_rasterization_state,Crash
-dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_static.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_static.null_rasterization_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.after_pipelines.null_color_blend_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.after_pipelines.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.after_pipelines.null_rasterization_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.before_draw.null_color_blend_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.before_draw.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.before_draw.null_rasterization_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.before_good_static.null_color_blend_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.before_good_static.null_depth_stencil_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.between_pipelines.null_depth_stencil_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.cmd_buffer_start.null_color_blend_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.cmd_buffer_start.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.cmd_buffer_start.null_rasterization_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.two_draws_dynamic.null_color_blend_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.two_draws_dynamic.null_depth_stencil_state,Crash
 
dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.two_draws_dynamic.null_rasterization_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.two_draws_static.null_color_blend_state,Crash
-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.two_draws_static.null_depth_stencil_state,Crash
 
dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.line_list.draw,Fail
 
dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.line_list.indirect,Fail
 
dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.line_list_with_adjacency.draw,Fail
@@ -1162,9 +1131,6 @@ 
gmem-dEQP-VK.api.maintenance3_check.support_count_storage_image_extra_bindings,F
 
gmem-dEQP-VK.api.maintenance3_check.support_count_uniform_buffer_extra_bindings,Fail
 
gmem-dEQP-VK.dynamic_rendering.complete_secondary_cmd_buff.suballocation.load_store_op_none.depthstencil_d32_sfloat_s8_uint_load_op_depth_load_stencil_none_store_op_depth_store_stencil_none_stencil_write_off,Fail
 
gmem-dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_static.null_rasterization_state,Crash
-gmem-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.cmd_buffer_start.null_depth_stencil_state,Crash
-gmem-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.two_draws_dynamic.null_color_blend_state,Crash
-gmem-dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.two_draws_dynamic.null_depth_stencil_state,Crash
 gmem-dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_ivec2_fragment,Fail
 
gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.32bit.triangle_fan.draw,Fail
 
gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.32bit.triangle_list.draw,Fail
diff --git a/src/freedreno/vulkan/tu_pipeline.cc 
b/src/freedreno/vulkan/tu_pipeline.cc
index 79fe07d082b..93ef4df36b9 100644
--- a/src/freedreno/vulkan/tu_pipeline.cc
+++ b/src/freedreno/vulkan/tu_pipeline.cc
@@ -3692,9 +3692,9 @@ tu_pipeline_builder_parse_depth_stencil(
        (builder->graphics_state.rp->attachment_aspects &
         VK_IMAGE_ASPECT_DEPTH_BIT)) {
       pipeline->ds.raster_order_attachment_access =
-         ds_info->flags &
+         ds_info && (ds_info->flags &
          
(VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM
 |
-          
VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM);
+          
VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM));
    }
 }
 
@@ -3731,8 +3731,8 @@ tu_pipeline_builder_parse_multisample_and_color_blend(
 
    if (builder->graphics_state.rp->attachment_aspects & 
VK_IMAGE_ASPECT_COLOR_BIT) {
       pipeline->output.raster_order_attachment_access =
-         blend_info->flags &
-         
VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM;
+         blend_info && (blend_info->flags &
+            
VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM);
    }
 }
 

Reply via email to