Stop depth/stencil blits from crashing everything
This commit is contained in:
parent
edceb1607f
commit
ed4f7a5602
2 changed files with 15 additions and 3 deletions
|
@ -254,14 +254,23 @@ namespace Ryujinx.Graphics.Metal
|
||||||
_renderer.RegisterFlush();
|
_renderer.RegisterFlush();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void BlitColor(
|
public void Blit(
|
||||||
ITexture src,
|
ITexture src,
|
||||||
ITexture dst,
|
ITexture dst,
|
||||||
Extents2D srcRegion,
|
Extents2D srcRegion,
|
||||||
Extents2D dstRegion,
|
Extents2D dstRegion,
|
||||||
|
bool isDepthOrStencil,
|
||||||
bool linearFilter)
|
bool linearFilter)
|
||||||
{
|
{
|
||||||
_renderer.HelperShader.BlitColor(Cbs, src, dst, srcRegion, dstRegion, linearFilter);
|
if (isDepthOrStencil)
|
||||||
|
{
|
||||||
|
// TODO: Depth & stencil blit!
|
||||||
|
Logger.Warning?.PrintMsg(LogClass.Gpu, "Requested a depth or stencil blit!");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_renderer.HelperShader.BlitColor(Cbs, src, dst, srcRegion, dstRegion, linearFilter);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Barrier()
|
public void Barrier()
|
||||||
|
|
|
@ -162,7 +162,10 @@ namespace Ryujinx.Graphics.Metal
|
||||||
|
|
||||||
public void CopyTo(ITexture destination, Extents2D srcRegion, Extents2D dstRegion, bool linearFilter)
|
public void CopyTo(ITexture destination, Extents2D srcRegion, Extents2D dstRegion, bool linearFilter)
|
||||||
{
|
{
|
||||||
_pipeline.BlitColor(this, destination, srcRegion, dstRegion, linearFilter);
|
var dst = (Texture)destination;
|
||||||
|
bool isDepthOrStencil = dst.Info.Format.IsDepthOrStencil();
|
||||||
|
|
||||||
|
_pipeline.Blit(this, destination, srcRegion, dstRegion, isDepthOrStencil, linearFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CopyTo(BufferRange range, int layer, int level, int stride)
|
public void CopyTo(BufferRange range, int layer, int level, int stride)
|
||||||
|
|
Loading…
Reference in a new issue