This little series makes a bunch of mostly small changes to blorp. The end objective is to get to the point where you just call blorp_ccs_op and hand it an isl_aux_op instead of having different entrypoints for everything. This is similar to what we do for HiZ. For MCS, we still have two functions: blorp_mcs_clear and blorp_mcs_partial_resolve. Since those are the only two MCS operations you can do (and partial resolve isn't an actual hardware op), that seemed ok.
The difficult patch in here is the first one. I fairly firmly believe it to be correct but it's a deviation of the docs so it's a bit hard to say. Unfortunately, it's one of the worst bits of documentation we have for our GPUs and, as the giant comment explains, it's actually self-contradictory once you start doing the math. Jason Ekstrand (9): intel/blorp: Only double the fast-clear rect alignment on HSW intel/blorp: Use the hardware op for CCS ambiguate on gen10+ intel/blorp: Rename blorp_ccs_resolve to blorp_ccs_op intel/blorp: Simplify asserts in blorp_ccs_op anv/blorp: Use blorp_ccs_op for everything intel/blorp: Make blorp_ccs_ambiguate just an internal helper i965: Use blorp_ccs_op for CCS fast-clears intel/blorp: Handle fast-clear directly in blorp_ccs_op intel/blorp: Refactor MCS clears src/intel/blorp/blorp.h | 24 ++- src/intel/blorp/blorp_clear.c | 327 ++++++++++++++++++---------------- src/intel/blorp/blorp_genX_exec.h | 6 + src/intel/vulkan/anv_blorp.c | 34 +--- src/mesa/drivers/dri/i965/brw_blorp.c | 18 +- 5 files changed, 203 insertions(+), 206 deletions(-) -- 2.5.0.400.gff86faf _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev