forked from Mirror/Ryujinx
Fix geometry shader layer passthrough regression (#4735)
* Fix geometry shader layer passthrough regression * Shader cache version bump
This commit is contained in:
parent
9f12e50a54
commit
cd124bda58
3 changed files with 6 additions and 6 deletions
|
@ -22,7 +22,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
|
||||||
private const ushort FileFormatVersionMajor = 1;
|
private const ushort FileFormatVersionMajor = 1;
|
||||||
private const ushort FileFormatVersionMinor = 2;
|
private const ushort FileFormatVersionMinor = 2;
|
||||||
private const uint FileFormatVersionPacked = ((uint)FileFormatVersionMajor << 16) | FileFormatVersionMinor;
|
private const uint FileFormatVersionPacked = ((uint)FileFormatVersionMajor << 16) | FileFormatVersionMinor;
|
||||||
private const uint CodeGenVersion = 4565;
|
private const uint CodeGenVersion = 4735;
|
||||||
|
|
||||||
private const string SharedTocFileName = "shared.toc";
|
private const string SharedTocFileName = "shared.toc";
|
||||||
private const string SharedDataFileName = "shared.data";
|
private const string SharedDataFileName = "shared.data";
|
||||||
|
|
|
@ -322,10 +322,10 @@ namespace Ryujinx.Graphics.Shader.Translation
|
||||||
|
|
||||||
void WriteUserDefinedOutput(int index, int primIndex)
|
void WriteUserDefinedOutput(int index, int primIndex)
|
||||||
{
|
{
|
||||||
Operand x = this.Load(StorageKind.Input, IoVariable.UserDefined, Const(primIndex), Const(index), Const(0));
|
Operand x = this.Load(StorageKind.Input, IoVariable.UserDefined, Const(index), Const(primIndex), Const(0));
|
||||||
Operand y = this.Load(StorageKind.Input, IoVariable.UserDefined, Const(primIndex), Const(index), Const(1));
|
Operand y = this.Load(StorageKind.Input, IoVariable.UserDefined, Const(index), Const(primIndex), Const(1));
|
||||||
Operand z = this.Load(StorageKind.Input, IoVariable.UserDefined, Const(primIndex), Const(index), Const(2));
|
Operand z = this.Load(StorageKind.Input, IoVariable.UserDefined, Const(index), Const(primIndex), Const(2));
|
||||||
Operand w = this.Load(StorageKind.Input, IoVariable.UserDefined, Const(primIndex), Const(index), Const(3));
|
Operand w = this.Load(StorageKind.Input, IoVariable.UserDefined, Const(index), Const(primIndex), Const(3));
|
||||||
|
|
||||||
this.Store(StorageKind.Output, IoVariable.UserDefined, null, Const(index), Const(0), x);
|
this.Store(StorageKind.Output, IoVariable.UserDefined, null, Const(index), Const(0), x);
|
||||||
this.Store(StorageKind.Output, IoVariable.UserDefined, null, Const(index), Const(1), y);
|
this.Store(StorageKind.Output, IoVariable.UserDefined, null, Const(index), Const(1), y);
|
||||||
|
|
|
@ -208,7 +208,7 @@ namespace Ryujinx.Graphics.Shader.Translation
|
||||||
{
|
{
|
||||||
int attr = AttributeConsts.UserAttributeBase + attrIndex * 16 + c * 4;
|
int attr = AttributeConsts.UserAttributeBase + attrIndex * 16 + c * 4;
|
||||||
|
|
||||||
Operand value = context.Load(StorageKind.Input, IoVariable.UserDefined, Const(v), Const(attrIndex), Const(c));
|
Operand value = context.Load(StorageKind.Input, IoVariable.UserDefined, Const(attrIndex), Const(v), Const(c));
|
||||||
|
|
||||||
if (attr == layerOutputAttr)
|
if (attr == layerOutputAttr)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue