Skip to content

Commit 9bf86a2

Browse files
committed
Added documentation for the 3.4.0 release
1 parent edb81cf commit 9bf86a2

File tree

1 file changed

+53
-1
lines changed

1 file changed

+53
-1
lines changed

WhatsNew.txt

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,43 +8,95 @@ This is a list of major changes in SDL's version history.
88
General:
99
* Added SDL_CreateAnimatedCursor() to create animated color cursors
1010
* Added SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState(), and SDL_GetWindowProgressValue() to show progress in the window's taskbar icon on Windows and Linux
11-
* Added SDL_GetGPUDeviceProperties() to get the properties of an SDL GPU device
11+
* Added GPU device creation properties to enable the GPU API on older hardware if you're not using these features:
12+
- SDL_PROP_GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN
13+
- SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN
14+
- SDL_PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN
15+
- SDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN
16+
- SDL_PROP_GPU_DEVICE_CREATE_D3D12_ALLOW_FEWER_RESOURCE_SLOTS_BOOLEAN
17+
* Added SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER to enable configuring Vulkan features when creating a GPU device
18+
* Added SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN to allow requiring Vulkan hardware acceleration when creating a GPU device
19+
* Added SDL_GetGPUDeviceProperties() to query information from a GPU device:
20+
- SDL_PROP_GPU_DEVICE_NAME_STRING
21+
- SDL_PROP_GPU_DEVICE_DRIVER_NAME_STRING
22+
- SDL_PROP_GPU_DEVICE_DRIVER_VERSION_STRING
23+
- SDL_PROP_GPU_DEVICE_DRIVER_INFO_STRING
1224
* Added SDL_GetPixelFormatFromGPUTextureFormat() and SDL_GetGPUTextureFormatFromPixelFormat()
1325
* Added SDL_CreateGPURenderer() and SDL_GetGPURendererDevice() to create a 2D renderer for use with GPU rendering.
1426
* Added SDL_CreateGPURenderState(), SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState(), and SDL_DestroyGPURenderState() to use fragment shaders with a GPU 2D renderer
27+
* Added SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER to create a 2D texture from an existing GPU texture
28+
* Added SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER to get the GPU texture from a 2D texture when using the GPU 2D renderer
1529
* Added support for YUV textures and HDR colorspaces to the GPU 2D renderer
1630
* Added support for textures with palettes, and SDL_GetTexturePalette() and SDL_SetTexturePalette() to interact with them
1731
* Added SDL_RenderTexture9GridTiled() to do tiled instead of stretched 9-grid texture rendering
1832
* Added SDL_GetDefaultTextureScaleMode() and SDL_SetDefaultTextureScaleMode() to set the texture scale mode for new textures
1933
* Added SDL_GetRenderTextureAddressMode() and SDL_SetRenderTextureAddressMode() to change the texture addressing mode
2034
* Added SDL_TEXTURE_ADDRESS_WRAP to allow wrapping of textures if the renderer has SDL_PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN set
35+
* The default YUV colorspace is BT.601 limited range, for compatibility with SDL2
36+
* Added SDL_SCALEMODE_PIXELART as an improved scaling algorithm for pixel art without introducing blurring
37+
* Added SDL_FLIP_HORIZONTAL_AND_VERTICAL to flip a surface both horizontally and vertically
2138
* Added SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG(), and SDL_SavePNG_IO() to load and save PNG images
39+
* Added SDL_LoadSurface() and SDL_LoadSurface_IO() to detect BMP and PNG formats and load them as surfaces
40+
* Added SDL_PROP_SURFACE_ROTATION_NUMBER to indicate the rotation needed to display camera images upright
2241
* Added SDL_RotateSurface() to create a rotated copy of a surface
42+
* SDL_EVENT_WINDOW_EXPOSED now sets data1 to true if it is sent during live resizing
43+
* Added SDL_EVENT_DISPLAY_USABLE_BOUNDS_CHANGED, which is sent when the usable desktop bounds change
44+
* Added SDL_EVENT_SCREEN_KEYBOARD_SHOWN, which is sent when the on-screen keyboard has been shown
45+
* Added SDL_EVENT_SCREEN_KEYBOARD_HIDDEN, which is sent when the on-screen keyboard has been hidden
46+
* Added pinch gesture events: SDL_EVENT_PINCH_BEGIN, SDL_EVENT_PINCH_UPDATE, SDL_EVENT_PINCH_END
47+
* SDL_EVENT_AUDIO_DEVICE_ADDED will be sent during initialization for each audio device
48+
* SDL_GetCameraPermissionState() returns SDL_CameraPermissionState instead of int
2349
* Added SDL_PutAudioStreamDataNoCopy() to do more efficient audio stream processing in some cases
2450
* Added SDL_PutAudioStreamPlanarData() to add planar audio data instead of interleaved data to an audio stream
2551
* Added SDL_HINT_AUDIO_DEVICE_RAW_STREAM to signal that the OS shouldn't do further audio processing, useful for applications that handle noise canceling, etc.
52+
* Added SDL_PROP_AUDIOSTREAM_AUTO_CLEANUP_BOOLEAN to allow streams that persist beyond the audio subsystem lifetime.
2653
* Added enhanced support for 8BitDo controllers
2754
* Added enhanced support for FlyDigi controllers
2855
* Added enhanced support for Hand Held Legend SInput controllers
56+
* Added support for wired Nintendo Switch 2 controllers when built with libusb
2957
* Added SDL_hid_get_properties() to associate SDL properties with HID devices
58+
* Added SDL_PROP_HIDAPI_LIBUSB_DEVICE_HANDLE_POINTER to query the libusb handle from an SDL_hid_device, if it's been opened with libusb
3059
* Added SDL_SetRelativeMouseTransform() to add custom mouse input transformation
3160
* Added SDL_GetPenDeviceType() to determine whether a pen is on the screen or on a separate touchpad
61+
* SDL_HINT_MAIN_CALLBACK_RATE may be set to a floating point callback rate
3262
* Added SDL_GetEventDescription() to get an English description of an event, suitable for logging
63+
* Added SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER to allow custom freeing of the memory used by SDL_IOFromMem() and SDL_IOFromConstMem()
64+
* Added SDL_PROP_PROCESS_CREATE_WORKING_DIRECTORY_STRING to set the working directory for new processes
3365
* Added verbose log output when the DEBUG_INVOCATION environment variable is set to "1"
3466
* Added SDL_AddAtomicU32()
3567
* Added SDL_GetSystemPageSize() to get the system page size
68+
* Added SDL_ALIGNED() to signal that data should have a specific alignment
3669

