diff options
author | Kenneth Graunke <[email protected]> | 2018-08-09 23:28:24 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2018-08-11 12:34:01 -0700 |
commit | de57926dc909b3fb180ff06a6c5235309fdbf4df (patch) | |
tree | 05bc4c49abd8371a951f8c9cce218acfeb49a543 /src/compiler/spirv | |
parent | 8a290862859bade4b238f595378d63bb920e763a (diff) |
blorp: Properly handle Z24X8 blits.
One of the reasons we didn't notice that R24_UNORM_X8_TYPELESS
destinations were broken was that an earlier layer was swapping it
out for B8G8R8A8_UNORM. That made Z24X8 -> Z24X8 blits work.
However, R32_FLOAT -> R24_UNORM_X8_TYPELESS was still totally broken.
The old code only considered one format at a time, without thinking
that format conversion may need to occur.
This patch moves the translation out to a place where it can consider
both formats. If both are Z24X8, we continue using B8G8R8A8_UNORM to
avoid having to do shader math workarounds. If we have a Z24X8
destination, but a non-matching source, we use our shader hacks to
actually render to it properly.
Fixes: 804856fa5735164cc0733ad0ea62adad39b00ae2 (intel/blorp: Handle more exotic destination formats)
Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/compiler/spirv')
0 files changed, 0 insertions, 0 deletions