summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/RenderState.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2019-01-19 23:54:35 +1000
committerStenzek <stenzek@gmail.com>2019-01-25 11:10:49 +1000
commit396b7c2978498712f6e6eea7f353408f3c33c147 (patch)
treeab1f775618d7bed9180beec1785f9b5238356f79 /Source/Core/VideoCommon/RenderState.cpp
parent224b23b97937d9f304d8007725493850c37657ae (diff)
OGL: Invalidate tracked state when calling ResetAPIState()
Due to the current design, any of the GL state can be mutated after calling this function, so we can't assume that the tracked state will match if we call SetPipeline() after ResetAPIState().
Diffstat (limited to 'Source/Core/VideoCommon/RenderState.cpp')
-rw-r--r--Source/Core/VideoCommon/RenderState.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/RenderState.cpp b/Source/Core/VideoCommon/RenderState.cpp
index 5cad8c2584..b61b031b04 100644
--- a/Source/Core/VideoCommon/RenderState.cpp
+++ b/Source/Core/VideoCommon/RenderState.cpp
@@ -199,6 +199,13 @@ SamplerState& SamplerState::operator=(const SamplerState& rhs)
namespace RenderState
{
+RasterizationState GetInvalidRasterizationState()
+{
+ RasterizationState state;
+ state.hex = UINT32_C(0xFFFFFFFF);
+ return state;
+}
+
RasterizationState GetNoCullRasterizationState()
{
RasterizationState state = {};
@@ -206,6 +213,13 @@ RasterizationState GetNoCullRasterizationState()
return state;
}
+DepthState GetInvalidDepthState()
+{
+ DepthState state;
+ state.hex = UINT32_C(0xFFFFFFFF);
+ return state;
+}
+
DepthState GetNoDepthTestingDepthStencilState()
{
DepthState state = {};
@@ -215,6 +229,13 @@ DepthState GetNoDepthTestingDepthStencilState()
return state;
}
+BlendingState GetInvalidBlendingState()
+{
+ BlendingState state;
+ state.hex = UINT32_C(0xFFFFFFFF);
+ return state;
+}
+
BlendingState GetNoBlendingBlendState()
{
BlendingState state = {};
@@ -230,6 +251,13 @@ BlendingState GetNoBlendingBlendState()
return state;
}
+SamplerState GetInvalidSamplerState()
+{
+ SamplerState state;
+ state.hex = UINT64_C(0xFFFFFFFFFFFFFFFF);
+ return state;
+}
+
SamplerState GetPointSamplerState()
{
SamplerState state = {};