panvk: Fix access to unitialized panvk_pipeline_layout::num_sets field
Commit73eecffabd
("panvk: Use the vk_pipeline_layout base struct") reworked the panvk logic to use vk_pipeline_layout, which contains the number of descriptor set layout referenced by a pipeline layout, thus deprecating panvk_pipeline_layout::num_sets. Make panvk_fill_non_vs_attribs() use vk_pipeline_layout::set_count instead of panvk_pipeline_layout::num_sets and kill the latter so we can't introduce new users. Fixes:73eecffabd
("panvk: Use the vk_pipeline_layout base struct") Cc: mesa-stable Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27107> (cherry picked from commitb18bfed2c5
)
This commit is contained in:

committed by
Eric Engestrom

parent
6fb9f61f8a
commit
ae7d41bd4d
@@ -244,7 +244,7 @@
|
||||
"description": "panvk: Fix access to unitialized panvk_pipeline_layout::num_sets field",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "73eecffabdd37fc2a181dfe38e35e4240812611e",
|
||||
"notes": null
|
||||
|
@@ -526,17 +526,6 @@ dEQP-VK.spirv_assembly.instruction.compute.workgroup_memory.float32,Crash
|
||||
dEQP-VK.spirv_assembly.instruction.compute.workgroup_memory.int32,Crash
|
||||
dEQP-VK.spirv_assembly.instruction.compute.workgroup_memory.uint32,Crash
|
||||
|
||||
dEQP-VK.api.buffer_view.access.storage_texel_buffer.a2b10g10r10_uint_pack32,Fail
|
||||
dEQP-VK.api.buffer_view.access.storage_texel_buffer.a2b10g10r10_unorm_pack32,Fail
|
||||
dEQP-VK.api.buffer_view.access.storage_texel_buffer.a8b8g8r8_sint_pack32,Fail
|
||||
dEQP-VK.api.buffer_view.access.storage_texel_buffer.a8b8g8r8_uint_pack32,Fail
|
||||
dEQP-VK.api.buffer_view.access.storage_texel_buffer.a8b8g8r8_unorm_pack32,Fail
|
||||
dEQP-VK.api.buffer_view.access.storage_texel_buffer.r16g16b16a16_sfloat,Fail
|
||||
dEQP-VK.api.buffer_view.access.storage_texel_buffer.r16g16b16a16_sint,Fail
|
||||
dEQP-VK.api.buffer_view.access.storage_texel_buffer.r16g16b16a16_uint,Fail
|
||||
dEQP-VK.api.buffer_view.access.storage_texel_buffer.r8g8b8a8_sint,Fail
|
||||
dEQP-VK.api.buffer_view.access.storage_texel_buffer.r8g8b8a8_uint,Fail
|
||||
dEQP-VK.api.buffer_view.access.storage_texel_buffer.r8g8b8a8_unorm,Fail
|
||||
dEQP-VK.api.command_buffers.record_many_draws_secondary_2,Fail
|
||||
dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.2d.b5g6r5_unorm_pack16.r16_snorm.general_general,Fail
|
||||
dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.2d.r8_snorm.r8_uint.general_general,Fail
|
||||
@@ -550,24 +539,6 @@ dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.2d.r8g8_uint.r16
|
||||
dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.2d.r8g8_unorm.r16_sint.general_general,Fail
|
||||
dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.2d.r8g8_unorm.r5g6b5_unorm_pack16.general_general,Fail
|
||||
dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.2d.r8g8_unorm.r8g8_unorm.general_optimal,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.mix_1,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.mix_array0,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_image_0,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_image_1,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_image_2,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_image_4,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_image_5,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_image_array0,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_image_array1,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_image_array2,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_texel_buffer_0,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_texel_buffer_1,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_texel_buffer_2,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_texel_buffer_4,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_texel_buffer_5,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_texel_buffer_array0,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_texel_buffer_array1,Fail
|
||||
dEQP-VK.binding_model.descriptor_copy.compute.storage_texel_buffer_array2,Fail
|
||||
dEQP-VK.glsl.operator.sequence.no_side_effects.highp_bool_vec2_fragment,Fail
|
||||
dEQP-VK.glsl.operator.sequence.no_side_effects.highp_float_uint_fragment,Fail
|
||||
dEQP-VK.glsl.operator.sequence.no_side_effects.highp_vec4_ivec4_bvec4_fragment,Fail
|
||||
@@ -580,27 +551,6 @@ dEQP-VK.glsl.operator.sequence.side_effects.highp_vec4_fragment,Fail
|
||||
dEQP-VK.glsl.operator.sequence.side_effects.mediump_bool_vec2_fragment,Fail
|
||||
dEQP-VK.glsl.operator.sequence.side_effects.mediump_float_uint_fragment,Fail
|
||||
dEQP-VK.glsl.operator.sequence.side_effects.mediump_vec4_fragment,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.a2b10g10r10_unorm_pack32.oob_storage_read.range_1_texel,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.a2b10g10r10_unorm_pack32.oob_storage_read.range_3_texels,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.a2b10g10r10_unorm_pack32.oob_uniform_read.range_1_texel,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.a2b10g10r10_unorm_pack32.oob_uniform_read.range_3_texels,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.out_of_alloc.oob_storage_read,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.out_of_alloc.oob_uniform_read,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.r32g32b32a32_sfloat.oob_storage_read.range_1_texel,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.r32g32b32a32_sfloat.oob_storage_read.range_3_texels,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.r32g32b32a32_sfloat.oob_storage_write.range_3_texels,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.r32g32b32a32_sfloat.oob_uniform_read.range_1_texel,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.r32g32b32a32_sfloat.oob_uniform_read.range_3_texels,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.r32g32b32a32_sint.oob_storage_read.range_1_texel,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.r32g32b32a32_sint.oob_storage_read.range_3_texels,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.r32g32b32a32_sint.oob_storage_write.range_3_texels,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.r32g32b32a32_sint.oob_uniform_read.range_1_texel,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.r32g32b32a32_sint.oob_uniform_read.range_3_texels,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.r32g32b32a32_uint.oob_storage_read.range_1_texel,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.r32g32b32a32_uint.oob_storage_read.range_3_texels,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.r32g32b32a32_uint.oob_storage_write.range_3_texels,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.r32g32b32a32_uint.oob_uniform_read.range_1_texel,Fail
|
||||
dEQP-VK.robustness.buffer_access.compute.texel_copy.r32g32b32a32_uint.oob_uniform_read.range_3_texels,Fail
|
||||
dEQP-VK.texture.explicit_lod.2d.derivatives.linear_linear_mipmap_linear,Fail
|
||||
dEQP-VK.texture.explicit_lod.2d.derivatives.linear_linear_mipmap_nearest,Fail
|
||||
dEQP-VK.texture.explicit_lod.2d.derivatives.linear_nearest_mipmap_linear,Fail
|
||||
|
@@ -397,7 +397,6 @@ struct panvk_pipeline_layout {
|
||||
unsigned num_dyn_ubos;
|
||||
unsigned num_dyn_ssbos;
|
||||
uint32_t num_imgs;
|
||||
uint32_t num_sets;
|
||||
|
||||
struct {
|
||||
uint32_t size;
|
||||
|
@@ -514,7 +514,7 @@ panvk_fill_non_vs_attribs(struct panvk_cmd_buffer *cmdbuf,
|
||||
struct panvk_descriptor_state *desc_state = &bind_point_state->desc_state;
|
||||
const struct panvk_pipeline *pipeline = bind_point_state->pipeline;
|
||||
|
||||
for (unsigned s = 0; s < pipeline->layout->num_sets; s++) {
|
||||
for (unsigned s = 0; s < pipeline->layout->vk.set_count; s++) {
|
||||
const struct panvk_descriptor_set *set = desc_state->sets[s];
|
||||
|
||||
if (!set)
|
||||
|
Reference in New Issue
Block a user