Revert some changes that were out of scope/intent of commit
This commit is contained in:
parent
10506afc23
commit
a7a49cc8fe
9 changed files with 35 additions and 79 deletions
|
@ -47,8 +47,7 @@ namespace Ryujinx.Graphics.GAL
|
||||||
void SetBlendState(AdvancedBlendDescriptor blend);
|
void SetBlendState(AdvancedBlendDescriptor blend);
|
||||||
void SetBlendState(int index, BlendDescriptor blend);
|
void SetBlendState(int index, BlendDescriptor blend);
|
||||||
|
|
||||||
void SetDepthBias(float factor, float units, float clamp);
|
void SetDepthBias(PolygonModeMask enables, float factor, float units, float clamp);
|
||||||
void SetDepthBiasEnable(PolygonModeMask enables);
|
|
||||||
void SetDepthClamp(bool clamp);
|
void SetDepthClamp(bool clamp);
|
||||||
void SetDepthMode(DepthMode mode);
|
void SetDepthMode(DepthMode mode);
|
||||||
void SetDepthTest(DepthTestDescriptor depthTest);
|
void SetDepthTest(DepthTestDescriptor depthTest);
|
||||||
|
|
|
@ -116,7 +116,6 @@ namespace Ryujinx.Graphics.GAL.Multithreading
|
||||||
Register<SetBlendStateAdvancedCommand>(CommandType.SetBlendStateAdvanced);
|
Register<SetBlendStateAdvancedCommand>(CommandType.SetBlendStateAdvanced);
|
||||||
Register<SetBlendStateCommand>(CommandType.SetBlendState);
|
Register<SetBlendStateCommand>(CommandType.SetBlendState);
|
||||||
Register<SetDepthBiasCommand>(CommandType.SetDepthBias);
|
Register<SetDepthBiasCommand>(CommandType.SetDepthBias);
|
||||||
Register<SetDepthBiasEnableCommand>(CommandType.SetDepthBiasEnable);
|
|
||||||
Register<SetDepthClampCommand>(CommandType.SetDepthClamp);
|
Register<SetDepthClampCommand>(CommandType.SetDepthClamp);
|
||||||
Register<SetDepthModeCommand>(CommandType.SetDepthMode);
|
Register<SetDepthModeCommand>(CommandType.SetDepthMode);
|
||||||
Register<SetDepthTestCommand>(CommandType.SetDepthTest);
|
Register<SetDepthTestCommand>(CommandType.SetDepthTest);
|
||||||
|
|
|
@ -76,7 +76,6 @@ namespace Ryujinx.Graphics.GAL.Multithreading
|
||||||
SetBlendStateAdvanced,
|
SetBlendStateAdvanced,
|
||||||
SetBlendState,
|
SetBlendState,
|
||||||
SetDepthBias,
|
SetDepthBias,
|
||||||
SetDepthBiasEnable,
|
|
||||||
SetDepthClamp,
|
SetDepthClamp,
|
||||||
SetDepthMode,
|
SetDepthMode,
|
||||||
SetDepthTest,
|
SetDepthTest,
|
||||||
|
|
|
@ -3,12 +3,14 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
||||||
struct SetDepthBiasCommand : IGALCommand, IGALCommand<SetDepthBiasCommand>
|
struct SetDepthBiasCommand : IGALCommand, IGALCommand<SetDepthBiasCommand>
|
||||||
{
|
{
|
||||||
public readonly CommandType CommandType => CommandType.SetDepthBias;
|
public readonly CommandType CommandType => CommandType.SetDepthBias;
|
||||||
|
private PolygonModeMask _enables;
|
||||||
private float _factor;
|
private float _factor;
|
||||||
private float _units;
|
private float _units;
|
||||||
private float _clamp;
|
private float _clamp;
|
||||||
|
|
||||||
public void Set(float factor, float units, float clamp)
|
public void Set(PolygonModeMask enables, float factor, float units, float clamp)
|
||||||
{
|
{
|
||||||
|
_enables = enables;
|
||||||
_factor = factor;
|
_factor = factor;
|
||||||
_units = units;
|
_units = units;
|
||||||
_clamp = clamp;
|
_clamp = clamp;
|
||||||
|
@ -16,7 +18,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
||||||
|
|
||||||
public static void Run(ref SetDepthBiasCommand command, ThreadedRenderer threaded, IRenderer renderer)
|
public static void Run(ref SetDepthBiasCommand command, ThreadedRenderer threaded, IRenderer renderer)
|
||||||
{
|
{
|
||||||
renderer.Pipeline.SetDepthBias(command._factor, command._units, command._clamp);
|
renderer.Pipeline.SetDepthBias(command._enables, command._factor, command._units, command._clamp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|
||||||
{
|
|
||||||
struct SetDepthBiasEnableCommand : IGALCommand, IGALCommand<SetDepthBiasEnableCommand>
|
|
||||||
{
|
|
||||||
public readonly CommandType CommandType => CommandType.SetDepthBias;
|
|
||||||
private PolygonModeMask _enables;
|
|
||||||
|
|
||||||
|
|
||||||
public void Set(PolygonModeMask enables)
|
|
||||||
{
|
|
||||||
_enables = enables;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void Run(ref SetDepthBiasEnableCommand command, ThreadedRenderer threaded, IRenderer renderer)
|
|
||||||
{
|
|
||||||
renderer.Pipeline.SetDepthBiasEnable(command._enables);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -141,15 +141,9 @@ namespace Ryujinx.Graphics.GAL.Multithreading
|
||||||
_renderer.QueueCommand();
|
_renderer.QueueCommand();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetDepthBias(float factor, float units, float clamp)
|
public void SetDepthBias(PolygonModeMask enables, float factor, float units, float clamp)
|
||||||
{
|
{
|
||||||
_renderer.New<SetDepthBiasCommand>().Set(factor, units, clamp);
|
_renderer.New<SetDepthBiasCommand>().Set(enables, factor, units, clamp);
|
||||||
_renderer.QueueCommand();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetDepthBiasEnable(PolygonModeMask enables)
|
|
||||||
{
|
|
||||||
_renderer.New<SetDepthBiasEnableCommand>().Set(enables);
|
|
||||||
_renderer.QueueCommand();
|
_renderer.QueueCommand();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -850,7 +850,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
|
||||||
{
|
{
|
||||||
_pipeline.BiasEnable = 0;
|
_pipeline.BiasEnable = 0;
|
||||||
|
|
||||||
_context.Renderer.Pipeline.SetDepthBiasEnable(0);
|
_context.Renderer.Pipeline.SetDepthBias(0, 0, 0, 0);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -872,12 +872,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
|
||||||
|
|
||||||
_pipeline.BiasEnable = enables;
|
_pipeline.BiasEnable = enables;
|
||||||
|
|
||||||
_context.Renderer.Pipeline.SetDepthBiasEnable(enables);
|
_context.Renderer.Pipeline.SetDepthBias(enables, factor, units / 2f, clamp);
|
||||||
|
|
||||||
if (enables > 0)
|
|
||||||
{
|
|
||||||
_context.Renderer.Pipeline.SetDepthBias(factor, units / 2f, clamp);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -831,9 +831,9 @@ namespace Ryujinx.Graphics.OpenGL
|
||||||
GL.Enable(IndexedEnableCap.Blend, index);
|
GL.Enable(IndexedEnableCap.Blend, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetDepthBias(float factor, float units, float clamp)
|
public void SetDepthBias(PolygonModeMask enables, float factor, float units, float clamp)
|
||||||
{
|
{
|
||||||
if (factor == 0 && units == 0)
|
if (enables == 0 || (factor == 0 && units == 0))
|
||||||
{
|
{
|
||||||
GL.Disable(EnableCap.PolygonOffsetPoint);
|
GL.Disable(EnableCap.PolygonOffsetPoint);
|
||||||
GL.Disable(EnableCap.PolygonOffsetLine);
|
GL.Disable(EnableCap.PolygonOffsetLine);
|
||||||
|
@ -842,23 +842,6 @@ namespace Ryujinx.Graphics.OpenGL
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (HwCapabilities.SupportsPolygonOffsetClamp)
|
|
||||||
{
|
|
||||||
GL.PolygonOffsetClamp(factor, units, clamp);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
GL.PolygonOffset(factor, units);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetDepthBiasEnable(PolygonModeMask enables)
|
|
||||||
{
|
|
||||||
if (enables == 0)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((enables & PolygonModeMask.Point) != 0)
|
if ((enables & PolygonModeMask.Point) != 0)
|
||||||
{
|
{
|
||||||
GL.Enable(EnableCap.PolygonOffsetPoint);
|
GL.Enable(EnableCap.PolygonOffsetPoint);
|
||||||
|
@ -885,6 +868,15 @@ namespace Ryujinx.Graphics.OpenGL
|
||||||
{
|
{
|
||||||
GL.Disable(EnableCap.PolygonOffsetFill);
|
GL.Disable(EnableCap.PolygonOffsetFill);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (HwCapabilities.SupportsPolygonOffsetClamp)
|
||||||
|
{
|
||||||
|
GL.PolygonOffsetClamp(factor, units, clamp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GL.PolygonOffset(factor, units);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetDepthClamp(bool clamp)
|
public void SetDepthClamp(bool clamp)
|
||||||
|
|
|
@ -785,37 +785,32 @@ namespace Ryujinx.Graphics.Vulkan
|
||||||
SignalStateChange();
|
SignalStateChange();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetDepthBias(float factor, float units, float clamp)
|
public void SetDepthBias(PolygonModeMask enables, float factor, float units, float clamp)
|
||||||
{
|
{
|
||||||
if (factor == 0 && units == 0 && _newState.DepthBiasEnable)
|
bool depthBiasEnable = (enables != 0) && (factor != 0 && units != 0);
|
||||||
{
|
bool changed = false;
|
||||||
_newState.DepthBiasEnable = false;
|
|
||||||
|
|
||||||
SignalStateChange();
|
if (factor == 0 && units == 0 && !_newState.DepthBiasEnable)
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else if (factor == 0 && units == 0 && !_newState.DepthBiasEnable)
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
DynamicState.SetDepthBias(factor, units, clamp);
|
|
||||||
|
|
||||||
SignalStateChange();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetDepthBiasEnable(PolygonModeMask enables)
|
|
||||||
{
|
|
||||||
bool depthBiasEnable = enables != 0;
|
|
||||||
|
|
||||||
if (_newState.DepthBiasEnable != depthBiasEnable)
|
if (_newState.DepthBiasEnable != depthBiasEnable)
|
||||||
{
|
{
|
||||||
_newState.DepthBiasEnable = depthBiasEnable;
|
_newState.DepthBiasEnable = depthBiasEnable;
|
||||||
|
changed = true;
|
||||||
SignalStateChange();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (depthBiasEnable)
|
||||||
|
{
|
||||||
|
DynamicState.SetDepthBias(factor, units, clamp);
|
||||||
|
changed = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (changed)
|
||||||
|
{
|
||||||
|
SignalStateChange();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetDepthClamp(bool clamp)
|
public void SetDepthClamp(bool clamp)
|
||||||
|
|
Loading…
Reference in a new issue