WIP: Experimental: Metal backend #439

Closed
GreemDev wants to merge 374 commits from metal into master
3 changed files with 9 additions and 2 deletions
Showing only changes of commit 42c6611563 - Show all commits

View File

@ -35,7 +35,12 @@ namespace Ryujinx.Graphics.Metal
public void Use(MTLCommandQueue queue, IEncoderFactory stateManager) public void Use(MTLCommandQueue queue, IEncoderFactory stateManager)
{ {
CommandBuffer = queue.CommandBuffer(); MTLCommandBufferDescriptor descriptor = new();
#if DEBUG
descriptor.ErrorOptions = MTLCommandBufferErrorOption.EncoderExecutionStatus;
#endif
CommandBuffer = queue.CommandBuffer(descriptor);
Fence = new FenceHolder(CommandBuffer); Fence = new FenceHolder(CommandBuffer);
Encoders.Initialize(CommandBuffer, stateManager); Encoders.Initialize(CommandBuffer, stateManager);

View File

@ -137,7 +137,6 @@ namespace Ryujinx.Graphics.Metal
}; };
} }
// TODO: Metal does not have native support for Triangle Fans but it is possible to emulate with TriangleStrip and moving around the indices
public static MTLPrimitiveType Convert(this PrimitiveTopology topology) public static MTLPrimitiveType Convert(this PrimitiveTopology topology)
{ {
return topology switch return topology switch

View File

@ -59,6 +59,9 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl
public static void Declare(CodeGenContext context, StructuredProgramInfo info) public static void Declare(CodeGenContext context, StructuredProgramInfo info)
{ {
// TODO: Re-enable this warning
context.AppendLine("#pragma clang diagnostic ignored \"-Wunused-variable\"");
context.AppendLine();
context.AppendLine("#include <metal_stdlib>"); context.AppendLine("#include <metal_stdlib>");
context.AppendLine("#include <simd/simd.h>"); context.AppendLine("#include <simd/simd.h>");
context.AppendLine(); context.AppendLine();