[Mesa-dev] [PATCH v2 0/4] intel/isl: Add support for emitting depth/stencil
Jason Ekstrand
jason at jlekstrand.net
Sat Apr 8 05:42:21 UTC 2017
This is mostly a re-send of previous patches. The two things that have
changed over the last version is that the first patch is now actually
correct for gen6. Prior to sending the original version, I tested it only
with Vulkan which doesn't run on gen6 so a few fields were missed. This
version passes both GL and Vulkan.
The second change is that we now pass the result of the relocation function
calls into the address fields. Previously, the addresses weren't properly
getting filled out so we didn't have a valid address if a relocation didn't
happen. I have no idea how the Vulkan CTS managed to *not* catch this.
Eventually, I think I'd like to use some sort of a relocation function
pointer hook in ISL for doing these things but using the address fields
works for now. Unfortunately, we can't use the address fields for regular
surface states because, thanks to the bottom bits of
AuxiliarySurfaceBaseAddress being used for other things, you need the
result of at least some of the packing in order to generate the reloc. A
function pointer mechanism would solve this because it would get called
during the packing process.
Jason Ekstrand (4):
intel/isl: Add support for emitting depth/stencil/hiz
anv: Use ISL for emitting depth/stencil/hiz
intel/blorp: Emit 3DSTATE_STENCIL_BUFFER before HIER_DEPTH
intel/blorp: Use ISL for emitting depth/stencil/hiz
src/intel/Makefile.sources | 7 ++
src/intel/blorp/blorp_genX_exec.h | 119 +++++-------------
src/intel/isl/isl.c | 93 ++++++++++++++
src/intel/isl/isl.h | 74 +++++++++++
src/intel/isl/isl_emit_depth_stencil.c | 199 ++++++++++++++++++++++++++++++
src/intel/isl/isl_priv.h | 28 +++++
src/intel/vulkan/genX_cmd_buffer.c | 218 ++++++---------------------------
7 files changed, 473 insertions(+), 265 deletions(-)
create mode 100644 src/intel/isl/isl_emit_depth_stencil.c
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list