diff --git a/GPU/GLES/DrawEngineGLES.cpp b/GPU/GLES/DrawEngineGLES.cpp index eb8220c2b0..8364ca30ef 100644 --- a/GPU/GLES/DrawEngineGLES.cpp +++ b/GPU/GLES/DrawEngineGLES.cpp @@ -292,7 +292,6 @@ void DrawEngineGLES::Flush() { int vertexCount; int maxIndex; bool useElements; - DecodeVerts(dec_, decoded_); DecodeIndsAndGetData(&prim, &vertexCount, &maxIndex, &useElements, false); gpuStats.perFrame.numVertsDrawn += vertexCount; diff --git a/GPU/GLES/StencilBufferGLES.cpp b/GPU/GLES/StencilBufferGLES.cpp index 40ca65cb35..19b94d21bb 100644 --- a/GPU/GLES/StencilBufferGLES.cpp +++ b/GPU/GLES/StencilBufferGLES.cpp @@ -136,7 +136,9 @@ bool FramebufferManagerGLES::ReadbackStencilbuffer(Draw::Framebuffer *fbo, int x draw_->BindSamplerStates(TEX_SLOT_PSP_TEXTURE, 1, &stencilReadbackSampler_); // We must bind the program after starting the render pass. - draw_->SetScissorRect(0, 0, w, h); + // Note: scissor to the region we're about to read back, not to (0, 0, w, h) - every caller + // passes (0, 0) today, but with a nonzero origin the copy below would read scissored-away pixels. + draw_->SetScissorRect(x, y, w, h); draw_->BindPipeline(stencilReadbackPipeline_); // Fullscreen triangle coordinates.