Remove redundant work when render scale is 1.0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c
index 985de5e..0119c6c 100644
--- a/src/render/SDL_render.c
+++ b/src/render/SDL_render.c
@@ -2690,8 +2690,8 @@ SDL_RenderDrawPoints(SDL_Renderer * renderer,
return SDL_OutOfMemory();
}
for (i = 0; i < count; ++i) {
- fpoints[i].x = points[i].x * renderer->scale.x;
- fpoints[i].y = points[i].y * renderer->scale.y;
+ fpoints[i].x = (float) points[i].x;
+ fpoints[i].y = (float) points[i].y;
}
retval = QueueCmdDrawPoints(renderer, fpoints, count);
@@ -2734,10 +2734,7 @@ int
SDL_RenderDrawPointsF(SDL_Renderer * renderer,
const SDL_FPoint * points, int count)
{
- SDL_FPoint *fpoints;
- int i;
int retval;
- SDL_bool isstack;
CHECK_RENDERER_MAGIC(renderer, -1);
@@ -2758,18 +2755,7 @@ SDL_RenderDrawPointsF(SDL_Renderer * renderer,
if (renderer->scale.x != 1.0f || renderer->scale.y != 1.0f) {
retval = RenderDrawPointsWithRectsF(renderer, points, count);
} else {
- fpoints = SDL_small_alloc(SDL_FPoint, count, &isstack);
- if (!fpoints) {
- return SDL_OutOfMemory();
- }
- for (i = 0; i < count; ++i) {
- fpoints[i].x = points[i].x * renderer->scale.x;
- fpoints[i].y = points[i].y * renderer->scale.y;
- }
-
- retval = QueueCmdDrawPoints(renderer, fpoints, count);
-
- SDL_small_free(fpoints, isstack);
+ retval = QueueCmdDrawPoints(renderer, points, count);
}
return retval < 0 ? retval : FlushRenderCommandsIfNotBatching(renderer);
}