[GPU/WGF] Use ByteAddressBuffer in precompiled shaders

Drivers and hardware may provide more optimal paths for untyped buffers
compared to typed.

Also, ByteAddressBuffer may be bound via a root descriptor in Direct3D 12,
greatly simplifying the binding logic.

ByteAddressBuffer also doesn't have the 128 * 2^20 element count limit that
typed and structured buffers have, and doesn't require the structure stride
to be specified at resource creation time in Direct3D 11.
This commit is contained in:
Triang3l
2026-02-09 21:29:18 +03:00
parent c7f61342d7
commit 80dad41454
211 changed files with 121690 additions and 123176 deletions

View File

@@ -790,15 +790,15 @@ void GetResolveEdramTileSpan(ResolveEdramInfo edram_info,
const ResolveCopyShaderInfo
resolve_copy_shader_info[size_t(ResolveCopyShaderIndex::kCount)] = {
{"Resolve Copy Fast 32bpp 1x/2xMSAA", false, 4, 4, 6, 3},
{"Resolve Copy Fast 32bpp 4xMSAA", false, 4, 4, 6, 3},
{"Resolve Copy Fast 64bpp 1x/2xMSAA", false, 4, 4, 5, 3},
{"Resolve Copy Fast 64bpp 4xMSAA", false, 3, 4, 5, 3},
{"Resolve Copy Full 8bpp", true, 2, 3, 6, 3},
{"Resolve Copy Full 16bpp", true, 2, 3, 5, 3},
{"Resolve Copy Full 32bpp", true, 2, 4, 5, 3},
{"Resolve Copy Full 64bpp", true, 2, 4, 5, 3},
{"Resolve Copy Full 128bpp", true, 2, 4, 4, 3},
{"Resolve Copy Fast 32bpp 1x/2xMSAA", 6, 3},
{"Resolve Copy Fast 32bpp 4xMSAA", 6, 3},
{"Resolve Copy Fast 64bpp 1x/2xMSAA", 5, 3},
{"Resolve Copy Fast 64bpp 4xMSAA", 5, 3},
{"Resolve Copy Full 8bpp", 6, 3},
{"Resolve Copy Full 16bpp", 5, 3},
{"Resolve Copy Full 32bpp", 5, 3},
{"Resolve Copy Full 64bpp", 5, 3},
{"Resolve Copy Full 128bpp", 4, 3},
};
bool GetResolveInfo(const RegisterFile& regs, const Memory& memory,