[Mesa-dev] [PATCH 0/8] intel/isl: Emit depth/stencil/hiz packets
Pohjolainen, Topi
topi.pohjolainen at gmail.com
Wed Apr 5 08:19:01 UTC 2017
On Tue, Apr 04, 2017 at 03:56:29PM -0700, Jason Ekstrand wrote:
> This little series adds support to ISL for emitting the packets required
> for depth and stencil buffers:
>
> - 3DSTATE_DEPTH_BUFFER
> - 3DSTATE_STENCIL_BUFFER
> - 3DSTATE_HIER_DEPTH_BUFFER
> - 3DSTATE_CLEAR_PARAMS
>
> The approach taken here is to have a single function which emits all four
> commands in one go. The reasoning behind doing it this way is that the
> four packets are very closely intertwined. For instance,
> 3DSTATE_STENCIL_BUFFER and 3DSTATE_HIER_DEPTH_BUFFER do not have any extent
> fields, they rely on 3DSTATE_DEPTH_BUFFER for that information. Also, the
> HiZ enable bit is in 3DSTATE_DEPTH_BUFFER but the details about the HiZ
> buffer are in 3DSTATE_HIER_DEPTH_BUFFER.
>
> The alternate approach, which Topi tried in some patches of his is to
> re-use the isl_surf_state_fill_info struct that we use for filling out
> RENDER_SURFACE_STATE. However, this requires unlinking depth and stencil
> (at the very least) which is problematic in the case where you have stencil
> but no depth.
>
> Jason Ekstrand (8):
> genxml/bits: Refactor to add a container class
> genxml/bits: Pull the function emit code into a helper block
> genxml/bits: Emit per-field _start helpers
> genxml/bits: Emit per-container _length helpers
> isl: Use genx_bits.h instead of a hand-rolled table
> isl: Add support for emitting depth/stencil/hiz
> anv: Use ISL for emitting depth/stencil/hiz
> intel/blorp: Use ISL for emitting depth/stencil/hiz
I had a few comments in patch 6 but 5-8 are:
Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
>
> src/intel/Makefile.sources | 7 ++
> src/intel/blorp/blorp_genX_exec.h | 120 ++++++------------
> src/intel/genxml/gen_bits_header.py | 159 +++++++++++++++++-------
> src/intel/isl/isl.c | 124 ++++++++++++++++---
> src/intel/isl/isl.h | 82 +++++++++++++
> src/intel/isl/isl_emit_depth_stencil.c | 189 +++++++++++++++++++++++++++++
> src/intel/isl/isl_priv.h | 28 +++++
> src/intel/vulkan/genX_cmd_buffer.c | 215 ++++++---------------------------
> 8 files changed, 601 insertions(+), 323 deletions(-)
> create mode 100644 src/intel/isl/isl_emit_depth_stencil.c
>
> --
> 2.5.0.400.gff86faf
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list