Sun, 23 Sep 2018 23:20:40 -0400render: A bunch of high-level improvements. SDL-ryan-batching-renderer
Ryan C. Gordon <icculus@icculus.org> [Sun, 23 Sep 2018 23:20:40 -0400] rev 12214
render: A bunch of high-level improvements.

- high-level filters out duplicate render commands from the queue so
backends don't have to.
- Setting draw color is now a render command, so backends can put color
information into the vertex buffer to upload with everything else instead
of setting it with slower dynamic data later.
- backends can request that they always batch, even for legacy programs,
since the lowlevel API can deal with it (Metal, and eventually Vulkan
and such...)
- high-level makes sure the queue has at least one setdrawcolor and
setviewport command before any draw calls, so the backends don't ever have
to manage cases where this hasn't been explicitly set yet.
- backends allocating vertex buffer space can specify alignment, and the
high-level will keep track of gaps in the buffer between the last used
positions and the aligned data that can be used for later allocations
(Metal and such need to specify some constant data on 256 byte boundaries,
but we don't want to waste all that space we had to skip to meet alignment
requirements).

Thu, 20 Sep 2018 16:40:04 -0400render: First shot at moving metal backend over to new batching system. SDL-ryan-batching-renderer
Ryan C. Gordon <icculus@icculus.org> [Thu, 20 Sep 2018 16:40:04 -0400] rev 12213
render: First shot at moving metal backend over to new batching system.

Thu, 20 Sep 2018 16:36:54 -0400render: first shot at reworking opengl backend for new batching system. SDL-ryan-batching-renderer
Ryan C. Gordon <icculus@icculus.org> [Thu, 20 Sep 2018 16:36:54 -0400] rev 12212
render: first shot at reworking opengl backend for new batching system.

Thu, 20 Sep 2018 15:46:02 -0400render: Move to a batching system for rendering (work in progress). SDL-ryan-batching-renderer
Ryan C. Gordon <icculus@icculus.org> [Thu, 20 Sep 2018 15:46:02 -0400] rev 12211
render: Move to a batching system for rendering (work in progress).

Thu, 20 Sep 2018 15:41:57 -0400testsprite2: report average FPS in blocks of five seconds. SDL-ryan-batching-renderer
Ryan C. Gordon <icculus@icculus.org> [Thu, 20 Sep 2018 15:41:57 -0400] rev 12210
testsprite2: report average FPS in blocks of five seconds.

This makes the reporting more accurate, vs startup inefficiencies and other
scheduling burps.

Sun, 09 Sep 2018 15:09:38 -0400gles2: Make render command queue dynamic. SDL-ryan-batching-renderer
Ryan C. Gordon <icculus@icculus.org> [Sun, 09 Sep 2018 15:09:38 -0400] rev 12209
gles2: Make render command queue dynamic.

It now uses a growable linked list that keeps a pool of allocated items for
reuse, and reallocs the vertex array as necessary. Testsprite2 can scale to
20,000 (or more!) draws now without drama.

Sat, 08 Sep 2018 18:26:11 -0400gles2: Major renderer optimization. Work in progress! SDL-ryan-batching-renderer
Ryan C. Gordon <icculus@icculus.org> [Sat, 08 Sep 2018 18:26:11 -0400] rev 12208
gles2: Major renderer optimization. Work in progress!

This moves all the rendering to a command list that is flushed to the GL as
necessary, making most common activities upload a single vertex buffer per
frame and dramatically reducing state changes. In pathological cases,
like Emscripten running on iOS's Safari, performance can go from a dozen
draw calls killing your performance to 1000 draw calls running smoothly.

This is work in progress, and not ready to ship. Among other things, it has
a hardcoded array that isn't checked for overflow. But the basic idea is
sound!

Tue, 25 Sep 2018 10:45:37 -0400Created SDL-ryan-batching-renderer branch for the WIP renderer rewrite. SDL-ryan-batching-renderer
Ryan C. Gordon <icculus@icculus.org> [Tue, 25 Sep 2018 10:45:37 -0400] rev 12207
Created SDL-ryan-batching-renderer branch for the WIP renderer rewrite.

Tue, 25 Sep 2018 09:20:56 +0300safer this way, just in case..
Ozkan Sezer <sezeroz@gmail.com> [Tue, 25 Sep 2018 09:20:56 +0300] rev 12206
safer this way, just in case..

Mon, 24 Sep 2018 20:31:24 -0700Fixed rare null pointer dereference
Sam Lantinga <slouken@libsdl.org> [Mon, 24 Sep 2018 20:31:24 -0700] rev 12205
Fixed rare null pointer dereference