diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c index 4cbcd64d28e..914889d8a90 100644 --- a/src/intel/isl/isl_surface_state.c +++ b/src/intel/isl/isl_surface_state.c @@ -439,6 +439,19 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state, s.CubeFaceEnableNegativeX = 1; #if GFX_VER >= 6 + /* From the Broadwell PRM for "Number of Multisamples": + * + * "If this field is any value other than MULTISAMPLECOUNT_1, Surface + * Min LOD, Mip Count / LOD, and Resource Min LOD must be set to zero." + * + * This is fine because no 3D API allows multisampling and mipmapping at + * the same time. + */ + if (info->surf->samples > 1) { + assert(info->view->min_lod_clamp == 0); + assert(info->view->base_level == 0); + assert(info->view->levels == 1); + } s.NumberofMultisamples = ffs(info->surf->samples) - 1; #if GFX_VER >= 7 s.MultisampledSurfaceStorageFormat =