Mesa (main): intel/isl: add levels and minimum array element to null fill
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Jun 8 03:01:43 UTC 2021
Module: Mesa
Branch: main
Commit: c25a5a832aa7ff8f2cadf846b0233da1aa881038
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c25a5a832aa7ff8f2cadf846b0233da1aa881038
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Jun 7 05:28:07 2021 +1000
intel/isl: add levels and minimum array element to null fill
gen4/5 needs these to avoid gpu hangs around matching depth/null
surfaces
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10655>
---
src/intel/isl/isl.h | 2 ++
src/intel/isl/isl_surface_state.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h
index def32ece1f7..353ac7be266 100644
--- a/src/intel/isl/isl.h
+++ b/src/intel/isl/isl.h
@@ -1522,6 +1522,8 @@ struct isl_depth_stencil_hiz_emit_info {
struct isl_null_fill_state_info {
struct isl_extent3d size;
+ uint32_t levels;
+ uint32_t minimum_array_element;
};
extern const struct isl_format_layout isl_format_layouts[];
diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c
index 10c6d54a645..aafb12f8210 100644
--- a/src/intel/isl/isl_surface_state.c
+++ b/src/intel/isl/isl_surface_state.c
@@ -961,11 +961,13 @@ isl_genX(null_fill_state)(void *state,
*/
.SurfaceVerticalAlignment = VALIGN_4,
#endif
+ .MIPCountLOD = info->levels,
.Width = info->size.width - 1,
.Height = info->size.height - 1,
.Depth = info->size.depth - 1,
.RenderTargetViewExtent = info->size.depth - 1,
#if GFX_VER <= 5
+ .MinimumArrayElement = info->minimum_array_element,
.ColorBufferComponentWriteDisables = 0xf,
#endif
};
More information about the mesa-commit
mailing list