Scale scissor used for clears (#3002)
This commit is contained in:
parent
929a97d432
commit
fb853f13e9
@ -535,6 +535,15 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
|
|||||||
scissorH = Math.Min(scissorH, scissorState.Y2 - scissorState.Y1);
|
scissorH = Math.Min(scissorH, scissorState.Y2 - scissorState.Y1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float scale = _channel.TextureManager.RenderTargetScale;
|
||||||
|
if (scale != 1f)
|
||||||
|
{
|
||||||
|
scissorX = (int)(scissorX * scale);
|
||||||
|
scissorY = (int)(scissorY * scale);
|
||||||
|
scissorW = (int)MathF.Ceiling(scissorW * scale);
|
||||||
|
scissorH = (int)MathF.Ceiling(scissorH * scale);
|
||||||
|
}
|
||||||
|
|
||||||
_context.Renderer.Pipeline.SetScissor(0, true, scissorX, scissorY, scissorW, scissorH);
|
_context.Renderer.Pipeline.SetScissor(0, true, scissorX, scissorY, scissorW, scissorH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -477,8 +477,8 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
|
|||||||
{
|
{
|
||||||
x = (int)(x * scale);
|
x = (int)(x * scale);
|
||||||
y = (int)(y * scale);
|
y = (int)(y * scale);
|
||||||
width = (int)Math.Ceiling(width * scale);
|
width = (int)MathF.Ceiling(width * scale);
|
||||||
height = (int)Math.Ceiling(height * scale);
|
height = (int)MathF.Ceiling(height * scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
_context.Renderer.Pipeline.SetScissor(index, true, x, y, width, height);
|
_context.Renderer.Pipeline.SetScissor(index, true, x, y, width, height);
|
||||||
|
Loading…
Reference in New Issue
Block a user