|
@@ -115,6 +115,15 @@ void Video::draw(Graphics *gfx, const Matrix4 &m)
|
|
|
{
|
|
|
update();
|
|
|
|
|
|
+ // setVideoTextures may call flushBatchedDraws before setting the textures, so
|
|
|
+ // we can't call it after requestBatchedDraw.
|
|
|
+ auto shader = Shader::current;
|
|
|
+ if (Shader::isDefaultActive())
|
|
|
+ shader = Shader::standardShaders[Shader::STANDARD_VIDEO];
|
|
|
+
|
|
|
+ if (shader != nullptr)
|
|
|
+ shader->setVideoTextures(textures[0], textures[1], textures[2]);
|
|
|
+
|
|
|
const Matrix4 &tm = gfx->getTransform();
|
|
|
bool is2D = tm.isAffine2DTransform();
|
|
|
|
|
@@ -145,9 +154,6 @@ void Video::draw(Graphics *gfx, const Matrix4 &m)
|
|
|
verts[i].color = c;
|
|
|
}
|
|
|
|
|
|
- if (Shader::current != nullptr)
|
|
|
- Shader::current->setVideoTextures(textures[0], textures[1], textures[2]);
|
|
|
-
|
|
|
gfx->flushBatchedDraws();
|
|
|
}
|
|
|
|