X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fdrivers%2Fdri%2Fintel%2Fintel_mipmap_tree.h;h=b7376e03055f22c0d5baa7f0a71cbd3a77ba6569;hb=bdf13dc8324c391b7d34f8bdaea72c4452ab7edb;hp=3bdda07edceae4b873c0f97462d60a89215b93eb;hpb=0af56c9d53a454477645f4537b8086120a638d3e;p=mesa.git diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.h b/src/mesa/drivers/dri/intel/intel_mipmap_tree.h index 3bdda07edce..b7376e03055 100644 --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.h +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.h @@ -152,6 +152,15 @@ struct intel_mipmap_level * intel_miptree_map/unmap on this slice. */ struct intel_miptree_map *map; + + /** + * \brief Is HiZ enabled for this slice? + * + * If \c mt->level[l].slice[s].has_hiz is set, then (1) \c mt->hiz_mt + * has been allocated and (2) the HiZ memory corresponding to this slice + * resides at \c mt->hiz_mt->level[l].slice[s]. + */ + bool has_hiz; } *slice; }; @@ -333,9 +342,11 @@ struct intel_mipmap_tree /** * \brief HiZ miptree * - * This is non-null only if HiZ is enabled for this miptree. + * The hiz miptree contains the miptree's hiz buffer. To allocate the hiz + * miptree, use intel_miptree_alloc_hiz(). * - * \see intel_miptree_alloc_hiz() + * To determine if hiz is enabled, do not check this pointer. Instead, use + * intel_miptree_slice_has_hiz(). */ struct intel_mipmap_tree *hiz_mt; @@ -529,8 +540,12 @@ intel_miptree_alloc_mcs(struct intel_context *intel, bool intel_miptree_alloc_hiz(struct intel_context *intel, - struct intel_mipmap_tree *mt, - GLuint num_samples); + struct intel_mipmap_tree *mt); + +bool +intel_miptree_slice_has_hiz(struct intel_mipmap_tree *mt, + uint32_t level, + uint32_t layer); void intel_miptree_slice_set_needs_hiz_resolve(struct intel_mipmap_tree *mt,