Ozkan Sezer
9e89f093d9
remove stale / wrong information from SDL_RWread() documentation
2024-03-08 18:55:19 +03:00
Sam Lantinga
790cd395f5
Make sure the type in the SDL_Event aligns properly across the union
2024-03-07 06:58:43 -08:00
Sam Lantinga
e9ab2d46de
Revert "Change `SDL_Keycode` type to an enum"
...
SDL_Keycode can actually be any printable character on the keyboard, so isn't limited to the enumerated values of SDL_KeyCode.
2024-03-07 06:58:43 -08:00
Sam Lantinga
33eaddc565
Cleaned up various type conversion issues
...
This makes sure SDL_PixelFormatEnum flows through the internal code correctly, as well as fixing a number of other minor issues.
2024-03-07 06:58:43 -08:00
Sam Lantinga
f53bdc9531
The pixel format in SDL_DisplayMode uses SDL_PixelFormatEnum
2024-03-07 03:39:06 -08:00
SDL Wiki Bot
59ab5c0824
Sync SDL3 wiki -> header
2024-03-07 00:20:27 +00:00
Sam Lantinga
c70710cde8
SDL_GetPixelFormatEnumForMasks() returns SDL_PixelFormatEnum
2024-03-06 16:19:08 -08:00
Susko3
722f4104bf
Use enums as types in SDL_*Event structures
...
The main `SDL_Event` union is not using the enum as
valid user events types are not in the enum.
2024-03-06 15:40:05 -08:00
Susko3
ce44eff3d2
Use `SDL_WindowFlags` in public headers
2024-03-06 15:08:12 -08:00
Susko3
4f58d18373
Typedef `SDL_WindowFlags`
...
Window flags were previously an enum with the same name.
See ebd7f9adbd
.
2024-03-06 15:08:12 -08:00
Susko3
424616e032
Use SDL_PixelFormatEnum as type
2024-03-06 15:02:13 -08:00
Susko3
f8cb3c742d
Change `SDL_Keycode` type to an enum
2024-03-06 12:17:53 -08:00
Susko3
f8844d387c
Use specific types in SDL_touch.h
...
Missed when picking 7ff34249c753122a2ba67e78aa6e9f9b56aa4a65 from https://github.com/libsdl-org/SDL/pull/9191 .
2024-03-06 10:35:20 -08:00
SDL Wiki Bot
2d0cd90171
Sync SDL3 wiki -> header
2024-03-06 17:52:26 +00:00
Sam Lantinga
860155680d
SDL_RegisterEvents() now returns 0 if it couldn't allocate any user events.
2024-03-06 09:51:15 -08:00
Sam Lantinga
95fbbc6f07
Fixed accidental use of tabs
2024-03-05 16:55:26 -08:00
Susko3
e268cdbec6
Use specific types in public headers ( #9205 )
...
Uses specific typedef'd types instead of generic integral types where applicable.
2024-03-05 16:52:15 -08:00
Sam Lantinga
db24560387
Additional colorspace clarification
...
Note that SDL_MATRIX_COEFFICIENTS_BT470BG is functionally equivalent to SDL_MATRIX_COEFFICIENTS_BT601
2024-03-05 16:47:36 -08:00
Sam Lantinga
b3858ec5f7
BT2020_CL is very different from BT2020_NCL, and not currently supported
2024-03-05 15:49:17 -08:00
Sam Lantinga
9db68f97f9
Reverted SDL_Vulkan_GetInstanceExtensions() API change
...
This function is commonly used with Vulkan structures that use uint32_t, so we should keep the Uint32 signature.
2024-03-05 13:39:42 -08:00
SDL Wiki Bot
0b4a195f4b
Sync SDL3 wiki -> header
2024-03-05 21:32:25 +00:00
Sylvain
cea717e5d3
Removed some uneeded 'unsigned': renderer.num_texture_format and SDL_Vulkan_GetInstanceExtensions() prototype
2024-03-05 13:31:28 -08:00
SDL Wiki Bot
ffef13e1e1
Sync SDL3 wiki -> header
2024-03-04 17:30:25 +00:00
Sam Lantinga
48471f7dbd
Added SDL_AddVulkanRenderSemaphores() for external synchronization with SDL rendering
2024-03-04 09:29:36 -08:00
Sam Lantinga
2c85052966
Removed unused headers from SDL_rect.h
...
Fixes https://github.com/libsdl-org/SDL/issues/8966
2024-03-03 11:33:59 -08:00
Susko3
86d36a2dc2
Add missing include
2024-03-03 09:37:59 -08:00
Nour Fouad
e524e545f2
Add vulkan to SDL_HINT_RENDER_DRIVER
2024-03-02 15:17:09 -08:00
SDL Wiki Bot
27389716ac
Sync SDL3 wiki -> header
2024-03-02 23:05:24 +00:00
Sam Lantinga
7f9ff6277c
Don't assume HDR headroom for HDR10 surfaces
...
Applications that support HDR will set the correct values for their content.
2024-03-02 15:02:17 -08:00
SDL Wiki Bot
8c015cd3b6
Sync SDL3 wiki -> header
2024-03-02 18:02:26 +00:00
Sam Lantinga
8d023f9869
Updated documentation for new property parameters
2024-03-02 09:56:29 -08:00
Sam Lantinga
f2cd361e25
testyuv: added validation of P010 YUV format
...
Also added conversion between RGB and P010, using XRGB2101010 as a bridging format in PQ space
2024-03-01 20:26:52 -08:00
Ryan C. Gordon
1e8b006d43
stdlib: qsort and bsearch changes.
...
- Always use internal qsort and bsearch implementation.
- add "_r" reentrant versions.
The reasons for always using the internal versions is that the C runtime
versions' callbacks are not mark STDCALL, so we would have add bridge
functions for them anyhow, The C runtime qsort_r/qsort_s have different
orders of arguments on different platforms, and most importantly: qsort()
isn't a stable sort, and isn't guaranteed to give the same ordering for
two objects marked as equal by the callback...as such, Visual Studio and
glibc can give different sort results for the same data set...in this
sense, having one piece of code shared on all platforms makes sense here,
for reliabillity.
bsearch does not have a standard _r version at all, and suffers from the
same SDLCALL concern. Since the code is simple and we would have to work
around the C runtime, it's easier to just go with the built-in function
and remove all the CMake C runtime tests.
Fixes #9159 .
2024-03-01 08:28:12 -05:00
Sam Lantinga
af58ed978e
Fixed the documentation for SDL_GetGamepadMappings()
2024-03-01 01:55:56 -08:00
SDL Wiki Bot
7ff9be7398
Sync SDL3 wiki -> header
2024-03-01 01:39:28 +00:00
Sam Lantinga
0454e1fdb4
Vulkan: added support for wrapping existing textures
2024-02-29 17:38:10 -08:00
SDL Wiki Bot
68588b232c
Sync SDL3 wiki -> header
2024-02-28 15:13:26 +00:00
Sam Lantinga
614630df69
Allow using an external Vulkan device with the vulkan renderer
2024-02-28 07:12:15 -08:00
Sam Lantinga
220340e944
Remove SDL_PIXELFORMAT_P010
...
It's not supported by any renderer or pixel conversion path
2024-02-27 12:48:33 -08:00
Semphriss
84aaf63bd3
Fix typo in SDL_filesystem.h
2024-02-27 08:58:45 -08:00
SDL Wiki Bot
fbe7301aba
Sync SDL3 wiki -> header
2024-02-25 23:55:23 +00:00
Sam Lantinga
be51b7acea
Use the maximum potential headroom if EDR content isn't currently being displayed.
...
Also document that the HDR properties can change dynamically at runtime.
2024-02-25 15:54:34 -08:00
Sam Lantinga
276566235c
Removed SDL_ClearHints() from the public API
...
Fixes https://github.com/libsdl-org/SDL/issues/9129
2024-02-24 21:07:50 -08:00
Sam Lantinga
b9a00aa88e
Fixed building the Vulkan renderer on Windows with Visual Studio
2024-02-22 17:18:46 -08:00
SDL Wiki Bot
dfd8073a8f
Sync SDL3 wiki -> header
2024-02-22 22:59:24 +00:00
Dan Ginsburg
cab20117e6
Vulkan Renderer ( #9114 )
...
This pull request adds an implementation of a Vulkan Render backend to SDL. I have so far tested this primarily on Windows, but also smoke tested on Linux and macOS (MoltenVK). I have not tried it yet on Android, but it should be usable there as well (sans any bugs I missed). This began as a port of the SDL Direct3D12 Renderer, which is the closest thing to Vulkan as existed in the SDL codebase. The shaders are more or less identical (with the only differences being in descriptor bindings vs root descriptors). The shaders are built using the HLSL frontend of glslang.
Everything in the code is pure Vulkan 1.0 (no extensions), with the exception of HDR support which requires the Vulkan instance extension `VK_EXT_swapchain_colorspace`. The code could have been simplified considerably if I used dynamic rendering, push descriptors, extended dynamic state, and other modern Vulkan-isms, but I felt it was more important to make the code as vanilla Vulkan as possible so that it would run on any Vulkan implementation.
The main differences with the Direct3D12 renderer are:
* Having to manage renderpasses for performing clears. There is likely some optimization that would still remain for more efficient use of TBDR hardware where there might be some unnecessary load/stores, but it does attempt to do clears using renderpasses.
* Constant buffer data couldn't be directly updated in the command buffer since I didn't want to rely on push descriptors, so there is a persistently mapped buffer with increasing offset per swapchain image where CB data gets written.
* Many more resources are dependent on the swapchain resizing due to i.e. Vulkan requiring the VkFramebuffer to reference the VkImageView of the swapchain, so there is a bit more code around handling that than was necessary in D3D12.
* For NV12/NV21 textures, rather than there being plane data in the texture itself, the UV data is placed in a separate `VkImage`/`VkImageView`.
I've verified that `testcolorspace` works with both sRGB and HDR linear. I've tested `testoverlay` works with the various YUV/NV12/NV21 formats. I've tested `testsprite`. I've checked that window resizing and swapchain out-of-date handling when minimizing are working. I've run through `testautomation` with the render tests. I also have run several of the tests with Vulkan validation and synchronization validation. Surely I will have missed some things, but I think it's in a good state to be merged and build out from here.
2024-02-22 14:58:11 -08:00
SDL Wiki Bot
2132ba8985
Sync SDL3 wiki -> header
2024-02-22 03:26:22 +00:00
Sam Lantinga
54c2ba6afd
Added the Chrome HDR tonemap operator
...
Also added support for the SDL_PIXELFORMAT_XBGR2101010 pixel format to the D3D12, D3D11, and Metal renderers.
2024-02-21 19:25:49 -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
SDL Wiki Bot
31fe061ab5
Sync SDL3 wiki -> header
2024-02-20 20:57:27 +00:00
Ryan C. Gordon
70b89ab70d
camera: Added SDL_GetCameraDevicePosition.
...
Otherwise, as a property, you have to open each camera device to figure out
which ones are which.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
2613e3da24
camera: Rewrote Android support.
...
This does something a little weird, in that it doesn't care what
`__ANDROID_API__` is set to, but will attempt to dlopen the system
libraries, like we do for many other platform-specific pieces of SDL.
This allows us to a) not bump the minimum required Android version, which is
extremely ancient but otherwise still working, doing the right thing on old
and new hardware in the field, and b) not require the app to link against
more libraries than it previously did before the feature was available.
The downside is that it's a little messy, but it's okay for now, I think.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
8db2a3b27a
camera: Add an optional property that reports if a camera is back or front.
...
This is useful for iOS and Android, so an app can find the camera it cares
about in the list of devices.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
99d1337de2
camera: Reenabled macOS/iOS support, with rewritten CoreMedia implementation.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
22dbc0f32f
camera: Patched to compile after rebasing to latest in main.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
7191a97fe3
camera: Windows support, through the Media Foundation API!
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
182f707284
include: Fixed doxygen comments on new camera APIs.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
0b5875825e
camera: framerate support.
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
Frank Praznik
8b6eae2d4f
cmake: Split and store the libdecor version as individual parts
...
It is becoming necessary to enable additional features as libdecor continues to evolve, and checking against a single base version will no longer be adequate. Libdecor doesn't provide versioning defines in its headers, so split the version string into parts to allow for discrete version detection and feature enablement at build time.
2024-02-20 11:28:02 -05:00
Sam Lantinga
fee140bdfe
Added the option for GameInput support to the Win32 SDL build
...
GameInput is designed to be used by Win32 C applications, so no need to restrict it to the GDK build.
2024-02-17 14:07:42 -08:00
Nikita Krapivin
534f753e20
GameInput backend for SDL (Gamepad-only for now)
2024-02-17 11:33:51 -08:00
Sam Lantinga
7ed1f3554d
Define HAVE_LIBC for the platforms with a C library
...
Allow the Visual Studio project to define HAVE_LIBC=0 to enable building without a C runtime on Windows entirely through Visual Studio project changes.
2024-02-17 11:31:06 -08:00
Sam Lantinga
8ce786d2b6
Property query functions don't set an error if they return the default value
...
You can call SDL_HasProperty() if you want to check to see if a property exists.
Fixes https://github.com/libsdl-org/SDL/issues/9067
2024-02-17 07:59:04 -08:00
SDL Wiki Bot
317099b01f
Sync SDL3 wiki -> header
2024-02-17 03:51:21 +00:00
Sam Lantinga
cb38649490
Added SDL_PROP_DISPLAY_HDR_WHITE_LEVEL_FLOAT
2024-02-16 19:50:41 -08:00
SDL Wiki Bot
4d4c24acdd
Sync SDL3 wiki -> header
2024-02-13 17:07:23 +00:00
Ryan C. Gordon
bc984f78bf
android: Remove blocking permission request code. Async only in SDL3!
...
(this actually still blocks at our internal points of usage, though, for
replacement at a later time.)
2024-02-13 12:06:51 -05:00
Ryan C. Gordon
af61cfd5e0
android: Added SDL_AndroidRequestPermissionAsync.
2024-02-13 12:06:51 -05:00
Sam Lantinga
ead3cbafd7
Fixed documentation for SDL_HINT_WINDOWS_CLOSE_ON_ALT_F4 (thanks @AntTheAlchemist!)
2024-02-12 18:32:29 -08:00
Sam Lantinga
87c07a79c0
Changed property name from '-' to '_'
2024-02-12 09:55:40 -08:00
SDL Wiki Bot
59f1e66adc
Sync SDL3 wiki -> header
2024-02-12 17:55:23 +00:00
Sam Lantinga
dca2721b91
Removed SDL_HINT_VIDEO_EXTERNAL_CONTEXT
...
This is replaced with SDL_PROP_WINDOW_CREATE_EXTERNAL_GRAPHICS_CONTEXT in SDL_CreateWindowWithProperties()
2024-02-12 09:54:33 -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
20051f805f
Removed SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4
...
Replaced with SDL_HINT_WINDOWS_CLOSE_ON_ALT_F4, defaulting to SDL_TRUE
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
9920e062d5
Removed SDL_HINT_THREAD_STACK_SIZE
...
The stack size can be specified using SDL_CreateThreadWithStackSize()
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
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
980c379a0b
Renamed SDL_HINT_LINUX_JOYSTICK_CLASSIC to SDL_HINT_JOYSTICK_LINUX_CLASSIC
2024-02-12 09:54:33 -08:00
Sam Lantinga
1f7936d545
Renamed SDL_HINT_LINUX_HAT_DEADZONES to SDL_HINT_JOYSTICK_LINUX_HAT_DEADZONES
2024-02-12 09:54:33 -08:00
Sam Lantinga
39cfb437ed
Renamed SDL_HINT_LINUX_DIGITAL_HATS to SDL_HINT_JOYSTICK_LINUX_DIGITAL_HATS
2024-02-12 09:54:33 -08:00
Sam Lantinga
b557c15bcf
Renamed SDL_HINT_JOYSTICK_GAMECUBE_RUMBLE_BRAKE to SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE
2024-02-12 09:54:33 -08:00
Sam Lantinga
4f628b5b62
Renamed SDL_HINT_GDK_TEXTINPUT_DEFAULT to SDL_HINT_GDK_TEXTINPUT_DEFAULT_TEXT
2024-02-12 09:54:33 -08:00
Sam Lantinga
fd5d761128
Renamed SDL_HINT_DIRECTINPUT_ENABLED to SDL_HINT_JOYSTICK_DIRECTINPUT
2024-02-12 09:54:33 -08:00
Sam Lantinga
a5da7d0dd5
Renamed SDL_HINT_ALLOW_TOPMOST to SDL_HINT_WINDOW_ALLOW_TOPMOST
2024-02-12 09:54:33 -08:00
Sam Lantinga
ef8791cba8
Cleaned up and organized hint documentation
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
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
6f87973b9c
Added a reserved field to the SDL_Event structure
...
This guarantees 64-bit alignment for the timestamp
2024-02-11 08:27:56 -08:00
SDL Wiki Bot
432ce3f167
Sync SDL3 wiki -> header
2024-02-10 15:09:26 +00:00
Sam Lantinga
416803b03b
Clarify the lifetime of the shape surface in SDL_SetWindowShape()
2024-02-10 07:08:28 -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
SDL Wiki Bot
1ec0e22bcd
Sync SDL3 wiki -> header
2024-02-10 00:38:20 +00: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
SDL Wiki Bot
9ff8df932a
Sync SDL3 wiki -> header
2024-02-10 00:05:26 +00: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
SDL Wiki Bot
1684032c17
Sync SDL3 wiki -> header
2024-02-08 18:39:20 +00:00
Sam Lantinga
4ce7ae31d4
Document that SDL_UpdateJoysticks() needs to be called to handle rumble processing
...
Related: https://github.com/libsdl-org/SDL/issues/4300
2024-02-08 10:43:00 -08:00
Sam Lantinga
1269590dfc
Clarified that SDL scancodes are unaffected by keyboard layout
2024-02-07 09:33:27 -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
SDL Wiki Bot
ed86cec07f
Sync SDL3 wiki -> header
2024-02-06 23:41:23 +00:00
Sam Lantinga
2039c46d2c
Added support for creating an SDL texture from a CVPixelBufferRef
2024-02-06 15:40:47 -08:00
SDL Wiki Bot
451dc41427
Sync SDL3 wiki -> header
2024-02-06 10:49:24 +00: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
SDL Wiki Bot
a6374123c7
Sync SDL3 wiki -> header
2024-02-04 21:10:23 +00:00
Sam Lantinga
327b976bc4
SDL_COLORSPACE_JPEG is the default YUV colorspace
2024-02-04 13:09:40 -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
SDL Wiki Bot
ab571633d1
Sync SDL3 wiki -> header
2024-02-03 15:37:23 +00: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
SDL Wiki Bot
2819988f8b
Sync SDL3 wiki -> header
2024-02-03 04:40:24 +00:00
Sam Lantinga
a2c45f61bb
Updated scRGB render colorspace documentation
2024-02-02 20:38:48 -08:00
Sam Lantinga
25fd5da1a7
Removed maxCLL and maxFALL properties, moved them to SDL_image for HDR image loading
2024-02-02 15:13:09 -08:00
SDL Wiki Bot
943ab983cb
Sync SDL3 wiki -> header
2024-02-02 23:10:26 +00:00
Sam Lantinga
5d48f9a63a
Added SDL_CopyProperties()
2024-02-02 15:09:12 -08:00
SDL Wiki Bot
c007c7ed55
Sync SDL3 wiki -> header
2024-02-02 21:14:23 +00: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
d04fea8b87
Even more miscellaneous gamepad buttons!
2024-02-01 20:34:05 -08:00
Sam Lantinga
cb70e972e3
Added miscellaneous gamepad buttons for additional macro buttons on some controllers
2024-02-01 20:15:01 -08:00
SDL Wiki Bot
dcfb069c75
Sync SDL3 wiki -> header
2024-02-01 20:18:29 +00:00
Sam Lantinga
19dde63e7c
Added a simple linear scale for tonemapped HDR to SDR surface conversion
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
SDL Wiki Bot
a4969e393e
Sync SDL3 wiki -> header
2024-02-01 02:08:27 +00:00
Sam Lantinga
6f443e2aca
Added support for the scRGB colorspace on D3D11 and D3D12
2024-01-31 18:07:00 -08:00
Sam Lantinga
3c45544a14
Added a slow blit function to handle large pixel formats and colorspace conversion
2024-01-31 09:50:46 -08:00
Amun
4a759b340f
Fixes in SDL_ColorSpace (SDL_pixels.h)
2024-01-30 11:16:53 -08:00
SDL Wiki Bot
d15fb9e063
Sync SDL3 wiki -> header
2024-01-30 17:49:26 +00:00
Sam Lantinga
f257eb4481
Added the concept of colorspace to the SDL renderer
...
This allows color operations to happen in linear space between sRGB input and sRGB output. This is currently supported on the direct3d11, direct3d12 and opengl renderers.
This is a good resource on blending in linear space vs sRGB space:
https://blog.johnnovak.net/2016/09/21/what-every-coder-should-know-about-gamma/
Also added testcolorspace to verify colorspace changes
2024-01-30 09:48:02 -08:00
Sam Lantinga
554f0625d3
Renderer colors now have floating point precision
2024-01-30 09:48:02 -08:00
Sam Lantinga
61a3a163db
Fixed typo (thanks @Akaricchi!)
2024-01-29 18:48:41 -08:00
SDL Wiki Bot
7fbd85ad5c
Sync SDL3 wiki -> header
2024-01-29 02:25:21 +00:00
Sam Lantinga
61b5c38e6e
Added the initial concept of colorspace to SDL
2024-01-28 18:24:39 -08:00
SDL Wiki Bot
00a8ca403e
Sync SDL3 wiki -> header
2024-01-28 18:32:23 +00:00
Frank Praznik
5b8ca05f1a
wayland: Add a forced screen space scaling mode
...
Add a mode that forces Wayland windows to output with scaling that forces 1:1 pixel mapping.
This is intended to allow legacy applications to be displayed without desktop scaling being applied, and may have issues with some display configurations, as this forces the window to behave in a way that Wayland desktops were not designed to accommodate (rounding errors can result from certain combinations of window/scale values, the window may be unusably small, jump in size at times, or appear to be larger than the desktop space, and cursor precision may be reduced).
Windows flagged as DPI-aware are not affected by this.
The automated video test suite passes with the hint turned on.
2024-01-28 13:31:42 -05:00
Sam Lantinga
12bdb2b4d0
Added the environment variable SDL_LOGGING to control default log output
2024-01-27 19:30:22 -08:00
Sam Lantinga
a7a98d8bbb
Document that the default log priority is error, not critical
2024-01-27 15:45:38 -08:00
SDL Wiki Bot
fd14a20a4b
Sync SDL3 wiki -> header
2024-01-27 23:26:26 +00:00
Sam Lantinga
17768c51fc
Revert "Sync SDL3 wiki -> header"
...
This reverts commit 5e96e410d6
.
2024-01-27 15:25:29 -08:00
Charlie Volow
5ae2ffc127
document that text input is on by default
...
See:
https://discourse.libsdl.org/t/text-input-is-active-by-default-hampering-frame-rate/24396
https://discourse.libsdl.org/t/restoring-text-input-to-the-default-state/42690
2024-01-27 15:18:05 -08:00
SDL Wiki Bot
5e96e410d6
Sync SDL3 wiki -> header
2024-01-27 23:12:19 +00:00
Sam Lantinga
f66fe7e221
Replaced SDL_GetJoystickCaps() with joystick properties
...
Fixes https://github.com/libsdl-org/SDL/issues/8927
2024-01-27 15:11:52 -08:00
SDL Wiki Bot
aba3038353
Sync SDL3 wiki -> header
2024-01-27 21:01:19 +00:00
Sam Lantinga
3b55c7d1f4
Shortened SDL property names
2024-01-27 13:00:50 -08:00
SDL Wiki Bot
1885e6b2e0
Sync SDL3 wiki -> header
2024-01-27 20:47:21 +00:00
Sam Lantinga
8a4284b7df
Clarified the use of SDL_RENDERER_SOFTWARE when creating a renderer
...
Fixes https://github.com/libsdl-org/sdlwiki/issues/458
2024-01-27 12:46:41 -08:00
Sam Lantinga
b9ea2dde44
Added VisionOS as a supported target to the Xcode project
...
Also added SDL_PLATFORM_VISIONOS to the platform definitions and generally switched from TARGET_OS_* macros to SDL_PLATFORM_* macros.
2024-01-27 11:07:21 -08:00
Sam Lantinga
aeac8774f7
Missed one
2024-01-25 16:53:19 -08:00
Sam Lantinga
d0dd60c8ba
Updated new pixel format names to be more consistent with the others
2024-01-25 16:51:22 -08:00
Sam Lantinga
0f78aa7c30
Add some high bit-depth pixel formats
...
These are not fully supported yet, just preparing for future work.
2024-01-25 16:40:46 -08:00
Ryan C. Gordon
ecbbef8b8d
blendmode: Corrected docs for `SDL_BLENDOPERATION_[REV_]SUBTRACT`.
...
They were documented backwards.
Fixes #8910 .
2024-01-25 17:48:12 -05:00
Ryan C. Gordon
8814095aa8
main: Indented SDL_main headers for readability, removed SDL2 compat macros.
...
Specifically, SDL_WinRTRunApp, SDL_UIKitRunApp, and SDL_GDKRunApp macros were
removed, as likely unnecessary to SDL3 users. A note was added to the
migration doc about how to roll replacements. These are not going into
SDL_oldnames.h.
Fixes #8245 .
2024-01-25 17:39:38 -05:00
Sam Lantinga
02f59f3ae6
Note that SDL_GetHaptics() is useful in combination with SDL_OpenHaptic()
2024-01-25 08:21:01 -08:00
Ozkan Sezer
fd6ec3b9aa
SDL_intrin.h: adjust for new SDL_PLATFORM_WINDOWS meaning.
2024-01-24 21:20:50 +03:00
Ozkan Sezer
2654c52d0e
macro SDL_PLATFORM_WINDOWS now means Win32 api and Windows-based OS's.
...
macro SDL_PLATFORM_WIN32 means desktop windows, i.e. anything other than
WinRT or GDK, etc.
2024-01-24 21:20:50 +03:00
Sam Lantinga
8fe257b541
Added support for other HDR color primaries
...
Specifically, SDL_COLOR_PRIMARIES_XYZ, SDL_COLOR_PRIMARIES_SMPTE431, and SDL_COLOR_PRIMARIES_SMPTE432
2024-01-23 20:35:29 -08:00
Ozkan Sezer
c5792cc0de
SDL_thread.h: replace uses of __GDK__ and __WINRT__ (missed in #8875.)
2024-01-24 06:28:10 +03:00
Anonymous Maarten
31d133db40
Define SDL_PLATFORM_* macros instead of underscored ones ( #8875 )
2024-01-24 01:40:51 +00:00
SDL Wiki Bot
ceccf24519
Sync SDL3 wiki -> header
2024-01-24 01:20:29 +00:00
Sam Lantinga
7cd914593f
Added HDR surface properties and tone mapping from HDR to SDR
...
This currently only supports PQ, but can be expanded in the future
2024-01-23 17:19:41 -08:00
SDL Wiki Bot
6fb188eb35
Sync SDL3 wiki -> header
2024-01-23 03:24:26 +00:00
Sam Lantinga
cd231a65f6
Added SDL_GetJoystickCaps() and SDL_GetGamepadCaps() to get the capabilities of controllers
...
Also added SDL_GAMEPAD_CAP_PLAYER_LED to let the application know if the controller has a visible player LED
2024-01-22 19:23:42 -08:00
Sam Lantinga
a28a42cfc6
Fixed declaration of SDL_HapticRumbleSupported
2024-01-21 11:36:38 -08:00
Sam Lantinga
052b958bf2
Made SDL_HapticEffect const in the API
...
Also added some additional parameter validation to haptic effect functions
2024-01-21 11:29:40 -08:00
Sam Lantinga
5e70ee29cc
Build SDL with the static C runtime on Visual Studio
2024-01-21 06:55:29 -08:00
Sam Lantinga
e2f35a16c2
Added <string.h> for declaration of memset() and memcpy()
2024-01-21 06:55:29 -08:00
Sam Lantinga
7a069cc4b0
Allow optimizing memcpy and memset where possible
...
Modern C runtimes have well optimized memset and memcpy, so use those instead of dispatching into SDL's versions. In addition, some compilers can analyze memset and memcpy calls and directly turn them into optimized assembly.
2024-01-21 06:55:29 -08:00
SDL Wiki Bot
4d6e2d8b73
Sync SDL3 wiki -> header
2024-01-20 14:33:19 +00:00
Sam Lantinga
308906ba25
Added SDL_FlipSurface() to flip a surface vertically or horizontally
...
Fixes https://github.com/libsdl-org/SDL/issues/8857
2024-01-20 06:31:37 -08:00
Sam Lantinga
a31dc6dfcb
Switched SDL_TouchID and SDL_FingerID to be Uint64 with 0 being an invalid value
2024-01-18 10:55:24 -08:00
Edoardo Lolletti
b384973936
Remove no longer needed hint
2024-01-18 10:19:18 -08:00
Sam Lantinga
cda2bffeee
Re-add SDL_HAPTIC_SQUARE for SDL 3.0
...
Fixes https://github.com/libsdl-org/SDL/issues/8753
Closes https://github.com/libsdl-org/SDL/pull/8831
Closes https://github.com/libsdl-org/SDL/pull/8783
2024-01-18 09:24:03 -08:00
Sam Lantinga
df4b855af5
Updated SDL_TLSID to use the same type as other IDs in SDL
2024-01-18 08:18:37 -08:00
Sam Lantinga
fc0c774976
Renamed SDL_ThreadID() to SDL_GetCurrentThreadID()
...
Also renamed SDL_threadID to SDL_ThreadID and made it Uint64 for consistency with other ID types
2024-01-18 08:18:37 -08:00
Sam Lantinga
d6a41f8f31
Updated SDL_TimerID to use the same type as other IDs in SDL
2024-01-18 07:08:15 -08:00
SDL Wiki Bot
bc3a71d400
Sync SDL3 wiki -> header
2024-01-18 15:01:21 +00:00
Sam Lantinga
464f4d19fe
Removed obsolete XInput mapping hint
2024-01-18 07:00:21 -08:00
Sam Lantinga
f8dfee01bb
Made SDL_ReadSurfacePixel a public function
...
Fixes https://github.com/libsdl-org/SDL/issues/8320
2024-01-18 07:00:10 -08:00
Sam Lantinga
c540c77756
Removed SDL_INIT_EVERYTHING
...
Fixes https://github.com/libsdl-org/SDL/issues/8709
2024-01-18 06:17:58 -08:00
Sam Lantinga
26996e2c02
We've decided to keep separate functions for creating a thread with and without stack size specified.
...
Fixes https://github.com/libsdl-org/SDL/issues/6652
2024-01-18 06:11:55 -08:00
Sam Lantinga
a2665f54c8
Updated the atomic API for SDL 3.0 naming conventions
...
Fixes https://github.com/libsdl-org/SDL/issues/7388
2024-01-18 04:41:34 -08:00
SDL Wiki Bot
4e60fc9b2b
Sync SDL3 wiki -> header
2024-01-18 12:07:19 +00:00
Sam Lantinga
fb898d6df0
Clarify that desktop mode is the non-exclusive borderless fullscreen mode
...
Fixes https://github.com/libsdl-org/SDL/issues/8413
2024-01-18 04:06:32 -08:00
SDL Wiki Bot
b5bcf45a65
Sync SDL3 wiki -> header
2024-01-18 12:02:08 +00:00
Sam Lantinga
4fee6cb274
Added documentation for custom event cleanup in SDL_FlushEvent()
2024-01-18 04:00:48 -08:00
SDL Wiki Bot
20e8411b12
Sync SDL3 wiki -> header
2024-01-18 11:27:24 +00:00
Sam Lantinga
f224af5ac5
Updated Haptic API for SDL 3.0 conventions
...
Also removed the XInput haptic support since using the haptic API for rumble is no longer supported.
2024-01-18 03:26:11 -08:00
Sam Lantinga
75dd7e1658
Note that we only allow disabling major subsystems
2024-01-17 09:24:04 -08:00
Sam Lantinga
130b361904
Removed SDL_MISC_DISABLED
2024-01-17 09:24:04 -08:00
Sam Lantinga
20fa5e6ad0
Removed SDL_LOCALE_DISABLED
2024-01-17 09:24:04 -08:00
Sam Lantinga
6efadfdb77
Removed SDL_FILESYSTEM_DISABLED
2024-01-17 09:24:04 -08:00
Sam Lantinga
3d951134a3
Removed SDL_FILE_DISABLED
...
This didn't actually do anything except break functionality on Apple platforms
2024-01-17 09:24:04 -08:00
Sam Lantinga
31f34e9504
Removed SDL_ATOMIC_DISABLED
...
It turns out that because we redefine SDL functions internally, it is safe to call SDL mutex functions while initializing the jump table
2024-01-17 09:24:04 -08:00