mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 15:40:11 +01:00
turnip: fix renderpass gmem configs when there are too many attachments
Since a value of at least "align" is used for nblocks, we might end up with nblocks greater than the number of GMEM blocks remaining. Check for this case and bail out, sysmem rendering will be used for such cases. Fixes some of these tests: dEQP-VK.pipeline.render_to_image.core.*.huge.* Signed-off-by: Jonathan Marek <jonathan@marek.ca> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5499>
This commit is contained in:
parent
b6b98e9510
commit
0a84d22bf2
2 changed files with 5 additions and 2 deletions
|
|
@ -6,8 +6,6 @@ dEQP-GLES31.functional.stencil_texturing.render.depth24_stencil8_draw
|
|||
dEQP-VK.compute.indirect_dispatch.upload_buffer.multiple_groups
|
||||
dEQP-VK.glsl.linkage.varying.struct.int
|
||||
dEQP-VK.image.texel_view_compatible.graphic.extended.2d_image.texture_read.astc_10x6_unorm_block.r32g32b32a32_uint
|
||||
dEQP-VK.pipeline.render_to_image.core.2d_array.huge.height_layers.r8g8b8a8_unorm_d24_unorm_s8_uint
|
||||
dEQP-VK.pipeline.render_to_image.core.cube_array.huge.width_height_layers.r8g8b8a8_unorm_d24_unorm_s8_uint
|
||||
dEQP-VK.renderpass2.dedicated_allocation.formats.d24_unorm_s8_uint.input.dont_care.store.self_dep_clear_draw
|
||||
dEQP-VK.renderpass2.suballocation.formats.d24_unorm_s8_uint.input.dont_care.store.self_dep_clear_draw_stencil_read_only
|
||||
dEQP-VK.renderpass.dedicated_allocation.formats.d24_unorm_s8_uint.input.dont_care.dont_care.draw
|
||||
|
|
|
|||
|
|
@ -339,6 +339,11 @@ create_render_pass_common(struct tu_render_pass *pass,
|
|||
uint32_t align = MAX2(1, att->cpp >> block_align_shift);
|
||||
uint32_t nblocks = MAX2((gmem_blocks * att->cpp / cpp_total) & ~(align - 1), align);
|
||||
|
||||
if (nblocks > gmem_blocks) {
|
||||
pixels = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
gmem_blocks -= nblocks;
|
||||
cpp_total -= att->cpp;
|
||||
offset += nblocks * gmem_align;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue