intel: Require ISL_AUX_USAGE_STC_CCS for stencil CCS
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4056>
This commit is contained in:

committed by
Marge Bot

parent
56e15bf31c
commit
f047e504a5
@@ -1805,8 +1805,7 @@ blorp_emit_gen8_hiz_op(struct blorp_batch *batch,
|
|||||||
hzp.DepthBufferResolveEnable = params->depth.enabled;
|
hzp.DepthBufferResolveEnable = params->depth.enabled;
|
||||||
#if GEN_GEN >= 12
|
#if GEN_GEN >= 12
|
||||||
if (params->stencil.enabled) {
|
if (params->stencil.enabled) {
|
||||||
assert(params->stencil.aux_usage == ISL_AUX_USAGE_CCS_E ||
|
assert(params->stencil.aux_usage == ISL_AUX_USAGE_STC_CCS);
|
||||||
params->stencil.aux_usage == ISL_AUX_USAGE_STC_CCS);
|
|
||||||
hzp.StencilBufferResolveEnable = true;
|
hzp.StencilBufferResolveEnable = true;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -164,8 +164,9 @@ isl_genX(emit_depth_stencil_hiz_s)(const struct isl_device *dev, void *batch,
|
|||||||
sb.Depth = sb.RenderTargetViewExtent = info->view->array_len - 1;
|
sb.Depth = sb.RenderTargetViewExtent = info->view->array_len - 1;
|
||||||
sb.SurfLOD = info->view->base_level;
|
sb.SurfLOD = info->view->base_level;
|
||||||
sb.MinimumArrayElement = info->view->base_array_layer;
|
sb.MinimumArrayElement = info->view->base_array_layer;
|
||||||
|
assert(info->stencil_aux_usage == ISL_AUX_USAGE_NONE ||
|
||||||
|
info->stencil_aux_usage == ISL_AUX_USAGE_STC_CCS);
|
||||||
sb.StencilCompressionEnable =
|
sb.StencilCompressionEnable =
|
||||||
info->stencil_aux_usage == ISL_AUX_USAGE_CCS_E ||
|
|
||||||
info->stencil_aux_usage == ISL_AUX_USAGE_STC_CCS;
|
info->stencil_aux_usage == ISL_AUX_USAGE_STC_CCS;
|
||||||
sb.ControlSurfaceEnable = sb.StencilCompressionEnable;
|
sb.ControlSurfaceEnable = sb.StencilCompressionEnable;
|
||||||
#elif GEN_GEN >= 8 || GEN_IS_HASWELL
|
#elif GEN_GEN >= 8 || GEN_IS_HASWELL
|
||||||
|
@@ -587,6 +587,9 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state,
|
|||||||
if (isl_surf_usage_is_depth(info->surf->usage))
|
if (isl_surf_usage_is_depth(info->surf->usage))
|
||||||
assert(isl_aux_usage_has_hiz(info->aux_usage));
|
assert(isl_aux_usage_has_hiz(info->aux_usage));
|
||||||
|
|
||||||
|
if (isl_surf_usage_is_stencil(info->surf->usage))
|
||||||
|
assert(info->aux_usage == ISL_AUX_USAGE_STC_CCS);
|
||||||
|
|
||||||
if (isl_aux_usage_has_hiz(info->aux_usage)) {
|
if (isl_aux_usage_has_hiz(info->aux_usage)) {
|
||||||
/* For Gen8-10, there are some restrictions around sampling from HiZ.
|
/* For Gen8-10, there are some restrictions around sampling from HiZ.
|
||||||
* The Skylake PRM docs for RENDER_SURFACE_STATE::AuxiliarySurfaceMode
|
* The Skylake PRM docs for RENDER_SURFACE_STATE::AuxiliarySurfaceMode
|
||||||
|
Reference in New Issue
Block a user