Scale scissor used for clears (#3002)
This commit is contained in:
parent
929a97d432
commit
fb853f13e9
2 changed files with 11 additions and 2 deletions
|
@ -535,6 +535,15 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
|
|||
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);
|
||||
}
|
||||
|
||||
|
|
|
@ -477,8 +477,8 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
|
|||
{
|
||||
x = (int)(x * scale);
|
||||
y = (int)(y * scale);
|
||||
width = (int)Math.Ceiling(width * scale);
|
||||
height = (int)Math.Ceiling(height * scale);
|
||||
width = (int)MathF.Ceiling(width * scale);
|
||||
height = (int)MathF.Ceiling(height * scale);
|
||||
}
|
||||
|
||||
_context.Renderer.Pipeline.SetScissor(index, true, x, y, width, height);
|
||||
|
|
Reference in a new issue