mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-05 04:40:11 +01:00
iris,anv/xe2+: Enable the DX10/OGL border mode for YCrCb as per Wa_14014226147.
Hardware defaults to DX9 YCrCb border color mode instead of the behavior expected for DX10/OGL. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29562>
This commit is contained in:
parent
c8c9d1a802
commit
2aa4652a68
3 changed files with 37 additions and 0 deletions
|
|
@ -1369,6 +1369,13 @@ iris_init_render_context(struct iris_batch *batch)
|
|||
};
|
||||
#endif
|
||||
|
||||
#if GFX_VER >= 20
|
||||
iris_emit_cmd(batch, GENX(3DSTATE_3D_MODE), p) {
|
||||
p.DX10OGLBorderModeforYCRCB = true;
|
||||
p.DX10OGLBorderModeforYCRCBMask = true;
|
||||
}
|
||||
#endif
|
||||
|
||||
upload_pixel_hashing_tables(batch);
|
||||
|
||||
/* 3DSTATE_DRAWING_RECTANGLE is non-pipelined, so we want to avoid
|
||||
|
|
|
|||
|
|
@ -320,6 +320,29 @@
|
|||
<field name="Constant Cache" start="61" end="61" type="bool" />
|
||||
<field name="Barrier ID Address" start="67" end="127" type="address" />
|
||||
</struct>
|
||||
<instruction name="3DSTATE_3D_MODE" bias="2" length="5" engine="render">
|
||||
<field name="DWord Length" start="0" end="7" type="uint" default="3" />
|
||||
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="30" />
|
||||
<field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
|
||||
<field name="Command SubType" start="27" end="28" type="uint" default="3" />
|
||||
<field name="Command Type" start="29" end="31" type="uint" default="3" />
|
||||
<field name="Cross Slice Hashing Mode" start="32" end="33" type="uint">
|
||||
<value name="Normal Mode" value="0" />
|
||||
<value name="Disable" value="1" />
|
||||
<value name="hashing 32x32" value="3" />
|
||||
</field>
|
||||
<field name="3D Scoreboard Hashing Mode" start="36" end="36" type="bool" />
|
||||
<field name="Subslice Hashing Table Enable" start="37" end="37" type="bool" />
|
||||
<field name="Slice Hashing Table Enable" start="38" end="38" type="bool" />
|
||||
<field name="DX10 OGL Border Mode for YCRCB" start="42" end="42" type="bool" />
|
||||
<field name="Cross Slice Hashing Mode Mask" start="48" end="49" type="int" />
|
||||
<field name="3D Scoreboard Hashing Mode Mask" start="52" end="52" type="bool" />
|
||||
<field name="Subslice Hashing Table Enable Mask" start="53" end="53" type="bool" />
|
||||
<field name="Slice Hashing Table Enable Mask" start="54" end="54" type="bool" />
|
||||
<field name="DX10 OGL Border Mode for YCRCB Mask" start="58" end="58" type="bool" />
|
||||
<field name="RCC RHWO Optimization Disable" start="111" end="111" type="bool" />
|
||||
<field name="RCC RHWO Optimization Disable Mask" start="127" end="127" type="bool" />
|
||||
</instruction>
|
||||
<instruction name="3DSTATE_BTD" bias="2" length="6" engine="render|compute">
|
||||
<field name="DWord Length" start="0" end="7" type="uint" default="4" />
|
||||
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="6" />
|
||||
|
|
|
|||
|
|
@ -628,6 +628,13 @@ init_render_queue_state(struct anv_queue *queue, bool is_companion_rcs_batch)
|
|||
genX(emit_pipeline_select)(batch, _3D, device);
|
||||
#endif
|
||||
|
||||
#if GFX_VER >= 20
|
||||
anv_batch_emit(batch, GENX(3DSTATE_3D_MODE), p) {
|
||||
p.DX10OGLBorderModeforYCRCB = true;
|
||||
p.DX10OGLBorderModeforYCRCBMask = true;
|
||||
}
|
||||
#endif
|
||||
|
||||
anv_batch_emit(batch, GENX(MI_BATCH_BUFFER_END), bbe);
|
||||
|
||||
result = batch->status;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue