Ozkan Sezer
aae2d22852
Check the SDL_VIDEO_RENDER_??? macros with #if instead of #ifdef
...
Allows users to disable them by defining them as 0.
Closes https://github.com/libsdl-org/SDL/issues/8996
(manual port of https://github.com/libsdl-org/SDL/pull/9063 to SDL3.0)
2024-02-15 20:55:02 +03:00
Sam Lantinga
725c79f3ac
Fixed building with SDL_LEAN_AND_MEAN
...
Fixes https://github.com/libsdl-org/SDL/issues/9054
2024-02-12 19:34:10 -08:00
Sam Lantinga
2f7c24e4be
Removed SDL_HINT_RENDER_SCALE_QUALITY
...
Textures now default to linear filtering, use SDL_SetTextureScaleMode(texture, SDL_SCALEMODE_NEAREST) if you want nearest pixel mode instead.
2024-02-12 09:54:33 -08:00
Sam Lantinga
7cb1ca60ec
Removed SDL_HINT_RENDER_OPENGL_SHADERS
...
Shaders are always used if they are available.
2024-02-12 09:54:33 -08:00
Sam Lantinga
9e505252c0
Renamed SDL_HINT_PS2_DYNAMIC_VSYNC SDL_HINT_RENDER_PS2_DYNAMIC_VSYNC
2024-02-12 09:54:33 -08:00
Zack Middleton
5af7113842
Rename property define names to have a type suffix
...
Renamed the following property define names to have a type suffix to
match other property names.
SDL_PROP_TEXTURE_OPENGL_TEXTURE_TARGET (number)
SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET (number)
SDL_PROP_WINDOW_CREATE_WAYLAND_SCALE_TO_DISPLAY (boolean)
SDL_PROP_WINDOW_RENDERER (pointer)
SDL_PROP_WINDOW_TEXTUREDATA (pointer)
2024-02-12 09:54:11 -08:00
Sam Lantinga
cacac6cc34
Updated structure and field names for consistency
...
Type names are camel case and field names are snake case except for fields ending in id, which are capitalized.
Fixes https://github.com/libsdl-org/SDL/issues/6955
2024-02-11 08:27:56 -08:00
Sam Lantinga
f95b7ee4da
Renamed SDL_HasWindowSurface to SDL_WindowHasSurface
...
Fixes https://github.com/libsdl-org/SDL/issues/9034
2024-02-09 17:42:18 -08:00
Sam Lantinga
1162097135
Added SDL_RenderViewportSet() to tell whether the viewport was previously set to a specific rectangle.
...
Fixes https://github.com/libsdl-org/SDL/issues/9029
2024-02-09 16:37:04 -08:00
Sam Lantinga
f6b92c9b88
Re-added a simplified version of SDL_SetWindowShape()
...
In order to handle mouse click transparency this needs to be implemented inside SDL
2024-02-09 16:04:46 -08:00
Sam Lantinga
bfcca2a36e
Use saturate() instead of clamp() for slightly faster shader operation
2024-02-08 16:05:42 -08:00
Sam Lantinga
91639d855f
Don't use the direct3d12 renderer with transparent windows
...
Fixes https://github.com/libsdl-org/SDL/issues/9024
2024-02-08 09:24:11 -08:00
Sam Lantinga
faeb2b1f22
Fixed warning C4204: nonstandard extension used: non-constant aggregate initializer when built with Visual Studio 2019
2024-02-07 13:16:35 -08:00
Sam Lantinga
1c4c29b7ad
Fixed a swap chain leak and a double-free in testffmpeg.c
...
Also added more debug logging to the direct3d11 renderer
2024-02-06 21:33:57 -08:00
Sam Lantinga
3158342441
Use SDL_Color for SDL_RenderGeometryRaw() and add SDL_RenderGeometryRawFloat()
...
Eventually we can re-add a fast path for that data down to the individual renderers. Setting color scale would still require converting to float, and most hardware accelerated renderers prefer to consume colors as float, so this requires some thought and performance testing.
Fixes https://github.com/libsdl-org/SDL/issues/9009
2024-02-06 18:16:41 -08:00
Sam Lantinga
fb823fbe95
Make sure we're actually using the HDR10 colorspace before using that shader
2024-02-06 18:16:41 -08:00
Sam Lantinga
985da79d73
Use a more concise representation of YUV -> RGB conversion
2024-02-06 15:40:47 -08:00
Sam Lantinga
8afba41aef
Added support for HDR10 video on Apple platforms
2024-02-06 15:40:47 -08:00
Sam Lantinga
2039c46d2c
Added support for creating an SDL texture from a CVPixelBufferRef
2024-02-06 15:40:47 -08:00
Sam Lantinga
c79462dc50
Fixed Xcode build warnings
2024-02-06 12:29:44 -08:00
Sam Lantinga
ba074acad4
Implemented scRGB colorspace and HDR support on macOS
2024-02-06 12:29:44 -08:00
Sam Lantinga
30e176d6ba
Added HDR display properties and related event
...
Also added an HDR calibration stage to testcolorspace
2024-02-06 02:48:05 -08:00
Sam Lantinga
d4caef5b89
Generalize SDR white level handling into a color scale
...
This gives applications better control over how and when light levels are adjusted when working with HDR content and display.
2024-02-06 02:48:05 -08:00
Sam Lantinga
b05ea8e04e
Updated direct3d12 renderer with HDR10 and SDR whitelevel support
2024-02-05 13:17:10 -08:00
Sam Lantinga
c3e4481d56
Use a reasonable default for unspecified YUV colorspace
2024-02-05 11:47:17 -08:00
Sam Lantinga
240158f3e8
Scale SDR content to SDR whitelevel when HDR is enabled
2024-02-05 11:47:17 -08:00
Sam Lantinga
e97b2061b4
Converted shader headers to UNIX line endings
2024-02-05 11:47:17 -08:00
Sam Lantinga
e98e5abd2a
Added batch file to create D3D12 shaders
2024-02-05 11:47:17 -08:00
Sam Lantinga
9755e490c0
Workaround for crash at shutdown in testffmpeg
...
I'm not sure if this is something in SDL crashing or something in ffmpeg, but it's safer to leave the D3D DLLs loaded.
2024-02-05 09:45:39 -08:00
Sam Lantinga
e74171b1ae
Added support for HDR10 video playback on direct3d11
...
Fixes https://github.com/libsdl-org/SDL/issues/8053
2024-02-05 09:45:39 -08:00
Sam Lantinga
548b382fd9
Fixed slow startup time when using the direct3d12 renderer
...
On some systems creating the entire set of available pipeline states is very time consuming. We'll only use a few of them in any given program, so we'll just create them on demand.
Fixes https://github.com/libsdl-org/SDL/issues/7634
2024-02-04 13:09:40 -08:00
Sam Lantinga
dab77fe29b
Added support for SDL_COLORSPACE_BT709_FULL to the hardware renderers
2024-02-04 13:09:40 -08:00
Sam Lantinga
2ad4646a24
Don't release currentOffscreenRenderTargetView, we don't have a reference to it
2024-02-03 12:49:53 -08:00
Sam Lantinga
9005512c18
Fixed build
2024-02-03 12:39:52 -08:00
Sam Lantinga
7271a2040b
Don't force on the D3D11 debug flag
2024-02-03 12:39:11 -08:00
Sam Lantinga
b4d0af9cf3
Removed unused variables
2024-02-03 12:39:11 -08:00
Sam Lantinga
89b9d6cbdc
SDL_RenderReadPixels() now returns a surface
...
Fixes https://github.com/libsdl-org/SDL/issues/8977
2024-02-03 11:49:15 -08:00
Sam Lantinga
50a805cdd1
Use YUV colorspaces instead of a global YUV conversion mode
...
Fixes https://github.com/libsdl-org/SDL/issues/8669
2024-02-03 07:36:18 -08:00
Sam Lantinga
aa8f609ff3
Clamp HDR colors to the SDR range for SDR renderers
2024-02-02 13:13:53 -08:00
Sam Lantinga
9591b2cfb4
Finalized the SDL render API colorspaces
...
The renderer will always use the sRGB colorspace for drawing, and will default to the sRGB output colorspace. If you want blending in linear space and HDR support, you can select the scRGB output colorspace, which is supported by the direct3d11 and direct3d12
2024-02-02 13:13:53 -08:00
Sam Lantinga
dc607c666b
Fixed creating HDR textures with SDL_CreateTexture()
2024-02-01 15:36:49 -08:00
Sam Lantinga
7561116873
Added support for floating point texture formats
2024-02-01 12:17:35 -08:00
Sam Lantinga
90597aeaef
HDR10 colorspace isn't currently supported
...
You can't do blending directly in PQ space, which means you have to create a scene render target in linear space and use shaders to convert PQ texture data to linear, etc. All of this is out of scope for the SDL 2D renderer at the moment.
2024-02-01 12:17:35 -08:00
Sam Lantinga
fc35b7e121
Convert to sRGB if trying to create a texture from an HDR surface
2024-02-01 12:17:35 -08:00
Sam Lantinga
dd28ab0489
Added SDL_SetRenderDrawColorspace() and SDL_GetRenderDrawColorspace()
2024-02-01 12:17:35 -08:00
Sam Lantinga
9c8b47b726
Cache the draw color state in the software and PSP renderers
...
Converting the color from float is a bit expensive, so let's cache that state
2024-02-01 12:17:35 -08:00
Sam Lantinga
dacfaa91b4
Make sure to round color values when converting to Uint8
2024-02-01 12:17:35 -08:00
Sam Lantinga
6f443e2aca
Added support for the scRGB colorspace on D3D11 and D3D12
2024-01-31 18:07:00 -08:00
Sam Lantinga
12c31898c1
Update colors in SDL_RenderGeometryRaw() if we're doing interpolation in linear space
...
Testing: Modified testgeometry to clear the background to 0.5 and then changed the triangle color to 0.5, and verified that they were the same color when using the D3D11 renderer.
2024-01-31 11:02:45 -08:00
Sam Lantinga
77549dc91e
Fixed some places using SDL_SetRenderDrawColor() instead of SDL_SetRenderDrawColorFloat()
2024-01-31 11:02:45 -08:00