Set Depth Attachment Texture
This commit is contained in:
parent
35b0436a2b
commit
4e6abb0191
1 changed files with 10 additions and 0 deletions
|
@ -30,6 +30,7 @@ namespace Ryujinx.Graphics.Metal
|
||||||
private MTLCommandEncoder? _currentEncoder;
|
private MTLCommandEncoder? _currentEncoder;
|
||||||
private EncoderType _currentEncoderType = EncoderType.None;
|
private EncoderType _currentEncoderType = EncoderType.None;
|
||||||
private MTLTexture[] _renderTargets = [];
|
private MTLTexture[] _renderTargets = [];
|
||||||
|
private MTLTexture _depthTarget;
|
||||||
|
|
||||||
private RenderEncoderState _renderEncoderState;
|
private RenderEncoderState _renderEncoderState;
|
||||||
private readonly MTLVertexDescriptor _vertexDescriptor = new();
|
private readonly MTLVertexDescriptor _vertexDescriptor = new();
|
||||||
|
@ -136,6 +137,10 @@ namespace Ryujinx.Graphics.Metal
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var depthAttachment = descriptor.DepthAttachment;
|
||||||
|
depthAttachment.Texture = _depthTarget;
|
||||||
|
depthAttachment.LoadAction = MTLLoadAction.Load;
|
||||||
|
|
||||||
var renderCommandEncoder = _commandBuffer.RenderCommandEncoder(descriptor);
|
var renderCommandEncoder = _commandBuffer.RenderCommandEncoder(descriptor);
|
||||||
_renderEncoderState.SetEncoderState(renderCommandEncoder, descriptor, _vertexDescriptor);
|
_renderEncoderState.SetEncoderState(renderCommandEncoder, descriptor, _vertexDescriptor);
|
||||||
|
|
||||||
|
@ -523,6 +528,11 @@ namespace Ryujinx.Graphics.Metal
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (depthStencil is Texture depthTexture)
|
||||||
|
{
|
||||||
|
_depthTarget = depthTexture.MTLTexture;
|
||||||
|
}
|
||||||
|
|
||||||
// Recreate Render Command Encoder
|
// Recreate Render Command Encoder
|
||||||
BeginRenderPass();
|
BeginRenderPass();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue