summaryrefslogtreecommitdiffstats
path: root/src/video_core
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2022-11-11 14:03:40 +0100
committerGitHub <noreply@github.com>2022-11-11 14:03:40 +0100
commitc973029374a731e13f2de240820c818fa2899c2b (patch)
treeab20b418b3c6465e4e9b9503d8d3744f3560ad4b /src/video_core
parentMerge pull request #9223 from goldenx86/threadcount (diff)
parentvideo_core: Fix few issues in Tess stage (diff)
downloadyuzu-c973029374a731e13f2de240820c818fa2899c2b.tar
yuzu-c973029374a731e13f2de240820c818fa2899c2b.tar.gz
yuzu-c973029374a731e13f2de240820c818fa2899c2b.tar.bz2
yuzu-c973029374a731e13f2de240820c818fa2899c2b.tar.lz
yuzu-c973029374a731e13f2de240820c818fa2899c2b.tar.xz
yuzu-c973029374a731e13f2de240820c818fa2899c2b.tar.zst
yuzu-c973029374a731e13f2de240820c818fa2899c2b.zip
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_cache.cpp3
-rw-r--r--src/video_core/renderer_vulkan/vk_pipeline_cache.cpp1
2 files changed, 3 insertions, 1 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.cpp b/src/video_core/renderer_opengl/gl_shader_cache.cpp
index 4221c2774..3fe04a115 100644
--- a/src/video_core/renderer_opengl/gl_shader_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_cache.cpp
@@ -76,7 +76,8 @@ Shader::RuntimeInfo MakeRuntimeInfo(const GraphicsPipelineKey& key,
}
break;
case Shader::Stage::TessellationEval:
- info.tess_clockwise = key.tessellation_clockwise != 0;
+ // Flip the face, as OpenGL's drawing is flipped.
+ info.tess_clockwise = key.tessellation_clockwise == 0;
info.tess_primitive = [&key] {
switch (key.tessellation_primitive) {
case Maxwell::Tessellation::DomainType::Isolines:
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
index e216b90d9..d4b0a542a 100644
--- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
@@ -166,6 +166,7 @@ Shader::RuntimeInfo MakeRuntimeInfo(std::span<const Shader::IR::Program> program
}
break;
case Shader::Stage::TessellationEval:
+ info.tess_clockwise = key.state.tessellation_clockwise != 0;
info.tess_primitive = [&key] {
const u32 raw{key.state.tessellation_primitive.Value()};
switch (static_cast<Maxwell::Tessellation::DomainType>(raw)) {