Francisco Javier Trujillo Mata
f1699ce735
Implementing Clear command and texture Update
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
c472b8dd45
Whole clean around render and video driver
2022-08-02 11:40:31 -07:00
Daniel Santos
cdf89fde91
Add triangle prim support
...
Improve line support
Add initial texture support
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
88e64f9ae1
Add natively supported colors
2022-08-02 11:40:31 -07:00
Daniel Santos
90e0e5c29d
Add point, line and rect support
2022-08-02 11:40:31 -07:00
Daniel Santos
147a71b976
Finish dummy driver
2022-08-02 11:40:31 -07:00
Daniel Santos
2660449c6c
Add dummy driver
2022-08-02 11:40:31 -07:00
slime
65647b3417
SDL_Render: use high precision texcoords in ES2 shaders, when possible
...
Fixes #5884
2022-07-22 19:03:53 -07:00
Sam Lantinga
b299cb3d3c
Added a utility function to calculate the next power of 2 for a value
2022-07-17 08:31:16 -07:00
chalonverse
f317d619cc
Xbox GDKX support ( #5869 )
...
* Xbox GDK support (14 squashed commits)
* Added basic keyboard testing
* Update readme
* Code review fixes
* Fixed issue where controller add/removal wasn't working (since the device notification events don't work on Xbox, have to use the joystick thread to poll XInput)
2022-07-01 13:59:14 -07:00
chalonverse
4f73219794
Fixed D3D12 renderer not working with batching, and got rid of the vertex buffer size limit
2022-06-30 03:41:17 -07:00
Pierre Wendling
6c536afdb7
Fix C89 declaration for macOS modules.
...
Since Clang 14, `-Wdeclaration-after-statement` is enforced on every
standard.
2022-06-27 15:19:40 -07:00
chalonverse
3b191580c3
Windows GDK Support ( #5830 )
...
* Added GDK
* Simplfied checks in SDL_config_wingdk.h
* Added testgdk sample
* Added GDK readme
* Fixed error in merge of SDL_windows.h
* Additional GDK fixes
* OpenWatcom should not export _SDL_GDKGetTaskQueue
* Formatting fixes
* Moved initialization code into SDL_GDKRunApp
2022-06-27 10:19:39 -07:00
Sylvain
314bb5a1ed
Fixed bug #5850 : Android EGL_BAD_ACCESS because of viewport command while turning the screen off/on.
2022-06-27 14:45:14 +02:00
Ivan Epifanov
b2f07d94d2
Vita: create rendertarget color surface with same format as texture. Fixes #5844
2022-06-26 15:41:14 -07:00
unknown
ebe4f47f2b
Fixed __VA_ARGS__ in gcc when no args
2022-06-26 15:35:18 -07:00
unknown
51c6488f97
Add support for SDL_render_d3d12.c to compile in C++ mode
2022-06-26 15:35:18 -07:00
Sam Lantinga
adc6875870
Added SDL_copyp to avoid size mismatch when copying values (thanks @1bsyl!)
...
Closes https://github.com/libsdl-org/SDL/pull/5811
2022-06-17 10:22:28 -07:00
Sam Lantinga
1eb247fa2e
Fixed building D3D12 renderer with latest mingw-64
2022-06-16 15:44:18 -07:00
Ozkan Sezer
960b86dcb5
update SDL_render_d3d12.c after DPI scaling/highdpi support patch.
...
See https://github.com/libsdl-org/SDL/pull/5778#issuecomment-1153006938
2022-06-14 21:03:31 -07:00
Ryan C. Gordon
ded6c22efb
render: Corrected wrong SDL_memcpy() sizes for viewport, cliprect.
...
Fixes #5786 .
2022-06-14 14:10:14 -04:00
Eric Wasylishen
e09551bc80
Fix WinRT build
2022-06-11 14:19:01 -07:00
Eric Wasylishen
ab81a559f4
Windows DPI scaling/highdpi support
...
Adds hint "SDL_WINDOWS_DPI_SCALING" which can be set to "1" to
change the SDL coordinate system units to be DPI-scaled points, rather
than pixels everywhere.
This means windows will be appropriately sized, even when created on
high-DPI displays with scaling.
e.g. requesting a 640x480 window from SDL, on a display with 125%
scaling in Windows display settings, will create a window with an
800x600 client area (in pixels).
Setting this to "1" implicitly requests process DPI awareness
(setting SDL_WINDOWS_DPI_AWARENESS is unnecessary),
and forces SDL_WINDOW_ALLOW_HIGHDPI on all windows.
2022-06-11 14:19:01 -07:00
chalonverse
6f69bbc541
D3D11: Fix SDL_TEXTUREACCESS_TARGET not working if SDL_HAVE_YUV was 0
...
Added a couple of missing SDL_zeros in CreateTexture
2022-06-08 12:51:09 -07:00
chalonverse
8303c5d0a3
Added missing SDL_zero for renderTargetViewDesc
2022-06-08 12:51:09 -07:00
chalonverse
7a335df9cf
Updated CMakeLists.txt and configure.asc/script so that it checks for the required Windows SDK version before it enables the d3d12 renderer. Also fixed reported warnings in some builds.
2022-06-07 17:07:33 -07:00
Sylvain
2cc2260435
Fixed bug #5768 - SDL_RenderGeometry's software backend failed to render when texture coordinates are reversed
...
handle flip vertical/horizontal when reconstructing rects from triangles
2022-06-07 16:30:01 +02:00
chalonverse
4082821822
DirectX 12 Renderer ( #5761 )
...
* DirectX 12 Renderer (27 squashed commits)
* Add missing SDL_hidapi.h of merge of SDL.vcxproj.filters
* Fixed OpenWatcom build failure
* Dynapi fix
Co-authored-by: Ryan C. Gordon <icculus@icculus.org>
2022-06-06 17:42:30 -07:00
Sam Lantinga
ae2cc29f8b
Make sure initial state is set correctly for the D3D renderer
...
Fixes https://github.com/libsdl-org/SDL/issues/5749
2022-06-03 09:44:34 -07:00
Cameron Cawley
9dfa000bc0
Initial support for building for Windows with OpenWatcom
2022-05-19 20:11:10 +03:00
Cameron Cawley
c8eea02071
Fix C89 build errors in Windows builds
2022-05-18 15:03:15 -07:00
Alex Szpakowski
ec8fa57750
macOS: always use Objective-C ARC (automatic ref counting).
...
Change Cocoa SDL_VideoData and SDL_WindowData implementations from C structs to Objective-C objects, since bridging between C and ObjC is easier that way.
2022-05-09 21:53:40 -07:00
Eddy Jansson
9e5cbf034a
Disallow non-positive allocation.
...
Ensure that we're not trying to call SDL_small_alloc()
with a count of zero.
Transforming the code like this fixes a
-Wmaybe-uninitialized warning from GCC 12.0.1
2022-04-29 18:34:13 -07:00
Eddy Jansson
6c2928b4be
Switch uses of MIN() to SDL_min()
...
We're excluding files in src/hidapi to minimize the
diff against the upstream project.
2022-04-29 10:39:51 -07:00
Sam Lantinga
981e1e3c44
Fixed logical size synchronization issue on macOS
...
https://discourse.libsdl.org/t/sdl-2-0-22-prerelease/35306/6
2022-04-23 10:35:05 -07:00
Jaylon Gowie
d9009388c8
SceKernelMemBlockType to unsigned int
2022-04-19 14:17:27 -07:00
Jaylon Gowie
3753a7b1c3
Fix recent changes in VitaSDK
2022-04-19 14:17:27 -07:00
Sam Lantinga
b9fe6ba0e7
Fixed compile warnings
2022-04-18 13:09:08 -07:00
Sylvain
1ede941f5c
SDL_render.c: internally change viewport/cliprect type from SDL_FRect to SDL_DRect (double precision). (see bug #5547 )
2022-04-18 12:26:32 -07:00
pionere
0adb67017b
avoid NullPointer in SDL_GetRenderTarget
2022-04-15 15:47:35 -04:00
Ethan Lee
ba0ba9ef16
direct3d11: Set the swapchain target immediately after creating it.
...
Fixes #4782
2022-04-07 23:47:20 -07:00
Ethan Lee
cb81630816
render: Update the size/scale/viewport on moves, in addition to resizes.
...
For OpenGL this means resetting the viewport state shadowing flag too.
Fixes #1504
2022-04-07 23:38:33 -07:00
Cameron Cawley
57118fb7de
render: Fix setting the scale mode for non-native textures
2022-04-02 09:51:28 -07:00
Ivan Epifanov
95c0fec518
Vita: PVROGL: fix indentation and ifdef guards
2022-03-31 06:02:50 -07:00
Jaylon Gowie
8c542a3591
Desktop OpenGL 1.X/2.X PSVita Support
2022-03-31 00:02:56 -04:00
Mathieu Eyraud
1db47d468a
Fix potential memory leak in QueueCmdFillRects
2022-03-28 08:34:32 -07:00
Ivan Epifanov
95ed83137f
Vita: Use preallocated memory pool for textures
2022-03-27 10:07:49 -07:00
Ryan C. Gordon
7bc498d325
direct3d: Implement missing blend operations.
...
This is only for Direct3D 9; Direct3D 11 already had this implemented.
Fixes #5375 .
2022-03-27 09:14:07 -04:00
Ivan Epifanov
69d0b6e3c6
Vita: Fix NULL-pointer dereference
2022-03-25 09:29:20 -04:00
Ryan C. Gordon
4fe7b2cbd1
static analysis: Fixed several complaints from codechecker.
...
There are still some pending Objective-C specific issues.
Reference issue #4600 .
2022-03-24 11:00:43 -04:00
Ivan Epifanov
eadc064e2c
Vita: add native YUV textures support.
...
* Fail if texture init fails.
* Refactor and cleanup.
2022-03-24 07:51:20 -04:00
Sylvain Becker
c23a7ad38a
Add SDL_RenderGetWindow() API to get the window associated with a renderer ( #5440 )
...
Add SDL_RenderGetWindow() API to get the window associated with a renderer
2022-03-23 17:07:56 +01:00
Sylvain
83df4a354e
SDL_render.c: remove unsused case, since renderer target has been forced to NULL previously (see bug #4213 )
2022-03-22 15:25:01 +01:00
Sylvain
9dc201d448
Fixed bug #2962 - when SDL_RenderReadPixels format = 0, used format of the target texture
...
include/SDL_render.h, format:
"0 to use the format of the rendering target "
2022-03-21 10:41:14 +01:00
Ryan C. Gordon
d81fee7623
SDL_Rect: Added floating point versions of all the rectangle APIs.
...
Fixes #5110 .
2022-03-19 10:35:24 -04:00
Sylvain
b2db570ce9
SDL_triangle_blit_slow: sync code with SDL_blit_slow to handle ARGB2101010
2022-03-16 18:09:40 +01:00
Sylvain Becker
3bebdaccb7
METAL: clip rect w/h must be <= render pass
2022-03-15 10:37:17 +01:00
Ozkan Sezer
bf69868924
reduced a few ifdefs, fixed an unused warning if built w/o SDL_HAVE_YUV.
2022-03-10 01:55:04 +03:00
Sam Lantinga
c6eef542ab
Removed dead code
2022-03-09 13:48:31 -08:00
pionere
911ba8d343
hide impossible branch in D3D_UnlockTexture
2022-03-09 20:17:55 +01:00
Sylvain
ea5b482bff
Remove unused warning
2022-03-09 15:38:36 +01:00
Sylvain
04256a5372
Fix compilation (see #5313 )
2022-03-09 15:12:25 +01:00
pionere
0983fcee5e
fix memory leak in D3D11_CreateRenderer
2022-03-09 15:03:49 +01:00
pionere
3f8b450de2
extend the code hidden by SDL_HAVE_YUV
2022-03-09 15:03:30 +01:00
pionere
ce1883e1e7
fix compile error with disabled SDL_HAVE_YUV (vita)
...
- UpdateTextureYUV is not defined if SDL_HAVE_YUV is not defined/zero
+ calling SDL_free suffice if the VITA_GXM_RenderData was just allocated
2022-03-09 15:02:44 +01:00
Sam Lantinga
b064ad6ac5
Allow GL_ARB_texture_non_power_of_two environment variable to override OpenGL 2.0 check
2022-03-08 18:14:10 -08:00
Ryan C. Gordon
60ddb74cfe
video: rework how we prepare a texture framebuffer.
...
Now we see if we can create an SDL_Renderer, and if that renderer reports
itself as "accelerated," and added some initial heuristics to the OpenGL
renderer to make better decisions about what qualifies as "accelerated."
This adds some FIXMEs that might be merely hypothetical, and removes the
old OpenGL checks from the video subsystem that probably weren't meaningful
in modern times. This will definitely need to improve the existing list
in the GL renderer, to catch things like llvmpipe, etc.
Reference issue #4624 .
2022-02-23 09:36:06 -05:00
Ryan C. Gordon
293a0aa80e
opengl: If GL version >= 2.0, NPOT textures are supported, so favor them.
...
Fixes #5041 .
2022-02-22 10:54:21 -05:00
Sam Lantinga
978fbc3250
Fixed compile warnings
2022-02-21 12:02:44 -08:00
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