Route framebuffer texture copies through GL backend
This commit is contained in:
@@ -1252,9 +1252,13 @@ void CanvasModeTransform::enter(kCanvasMode prev)
|
||||
Canvas::I->m_layers[Canvas::I->m_current_layer_idx]->rtt(plane).bindFramebuffer();
|
||||
m_tex[plane].create(bb_sz.x, bb_sz.y);
|
||||
m_tex[plane].bind();
|
||||
glCopyTexSubImage2D(
|
||||
pp::renderer::gl::texture_2d_target(),
|
||||
0, 0, 0, bb_min.x, bb_min.y, bb_sz.x, bb_sz.y);
|
||||
copy_framebuffer_to_texture_2d(
|
||||
0,
|
||||
0,
|
||||
static_cast<int>(bb_min.x),
|
||||
static_cast<int>(bb_min.y),
|
||||
static_cast<int>(bb_sz.x),
|
||||
static_cast<int>(bb_sz.y));
|
||||
m_tex[plane].unbind();
|
||||
Canvas::I->m_layers[Canvas::I->m_current_layer_idx]->rtt(plane).unbindFramebuffer();
|
||||
});
|
||||
@@ -1433,9 +1437,13 @@ void CanvasModeTransform::leave(kCanvasMode next)
|
||||
// copy fb content to texture for blending
|
||||
set_active_texture_unit(0);
|
||||
Canvas::I->m_tex2[i].bind();
|
||||
glCopyTexSubImage2D(
|
||||
pp::renderer::gl::texture_2d_target(),
|
||||
0, bb_min.x, bb_min.y, bb_min.x, bb_min.y, bb_sz.x, bb_sz.y);
|
||||
copy_framebuffer_to_texture_2d(
|
||||
static_cast<int>(bb_min.x),
|
||||
static_cast<int>(bb_min.y),
|
||||
static_cast<int>(bb_min.x),
|
||||
static_cast<int>(bb_min.y),
|
||||
static_cast<int>(bb_sz.x),
|
||||
static_cast<int>(bb_sz.y));
|
||||
// slot for m_tex
|
||||
set_active_texture_unit(1);
|
||||
for (int j = 0; j < 6; j++)
|
||||
|
||||
Reference in New Issue
Block a user