mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2025-06-28 23:30:47 -07:00
Allow SNorm buffer texture formats on Vulkan (#3957)
* Allow SNorm buffer texture formats on Vulkan * Shader cache version bump
This commit is contained in:
@ -1088,10 +1088,9 @@ namespace Ryujinx.Graphics.Gpu.Image
|
||||
{
|
||||
FormatInfo formatInfo = TextureCompatibility.ToHostCompatibleFormat(info, caps);
|
||||
|
||||
if (info.Target == Target.TextureBuffer)
|
||||
if (info.Target == Target.TextureBuffer && !caps.SupportsSnormBufferTextureFormat)
|
||||
{
|
||||
// We assume that the host does not support signed normalized format
|
||||
// (as is the case with OpenGL), so we just use a unsigned format.
|
||||
// If the host does not support signed normalized formats, we use a signed integer format instead.
|
||||
// The shader will need the appropriate conversion code to compensate.
|
||||
switch (formatInfo.Format)
|
||||
{
|
||||
|
@ -22,7 +22,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
|
||||
private const ushort FileFormatVersionMajor = 1;
|
||||
private const ushort FileFormatVersionMinor = 2;
|
||||
private const uint FileFormatVersionPacked = ((uint)FileFormatVersionMajor << 16) | FileFormatVersionMinor;
|
||||
private const uint CodeGenVersion = 3943;
|
||||
private const uint CodeGenVersion = 3957;
|
||||
|
||||
private const string SharedTocFileName = "shared.toc";
|
||||
private const string SharedDataFileName = "shared.data";
|
||||
|
@ -134,6 +134,8 @@ namespace Ryujinx.Graphics.Gpu.Shader
|
||||
|
||||
public bool QueryHostSupportsShaderBallot() => _context.Capabilities.SupportsShaderBallot;
|
||||
|
||||
public bool QueryHostSupportsSnormBufferTextureFormat() => _context.Capabilities.SupportsSnormBufferTextureFormat;
|
||||
|
||||
public bool QueryHostSupportsTextureShadowLod() => _context.Capabilities.SupportsTextureShadowLod;
|
||||
|
||||
public bool QueryHostSupportsViewportIndex() => _context.Capabilities.SupportsViewportIndex;
|
||||
|
Reference in New Issue
Block a user