mirror of
https://github.com/Ryujinx-NX/Ryujinx.git
synced 2024-11-14 21:17:43 -07:00
Fix shader texture LOD query (#2397)
This commit is contained in:
parent
ab9d4b862d
commit
c71ae9c85c
@ -36,7 +36,7 @@ namespace Ryujinx.Graphics.Gpu.Shader
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Version of the codegen (to be changed when codegen or guest format change).
|
/// Version of the codegen (to be changed when codegen or guest format change).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private const ulong ShaderCodeGenVersion = 2362;
|
private const ulong ShaderCodeGenVersion = 2397;
|
||||||
|
|
||||||
// Progress reporting helpers
|
// Progress reporting helpers
|
||||||
private volatile int _shaderCount;
|
private volatile int _shaderCount;
|
||||||
|
@ -889,7 +889,7 @@ namespace Ryujinx.Graphics.Shader.Instructions
|
|||||||
type,
|
type,
|
||||||
flags,
|
flags,
|
||||||
handle,
|
handle,
|
||||||
compIndex,
|
compIndex ^ 1, // The instruction component order is the inverse of GLSL's.
|
||||||
tempDest,
|
tempDest,
|
||||||
sources);
|
sources);
|
||||||
|
|
||||||
@ -897,9 +897,9 @@ namespace Ryujinx.Graphics.Shader.Instructions
|
|||||||
|
|
||||||
tempDest = context.FPMultiply(tempDest, ConstF(256.0f));
|
tempDest = context.FPMultiply(tempDest, ConstF(256.0f));
|
||||||
|
|
||||||
Operand finalValue = context.FPConvertToS32(tempDest);
|
Operand fixedPointValue = context.FPConvertToS32(tempDest);
|
||||||
|
|
||||||
context.Copy(dest, finalValue);
|
context.Copy(dest, fixedPointValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -155,7 +155,7 @@ namespace Ryujinx.Graphics.Shader.Translation
|
|||||||
{
|
{
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isGather = (texOp.Flags & TextureFlags.Gather) != 0;
|
bool isGather = (texOp.Flags & TextureFlags.Gather) != 0;
|
||||||
bool hasDerivatives = (texOp.Flags & TextureFlags.Derivatives) != 0;
|
bool hasDerivatives = (texOp.Flags & TextureFlags.Derivatives) != 0;
|
||||||
bool intCoords = (texOp.Flags & TextureFlags.IntCoords) != 0;
|
bool intCoords = (texOp.Flags & TextureFlags.IntCoords) != 0;
|
||||||
@ -360,7 +360,7 @@ namespace Ryujinx.Graphics.Shader.Translation
|
|||||||
texOp.Format,
|
texOp.Format,
|
||||||
texOp.Flags,
|
texOp.Flags,
|
||||||
texOp.Handle,
|
texOp.Handle,
|
||||||
1,
|
0,
|
||||||
lod,
|
lod,
|
||||||
lodSources));
|
lodSources));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user