mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 20:38:06 +02:00
isl/state: Don't set QPitch for GEN4_3D surfaces
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Chad Versace <chadversary@chromium.org>
This commit is contained in:
parent
cb780c9ccf
commit
00e79cec99
1 changed files with 16 additions and 1 deletions
|
|
@ -172,7 +172,6 @@ get_qpitch(const struct isl_surf *surf)
|
|||
default:
|
||||
unreachable("Bad isl_surf_dim");
|
||||
case ISL_DIM_LAYOUT_GEN4_2D:
|
||||
case ISL_DIM_LAYOUT_GEN4_3D:
|
||||
if (GEN_GEN >= 9) {
|
||||
return isl_surf_get_array_pitch_el_rows(surf);
|
||||
} else {
|
||||
|
|
@ -199,6 +198,22 @@ get_qpitch(const struct isl_surf *surf)
|
|||
* slices.
|
||||
*/
|
||||
return isl_surf_get_array_pitch_el(surf);
|
||||
case ISL_DIM_LAYOUT_GEN4_3D:
|
||||
/* QPitch doesn't make sense for ISL_DIM_LAYOUT_GEN4_3D since it uses a
|
||||
* different pitch at each LOD. Also, the QPitch field is ignored for
|
||||
* these surfaces. From the Broadwell PRM documentation for QPitch:
|
||||
*
|
||||
* This field specifies the distance in rows between array slices. It
|
||||
* is used only in the following cases:
|
||||
* - Surface Array is enabled OR
|
||||
* - Number of Mulitsamples is not NUMSAMPLES_1 and Multisampled
|
||||
* Surface Storage Format set to MSFMT_MSS OR
|
||||
* - Surface Type is SURFTYPE_CUBE
|
||||
*
|
||||
* None of the three conditions above can possibly apply to a 3D surface
|
||||
* so it is safe to just set QPitch to 0.
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
#endif /* GEN_GEN >= 8 */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue