Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| f7d3abdd | 2022-01-29 10:19:08 | Fixed bug #964 - SDL_RenderCopy stretch loses proportion on viewport. Handle the case when there is blending | ||
| 60deadba | 2022-01-17 17:22:30 | re-use return value of SDL_SetError/WIN_SetErrorFromHRESULT/SDL_OutOfMemory | ||
| ebdd5366 | 2022-01-17 16:26:02 | use SDL_InvalidParamError or SDL_assert instead of custom SDL_SetError | ||
| f5911bdc | 2022-01-28 15:31:56 | GLES2: disable texcoord when not using it (see bug #5235) similar to opengl backend code: - glDisableVertexAttribArray doesn't need to depend on 'drawstate.texture' value - move binding code to SetCopyState() | ||
| 096fe37b | 2022-01-28 14:19:10 | GLES2: revert https://github.com/libsdl-org/SDL/commit/7bf8c5a388bc41dde830e4baabcb53d507e64448 | ||
| a988ce55 | 2022-01-28 17:24:59 | Fixed bug #964 - SDL_RenderCopy stretch loses proportion on viewport boundaries | ||
| 7bf8c5a3 | 2022-01-27 14:19:52 | GLES2: disable texcoord when not using it (see bug #5235) | ||
| c6ec5a07 | 2022-01-02 15:43:35 | d3d11: Respect SDL_HINT_RENDER_DIRECT3D_THREADSAFE when creating device | ||
| 426c1f4b | 2022-01-19 14:27:58 | opengles2: fix comment about client-side arrays. | ||
| f9b918ff | 2022-01-11 16:15:45 | opengles2: Use client-side arrays on everything but Emscripten. Turns out they're much faster! Fixes #5206. | ||
| a29d3acc | 2022-01-09 11:11:34 | Updated Bresenham line drawing to match software renderer output | ||
| 1f32dd8e | 2022-01-09 06:36:18 | Fixed overdraw with duplicate points, fixed not drawing single point lines | ||
| c275436f | 2022-01-09 00:39:02 | opengles2: Batching lines/points used wrong var for summing vertex counts. Fixed this in the vitagxm backend too, but I don't know what the state of that code is otherwise. Reference Issue #5061. | ||
| 3b083b99 | 2022-01-08 14:07:42 | Fixed compile warning | ||
| b82af9df | 2022-01-08 14:05:50 | Improved OpenGL point drawing performance (thanks @slime73!) We'll do proper call batching for the SDL 2.0.22 release | ||
| 1a73c45a | 2022-01-08 13:34:49 | Fixed incorrect color in the OpenGL driver | ||
| 3cdda8f8 | 2022-01-08 21:58:26 | PSP: use 'data' variable which is alread the driver data | ||
| 4ef2529b | 2022-01-08 12:37:57 | More efficient calculation of render_count | ||
| 5346c93b | 2022-01-08 12:28:43 | Fixed assertion on number of points rendered | ||
| 4b719620 | 2022-01-08 12:02:08 | Prevent overdraw with connected line segments | ||
| 09ece861 | 2022-01-08 11:36:29 | Added the hint SDL_HINT_RENDER_LINE_METHOD to select the line rendering method | ||
| c1e60798 | 2022-01-08 11:09:11 | As an optimization, draw horizontal and vertical lines using rectangles | ||
| 3da7c630 | 2022-01-08 11:07:03 | Assert that we have drawn the expected number of points | ||
| 9f56faee | 2022-01-08 10:59:31 | Added line drawing using Bresenham's line algorithm (thanks @rtrussell!) | ||
| fe3a33a0 | 2022-01-08 10:10:18 | Use RenderGeometry for drawing lines at all scales | ||
| 1694782b | 2022-01-08 09:32:23 | Remove redundant work when render scale is 1.0 | ||
| 2026a78d | 2022-01-08 09:23:58 | Don't flush in RenderDraw*WithRects() This allows these functions to be reused in the future for other primitives | ||
| 18e4d9fe | 2022-01-08 09:02:25 | Re-enable line drawing path in render drivers This is still used for scaled line drawing in RenderDrawLinesWithRects() | ||
| 4472b831 | 2022-01-08 11:56:56 | PSP_RunCommandQueue: fix argument to PSP_SetBlendState() src/render/psp/SDL_render_psp.c: In function 'PSP_RunCommandQueue': src/render/psp/SDL_render_psp.c:1200: warning: passing argument 1 of 'PSP_SetBlendState' from incompatible pointer type | ||
| cc201337 | 2022-01-07 20:20:57 | render: Fixed some compiler warnings. Fixes #5197. | ||
| 6d3b5d66 | 2022-01-07 18:18:53 | psp: draw lines with RenderGeometry, same as with the other renderers. | ||
| 9cb2c549 | 2022-01-07 22:43:30 | Remove QueueDrawLines from D3D, D3D11 | ||
| b88b6b3c | 2022-01-07 22:43:12 | Remove QueueDrawLines from METAL | ||
| 9aac5531 | 2022-01-07 22:42:52 | Remove QueueDrawLines from GL, GLES, GLES2 | ||
| 8ea8b2e6 | 2022-01-07 22:42:13 | Use QueueDrawLine if provided, otherwise use RenderGeometry | ||
| c4987274 | 2022-01-07 22:14:28 | render: Use RenderGeometry to draw lines This patch is from @1bsyl Fixes #5061. | ||
| 4b38d4c9 | 2022-01-07 12:37:28 | Leave the Metal view active on the window when recreating the Metal renderer Fixes https://github.com/libsdl-org/SDL/issues/5140 Also move the metal tag definition to SDL_syswm.h so it can be used by applications | ||
| 88ac517d | 2022-01-07 15:03:47 | opengles2: Fix point drawing. | ||
| 515b5f2a | 2021-12-22 12:04:10 | Fix build errors in PSP port | ||
| 34e34ad5 | 2021-12-22 11:43:07 | Remove debug code from PSP renderer | ||
| 520c89a0 | 2021-01-19 20:11:36 | cleaning | ||
| 09f4711f | 2021-01-09 12:52:55 | Fix LRU when destroying texture. | ||
| c3ec62d6 | 2021-01-09 11:25:39 | PSP lazier blend states, display mode report with 16bit option | ||
| 0f5368fe | 2021-01-09 10:33:38 | PSP cached blending and texturing state, ABGR1555 stencil hack | ||
| fe405eb2 | 2020-12-28 14:00:53 | fixed LRU cache code | ||
| c1f15229 | 2020-12-27 11:43:22 | Spill render targets to ram on PSP | ||
| 77d874e3 | 2020-12-26 19:20:17 | Attempt to make render to texture work on PSP | ||
| 120c76c8 | 2022-01-03 09:40:00 | Updated copyright for 2022 | ||
| 8622eda9 | 2022-01-02 22:34:56 | SDL_RenderGeometry / software: TRIANGLE_GET_TEXTCOORD interpolates up to the max values included, so reduce by 1 | ||
| 724468ae | 2021-12-13 15:48:55 | GL renderer uses glDrawArrays instead of glBegin/glEnd. Also change internal colors sent to GL to use unorm8 components instead of float, for improved performance. | ||
| 44c84c0d | 2021-12-17 17:44:34 | GLES2/Big-endian: don´t swap datas for yuv textures (Thanks 0x1F9F1 !) | ||
| 3a69828e | 2021-12-17 13:15:39 | Fixed GLES2 back-end on Big Endian Platform (see #5093) | ||
| 3d5fcb5d | 2021-12-16 11:10:07 | Fix warning | ||
| 4342e6bd | 2021-12-16 10:53:27 | SDL_render.c: lighten the cast syntax | ||
| 50d49c63 | 2021-12-16 10:52:36 | GLES2 backend: cast with SDL_Vertex and SDL_VertexSolid | ||
| 0b7b0977 | 2020-12-27 17:51:39 | fix PSP texure artifacts | ||
| 0341ec93 | 2021-11-26 11:34:40 | Improve performance when vsync is enabled and the game is not reaching the 60 FPS | ||
| 3a5e148b | 2021-12-14 11:02:07 | Renderer backends use SDL_Color instead of int for geometry colors. | ||
| b08e57e9 | 2021-12-14 09:32:05 | Don't try to create a vbo if we aren't using any vertices | ||
| b7885abc | 2021-12-14 10:31:55 | Fixed bug #5087: SDL_RenderGeometryRaw() passes colors as int* instead of SDL_Color* | ||
| 323ba6c0 | 2021-12-13 18:27:49 | d3d11 renderer: reduce vertex bandwidth and calculations. | ||
| 8927d73b | 2021-12-12 09:55:23 | RenderGeometry: simplify casting (Thanks Daniel Gibson) | ||
| d7f66ba1 | 2021-12-11 20:04:53 | Remove strict aliasing warning in opengles2 backend | ||
| 3e43d6e3 | 2021-12-11 17:19:00 | SDL_RenderGeometry: remove some warning "dereferencing type-punned pointer might break strict-aliasing" | ||
| 1940d289 | 2021-12-08 09:41:33 | SW Renderer: fix invalid read if VSYNC hint is initially set with an empty value (eg "") because: - GeHint return a value pointer. - SetHint free internally the pointer - The -now invalid- pointer is re-read ==9363== Invalid read of size 1 ==9363== at 0x4946860: SW_CreateRenderer (SDL_render_sw.c:1044) ==9363== by 0x48F0EC3: SDL_CreateRenderer_REAL (SDL_render.c:938) ==9363== by 0x48C5921: SDL_CreateRenderer (SDL_dynapi_procs.h:332) ==9363== by 0x401584: main (main.c:421) ==9363== Address 0x9c24040 is 0 bytes inside a block of size 1 free'd ==9363== at 0x484621F: free (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==9363== by 0x494E403: SDL_free_REAL (SDL_malloc.c:5432) ==9363== by 0x48A6153: SDL_SetHintWithPriority_REAL (SDL_hints.c:76) ==9363== by 0x48A6254: SDL_SetHint_REAL (SDL_hints.c:101) | ||
| 21d46b7e | 2020-12-26 12:46:07 | PSP renderer fixed | ||
| 801dcbc5 | 2021-12-07 14:04:10 | SDL_render_sw.c: fix -Wshadow warnings. | ||
| e17a3154 | 2021-12-07 10:56:48 | Fix build issue | ||
| 7266cf66 | 2021-12-07 10:54:30 | Clean up PSP render code to fit C standard used better | ||
| 07608bf4 | 2021-12-07 10:36:19 | Fix ISO C90 violations in psp render code | ||
| d09f80ef | 2021-12-07 11:31:57 | SDL_DrawPointsF: fix error message typo | ||
| 6dafc850 | 2021-12-07 10:44:12 | SDL_DrawLines: minor simpification: - scale is 1.0f, don't need to multiply - typo in error message - remap SDL_DrawLines to SDL_DrawLinesF | ||
| a0818a63 | 2021-12-07 10:07:15 | Fixed bug #5071 - Float conversion warnings in SDL_render.c (see also #5003) | ||
| e14d1026 | 2021-11-26 13:12:22 | Change viewport and cliprect to float version: from SDL_Rect to SDL_FRect | ||
| 7828362d | 2021-11-24 16:45:06 | SDL_Renderer software, D3D11: don't use "renderer->viewport" in back-ends, but use the one from SETVIEWPORT cmd | ||
| b786c100 | 2021-11-26 19:45:16 | SDL_render_gl.c: GL_RunCommandQueue: always set viewport_dirty on macOS Without this, moving the window changes the viewport and causes contents to render stretched. Fixes #1504 | ||
| 86c0cf2b | 2021-11-26 14:31:20 | software: Draw a single pixel for a line with the same start/end point. Otherwise it would drop it, which seems like a bug to me, as it normally fills the endpoint on lines. Reference #2006. | ||
| e77cfb9a | 2021-11-24 00:29:45 | Fixed d3d11 renderer creation | ||
| 2a24418b | 2021-11-23 09:44:37 | More "Integer overflow generates Illegal instruction under sanitizers" (see bug #4995) | ||
| 8dd6edec | 2021-11-23 09:30:42 | Fixed bug #3232 - Integer overflow generates Illegal instruction under sanitizers + see bug #4995 | ||
| e18be04b | 2021-11-23 08:01:02 | Fixed undefined behavior in QueueCmdSetDrawColor() Fixes https://github.com/libsdl-org/SDL/issues/4995 Patch from Andrew Kelley | ||
| aef71054 | 2021-11-22 16:58:04 | Use SDL_free | ||
| fb218e58 | 2021-11-22 16:16:04 | PSP: use SDL_malloc/SDL_free | ||
| 161dd83c | 2021-11-22 11:15:23 | Don´t use "trunc" as var name, since it's also a function | ||
| d31251b0 | 2021-11-21 22:30:48 | use SDL's functions version inplace of libc version | ||
| 49369142 | 2021-11-21 17:40:48 | Fixed bug #4625: with integer scale, viewport (as reported by SDL_RenderGetViewport) becomes -2147483648x-2147483648 0 isn't valid scale. Min integer scale is 1.0f | ||
| 9ec2b351 | 2021-11-15 13:45:53 | Fixed the GLES2 shader count to be in sync with the enum | ||
| d4df5d33 | 2021-11-15 09:43:44 | GLES2: prevent batching if blend mode changes (see bug #4964) | ||
| 92f2fdfc | 2021-11-15 09:36:18 | GLES2: batch non joined lines (see #4964) | ||
| 17f156fa | 2021-11-15 09:08:09 | Fixed bug #4964 - opengles2 & batching = conjoined lines put back the initial switch case because groups of joined lines cannot be batched. | ||
| d8888e46 | 2021-11-15 08:37:49 | Fixed bug #4964 - opengles2 & batching = conjoined lines | ||
| c55ab963 | 2021-11-13 22:21:57 | Added a hint for alternate OpenGL NV12 data format | ||
| 70c8d20a | 2021-11-13 15:04:19 | Revert previous commit a50ca98e2b9ca10368b62e93b6a0977dc68fd584 (see bug #4625) | ||
| a50ca98e | 2021-11-13 14:48:36 | Fixed bug #4625 - SDL_RenderSetLogicalSize issues viewport becomes -2147483648x-2147483648 when logical_w/h is greater than window size. division should be done with floats | ||
| 3bf7994f | 2021-09-27 14:38:12 | Add and use `SDL_FALLTHROUGH` for fallthroughs Case fallthrough warnings can be suppressed using the __fallthrough__ compiler attribute. Unfortunately, not all compilers have this attribute, or even have __has_attribute to check if they have the __fallthrough__ attribute. [[fallthrough]] is also available in C++17 and the next C2x, but not everyone uses C++17 or C2x. So define the SDL_FALLTHROUGH macro to deal with those problems - if we are using C++17 or C2x, it expands to [[fallthrough]]; else if the compiler has __has_attribute and has the __fallthrough__ attribute, then it expands to __attribute__((__fallthrough__)); else it expands to an empty statement, with a /* fallthrough */ comment (it's a do {} while (0) statement, because users of this macro need to use a semicolon, because [[fallthrough]] and __attribute__((__fallthrough__)) require a semicolon). Clang before Clang 10 and GCC before GCC 7 have problems with using __attribute__ as a sole statement and warn about a "declaration not declaring anything", so fall back to using the /* fallthrough */ comment if we are using those older compiler versions. Applications using SDL are also free to use this macro (because it is defined in begin_code.h). All existing /* fallthrough */ comments have been replaced with this macro. Some of them were unnecessary because they were the last case in a switch; using SDL_FALLTHROUGH in those cases would result in a compile error on compilers that support __fallthrough__, for having a __attribute__((__fallthrough__)) statement that didn't immediately precede a case label. | ||
| abc12a83 | 2021-11-11 15:58:44 | Revert "Add and use `SDL_FALLTHROUGH` for fallthroughs" This reverts commit 66a08aa3914a98667f212e79b4f0b9453203d656. This causes problems with older compilers: https://github.com/libsdl-org/SDL/pull/4791#issuecomment-966630997 | ||
| 66a08aa3 | 2021-09-27 14:38:12 | Add and use `SDL_FALLTHROUGH` for fallthroughs Case fallthrough warnings can be suppressed using the __fallthrough__ compiler attribute. Unfortunately, not all compilers have this attribute, or even have __has_attribute to check if they have the __fallthrough__ attribute. [[fallthrough]] is also available in C++17 and the next C2x, but not everyone uses C++17 or C2x. So define the SDL_FALLTHROUGH macro to deal with those problems - if we are using C++17 or C2x, it expands to [[fallthrough]]; else if the compiler has __has_attribute and has the __fallthrough__ attribute, then it expands to __attribute__((__fallthrough__)); else it expands to an empty statement, with a /* fallthrough */ comment (it's a do {} while (0) statement, because users of this macro need to use a semicolon, because [[fallthrough]] and __attribute__((__fallthrough__)) require a semicolon). Applications using SDL are also free to use this macro (because it is defined in begin_code.h). All existing /* fallthrough */ comments have been replaced with this macro. Some of them were unnecessary because they were the last case in a switch; using SDL_FALLTHROUGH in those cases would result in a compile error on compilers that support __fallthrough__, for having a __attribute__((__fallthrough__)) statement that didn't immediately precede a case label. | ||
| 6c4b4ee7 | 2021-11-10 09:41:43 | Don't assert on API parameters This causes lots of spam in test automation and it's not clear it's useful to developers. If we need this level of validation, we should add a log category for it. | ||
| 3a31a450 | 2021-11-10 05:24:31 | End the scene before resetting the D3D device, since we'll start with BeginScene after that. If we don't do this, we'll end up with unbalanced Begin/End scene pairs which causes D3DERR_INVALIDCALL in the present. Fixes https://github.com/libsdl-org/SDL/issues/4933 | ||
| 0d987936 | 2021-11-09 22:03:42 | testwm2: Fix video modes menu hit detection when highdpi or logical size used (#4936) * SDLTest_CommonDrawWindowInfo: log SDL_RenderGetScale, SDL_RenderGetLogicalSize * testwm2: fix video modes menu hit detection in High DPI cases - also when logical size is specified, e.g. `--logical 640x480 --resizable --allow-highdpi` * add function to determine logical coordinates of renderer point when given window point * change since to the targeted milestone * fix typo * rename for consistency * Change logical coordinate type to float, since we can render with floating point precision. * add function to convert logical to window coordinates * testwm2: use new SDL_RenderWindowToLogical * SDL_render.c: alternate SDL_RenderWindowToLogical/SDL_RenderLogicalToWindow Co-authored-by: John Blat <johnblat64@protonmail.com> Co-authored-by: John Blat <47202511+johnblat64@users.noreply.github.com> |