summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar liamwhite2023-03-13 13:45:17 -0400
committerGravatar GitHub2023-03-13 13:45:17 -0400
commit638044820ddbeb00d33692eef69ce41bb6234c66 (patch)
tree71b4b63e46f07d3b3f1726eb0b90d1d97fb0c9dc /src
parentMerge pull request #9936 from liamwhite/m_this (diff)
parentvideo_core: Fix ogl status error when draw_texture (diff)
downloadyuzu-638044820ddbeb00d33692eef69ce41bb6234c66.tar.gz
yuzu-638044820ddbeb00d33692eef69ce41bb6234c66.tar.xz
yuzu-638044820ddbeb00d33692eef69ce41bb6234c66.zip
Merge pull request #9943 from vonchenplus/gentleman
video_core: Fix inline_index and draw_texture error
Diffstat (limited to '')
-rw-r--r--src/video_core/engines/draw_manager.cpp1
-rw-r--r--src/video_core/renderer_opengl/blit_image.cpp3
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp1
3 files changed, 3 insertions, 2 deletions
diff --git a/src/video_core/engines/draw_manager.cpp b/src/video_core/engines/draw_manager.cpp
index 1d22d25f1..0e94c521a 100644
--- a/src/video_core/engines/draw_manager.cpp
+++ b/src/video_core/engines/draw_manager.cpp
@@ -164,6 +164,7 @@ void DrawManager::DrawEnd(u32 instance_count, bool force_draw) {
164 draw_state.index_buffer.count = 164 draw_state.index_buffer.count =
165 static_cast<u32>(draw_state.inline_index_draw_indexes.size() / 4); 165 static_cast<u32>(draw_state.inline_index_draw_indexes.size() / 4);
166 draw_state.index_buffer.format = Maxwell3D::Regs::IndexFormat::UnsignedInt; 166 draw_state.index_buffer.format = Maxwell3D::Regs::IndexFormat::UnsignedInt;
167 maxwell3d->dirty.flags[VideoCommon::Dirty::IndexBuffer] = true;
167 ProcessDraw(true, instance_count); 168 ProcessDraw(true, instance_count);
168 draw_state.inline_index_draw_indexes.clear(); 169 draw_state.inline_index_draw_indexes.clear();
169 break; 170 break;
diff --git a/src/video_core/renderer_opengl/blit_image.cpp b/src/video_core/renderer_opengl/blit_image.cpp
index 9a560a73b..3b03e8d5a 100644
--- a/src/video_core/renderer_opengl/blit_image.cpp
+++ b/src/video_core/renderer_opengl/blit_image.cpp
@@ -22,7 +22,7 @@ BlitImageHelper::~BlitImageHelper() = default;
22void BlitImageHelper::BlitColor(GLuint dst_framebuffer, GLuint src_image_view, GLuint src_sampler, 22void BlitImageHelper::BlitColor(GLuint dst_framebuffer, GLuint src_image_view, GLuint src_sampler,
23 const Region2D& dst_region, const Region2D& src_region, 23 const Region2D& dst_region, const Region2D& src_region,
24 const Extent3D& src_size) { 24 const Extent3D& src_size) {
25 glEnable(GL_CULL_FACE); 25 glDisable(GL_CULL_FACE);
26 glDisable(GL_COLOR_LOGIC_OP); 26 glDisable(GL_COLOR_LOGIC_OP);
27 glDisable(GL_DEPTH_TEST); 27 glDisable(GL_DEPTH_TEST);
28 glDisable(GL_STENCIL_TEST); 28 glDisable(GL_STENCIL_TEST);
@@ -31,7 +31,6 @@ void BlitImageHelper::BlitColor(GLuint dst_framebuffer, GLuint src_image_view, G
31 glDisable(GL_ALPHA_TEST); 31 glDisable(GL_ALPHA_TEST);
32 glDisablei(GL_BLEND, 0); 32 glDisablei(GL_BLEND, 0);
33 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); 33 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
34 glCullFace(GL_BACK);
35 glFrontFace(GL_CW); 34 glFrontFace(GL_CW);
36 glColorMaski(0, GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); 35 glColorMaski(0, GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
37 glDepthRangeIndexed(0, 0.0, 0.0); 36 glDepthRangeIndexed(0, 0.0, 0.0);
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index abe0f3582..90e35e307 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -357,6 +357,7 @@ void RasterizerOpenGL::DrawTexture() {
357 .y = static_cast<s32>(draw_texture_state.src_y1)}}; 357 .y = static_cast<s32>(draw_texture_state.src_y1)}};
358 blit_image.BlitColor(texture_cache.GetFramebuffer()->Handle(), texture.DefaultHandle(), 358 blit_image.BlitColor(texture_cache.GetFramebuffer()->Handle(), texture.DefaultHandle(),
359 sampler->Handle(), dst_region, src_region, texture.size); 359 sampler->Handle(), dst_region, src_region, texture.size);
360 state_tracker.InvalidateState();
360 } 361 }
361 362
362 ++num_queued_commands; 363 ++num_queued_commands;