mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 09:00:10 +01:00
anv: Fix assertion failures on BMG (xe2)
Fixes: beb0ea2469 ("anv: Disable tracking fast clear and aux state (xe2)")
crucible run func.first
dEQP-VK.api.copy_and_blit.core.image_to_image.
all_formats.color.2d_to_2d.a1r5g5b5_unorm_pack16.
r16_uint.optimal_optimal
dEQP-VK.pipeline.monolithic.multisample.misc.clear_attachments.
r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_d32_sfloat_
s8_uint.16x.ds_resolve_sample_zero.whole_framebuffer
src/intel/vulkan/anv_private.h:5491:
anv_image_get_compression_state_addr: Assertion
`device->info->ver < 20' failed.
Backport-to: 24.2
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30111>
This commit is contained in:
parent
a629d829dc
commit
49c91a4ea0
1 changed files with 6 additions and 4 deletions
|
|
@ -823,6 +823,7 @@ genX(cmd_buffer_mark_image_written)(struct anv_cmd_buffer *cmd_buffer,
|
||||||
uint32_t base_layer,
|
uint32_t base_layer,
|
||||||
uint32_t layer_count)
|
uint32_t layer_count)
|
||||||
{
|
{
|
||||||
|
#if GFX_VER < 20
|
||||||
/* The aspect must be exactly one of the image aspects. */
|
/* The aspect must be exactly one of the image aspects. */
|
||||||
assert(util_bitcount(aspect) == 1 && (aspect & image->vk.aspects));
|
assert(util_bitcount(aspect) == 1 && (aspect & image->vk.aspects));
|
||||||
|
|
||||||
|
|
@ -836,6 +837,7 @@ genX(cmd_buffer_mark_image_written)(struct anv_cmd_buffer *cmd_buffer,
|
||||||
|
|
||||||
set_image_compressed_bit(cmd_buffer, image, aspect,
|
set_image_compressed_bit(cmd_buffer, image, aspect,
|
||||||
level, base_layer, layer_count, true);
|
level, base_layer, layer_count, true);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
@ -3948,8 +3950,6 @@ cmd_buffer_barrier(struct anv_cmd_buffer *cmd_buffer,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct anv_device *device = cmd_buffer->device;
|
|
||||||
|
|
||||||
/* XXX: Right now, we're really dumb and just flush whatever categories
|
/* XXX: Right now, we're really dumb and just flush whatever categories
|
||||||
* the app asks for. One of these days we may make this a bit better but
|
* the app asks for. One of these days we may make this a bit better but
|
||||||
* right now that's all the hardware allows for in most areas.
|
* right now that's all the hardware allows for in most areas.
|
||||||
|
|
@ -3959,6 +3959,7 @@ cmd_buffer_barrier(struct anv_cmd_buffer *cmd_buffer,
|
||||||
|
|
||||||
#if GFX_VER < 20
|
#if GFX_VER < 20
|
||||||
bool apply_sparse_flushes = false;
|
bool apply_sparse_flushes = false;
|
||||||
|
struct anv_device *device = cmd_buffer->device;
|
||||||
#endif
|
#endif
|
||||||
bool flush_query_copies = false;
|
bool flush_query_copies = false;
|
||||||
|
|
||||||
|
|
@ -4096,7 +4097,7 @@ cmd_buffer_barrier(struct anv_cmd_buffer *cmd_buffer,
|
||||||
false /* will_full_fast_clear */);
|
false /* will_full_fast_clear */);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#if GFX_VER < 20
|
||||||
/* Mark image as compressed if the destination layout has untracked
|
/* Mark image as compressed if the destination layout has untracked
|
||||||
* writes to the aux surface.
|
* writes to the aux surface.
|
||||||
*/
|
*/
|
||||||
|
|
@ -4128,7 +4129,6 @@ cmd_buffer_barrier(struct anv_cmd_buffer *cmd_buffer,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if GFX_VER < 20
|
|
||||||
if (anv_image_is_sparse(image) && mask_is_write(src_flags))
|
if (anv_image_is_sparse(image) && mask_is_write(src_flags))
|
||||||
apply_sparse_flushes = true;
|
apply_sparse_flushes = true;
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -5354,6 +5354,7 @@ cmd_buffer_mark_attachment_written(struct anv_cmd_buffer *cmd_buffer,
|
||||||
struct anv_attachment *att,
|
struct anv_attachment *att,
|
||||||
VkImageAspectFlagBits aspect)
|
VkImageAspectFlagBits aspect)
|
||||||
{
|
{
|
||||||
|
#if GFX_VER < 20
|
||||||
struct anv_cmd_graphics_state *gfx = &cmd_buffer->state.gfx;
|
struct anv_cmd_graphics_state *gfx = &cmd_buffer->state.gfx;
|
||||||
const struct anv_image_view *iview = att->iview;
|
const struct anv_image_view *iview = att->iview;
|
||||||
|
|
||||||
|
|
@ -5379,6 +5380,7 @@ cmd_buffer_mark_attachment_written(struct anv_cmd_buffer *cmd_buffer,
|
||||||
level, layer, 1);
|
level, layer, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void genX(CmdEndRendering)(
|
void genX(CmdEndRendering)(
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue