[Mesa-dev] [PATCH 06/43] intel/isl: Don't request space for stencil/hiz packets unless needed
Jason Ekstrand
jason at jlekstrand.net
Tue May 16 22:45:00 UTC 2017
On Iron Lake, the packets exist but we never emit them so there's no
need for us to ask the driver to make batch space for them.
---
src/intel/isl/isl.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c
index f89f351..f70e188 100644
--- a/src/intel/isl/isl.c
+++ b/src/intel/isl/isl.c
@@ -84,17 +84,16 @@ isl_device_init(struct isl_device *dev,
dev->ss.aux_addr_offset =
(RENDER_SURFACE_STATE_AuxiliarySurfaceBaseAddress_start(info) & ~31) / 8;
- dev->ds.size =
- _3DSTATE_DEPTH_BUFFER_length(info) * 4 +
- _3DSTATE_STENCIL_BUFFER_length(info) * 4 +
- _3DSTATE_HIER_DEPTH_BUFFER_length(info) * 4 +
- _3DSTATE_CLEAR_PARAMS_length(info) * 4;
-
+ dev->ds.size = _3DSTATE_DEPTH_BUFFER_length(info) * 4;
assert(_3DSTATE_DEPTH_BUFFER_SurfaceBaseAddress_start(info) % 8 == 0);
dev->ds.depth_offset =
_3DSTATE_DEPTH_BUFFER_SurfaceBaseAddress_start(info) / 8;
- if (info->has_hiz_and_separate_stencil) {
+ if (dev->use_separate_stencil) {
+ dev->ds.size += _3DSTATE_STENCIL_BUFFER_length(info) * 4 +
+ _3DSTATE_HIER_DEPTH_BUFFER_length(info) * 4 +
+ _3DSTATE_CLEAR_PARAMS_length(info) * 4;
+
assert(_3DSTATE_STENCIL_BUFFER_SurfaceBaseAddress_start(info) % 8 == 0);
dev->ds.stencil_offset =
_3DSTATE_DEPTH_BUFFER_length(info) * 4 +
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list