Move solution and projects to src
This commit is contained in:
parent
cd124bda58
commit
cee7121058
3466 changed files with 55 additions and 55 deletions
58
src/Ryujinx.Graphics.Shader/SupportBuffer.cs
Normal file
58
src/Ryujinx.Graphics.Shader/SupportBuffer.cs
Normal file
|
@ -0,0 +1,58 @@
|
|||
using Ryujinx.Common.Memory;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Ryujinx.Graphics.Shader
|
||||
{
|
||||
public struct Vector4<T>
|
||||
{
|
||||
public T X;
|
||||
public T Y;
|
||||
public T Z;
|
||||
public T W;
|
||||
}
|
||||
|
||||
public struct SupportBuffer
|
||||
{
|
||||
public static int FieldSize;
|
||||
public static int RequiredSize;
|
||||
|
||||
public static int FragmentAlphaTestOffset;
|
||||
public static int FragmentIsBgraOffset;
|
||||
public static int ViewportInverseOffset;
|
||||
public static int FragmentRenderScaleCountOffset;
|
||||
public static int GraphicsRenderScaleOffset;
|
||||
public static int ComputeRenderScaleOffset;
|
||||
|
||||
public const int FragmentIsBgraCount = 8;
|
||||
// One for the render target, 64 for the textures, and 8 for the images.
|
||||
public const int RenderScaleMaxCount = 1 + 64 + 8;
|
||||
|
||||
private static int OffsetOf<T>(ref SupportBuffer storage, ref T target)
|
||||
{
|
||||
return (int)Unsafe.ByteOffset(ref Unsafe.As<SupportBuffer, T>(ref storage), ref target);
|
||||
}
|
||||
|
||||
static SupportBuffer()
|
||||
{
|
||||
FieldSize = Unsafe.SizeOf<Vector4<float>>();
|
||||
RequiredSize = Unsafe.SizeOf<SupportBuffer>();
|
||||
|
||||
SupportBuffer instance = new SupportBuffer();
|
||||
|
||||
FragmentAlphaTestOffset = OffsetOf(ref instance, ref instance.FragmentAlphaTest);
|
||||
FragmentIsBgraOffset = OffsetOf(ref instance, ref instance.FragmentIsBgra);
|
||||
ViewportInverseOffset = OffsetOf(ref instance, ref instance.ViewportInverse);
|
||||
FragmentRenderScaleCountOffset = OffsetOf(ref instance, ref instance.FragmentRenderScaleCount);
|
||||
GraphicsRenderScaleOffset = OffsetOf(ref instance, ref instance.RenderScale);
|
||||
ComputeRenderScaleOffset = GraphicsRenderScaleOffset + FieldSize;
|
||||
}
|
||||
|
||||
public Vector4<int> FragmentAlphaTest;
|
||||
public Array8<Vector4<int>> FragmentIsBgra;
|
||||
public Vector4<float> ViewportInverse;
|
||||
public Vector4<int> FragmentRenderScaleCount;
|
||||
|
||||
// Render scale max count: 1 + 64 + 8. First scale is fragment output scale, others are textures/image inputs.
|
||||
public Array73<Vector4<float>> RenderScale;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue