intel: Fix the MOCS values in XY_BLOCK_COPY_BLT for Xe2+

One more instruction were the MOCS value was splited into two
registes.

Cc: mesa-stable
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34592>
This commit is contained in:
José Roberto de Souza 2025-04-17 12:24:21 -07:00 committed by Marge Bot
parent 161c412a82
commit fcb6dfb29c
2 changed files with 13 additions and 2 deletions

View file

@ -2030,7 +2030,12 @@ blorp_xy_block_copy_blt(struct blorp_batch *batch,
blt.ColorDepth = xy_color_depth(fmtl);
blt.DestinationPitch = (dst_surf->row_pitch_B / dst_pitch_unit) - 1;
#if GFX_VERx10 >= 200
blt.DestinationMOCSindex = MOCS_GET_INDEX(params->dst.addr.mocs);
blt.DestinationEncryptEn = MOCS_GET_ENCRYPT_EN(params->dst.addr.mocs);
#else
blt.DestinationMOCS = params->dst.addr.mocs;
#endif
blt.DestinationTiling = xy_bcb_tiling(dst_surf);
blt.DestinationX1 = dst_x0;
blt.DestinationY1 = dst_y0;
@ -2075,7 +2080,12 @@ blorp_xy_block_copy_blt(struct blorp_batch *batch,
blt.SourceX1 = src_x0;
blt.SourceY1 = src_y0;
blt.SourcePitch = (src_surf->row_pitch_B / src_pitch_unit) - 1;
#if GFX_VERx10 >= 200
blt.SourceMOCSindex = MOCS_GET_INDEX(params->src.addr.mocs);
blt.SourceEncryptEn = MOCS_GET_ENCRYPT_EN(params->src.addr.mocs);
#else
blt.SourceMOCS = params->src.addr.mocs;
#endif
blt.SourceTiling = xy_bcb_tiling(src_surf);
blt.SourceBaseAddress = params->src.addr;
blt.SourceXOffset = params->src.tile_x_sa;

View file

@ -1163,7 +1163,8 @@
<field name="Opcode" start="22" end="28" type="uint" default="0x41" />
<field name="Client" start="29" end="31" type="uint" default="2" />
<field name="Destination Pitch" start="32" end="49" type="uint" />
<field name="Destination MOCS" start="56" end="59" type="uint" nonzero="true" />
<field name="Destination Encrypt En" start="53" end="53" type="uint" />
<field name="Destination MOCS index" start="56" end="59" type="uint" nonzero="true" />
<field name="Destination Tiling" start="62" end="63" type="uint" prefix="XY_TILE">
<value name="LINEAR" value="0" />
<value name="X" value="1" />
@ -1185,7 +1186,7 @@
<field name="Source Y1" start="240" end="255" type="int" />
<field name="Source Pitch" start="256" end="273" type="uint" />
<field name="Source Encrypt En" start="277" end="277" type="bool" />
<field name="Source MOCS" start="280" end="283" type="uint" />
<field name="Source MOCS index" start="280" end="283" type="uint" />
<field name="Source Tiling" start="286" end="287" type="uint" prefix="XY_TILE">
<value name="LINEAR" value="0" />
<value name="X" value="1" />