GLES: Bind texture on MakePixelTexture().
This is currently necessary because callers expect it. Also, move inside render passes.
This commit is contained in:
parent
fdca06d208
commit
4f1b8d80a9
2 changed files with 5 additions and 2 deletions
|
@ -719,8 +719,6 @@ void FramebufferManagerCommon::DrawPixels(VirtualFramebuffer *vfb, int dstX, int
|
||||||
float u0 = 0.0f, u1 = 1.0f;
|
float u0 = 0.0f, u1 = 1.0f;
|
||||||
float v0 = 0.0f, v1 = 1.0f;
|
float v0 = 0.0f, v1 = 1.0f;
|
||||||
|
|
||||||
MakePixelTexture(srcPixels, srcPixelFormat, srcStride, width, height, u1, v1);
|
|
||||||
|
|
||||||
if (useBufferedRendering_ && vfb && vfb->fbo) {
|
if (useBufferedRendering_ && vfb && vfb->fbo) {
|
||||||
draw_->BindFramebufferAsRenderTarget(vfb->fbo, { Draw::RPAction::KEEP, Draw::RPAction::KEEP, Draw::RPAction::KEEP });
|
draw_->BindFramebufferAsRenderTarget(vfb->fbo, { Draw::RPAction::KEEP, Draw::RPAction::KEEP, Draw::RPAction::KEEP });
|
||||||
SetViewport2D(0, 0, vfb->renderWidth, vfb->renderHeight);
|
SetViewport2D(0, 0, vfb->renderWidth, vfb->renderHeight);
|
||||||
|
@ -736,6 +734,8 @@ void FramebufferManagerCommon::DrawPixels(VirtualFramebuffer *vfb, int dstX, int
|
||||||
}
|
}
|
||||||
DisableState();
|
DisableState();
|
||||||
|
|
||||||
|
MakePixelTexture(srcPixels, srcPixelFormat, srcStride, width, height, u1, v1);
|
||||||
|
|
||||||
DrawTextureFlags flags = (vfb || g_Config.iBufFilter == SCALE_LINEAR) ? DRAWTEX_LINEAR : DRAWTEX_NEAREST;
|
DrawTextureFlags flags = (vfb || g_Config.iBufFilter == SCALE_LINEAR) ? DRAWTEX_LINEAR : DRAWTEX_NEAREST;
|
||||||
Bind2DShader();
|
Bind2DShader();
|
||||||
DrawActiveTexture(dstX, dstY, width, height, vfb->bufferWidth, vfb->bufferHeight, u0, v0, u1, v1, ROTATION_LOCKED_HORIZONTAL, flags);
|
DrawActiveTexture(dstX, dstY, width, height, vfb->bufferWidth, vfb->bufferHeight, u0, v0, u1, v1, ROTATION_LOCKED_HORIZONTAL, flags);
|
||||||
|
|
|
@ -372,6 +372,9 @@ void FramebufferManagerGLES::MakePixelTexture(const u8 *srcPixels, GEBufferForma
|
||||||
}
|
}
|
||||||
render_->TextureImage(drawPixelsTex_, 0, texWidth, height, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, convBuf, false);
|
render_->TextureImage(drawPixelsTex_, 0, texWidth, height, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, convBuf, false);
|
||||||
render_->FinalizeTexture(drawPixelsTex_, 0, false);
|
render_->FinalizeTexture(drawPixelsTex_, 0, false);
|
||||||
|
|
||||||
|
// TODO: Return instead?
|
||||||
|
render_->BindTexture(0, drawPixelsTex_);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FramebufferManagerGLES::SetViewport2D(int x, int y, int w, int h) {
|
void FramebufferManagerGLES::SetViewport2D(int x, int y, int w, int h) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue