isl: Don't require VALIGN_2 for R32G32B32_FLOAT on Haswell.

According to the RENDER_SURFACE_STATE internal documentation, the
R32G32B32_FLOAT restriction is marked "IVB" only.  We choose to apply
it to Ivybridge and Baytrail, but not Haswell.

Apparently fixes KHR-GL46.texture_size_promotion.functional on Haswell.

Changes these tests from crashing to skipping on Haswell:
- KHR-GL46.direct_state_access.textures_storage_multisample_2d_rgb32f
- KHR-GL46.direct_state_access.textures_storage_multisample_3d_rgb32f

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Kenneth Graunke 2017-12-14 16:17:45 -08:00
parent 2ec48039b8
commit 02720f8d24
1 changed files with 3 additions and 1 deletions

View File

@ -38,9 +38,11 @@ gen7_format_needs_valign2(const struct isl_device *dev,
* (0x190)
*
* - VALIGN_4 is not supported for surface format R32G32B32_FLOAT.
*
* The R32G32B32_FLOAT restriction is dropped on Haswell.
*/
return isl_format_is_yuv(format) ||
format == ISL_FORMAT_R32G32B32_FLOAT;
(format == ISL_FORMAT_R32G32B32_FLOAT && !ISL_DEV_IS_HASWELL(dev));
}
bool