فهرست منبع

Fixed bug 3422 - OpenGL ES 1.1 renderer: SDL_UpdateTexture breaks later function calls (missing glDisable)

ny00

Using the OpenGL ES 1.1 renderer, after updating a texture with SDL_UpdateTexture (or SDL_UnlockTexture), a following call to SDL_RenderFillRect draws a rectangle with the wrong color (which appears to be the same as the texture's top-left pixel).

Comparing SDL_render_gles.c:GLES_UpdateTexture to SDL_render_gl.c:GL_UpdateTexture, a missing call to glDisable appears to be the cause. After adding it back, the bug is resolved.
Sam Lantinga 10 سال پیش
والد
کامیت
86b4319d21
1فایلهای تغییر یافته به همراه1 افزوده شده و 0 حذف شده
  1. 1 0
      src/render/opengles/SDL_render_gles.c

+ 1 - 0
src/render/opengles/SDL_render_gles.c

@@ -590,6 +590,7 @@ GLES_UpdateTexture(SDL_Renderer * renderer, SDL_Texture * texture,
                     data->format,
                     data->format,
                     data->formattype,
                     data->formattype,
                     src);
                     src);
+    renderdata->glDisable(data->type);
     SDL_free(blob);
     SDL_free(blob);
 
 
     if (renderdata->glGetError() != GL_NO_ERROR) {
     if (renderdata->glGetError() != GL_NO_ERROR) {