graphics: Improve handling of color buffer and storage image swizzles (#1763)

* liverpool_to_vk: Remove wrong component swap formats

* shader_recompiler: Handle storage and buffer format swizzles

* shader_recompiler: Skip unsupported depth export

* image_view: Remove image format swizzle

* Platform support is not always guaranteed
This commit is contained in:
TheTurtle 2024-12-13 21:49:37 +02:00 committed by GitHub
parent 028be3ba5d
commit 722a0e36be
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 66 additions and 49 deletions

View file

@ -13,6 +13,11 @@ void Translator::EmitExport(const GcnInst& inst) {
const auto& exp = inst.control.exp;
const IR::Attribute attrib{exp.target};
if (attrib == IR::Attribute::Depth && exp.en != 1) {
LOG_WARNING(Render_Vulkan, "Unsupported depth export");
return;
}
const std::array vsrc = {
IR::VectorReg(inst.src[0].code),
IR::VectorReg(inst.src[1].code),