# SDL: OpenGLES2: remove FillRects, since it's can be done with RenderGeometry (0103f)

**URL:** <https://discourse.libsdl.org/t/sdl-opengles2-remove-fillrects-since-its-can-be-done-with-rendergeometry-0103f/32957>\
**Category:** SDL Commits\
**Created:** [October 2, 2021, 12:53pm UTC](https://discourse.libsdl.org/t/sdl-opengles2-remove-fillrects-since-its-can-be-done-with-rendergeometry-0103f/32957 "2021-10-02T12:53:21Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![SDLPushPostBot](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/sdlpushpostbot/32/4370_2.png) [@SDLPushPostBot](https://discourse.libsdl.org/u/SDLPushPostBot)\
**Post date:** [October 2, 2021, 12:53pm UTC](https://discourse.libsdl.org/t/sdl-opengles2-remove-fillrects-since-its-can-be-done-with-rendergeometry-0103f/32957/1 "2021-10-02T12:53:21Z")

</div>

> <https://github.com/libsdl-org/SDL/commit/0103fe51f2b5b95c913930c42561108559f5e520>

```diff
From 0103fe51f2b5b95c913930c42561108559f5e520 Mon Sep 17 00:00:00 2001
From: Sylvain <[EMAIL REDACTED]>
Date: Fri, 24 Sep 2021 09:38:25 +0200
Subject: [PATCH] OpenGLES2: remove FillRects, since it's can be done with
 RenderGeometry

---
 src/render/opengles2/SDL_render_gles2.c | 55 +------------------------
 1 file changed, 1 insertion(+), 54 deletions(-)

diff --git a/src/render/opengles2/SDL_render_gles2.c b/src/render/opengles2/SDL_render_gles2.c
index c086c27bfa..54be98dabb 100644
--- a/src/render/opengles2/SDL_render_gles2.c
+++ b/src/render/opengles2/SDL_render_gles2.c
@@ -731,50 +731,6 @@ GLES2_QueueDrawLines(SDL_Renderer * renderer, SDL_RenderCommand *cmd, const SDL_
     return 0;
 }
 
-static int
-GLES2_QueueFillRects(SDL_Renderer * renderer, SDL_RenderCommand *cmd, const SDL_FRect * rects, int count)
-{
- const SDL_bool colorswap = (renderer->target && (renderer->target->format == SDL_PIXELFORMAT_ARGB8888 || renderer->target->format == SDL_PIXELFORMAT_RGB888));
- int color;
- const size_t vertlen = 4 * (2 * sizeof (float) + sizeof (int)) * count;
- GLfloat *verts = (GLfloat *) SDL_AllocateRenderVertices(renderer, vertlen, 0, &cmd->data.draw.first);
- int i;
-
- if (!verts) {
- return -1;
- }
-
- if (colorswap == 0) {
- color = (cmd->data.draw.r << 0) | (cmd->data.draw.g << 8) | (cmd->data.draw.b << 16) | (cmd->data.draw.a << 24);
- } else {
- color = (cmd->data.draw.r << 16) | (cmd->data.draw.g << 8) | (cmd->data.draw.b << 0) | (cmd->data.draw.a << 24);
- }
-
- cmd->data.draw.count = count;
-
- for (i = 0; i < count; i++) {
- const SDL_FRect *rect = &rects[i];
- const GLfloat minx = rect->x;
- const GLfloat maxx = rect->x + rect->w;
- const GLfloat miny = rect->y;
- const GLfloat maxy = rect->y + rect->h;
- *(verts++) = minx;
- *(verts++) = miny;
- *((int *)verts++) = color;
- *(verts++) = maxx;
- *(verts++) = miny;
- *((int *)verts++) = color;
- *(verts++) = minx;
- *(verts++) = maxy;
- *((int *)verts++) = color;
- *(verts++) = maxx;
- *(verts++) = maxy;
- *((int *)verts++) = color;
- }
-
- return 0;
-}
-
 static int
 GLES2_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd, SDL_Texture *texture,
         const float *xy, int xy_stride, const int *color, int color_stride, const float *uv, int uv_stride,
@@ -1178,16 +1134,8 @@ GLES2_RunCommandQueue(SDL_Renderer * renderer, SDL_RenderCommand *cmd, void *ver
                 break;
             }
 
- case SDL_RENDERCMD_FILL_RECTS: {
- const size_t count = cmd->data.draw.count;
- size_t offset = 0;
- if (SetDrawState(data, cmd, GLES2_IMAGESOURCE_SOLID) == 0) {
- for (i = 0; i < count; ++i, offset += 4) {
- data->glDrawArrays(GL_TRIANGLE_STRIP, (GLsizei) offset, 4);
- }
- }
+ case SDL_RENDERCMD_FILL_RECTS: /* unused */
                 break;
- }
 
             case SDL_RENDERCMD_COPY: /* unused */
                 break;
@@ -2046,7 +1994,6 @@ GLES2_CreateRenderer(SDL_Window *window, Uint32 flags)
     renderer->QueueSetDrawColor = GLES2_QueueSetViewport; /* SetViewport and SetDrawColor are (currently) no-ops. */
     renderer->QueueDrawPoints = GLES2_QueueDrawPoints;
     renderer->QueueDrawLines = GLES2_QueueDrawLines;
- renderer->QueueFillRects = GLES2_QueueFillRects;
     renderer->QueueGeometry = GLES2_QueueGeometry;
     renderer->RunCommandQueue = GLES2_RunCommandQueue;
     renderer->RenderReadPixels = GLES2_RenderReadPixels;

```
