isl/state: Put pitch calculations together

This is purely cosmetic, but it makes things look a bit more readable.

Reviewed-by: Chad Versace <chad.versace@intel.com>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
Jason Ekstrand 2016-06-07 17:01:56 -07:00
parent 70c8afc0c8
commit a60ae9e10a
1 changed files with 20 additions and 22 deletions

View File

@ -291,6 +291,26 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state,
s.SurfaceVerticalAlignment = valign;
s.SurfaceHorizontalAlignment = halign;
if (info->surf->tiling == ISL_TILING_W) {
/* From the Broadwell PRM documentation for this field:
*
* "If the surface is a stencil buffer (and thus has Tile Mode set
* to TILEMODE_WMAJOR), the pitch must be set to 2x the value
* computed based on width, as the stencil buffer is stored with
* two rows interleaved."
*/
s.SurfacePitch = info->surf->row_pitch * 2 - 1;
} else {
s.SurfacePitch = info->surf->row_pitch - 1;
}
#if GEN_GEN >= 8
s.SurfaceQPitch = get_qpitch(info->surf) >> 2;
#elif GEN_GEN == 7
s.SurfaceArraySpacing = info->surf->array_pitch_span ==
ISL_ARRAY_PITCH_SPAN_COMPACT;
#endif
#if GEN_GEN >= 8
s.TileMode = isl_to_gen_tiling[info->surf->tiling];
#else
@ -299,11 +319,6 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state,
TILEWALK_YMAJOR;
#endif
#if (GEN_GEN == 7)
s.SurfaceArraySpacing = info->surf->array_pitch_span ==
ISL_ARRAY_PITCH_SPAN_COMPACT;
#endif
#if GEN_GEN >= 8
s.SamplerL2BypassModeDisable = true;
#endif
@ -325,10 +340,6 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state,
s.CubeFaceEnables = 0x3f;
#endif
#if GEN_GEN >= 8
s.SurfaceQPitch = get_qpitch(info->surf) >> 2;
#endif
s.MultisampledSurfaceStorageFormat =
isl_to_gen_multisample_layout[info->surf->msaa_layout];
s.NumberofMultisamples = ffs(info->surf->samples) - 1;
@ -349,19 +360,6 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state,
s.MCSEnable = false;
#endif
if (info->surf->tiling == ISL_TILING_W) {
/* From the Broadwell PRM documentation for this field:
*
* "If the surface is a stencil buffer (and thus has Tile Mode set
* to TILEMODE_WMAJOR), the pitch must be set to 2x the value
* computed based on width, as the stencil buffer is stored with
* two rows interleaved."
*/
s.SurfacePitch = info->surf->row_pitch * 2 - 1;
} else {
s.SurfacePitch = info->surf->row_pitch - 1;
}
#if GEN_GEN >= 8
/* From the CHV PRM, Volume 2d, page 321 (RENDER_SURFACE_STATE dword 0
* bit 9 "Sampler L2 Bypass Mode Disable" Programming Notes):