mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 09:08:10 +02:00
freedreno/a5xx: Skip emitting unused texture descriptors for images.
In that case, we'd emit it to DST_OFF=255+i, angering the hardware mightily. This was missed in the addition of a6xx image support. Fixes:2e0ea3f09c("freedreno/ir3: add image/ssbo <-> ibo/tex mapping") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24358> (cherry picked from commita297624182)
This commit is contained in:
parent
61905a7f04
commit
f449edb6c1
4 changed files with 3 additions and 123 deletions
|
|
@ -1057,7 +1057,7 @@
|
|||
"description": "freedreno/a5xx: Skip emitting unused texture descriptors for images.",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "2e0ea3f09c79c657116cbc9cbc68377e364dfe28"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -323,16 +323,6 @@ KHR-GLES31.core.arrays_of_arrays.InteractionFunctionCalls2,Fail
|
|||
KHR-GLES31.core.draw_indirect.advanced-twoPass-transformFeedback-arrays,Fail
|
||||
KHR-GLES31.core.draw_indirect.advanced-twoPass-transformFeedback-elements,Fail
|
||||
|
||||
|
||||
# Seems to be applying clamp_to_edge at the wrong time?
|
||||
KHR-GLES31.core.gpu_shader5.texture_gather_offset_color_clamp_to_edge,Fail
|
||||
KHR-GLES31.core.gpu_shader5.texture_gather_offset_depth_clamp_edge,Fail
|
||||
|
||||
# "drawTestCompute failed expected: RGBA(4, 3, 2, 1) actual: RGBA(0, 255, 0, 255)"
|
||||
KHR-GLES31.core.layout_binding.sampler2DArray_layout_binding_texture_ComputeShader,Fail
|
||||
KHR-GLES31.core.layout_binding.sampler2D_layout_binding_texture_ComputeShader,Fail
|
||||
KHR-GLES31.core.layout_binding.sampler3D_layout_binding_texture_ComputeShader,Fail
|
||||
|
||||
KHR-GLES31.core.shader_atomic_counters.advanced-usage-multidim-array-large,Fail
|
||||
|
||||
|
||||
|
|
@ -653,62 +643,9 @@ dEQP-GLES31.functional.compute.basic.copy_ssbo_to_image_large,Fail
|
|||
dEQP-GLES31.functional.compute.basic.copy_ssbo_to_image_small,Fail
|
||||
dEQP-GLES31.functional.compute.basic.image_atomic_op_local_size_1,Fail
|
||||
dEQP-GLES31.functional.compute.basic.image_atomic_op_local_size_8,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret.r32f_rgba8_snorm,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret.rgba8_rgba8_snorm,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret.rgba8_snorm_r32f,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret.rgba8_snorm_rgba8,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret.rgba8_snorm_rgba8i,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d_array.load_store.rgba16f_single_layer,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d_array.load_store.rgba32f_single_layer,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d_array.load_store.rgba8_single_layer,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d_array.store.rgba8_snorm_single_layer,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d.format_reinterpret.r32f_rgba8,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d.format_reinterpret.r32f_rgba8ui,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d.format_reinterpret.rgba16f_rgba16i,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d.format_reinterpret.rgba16f_rgba16ui,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d.format_reinterpret.rgba8_r32i,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d.format_reinterpret.rgba8_rgba8i,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d.format_reinterpret.rgba8_snorm_r32i,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d.format_reinterpret.rgba8_snorm_rgba8i,Fail
|
||||
dEQP-GLES31.functional.image_load_store.2d.format_reinterpret.rgba8_snorm_rgba8ui,Fail
|
||||
dEQP-GLES31.functional.image_load_store.3d.format_reinterpret.r32f_rgba8_snorm,Fail
|
||||
dEQP-GLES31.functional.image_load_store.3d.format_reinterpret.rgba16f_rgba16i,Fail
|
||||
dEQP-GLES31.functional.image_load_store.3d.format_reinterpret.rgba16f_rgba16ui,Fail
|
||||
dEQP-GLES31.functional.image_load_store.3d.format_reinterpret.rgba8_r32ui,Fail
|
||||
dEQP-GLES31.functional.image_load_store.3d.format_reinterpret.rgba8_snorm_r32i,Fail
|
||||
dEQP-GLES31.functional.image_load_store.3d.store.r32f_single_layer,Fail
|
||||
dEQP-GLES31.functional.image_load_store.3d.store.rgba16f_single_layer,Fail
|
||||
dEQP-GLES31.functional.image_load_store.3d.store.rgba32f_single_layer,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.r32f_rgba8_snorm,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.rgba8_r32f,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.rgba8_r32i,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.rgba8_r32ui,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.rgba8_snorm_r32f,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.rgba8_snorm_r32i,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.rgba8_snorm_r32ui,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.rgba8_snorm_rgba8ui,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.load_store.r32f_single_layer,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.load_store.rgba16f_single_layer,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.load_store.rgba16f,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.load_store.rgba8_single_layer,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.load_store.rgba8_snorm_single_layer,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.qualifiers.volatile_r32f,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.store.r32f,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.store.rgba16f_single_layer,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.store.rgba16f,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.store.rgba32f_single_layer,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.store.rgba32f,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.store.rgba8_snorm_single_layer,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.store.rgba8_snorm,Fail
|
||||
dEQP-GLES31.functional.image_load_store.cube.store.rgba8,Fail
|
||||
dEQP-GLES31.functional.layout_binding.ssbo.fragment_binding_max,Fail
|
||||
dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct.sampler2D_samplerCube_both,Fail
|
||||
dEQP-GLES31.functional.program_uniform.by_value.render.basic_array.sampler2D_fragment,Fail
|
||||
dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct.sampler2D_samplerCube_fragment,Fail
|
||||
dEQP-GLES31.functional.shaders.opaque_type_indexing.ssbo.const_expression_fragment,Fail
|
||||
dEQP-GLES31.functional.shaders.opaque_type_indexing.ssbo.const_literal_fragment,Fail
|
||||
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.sr8.skipped,Fail
|
||||
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.srg8.conversion_gpu,Fail
|
||||
dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers.11,Fail
|
||||
dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers.19,Fail
|
||||
dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers.24,Fail
|
||||
|
|
@ -729,58 +666,10 @@ dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.per_block_buffer.shared_
|
|||
dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.per_block_buffer.std430_instance_array,Fail
|
||||
dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.single_buffer.packed_instance_array,Fail
|
||||
dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.single_buffer.std140_instance_array,Fail
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle.blue_alpha_zero_one,Fail
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle.red_green_blue_alpha,Fail
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.base_level.level_1,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_less.repeat_mirrored_repeat,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_npot.clamp_to_edge_repeat,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.filter_mode.min_nearest_mipmap_nearest_mag_nearest,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_greater.mirrored_repeat_clamp_to_edge,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_pot.repeat_mirrored_repeat,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_npot.repeat_mirrored_repeat,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_pot.clamp_to_edge_repeat,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.size_npot.compare_greater.repeat_mirrored_repeat,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.size_pot.compare_greater.repeat_mirrored_repeat,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.base_level.level_1,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.size_npot.clamp_to_edge_repeat,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.base_level.level_1,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.size_npot.compare_greater.clamp_to_edge_repeat,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.size_npot.compare_less.repeat_mirrored_repeat,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8.size_pot.repeat_mirrored_repeat,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8ui.size_npot.clamp_to_edge_repeat,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.base_level.level_2,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.texture_swizzle.one_red_green_blue,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.texture_swizzle.alpha_zero_one_red,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.size_pot.compare_less.repeat_mirrored_repeat,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.texture_swizzle.green_blue_alpha_zero,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.depth32f.size_npot.compare_less.mirrored_repeat_clamp_to_edge,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.depth32f.size_npot.compare_less.mirrored_repeat_clamp_to_edge,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8i.size_npot.clamp_to_edge_repeat,Fail
|
||||
dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge,Fail
|
||||
dEQP-GLES31.functional.texture.multisample.samples_1.use_texture_depth_2d,Fail
|
||||
dEQP-GLES31.functional.texture.multisample.samples_4.use_texture_int_2d_array,Fail
|
||||
dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_readwrite.buffer_size_513,Fail
|
||||
dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array_as_fragment_texture.bufferdata,Fail
|
||||
dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array.mapbuffer_write,Fail
|
||||
dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_vertex_texture.mapbuffer_readwrite,Fail
|
||||
dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture_as_fragment_texture.offset_7_alignments,Fail
|
||||
dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_fragment_texture.buffer_size_65537,Fail
|
||||
dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_fragment_texture.range_size_65537,Fail
|
||||
dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture.offset_1_alignments,Fail
|
||||
dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture.offset_1_alignments,Fail
|
||||
dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture.offset_7_alignments,Fail
|
||||
KHR-GLES31.core.compressed_format.format.signed_rg11_eac,Fail
|
||||
KHR-GLES31.core.compute_shader.resource-texture,Fail
|
||||
KHR-GLES31.core.explicit_uniform_location.uniform-loc-types-samplers,Fail
|
||||
KHR-GLES31.core.internalformat.texture2d.red_integer_int_r32i,Fail
|
||||
KHR-GLES31.core.internalformat.texture2d.rgb_integer_byte_rgb8i,Fail
|
||||
KHR-GLES31.core.internalformat.texture2d.rgb_integer_int_rgb32i,Fail
|
||||
KHR-GLES31.core.internalformat.texture2d.rgb_integer_unsigned_int_rgb32ui,Fail
|
||||
KHR-GLES31.core.internalformat.texture2d.rgb_integer_unsigned_short_rgb16ui,Fail
|
||||
KHR-GLES31.core.nearest_edge.offset_left,Fail
|
||||
KHR-GLES31.core.nearest_edge.offset_right,Fail
|
||||
KHR-GLES31.core.pixelstoragemodes.teximage2d.r11g11b10f.1_1,Fail
|
||||
KHR-GLES31.core.pixelstoragemodes.teximage2d.r11g11b10f.16_1,Fail
|
||||
KHR-GLES31.core.pixelstoragemodes.teximage2d.r16i.1_0,Fail
|
||||
|
|
@ -1191,22 +1080,14 @@ KHR-GLES31.core.pixelstoragemodes.teximage3d.rgba8ui.16_16_0,Fail
|
|||
KHR-GLES31.core.pixelstoragemodes.teximage3d.rgba8ui.16_16_1,Fail
|
||||
KHR-GLES31.core.polygon_offset_clamp.PolygonOffsetClampMinMax,Fail
|
||||
KHR-GLES31.core.polygon_offset_clamp.PolygonOffsetClampZeroInfinity,Fail
|
||||
KHR-GLES31.core.shader_image_load_store.basic-glsl-earlyFragTests,Fail
|
||||
KHR-GLES31.core.shader_storage_buffer_object.advanced-usage-operators-cs,Fail
|
||||
KHR-GLES31.core.shader_storage_buffer_object.basic-std140Layout-case3-cs,Fail
|
||||
KHR-GLES31.core.shader_storage_buffer_object.basic-std430Layout-case2-cs,Fail
|
||||
KHR-GLES31.core.texture_buffer.texture_buffer_conv_int_to_float,Fail
|
||||
KHR-GLES31.core.texture_buffer.texture_buffer_max_size,Fail
|
||||
KHR-GLES31.core.texture_buffer.texture_buffer_operations_buffer_load,Fail
|
||||
KHR-GLES31.core.texture_buffer.texture_buffer_operations_ssbo_writes,Fail
|
||||
KHR-GLES31.shaders.layout_location.isampler_2d_array,Fail
|
||||
KHR-GLES31.shaders.layout_location.isampler_2d,Fail
|
||||
KHR-GLES31.shaders.layout_location.isampler_3d,Fail
|
||||
KHR-GLES31.shaders.layout_location.isampler_cube,Fail
|
||||
KHR-GLES31.shaders.layout_location.sampler_2d_array,Fail
|
||||
KHR-GLES31.shaders.layout_location.sampler_2d,Fail
|
||||
KHR-GLES31.shaders.layout_location.sampler_3d,Fail
|
||||
KHR-GLES31.shaders.layout_location.sampler_cube_shadow,Fail
|
||||
KHR-GLES31.shaders.layout_location.usampler_2d_array,Fail
|
||||
KHR-GLES31.shaders.layout_location.usampler_3d,Fail
|
||||
KHR-GLES31.shaders.layout_location.usampler_cube,Fail
|
||||
|
|
|
|||
|
|
@ -56,8 +56,6 @@ KHR-GLES31.core.shader_storage_buffer_object.basic-syntax-cs
|
|||
# (ci-fd-fastboot-nfs)
|
||||
dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier.*
|
||||
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.filter_mode.min_nearest_mipmap_nearest_mag_linear
|
||||
|
||||
glx@glx-swap-event_interval
|
||||
glx@glx_arb_sync_control@swapbuffersmsc-divisor-zero
|
||||
glx@glx_arb_sync_control@waitformsc
|
||||
|
|
|
|||
|
|
@ -225,7 +225,8 @@ fd5_emit_images(struct fd_context *ctx, struct fd_ringbuffer *ring,
|
|||
|
||||
translate_image(&img, &so->si[index]);
|
||||
|
||||
emit_image_tex(ring, m->image_to_tex[index] + m->tex_base, &img, shader);
|
||||
if (m->image_to_tex[index] != IBO_INVALID)
|
||||
emit_image_tex(ring, m->image_to_tex[index] + m->tex_base, &img, shader);
|
||||
emit_image_ssbo(ring, v->num_ssbos + index, &img,
|
||||
shader);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue