From 01c5554f0e7d6ac18c8f85a84f35ffcf410f030c Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Mon, 3 Oct 2022 11:57:10 -0400 Subject: [PATCH] opengles2: SDL_GL_BindTexture() should bind all YUV textures. This matches what the non-GLES OpenGL renderer does. Fixes #6070. --- src/render/opengles2/SDL_render_gles2.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/render/opengles2/SDL_render_gles2.c b/src/render/opengles2/SDL_render_gles2.c index 8718f7964f..923a0c6d94 100644 --- a/src/render/opengles2/SDL_render_gles2.c +++ b/src/render/opengles2/SDL_render_gles2.c @@ -2024,6 +2024,23 @@ static int GLES2_BindTexture (SDL_Renderer * renderer, SDL_Texture *texture, flo GLES2_TextureData *texturedata = (GLES2_TextureData *)texture->driverdata; GLES2_ActivateRenderer(renderer); +#if SDL_HAVE_YUV + if (texturedata->yuv) { + data->glActiveTexture(GL_TEXTURE2); + data->glBindTexture(texturedata->texture_type, texturedata->texture_v); + + data->glActiveTexture(GL_TEXTURE1); + data->glBindTexture(texturedata->texture_type, texturedata->texture_u); + + data->glActiveTexture(GL_TEXTURE0); + } else if (texturedata->nv12) { + data->glActiveTexture(GL_TEXTURE1); + data->glBindTexture(texturedata->texture_type, texturedata->texture_u); + + data->glActiveTexture(GL_TEXTURE0); + } +#endif + data->glBindTexture(texturedata->texture_type, texturedata->texture); data->drawstate.texture = texture;