pvr: Fix for loop itarator usage

The `i` iteration variable was being used instead of `k` when
appending new mappings, and getting the current source rect.

dEQP test fixed:
  dEQP-VK.pipeline.monolithic.image.suballocation.sampling_type
    .combined.view_type.3d.format.*.count_1.
    .{3x3x3,5x5x5,...(odd dimensions)}

Fixes: 060c3db4ef ("pvr: Complete pvr_generate_custom_mapping()")

Reported-by: James Glanville <james.glanville@imgtec.com>
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25321>
This commit is contained in:
Karmjit Mahil 2023-09-18 15:36:29 +01:00 committed by Marge Bot
parent 47b481cace
commit bf17e4fe33

View file

@ -5043,7 +5043,7 @@ pvr_generate_custom_mapping(uint32_t src_stride,
struct pvr_transfer_wa_source *src = &pass->sources[j];
for (uint32_t k = 0; k < src->mapping_count; k++) {
VkRect2D *src_rect = &src->mappings[i].src_rect;
VkRect2D *src_rect = &src->mappings[k].src_rect;
bool extend_height =
pvr_extend_height(src_rect,
src_height,
@ -5058,7 +5058,7 @@ pvr_generate_custom_mapping(uint32_t src_stride,
new_src->mappings[new_src->mapping_count] = src->mappings[k];
new_src->src_offset = src->src_offset;
for (uint32_t l = i + 1; l < src->mapping_count; l++)
for (uint32_t l = k + 1; l < src->mapping_count; l++)
src->mappings[l - 1] = src->mappings[l];
new_src->mapping_count++;