3770
Windows:
3871
* Added SDL_HINT_RENDER_DIRECT3D11_WARP to enable D3D11 software rasterization
72+
* Using SDL_InsertGPUDebugLabel(), SDL_PushGPUDebugGroup(), and SDL_PopGPUDebugGroup() requires WinPixEventRuntime.dll to be in your PATH or in the same directory as your executable
73+
* Added SDL_PROP_DISPLAY_WINDOWS_HMONITOR_POINTER so you can query the HMONITOR associated with a display
3974
* SDL_HINT_AUDIO_DEVICE_STREAM_ROLE is used by the WASAPI audio driver to set the audio stream category
75+
* Added SDL_HINT_AUDIO_DEVICE_RAW_STREAM to signal whether the OS audio driver should do additional signal processing
76+
* Added SDL_HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS to allow disabling some system hotkeys when in raw input mode
4077
* SDL_HINT_WINDOWS_GAMEINPUT is disabled by default
4178

79+
macOS:
80+
* Added SDL_HINT_MAC_PRESS_AND_HOLD to control whether holding down a key will repeat the pressed key or open the accents menu
81+
4282
Linux:
4383
* Added atomic support for KMSDRM
4484
* Added SDL_HINT_KMSDRM_ATOMIC to control whether KMSDRM will use atomic functionality
85+
* Added SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER so you can query the wl_output associated with a display
4586

4687
Emscripten:
4788
* Added SDL_HINT_EMSCRIPTEN_FILL_DOCUMENT for applications that don't want to be fullscreen, but would like to fill the window
89+
* Added SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING to allow setting the SDL canvas ID, and SDL_PROP_WINDOW_EMSCRIPTEN_CANVAS_ID_STRING to query it on existing windows
90+
* Added SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_FILL_DOCUMENT_BOOLEAN to indicate that the window should fill the document, and SDL_PROP_WINDOW_EMSCRIPTEN_FILL_DOCUMENT_BOOLEAN to query it on existing windows
91+
* Added SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING to specify where keyboard input is bound, and SDL_PROP_WINDOW_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING to query it on existing windows
92+
93+
iOS:
94+
* SDL now supports window scenes, fixing the warning "CLIENT OF UIKIT REQUIRES UPDATE"
95+
* Added SDL_PROP_WINDOW_CREATE_WINDOWSCENE_POINTER to specify the window scene for a window
96+
97+
visionOS:
98+
* The default refresh rate has been increased to 90Hz
99+
* SDL_SetWindowSize() changes the size of the window on Vision Pro headsets
48100

49101
PlayStation 2:
50102
* Added the following hints to control the display parameters: SDL_HINT_PS2_GS_WIDTH, SDL_HINT_PS2_GS_HEIGHT, SDL_HINT_PS2_GS_PROGRESSIVE, SDL_HINT_PS2_GS_MODE

0 commit comments

Comments
 (0)