Sylvain
9d86ec8573
Palette format: software Render Jitter in rotation (see #5143 )
...
- same fix applied for rotation with palette surfaces
- allow other 8bits format (eg 332)
2022-02-18 09:57:10 +01:00
Sylvain
ceb09ee740
Fixed #5143 - software Render Jitter in rotation
...
better precision calculating rotated coordinates and interpolation
2022-02-17 23:11:02 +01:00
Sylvain
75ffa24e3a
Software Render Jitter in rotation (bug #5143 )
...
The output surface doesn't necessarily to have even width and height.
2022-02-15 13:35:59 +01:00
Sylvain
61abc4e5b6
PSP: SDL_RenderCopyEx rotation and global scaling around the wrong way (see #bug 3070)
2022-02-15 11:34:50 +01:00
Sylvain
18b76fcc5d
Fixed bug #3070 - SDL_RenderCopyEx rotation and global scaling around the wrong way (software renderer)
2022-02-15 11:33:56 +01:00
Sylvain
e366ad1288
Fixed bug #2308 : SDL_RenderCopyEx rotation center precision (software renderer)
2022-02-15 10:02:34 +01:00
Wouter Wijsman
66ee79bd68
[PSP] Don't swizzle streaming textures
...
It was causing issues in the teststreaming demo and unswizzling
later is inefficient and causes issues.
2022-02-14 10:59:25 +01:00
Wouter Wijsman
abc8198a1f
Render all sides when drawing rect on PSP
2022-02-09 09:36:19 -08:00
Wouter Wijsman
54304b971d
Fix rotation direction and center point on PSP
2022-02-08 09:47:10 -08:00
Wouter Wijsman
2b572dff88
Make RenderCopyEx rotate around center
...
This still isn't perfect. The rotation is the wrong way around and the
images are upside down.
2022-02-08 09:47:10 -08:00
Sylvain
b0dd4c7d36
SDL_Render OpenGL: do batching like in the GLES2 backend (with no VBO)
2022-02-07 14:02:20 -05:00
Sylvain
90f0d2ce49
Revert OpenGL point drawing performance, do to proper batching
2022-02-07 14:02:20 -05:00
pionere
6d5592a201
minor cleanup of SDL_CreateRenderer
2022-02-05 10:05:25 -05:00
pionere
2cfc83eab7
sync D3D_RenderReadPixels with D3D11_RenderReadPixels
...
- use the result of SDL_ConvertPixels to propagate error
- get rid of the verbose error message of D3D11_RenderReadPixels in case SDL_ConvertPixels failed
2022-02-02 14:56:38 -05:00
Sylvain
f7d3abddba
Fixed bug #964 - SDL_RenderCopy stretch loses proportion on viewport.
...
Handle the case when there is blending
2022-01-29 10:19:08 +01:00
pionere
60deadba59
re-use return value of SDL_SetError/WIN_SetErrorFromHRESULT/SDL_OutOfMemory
2022-01-28 20:40:19 -05:00
pionere
ebdd536676
use SDL_InvalidParamError or SDL_assert instead of custom SDL_SetError
2022-01-28 20:40:19 -05:00
Sylvain
f5911bdc59
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()
2022-01-28 19:25:40 +01:00
Sylvain
096fe37bb2
GLES2: revert 7bf8c5a388
2022-01-28 19:25:40 +01:00
Sylvain
a988ce5544
Fixed bug #964 - SDL_RenderCopy stretch loses proportion on viewport boundaries
2022-01-28 17:24:59 +01:00
Sylvain
7bf8c5a388
GLES2: disable texcoord when not using it (see bug #5235 )
2022-01-27 21:49:05 -05:00
Cameron Gutman
c6ec5a07f1
d3d11: Respect SDL_HINT_RENDER_DIRECT3D_THREADSAFE when creating device
2022-01-26 18:44:29 -06:00
Ryan C. Gordon
426c1f4b85
opengles2: fix comment about client-side arrays.
2022-01-19 14:28:30 -05:00
Ryan C. Gordon
f9b918ff40
opengles2: Use client-side arrays on everything but Emscripten.
...
Turns out they're much faster!
Fixes #5206 .
2022-01-11 19:41:41 -05:00
Sam Lantinga
a29d3acc9e
Updated Bresenham line drawing to match software renderer output
2022-01-09 11:12:13 -08:00
Sam Lantinga
1f32dd8edc
Fixed overdraw with duplicate points, fixed not drawing single point lines
2022-01-09 06:36:18 -08:00
Ryan C. Gordon
c275436f56
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 .
2022-01-09 00:39:02 -05:00
Sam Lantinga
3b083b9911
Fixed compile warning
2022-01-08 14:07:42 -08:00
Sam Lantinga
b82af9dfbf
Improved OpenGL point drawing performance (thanks @slime73!)
...
We'll do proper call batching for the SDL 2.0.22 release
2022-01-08 14:05:50 -08:00
Sam Lantinga
1a73c45a08
Fixed incorrect color in the OpenGL driver
2022-01-08 13:35:17 -08:00
Sylvain
3cdda8f8ab
PSP: use 'data' variable which is alread the driver data
2022-01-08 21:58:26 +01:00
Sam Lantinga
4ef2529bf9
More efficient calculation of render_count
2022-01-08 12:37:57 -08:00
Sam Lantinga
5346c93b62
Fixed assertion on number of points rendered
2022-01-08 12:28:43 -08:00
Sam Lantinga
4b71962031
Prevent overdraw with connected line segments
2022-01-08 12:02:30 -08:00
Sam Lantinga
09ece861d1
Added the hint SDL_HINT_RENDER_LINE_METHOD to select the line rendering method
2022-01-08 11:36:52 -08:00
Sam Lantinga
c1e6079836
As an optimization, draw horizontal and vertical lines using rectangles
2022-01-08 11:09:11 -08:00
Sam Lantinga
3da7c6305a
Assert that we have drawn the expected number of points
2022-01-08 11:07:03 -08:00
Sam Lantinga
9f56faeedc
Added line drawing using Bresenham's line algorithm (thanks @rtrussell!)
2022-01-08 10:59:31 -08:00
Sam Lantinga
fe3a33a092
Use RenderGeometry for drawing lines at all scales
2022-01-08 10:10:18 -08:00
Sam Lantinga
1694782b2a
Remove redundant work when render scale is 1.0
2022-01-08 09:32:23 -08:00
Sam Lantinga
2026a78dc2
Don't flush in RenderDraw*WithRects()
...
This allows these functions to be reused in the future for other primitives
2022-01-08 09:23:58 -08:00
Sam Lantinga
18e4d9fed1
Re-enable line drawing path in render drivers
...
This is still used for scaled line drawing in RenderDrawLinesWithRects()
2022-01-08 09:02:25 -08:00
Ozkan Sezer
4472b83129
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
2022-01-08 11:56:56 +03:00
Ryan C. Gordon
cc2013378d
render: Fixed some compiler warnings.
...
Fixes #5197 .
2022-01-07 20:22:51 -05:00
Ryan C. Gordon
6d3b5d66cd
psp: draw lines with RenderGeometry, same as with the other renderers.
2022-01-07 18:18:53 -05:00
Sylvain
9cb2c549fa
Remove QueueDrawLines from D3D, D3D11
2022-01-07 14:10:23 -08:00
Sylvain
b88b6b3c23
Remove QueueDrawLines from METAL
2022-01-07 14:10:23 -08:00
Sylvain
9aac55317d
Remove QueueDrawLines from GL, GLES, GLES2
2022-01-07 14:10:23 -08:00
Sylvain
8ea8b2e697
Use QueueDrawLine if provided, otherwise use RenderGeometry
2022-01-07 14:10:23 -08:00
Sylvain Becker
c498727471
render: Use RenderGeometry to draw lines
...
This patch is from @1bsyl
Fixes #5061 .
2022-01-07 16:14:28 -05:00
Sam Lantinga
4b38d4c96b
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
2022-01-07 12:38:45 -08:00
Ryan C. Gordon
88ac517df0
opengles2: Fix point drawing.
2022-01-07 15:04:04 -05:00
Wouter Wijsman
515b5f2a39
Fix build errors in PSP port
2022-01-06 10:17:05 -08:00
Wouter Wijsman
34e34ad5a5
Remove debug code from PSP renderer
2022-01-06 10:17:05 -08:00
stdgregwar
520c89a00a
cleaning
2022-01-06 10:17:05 -08:00
stdgregwar
09f4711f40
Fix LRU when destroying texture.
2022-01-06 10:17:05 -08:00
stdgregwar
c3ec62d6a6
PSP lazier blend states, display mode report with 16bit option
2022-01-06 10:17:05 -08:00
stdgregwar
0f5368fe11
PSP cached blending and texturing state, ABGR1555 stencil hack
2022-01-06 10:17:05 -08:00
stdgregwar
fe405eb27b
fixed LRU cache code
2022-01-06 10:17:05 -08:00
stdgregwar
c1f152292b
Spill render targets to ram on PSP
2022-01-06 10:17:05 -08:00
stdgregwar
77d874e3c0
Attempt to make render to texture work on PSP
2022-01-06 10:17:05 -08:00
Sam Lantinga
120c76c84b
Updated copyright for 2022
2022-01-03 09:40:21 -08:00
Sylvain
8622eda9e9
SDL_RenderGeometry / software: TRIANGLE_GET_TEXTCOORD interpolates up to the max values included, so reduce by 1
2022-01-02 22:34:56 +01:00
Alex Szpakowski
724468ae2c
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.
2021-12-27 10:52:47 -05:00
Sylvain
44c84c0d8e
GLES2/Big-endian: don´t swap datas for yuv textures (Thanks 0x1F9F1 !)
2021-12-17 17:44:34 +01:00
Sylvain
3a69828e87
Fixed GLES2 back-end on Big Endian Platform (see #5093 )
2021-12-17 13:15:39 +01:00
Sylvain
3d5fcb5da6
Fix warning
2021-12-16 09:19:53 -08:00
Sylvain
4342e6bd21
SDL_render.c: lighten the cast syntax
2021-12-16 09:19:53 -08:00
Sylvain
50d49c63ed
GLES2 backend: cast with SDL_Vertex and SDL_VertexSolid
2021-12-16 09:19:53 -08:00
stdgregwar
0b7b0977fc
fix PSP texure artifacts
2021-12-15 18:00:28 -08:00
Francisco Javier Trujillo Mata
0341ec93fe
Improve performance when vsync is enabled and the game is not reaching the 60 FPS
2021-12-15 11:29:49 -08:00
Alex Szpakowski
3a5e148b13
Renderer backends use SDL_Color instead of int for geometry colors.
2021-12-14 12:19:16 -08:00
Sam Lantinga
b08e57e926
Don't try to create a vbo if we aren't using any vertices
2021-12-14 09:32:05 -08:00
Sylvain
b7885abc44
Fixed bug #5087 : SDL_RenderGeometryRaw() passes colors as int* instead of SDL_Color*
2021-12-14 10:31:55 +01:00
Alex Szpakowski
323ba6c008
d3d11 renderer: reduce vertex bandwidth and calculations.
2021-12-13 15:14:33 -08:00
Sylvain
8927d73b1c
RenderGeometry: simplify casting (Thanks Daniel Gibson)
2021-12-12 09:55:23 +01:00
Sylvain
d7f66ba1ec
Remove strict aliasing warning in opengles2 backend
2021-12-11 20:04:53 +01:00
Sylvain
3e43d6e34b
SDL_RenderGeometry: remove some warning "dereferencing type-punned pointer might break strict-aliasing"
2021-12-11 17:19:00 +01:00
Sylvain
1940d289bf
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)
2021-12-08 09:41:33 +01:00
stdgregwar
21d46b7e0c
PSP renderer fixed
2021-12-07 20:55:04 +03:00
Ozkan Sezer
801dcbc5ef
SDL_render_sw.c: fix -Wshadow warnings.
2021-12-07 14:04:10 +03:00
Wouter Wijsman
e17a3154ed
Fix build issue
2021-12-07 14:03:00 +03:00
Wouter Wijsman
7266cf66c7
Clean up PSP render code to fit C standard used better
2021-12-07 14:03:00 +03:00
Wouter Wijsman
07608bf45f
Fix ISO C90 violations in psp render code
2021-12-07 14:03:00 +03:00
Sylvain
d09f80ef18
SDL_DrawPointsF: fix error message typo
2021-12-07 11:31:57 +01:00
Sylvain
6dafc85017
SDL_DrawLines: minor simpification:
...
- scale is 1.0f, don't need to multiply
- typo in error message
- remap SDL_DrawLines to SDL_DrawLinesF
2021-12-07 10:44:12 +01:00
Sylvain
a0818a63e3
Fixed bug #5071 - Float conversion warnings in SDL_render.c (see also #5003 )
2021-12-07 10:07:15 +01:00
Sylvain
e14d10263c
Change viewport and cliprect to float version: from SDL_Rect to SDL_FRect
2021-12-02 10:01:50 +01:00
Sylvain
7828362da9
SDL_Renderer software, D3D11: don't use "renderer->viewport" in back-ends, but use the one from SETVIEWPORT cmd
2021-12-02 10:01:50 +01:00
Eric Wasylishen
b786c10013
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
2021-11-27 07:12:34 -05:00
Ryan C. Gordon
86c0cf2bb1
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 .
2021-11-26 14:34:51 -05:00
DarkContact
e77cfb9a11
Fixed d3d11 renderer creation
2021-11-24 10:11:35 -05:00
Sylvain
2a24418bd3
More "Integer overflow generates Illegal instruction under sanitizers" (see bug #4995 )
2021-11-23 09:44:37 +01:00
Sylvain
8dd6edec00
Fixed bug #3232 - Integer overflow generates Illegal instruction under sanitizers + see bug #4995
2021-11-23 09:30:42 +01:00
Ozkan Sezer
e18be04bc6
Fixed undefined behavior in QueueCmdSetDrawColor()
...
Fixes https://github.com/libsdl-org/SDL/issues/4995
Patch from Andrew Kelley
2021-11-23 08:01:02 +03:00
Sylvain
aef7105408
Use SDL_free
2021-11-22 08:38:46 -08:00
Sylvain
fb218e582a
PSP: use SDL_malloc/SDL_free
2021-11-22 08:38:46 -08:00
Sylvain
161dd83c9a
Don´t use "trunc" as var name, since it's also a function
2021-11-22 08:38:46 -08:00
Sylvain
d31251b014
use SDL's functions version inplace of libc version
2021-11-22 08:38:46 -08:00
Sylvain
49369142bd
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
2021-11-21 17:40:48 +01:00