intel/brw: Skip some regioning EU validation for Vx1 and VxH modes

Skip the ones that check the VertStride -- which is set to a special
value in those modes.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28636>
This commit is contained in:
Caio Oliveira 2024-09-20 19:12:08 -07:00 committed by Marge Bot
parent d85d6ad2a5
commit 57b703cec3

View file

@ -923,15 +923,6 @@ general_restrictions_on_region_parameters(const struct brw_isa_info *isa,
ERROR_IF(inst->exec_size < width, "ExecSize must be greater than or equal "
"to Width");
/* If ExecSize = Width and HorzStride ≠ 0,
* VertStride must be set to Width * HorzStride.
*/
if (inst->exec_size == width && hstride != 0) {
ERROR_IF(vstride != width * hstride,
"If ExecSize = Width and HorzStride ≠ 0, "
"VertStride must be set to Width * HorzStride");
}
/* If Width = 1, HorzStride must be 0 regardless of the values of
* ExecSize and VertStride.
*/
@ -941,6 +932,18 @@ general_restrictions_on_region_parameters(const struct brw_isa_info *isa,
"of the values of ExecSize and VertStride");
}
if (vstride == STRIDE(BRW_VERTICAL_STRIDE_ONE_DIMENSIONAL))
continue;
/* If ExecSize = Width and HorzStride ≠ 0,
* VertStride must be set to Width * HorzStride.
*/
if (inst->exec_size == width && hstride != 0) {
ERROR_IF(vstride != width * hstride,
"If ExecSize = Width and HorzStride ≠ 0, "
"VertStride must be set to Width * HorzStride");
}
/* If ExecSize = Width = 1, both VertStride and HorzStride must be 0. */
if (inst->exec_size == 1 && width == 1) {
ERROR_IF(vstride != 0 || hstride != 0,