|
ebdd5366
|
2022-01-17T16:26:02
|
|
use SDL_InvalidParamError or SDL_assert instead of custom SDL_SetError
|
|
60deadba
|
2022-01-17T17:22:30
|
|
re-use return value of SDL_SetError/WIN_SetErrorFromHRESULT/SDL_OutOfMemory
|
|
f5911bdc
|
2022-01-28T15: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-28T14:19:10
|
|
GLES2: revert https://github.com/libsdl-org/SDL/commit/7bf8c5a388bc41dde830e4baabcb53d507e64448
|
|
a988ce55
|
2022-01-28T17:24:59
|
|
Fixed bug #964 - SDL_RenderCopy stretch loses proportion on viewport boundaries
|
|
7bf8c5a3
|
2022-01-27T14:19:52
|
|
GLES2: disable texcoord when not using it (see bug #5235)
|
|
c6ec5a07
|
2022-01-02T15:43:35
|
|
d3d11: Respect SDL_HINT_RENDER_DIRECT3D_THREADSAFE when creating device
|
|
426c1f4b
|
2022-01-19T14:27:58
|
|
opengles2: fix comment about client-side arrays.
|
|
f9b918ff
|
2022-01-11T16:15:45
|
|
opengles2: Use client-side arrays on everything but Emscripten.
Turns out they're much faster!
Fixes #5206.
|
|
a29d3acc
|
2022-01-09T11:11:34
|
|
Updated Bresenham line drawing to match software renderer output
|
|
1f32dd8e
|
2022-01-09T06:36:18
|
|
Fixed overdraw with duplicate points, fixed not drawing single point lines
|
|
c275436f
|
2022-01-09T00: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-08T14:07:42
|
|
Fixed compile warning
|
|
b82af9df
|
2022-01-08T14: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-08T13:34:49
|
|
Fixed incorrect color in the OpenGL driver
|
|
3cdda8f8
|
2022-01-08T21:58:26
|
|
PSP: use 'data' variable which is alread the driver data
|
|
4ef2529b
|
2022-01-08T12:37:57
|
|
More efficient calculation of render_count
|
|
5346c93b
|
2022-01-08T12:28:43
|
|
Fixed assertion on number of points rendered
|
|
4b719620
|
2022-01-08T12:02:08
|
|
Prevent overdraw with connected line segments
|
|
09ece861
|
2022-01-08T11:36:29
|
|
Added the hint SDL_HINT_RENDER_LINE_METHOD to select the line rendering method
|
|
c1e60798
|
2022-01-08T11:09:11
|
|
As an optimization, draw horizontal and vertical lines using rectangles
|
|
3da7c630
|
2022-01-08T11:07:03
|
|
Assert that we have drawn the expected number of points
|
|
9f56faee
|
2022-01-08T10:59:31
|
|
Added line drawing using Bresenham's line algorithm (thanks @rtrussell!)
|
|
fe3a33a0
|
2022-01-08T10:10:18
|
|
Use RenderGeometry for drawing lines at all scales
|
|
1694782b
|
2022-01-08T09:32:23
|
|
Remove redundant work when render scale is 1.0
|
|
2026a78d
|
2022-01-08T09:23:58
|
|
Don't flush in RenderDraw*WithRects()
This allows these functions to be reused in the future for other primitives
|
|
18e4d9fe
|
2022-01-08T09:02:25
|
|
Re-enable line drawing path in render drivers
This is still used for scaled line drawing in RenderDrawLinesWithRects()
|
|
4472b831
|
2022-01-08T11: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-07T20:20:57
|
|
render: Fixed some compiler warnings.
Fixes #5197.
|
|
6d3b5d66
|
2022-01-07T18:18:53
|
|
psp: draw lines with RenderGeometry, same as with the other renderers.
|
|
9cb2c549
|
2022-01-07T22:43:30
|
|
Remove QueueDrawLines from D3D, D3D11
|
|
b88b6b3c
|
2022-01-07T22:43:12
|
|
Remove QueueDrawLines from METAL
|
|
9aac5531
|
2022-01-07T22:42:52
|
|
Remove QueueDrawLines from GL, GLES, GLES2
|
|
8ea8b2e6
|
2022-01-07T22:42:13
|
|
Use QueueDrawLine if provided, otherwise use RenderGeometry
|
|
c4987274
|
2022-01-07T22:14:28
|
|
render: Use RenderGeometry to draw lines
This patch is from @1bsyl
Fixes #5061.
|
|
4b38d4c9
|
2022-01-07T12: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-07T15:03:47
|
|
opengles2: Fix point drawing.
|
|
515b5f2a
|
2021-12-22T12:04:10
|
|
Fix build errors in PSP port
|
|
34e34ad5
|
2021-12-22T11:43:07
|
|
Remove debug code from PSP renderer
|
|
520c89a0
|
2021-01-19T20:11:36
|
|
cleaning
|
|
09f4711f
|
2021-01-09T12:52:55
|
|
Fix LRU when destroying texture.
|
|
c3ec62d6
|
2021-01-09T11:25:39
|
|
PSP lazier blend states, display mode report with 16bit option
|
|
0f5368fe
|
2021-01-09T10:33:38
|
|
PSP cached blending and texturing state, ABGR1555 stencil hack
|
|
fe405eb2
|
2020-12-28T14:00:53
|
|
fixed LRU cache code
|
|
c1f15229
|
2020-12-27T11:43:22
|
|
Spill render targets to ram on PSP
|
|
77d874e3
|
2020-12-26T19:20:17
|
|
Attempt to make render to texture work on PSP
|
|
120c76c8
|
2022-01-03T09:40:00
|
|
Updated copyright for 2022
|
|
8622eda9
|
2022-01-02T22:34:56
|
|
SDL_RenderGeometry / software: TRIANGLE_GET_TEXTCOORD interpolates up to the max values included, so reduce by 1
|
|
724468ae
|
2021-12-13T15: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-17T17:44:34
|
|
GLES2/Big-endian: don´t swap datas for yuv textures (Thanks 0x1F9F1 !)
|
|
3a69828e
|
2021-12-17T13:15:39
|
|
Fixed GLES2 back-end on Big Endian Platform (see #5093)
|
|
3d5fcb5d
|
2021-12-16T11:10:07
|
|
Fix warning
|
|
4342e6bd
|
2021-12-16T10:53:27
|
|
SDL_render.c: lighten the cast syntax
|
|
50d49c63
|
2021-12-16T10:52:36
|
|
GLES2 backend: cast with SDL_Vertex and SDL_VertexSolid
|
|
0b7b0977
|
2020-12-27T17:51:39
|
|
fix PSP texure artifacts
|
|
0341ec93
|
2021-11-26T11:34:40
|
|
Improve performance when vsync is enabled and the game is not reaching the 60 FPS
|
|
3a5e148b
|
2021-12-14T11:02:07
|
|
Renderer backends use SDL_Color instead of int for geometry colors.
|
|
b08e57e9
|
2021-12-14T09:32:05
|
|
Don't try to create a vbo if we aren't using any vertices
|
|
b7885abc
|
2021-12-14T10:31:55
|
|
Fixed bug #5087: SDL_RenderGeometryRaw() passes colors as int* instead of SDL_Color*
|
|
323ba6c0
|
2021-12-13T18:27:49
|
|
d3d11 renderer: reduce vertex bandwidth and calculations.
|
|
8927d73b
|
2021-12-12T09:55:23
|
|
RenderGeometry: simplify casting (Thanks Daniel Gibson)
|
|
d7f66ba1
|
2021-12-11T20:04:53
|
|
Remove strict aliasing warning in opengles2 backend
|
|
3e43d6e3
|
2021-12-11T17:19:00
|
|
SDL_RenderGeometry: remove some warning "dereferencing type-punned pointer might break strict-aliasing"
|
|
1940d289
|
2021-12-08T09: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-26T12:46:07
|
|
PSP renderer fixed
|
|
801dcbc5
|
2021-12-07T14:04:10
|
|
SDL_render_sw.c: fix -Wshadow warnings.
|
|
e17a3154
|
2021-12-07T10:56:48
|
|
Fix build issue
|
|
7266cf66
|
2021-12-07T10:54:30
|
|
Clean up PSP render code to fit C standard used better
|
|
07608bf4
|
2021-12-07T10:36:19
|
|
Fix ISO C90 violations in psp render code
|
|
d09f80ef
|
2021-12-07T11:31:57
|
|
SDL_DrawPointsF: fix error message typo
|
|
6dafc850
|
2021-12-07T10: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-07T10:07:15
|
|
Fixed bug #5071 - Float conversion warnings in SDL_render.c (see also #5003)
|
|
e14d1026
|
2021-11-26T13:12:22
|
|
Change viewport and cliprect to float version: from SDL_Rect to SDL_FRect
|
|
7828362d
|
2021-11-24T16:45:06
|
|
SDL_Renderer software, D3D11: don't use "renderer->viewport" in back-ends, but use the one from SETVIEWPORT cmd
|
|
b786c100
|
2021-11-26T19: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-26T14: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-24T00:29:45
|
|
Fixed d3d11 renderer creation
|
|
2a24418b
|
2021-11-23T09:44:37
|
|
More "Integer overflow generates Illegal instruction under sanitizers" (see bug #4995)
|
|
8dd6edec
|
2021-11-23T09:30:42
|
|
Fixed bug #3232 - Integer overflow generates Illegal instruction under sanitizers + see bug #4995
|
|
e18be04b
|
2021-11-23T08:01:02
|
|
Fixed undefined behavior in QueueCmdSetDrawColor()
Fixes https://github.com/libsdl-org/SDL/issues/4995
Patch from Andrew Kelley
|
|
aef71054
|
2021-11-22T16:58:04
|
|
Use SDL_free
|
|
fb218e58
|
2021-11-22T16:16:04
|
|
PSP: use SDL_malloc/SDL_free
|
|
161dd83c
|
2021-11-22T11:15:23
|
|
Don´t use "trunc" as var name, since it's also a function
|
|
d31251b0
|
2021-11-21T22:30:48
|
|
use SDL's functions version inplace of libc version
|
|
49369142
|
2021-11-21T17: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-15T13:45:53
|
|
Fixed the GLES2 shader count to be in sync with the enum
|
|
d4df5d33
|
2021-11-15T09:43:44
|
|
GLES2: prevent batching if blend mode changes (see bug #4964)
|
|
92f2fdfc
|
2021-11-15T09:36:18
|
|
GLES2: batch non joined lines (see #4964)
|
|
17f156fa
|
2021-11-15T09: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-15T08:37:49
|
|
Fixed bug #4964 - opengles2 & batching = conjoined lines
|
|
c55ab963
|
2021-11-13T22:21:57
|
|
Added a hint for alternate OpenGL NV12 data format
|
|
70c8d20a
|
2021-11-13T15:04:19
|
|
Revert previous commit a50ca98e2b9ca10368b62e93b6a0977dc68fd584 (see bug #4625)
|
|
a50ca98e
|
2021-11-13T14: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-27T14: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-11T15: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-27T14: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-10T09: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-10T05: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-09T22: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>
|
|
04f42e04
|
2021-11-09T11:50:49
|
|
metal: Deal better with -[CAMetalLayer nextDrawable] returning nil.
Fixes #4863.
|