mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 07:08:04 +02:00
pvr: Fix for multiple attachments being assigned to the same tile buffer.
When the first attachment is assigned to a tile buffer, the buffer
alloc mask was not been updated. This means when a second attachment
is added to the same tile buffer it will be assigned the same offset
as the first which will lead to incorrect behaviour.
Fixes for depq-vk:
dEQP-VK.renderpasses.dynamic_rendering.complete_secondary_cmd_buff.suballocation.attachment.4.568
dEQP-VK.renderpasses.dynamic_rendering.complete_secondary_cmd_buff.dedicated_allocation.attachment.4.568
dEQP-VK.renderpasses.dynamic_rendering.primary_cmd_buff.suballocation.attachment.4.568
dEQP-VK.renderpasses.dynamic_rendering.primary_cmd_buff.dedicated_allocation.attachment.4.568
Fixes: a7de9dae6b ("pvr: Add routine for filling out usc_mrt_setup from dynamic rendering state")
Signed-off-by: Nick Hamilton <nick.hamilton@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40456>
This commit is contained in:
parent
5473ca3be3
commit
96cfb1cb7f
2 changed files with 11 additions and 5 deletions
|
|
@ -24,10 +24,7 @@ dEQP-VK.pipeline.monolithic.stencil.no_stencil_att.dynamic_rendering.dynamic_ena
|
|||
dEQP-VK.pipeline.monolithic.stencil.no_stencil_att.dynamic_rendering.dynamic_enable.d32_sfloat_s8_uint,Fail
|
||||
dEQP-VK.pipeline.monolithic.stencil.no_stencil_att.dynamic_rendering.static_enable.d24_unorm_s8_uint,Fail
|
||||
dEQP-VK.pipeline.monolithic.stencil.no_stencil_att.dynamic_rendering.static_enable.d32_sfloat_s8_uint,Fail
|
||||
dEQP-VK.renderpasses.dynamic_rendering.complete_secondary_cmd_buff.dedicated_allocation.attachment.4.568,Fail
|
||||
dEQP-VK.renderpasses.dynamic_rendering.complete_secondary_cmd_buff.suballocation.attachment.4.568,Fail
|
||||
dEQP-VK.renderpasses.dynamic_rendering.primary_cmd_buff.basic.partial_binding_depth_stencil,Fail
|
||||
dEQP-VK.renderpasses.dynamic_rendering.primary_cmd_buff.dedicated_allocation.attachment.4.568,Fail
|
||||
dEQP-VK.renderpasses.dynamic_rendering.primary_cmd_buff.random.seed0,Fail
|
||||
dEQP-VK.renderpasses.dynamic_rendering.primary_cmd_buff.random.seed0_multiview,Fail
|
||||
dEQP-VK.renderpasses.dynamic_rendering.primary_cmd_buff.random.seed1,Fail
|
||||
|
|
@ -227,6 +224,5 @@ dEQP-VK.renderpasses.dynamic_rendering.primary_cmd_buff.random.seed98_multiview,
|
|||
dEQP-VK.renderpasses.dynamic_rendering.primary_cmd_buff.random.seed99,Fail
|
||||
dEQP-VK.renderpasses.dynamic_rendering.primary_cmd_buff.random.seed99_multiview,Fail
|
||||
dEQP-VK.renderpasses.dynamic_rendering.primary_cmd_buff.random.seed9_multiview,Fail
|
||||
dEQP-VK.renderpasses.dynamic_rendering.primary_cmd_buff.suballocation.attachment.4.568,Fail
|
||||
dEQP-VK.spirv_assembly.instruction.spirv1p4.opcopylogical.nested_arrays_different_inner_stride,Crash
|
||||
dEQP-VK.spirv_assembly.instruction.spirv1p4.opcopylogical.nested_arrays_different_strides,Crash
|
||||
dEQP-VK.spirv_assembly.instruction.spirv1p4.opcopylogical.nested_arrays_different_strides,Crash
|
||||
|
|
@ -169,6 +169,16 @@ static VkResult pvr_alloc_mrt(const struct pvr_device_info *dev_info,
|
|||
sizeof(alloc->tile_buffers[0U]) *
|
||||
(resource->mem.tile_buffer + 1U - alloc->tile_buffers_count));
|
||||
alloc->tile_buffers_count = resource->mem.tile_buffer + 1U;
|
||||
|
||||
/* Need to add the resource to the new tile buffer */
|
||||
struct pvr_mrt_alloc_mask *tib_alloc =
|
||||
&alloc->tile_buffers[resource->mem.tile_buffer];
|
||||
|
||||
ASSERTED const int32_t tile_buffer_offset =
|
||||
pvr_mrt_alloc_from_buffer(dev_info,
|
||||
tib_alloc,
|
||||
pixel_size);
|
||||
assert(tile_buffer_offset == 0);
|
||||
}
|
||||
|
||||
/* The hardware makes the bit depth of the on-chip storage and memory
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue