mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 04:20:08 +01:00
anv: Use RCS engine for copying stencil resource for gfx125
HSD 14021541470 lists a HW bug on blitter engine where the compression pairing bit is not programmed correctly for stencil resources. Use RCS Engine to perform copy instead. Signed-off-by: Aditya Swarup <aditya.swarup@intel.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31792>
This commit is contained in:
parent
5fea98c4a1
commit
e98759c7f4
1 changed files with 17 additions and 0 deletions
|
|
@ -513,6 +513,8 @@ static bool
|
|||
anv_blorp_execute_on_companion(struct anv_cmd_buffer *cmd_buffer,
|
||||
struct anv_image *dst_image)
|
||||
{
|
||||
const struct intel_device_info *devinfo = cmd_buffer->device->info;
|
||||
|
||||
/* MSAA images have to be dealt with on the companion RCS command buffer
|
||||
* for both CCS && BCS engines.
|
||||
*/
|
||||
|
|
@ -528,6 +530,21 @@ anv_blorp_execute_on_companion(struct anv_cmd_buffer *cmd_buffer,
|
|||
dst_image->emu_plane_format != VK_FORMAT_UNDEFINED)
|
||||
return true;
|
||||
|
||||
/* HSD 14021541470:
|
||||
* The compression pairing bit on blitter engine is not programmed correctly
|
||||
* for stencil resources. Fallback to RCS engine for performing a copy to
|
||||
* workaround the issue.
|
||||
*/
|
||||
if ((devinfo->verx10 == 125) &&
|
||||
(dst_image->vk.aspects & VK_IMAGE_ASPECT_STENCIL_BIT)) {
|
||||
|
||||
const uint32_t plane =
|
||||
anv_image_aspect_to_plane(dst_image, VK_IMAGE_ASPECT_STENCIL_BIT);
|
||||
|
||||
if (isl_aux_usage_has_compression(dst_image->planes[plane].aux_usage))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue