1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-12-19 04:12:02 +00:00

Fix Cubemap & Array Texture Creation

This commit is contained in:
Isaac Marovitz 2024-03-19 22:58:27 -04:00 committed by Isaac Marovitz
parent 04ca284e14
commit 54c8dabadc

View file

@ -27,18 +27,24 @@ namespace Ryujinx.Graphics.Metal
_pipeline = pipeline; _pipeline = pipeline;
_info = info; _info = info;
var descriptor = new MTLTextureDescriptor var descriptor = new MTLTextureDescriptor();
{
PixelFormat = FormatTable.GetFormat(Info.Format), descriptor.PixelFormat = FormatTable.GetFormat(Info.Format);
Usage = MTLTextureUsage.ShaderRead, descriptor.Usage = MTLTextureUsage.ShaderRead;
Width = (ulong)Width,
Height = (ulong)Height,
Depth = (ulong)Depth
};
descriptor.Depth = (ulong)Info.Depth;
descriptor.SampleCount = (ulong)Info.Samples; descriptor.SampleCount = (ulong)Info.Samples;
descriptor.MipmapLevelCount = (ulong)Info.Levels;
descriptor.TextureType = Info.Target.Convert(); descriptor.TextureType = Info.Target.Convert();
descriptor.Width = (ulong)Info.Width;
descriptor.Height = (ulong)Info.Height;
descriptor.MipmapLevelCount = (ulong)Info.Levels;
if (info.Target == Target.Texture3D)
{
descriptor.Depth = (ulong)Info.Depth;
}
else if (info.Target != Target.Cubemap)
{
descriptor.ArrayLength = (ulong)Info.Depth;
}
var swizzleR = Info.SwizzleR.Convert(); var swizzleR = Info.SwizzleR.Convert();
var swizzleG = Info.SwizzleG.Convert(); var swizzleG = Info.SwizzleG.Convert();