diff --git a/.gitlab-ci/deqp-freedreno-a630-fails.txt b/.gitlab-ci/deqp-freedreno-a630-fails.txt index 3ead6bc1220..b92a6a1bf30 100644 --- a/.gitlab-ci/deqp-freedreno-a630-fails.txt +++ b/.gitlab-ci/deqp-freedreno-a630-fails.txt @@ -25,11 +25,6 @@ dEQP-VK.image.subresource_layout.2d_array.all_levels.r8_snorm,Fail dEQP-VK.image.subresource_layout.3d.2_levels.r16g16_snorm,Fail dEQP-VK.image.subresource_layout.3d.2_levels.r8g8b8a8_snorm,Fail dEQP-VK.image.subresource_layout.3d.4_levels.r8g8_snorm,Fail -dEQP-VK.memory_model.message_passing.core11.u32.coherent.fence_fence.atomicwrite.device.payload_local.image.guard_local.image.frag,Crash -dEQP-VK.memory_model.message_passing.core11.u32.coherent.fence_fence.atomicwrite.workgroup.payload_local.buffer.guard_local.image.comp,Crash -dEQP-VK.memory_model.write_after_read.core11.u32.coherent.fence_fence.atomicwrite.device.payload_local.buffer.guard_local.image.comp,Crash -dEQP-VK.memory_model.write_after_read.core11.u32.coherent.fence_fence.atomicwrite.workgroup.payload_local.image.guard_local.image.comp,Crash -dEQP-VK.memory_model.write_after_read.core11.u32.coherent.fence_fence.atomicwrite.workgroup.payload_nonlocal.workgroup.guard_local.image.comp,Crash dEQP-VK.multiview.masks.max_multi_view_view_count,Fail dEQP-VK.multiview.renderpass2.masks.max_multi_view_view_count,Fail dEQP-VK.pipeline.extended_dynamic_state.after_pipelines.depth_compare_greater_equal_greater,Fail diff --git a/src/freedreno/ir3/ir3_image.c b/src/freedreno/ir3/ir3_image.c index eee4ef09282..e2ee4e6dfad 100644 --- a/src/freedreno/ir3/ir3_image.c +++ b/src/freedreno/ir3/ir3_image.c @@ -119,11 +119,17 @@ ir3_get_type_for_image_intrinsic(const nir_intrinsic_instr *instr) case nir_intrinsic_image_load: case nir_intrinsic_bindless_image_load: type = nir_alu_type_get_base_type(nir_intrinsic_dest_type(instr)); + /* SpvOpAtomicLoad doesn't have dest type */ + if (type == nir_type_invalid) + type = nir_type_uint; break; case nir_intrinsic_image_store: case nir_intrinsic_bindless_image_store: type = nir_alu_type_get_base_type(nir_intrinsic_src_type(instr)); + /* SpvOpAtomicStore doesn't have src type */ + if (type == nir_type_invalid) + type = nir_type_uint; break; case nir_intrinsic_image_atomic_add: