Sam Lantinga
141497b14f
Added an automated test to verify clip rect functionality
2024-02-25 09:44:41 -08:00
Sam Lantinga
4ba6aeee9d
A second take on HDR support with an SDR white point and HDR headroom
...
This better reflects how HDR content is actually used, e.g. most content is in the SDR range, with specular highlights and bright details beyond the SDR range, in the HDR headroom.
This more closely matches how HDR is handled on Apple platforms, as EDR.
This also greatly simplifies application code which no longer has to think about color scaling. SDR content is rendered at the appropriate brightness automatically, and HDR content is scaled to the correct range for the display HDR headroom.
2024-02-21 19:25:49 -08:00
Anonymous Maarten
cbf0b1ce81
testcamera: create window and renderer through test library
2024-02-21 00:49:15 +01:00
Ryan C. Gordon
f59c66a97f
testcamera: Allow app to flip between a front and back camera.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
b1ed49772c
camera: Replace testcamera.c with testcameraminimal.c
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
47313bba32
camera: SDL_GetCameraDevices should not report "no devices" like an error.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
0b8617f71d
test: Fixed CMake to build testcameraminimal correctly on WinRT.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
67708f9110
camera: Emscripten support!
...
This also adds code to deal with waiting for the user to approve camera
access, reworks testcameraminimal to use main callbacks, etc.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
87e7046fca
camera: Public API functions should say "Format" not "Spec" to match audio.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
d3e6ef3cc6
camera: Massive code reworking.
...
- Simplified public API, simplified backend interface.
- Camera device hotplug events.
- Thread code is split up so it backends that provide own threads can use it.
- Added "dummy" backend.
Note that CoreMedia (Apple) and Android backends need to be updated, as does
the testcamera app (testcameraminimal works).
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
cb10c80aaf
camera: Reworked to operate with a driver interface, like other subsystems.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
7ae955ce68
camera: Renamed everything from "video capture" to "camera", wired to CMake.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
f49ce4a15d
camera: Renamed "video_capture" files to "camera" and moved to own subdir.
2024-02-20 15:56:26 -05:00
Sam Lantinga
ed615e92b7
Updated automated test now that getting an invalid property isn't an error
2024-02-17 09:30:50 -08:00
Sam Lantinga
202886f873
Make use of the HDR light range when playing HDR video
2024-02-16 20:05:11 -08:00
Sam Lantinga
cb38649490
Added SDL_PROP_DISPLAY_HDR_WHITE_LEVEL_FLOAT
2024-02-16 19:50:41 -08:00
Sam Lantinga
d451fcd7a7
Fixed HDR video content being too bright on Apple platforms
...
This probably isn't the exact formula that we need, but it's much closer to correct.
2024-02-15 16:39:13 -08:00
Sam Lantinga
c09daf8388
Removed unused variables
2024-02-15 14:11:04 -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
a538936821
Renamed SDL_HINT_LINUX_JOYSTICK_DEADZONES to SDL_HINT_JOYSTICK_LINUX_DEADZONES
2024-02-12 09:54:33 -08:00
Sam Lantinga
9ce7fe2848
Removed SDL_HINT_ACCELEROMETER_AS_JOYSTICK
...
Sensors are a first-class object in SDL and we haven't gotten any feedback that this feature is useful these days.
Closes https://github.com/libsdl-org/SDL/pull/7879
2024-02-12 09:54:33 -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
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
1143bdc351
Greatly simplified the shape example
2024-02-09 03:04:40 -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
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
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
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
meyraud705
f85535b4b6
Use functions from SDL instead of libc
2024-02-05 09:01:28 -05:00
Sam Lantinga
ec322bee1c
Fixed testyuv help message
2024-02-04 13:09:40 -08:00
Sam Lantinga
327b976bc4
SDL_COLORSPACE_JPEG is the default YUV colorspace
2024-02-04 13:09:40 -08:00
Sam Lantinga
5b8e5f8b9f
Fixed accidental changing of All to Allu in previous commit (thanks @zturtleman!)
2024-02-03 23:46:22 -08:00
Sam Lantinga
c0b27ccef9
Fixed warning C4701: potentially uninitialized local variable 'drawnTextRect' used
2024-02-03 11:49:15 -08:00
Sam Lantinga
8eba5b75ca
Fixed warning C4701: potentially uninitialized local variable 'rndctx' used
2024-02-03 11:49:15 -08:00
Sam Lantinga
445cb42acd
Fixed warning C4244: 'function': conversion from 'int' to 'Uint16', possible loss of data
2024-02-03 11:49:15 -08:00
Sam Lantinga
45f936c788
Fixed warning C4245: 'initializing': conversion from '__int64' to 'unsigned __int64', signed/unsigned mismatch
2024-02-03 11:49:15 -08:00
Sam Lantinga
74e85e3a51
Fixed warning C4706: assignment within conditional expression
2024-02-03 11:49:15 -08:00
Sam Lantinga
c3e3ad6140
Fixed build warnings
2024-02-03 11:49:15 -08:00
Sam Lantinga
c02aaebccc
Fixed warning C4245: 'initializing': conversion from 'int' to 'Uint32', signed/unsigned mismatch
2024-02-03 11:49:15 -08:00
Sam Lantinga
ff5fdf9f53
Fixed warning C4244: 'initializing': conversion from 'int' to 'const Uint8', possible loss of data
2024-02-03 11:49:15 -08:00
Sam Lantinga
9989f92eee
Fixed warning C4245: 'initializing': conversion from 'int' to 'SDL_AudioDeviceID', signed/unsigned mismatch
2024-02-03 11:49:15 -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
f9c57e16b0
Don't test 10-bit pixel format conversion
...
We either need to explicitly test using the sRGB colorspace or update the tests for HDR10 color conversion. We'll just disable them for now, as these formats aren't commonly used in games.
2024-02-02 18:24:15 -08:00
Sam Lantinga
b8fe96fa81
Fixed build warning
2024-02-02 18:24:05 -08:00