Go to file
Logan Benjamin c81b62293a
GPU D3D12 - Update to use typeless formats for depth buffer (#12701)
For a depth buffer in D3D12 that is also going to be used in a texture sampler, the creation (on an Intel HD 5500 igpu) fails. e.g. SDL_GPUTextureCreateInfo type = TEXTURE_2D, format = D32_FLOAT, usage = DEPTH_STENCIL_TARGET | SAMPLER

The error messages are:

D32_FLOAT
D3D12 ERROR: ID3D12Device::CreateShaderResourceView: The Format (0x29, R32_FLOAT) is invalid when creating a View; the
Resource was already created with a fully qualified Format, which is not castable (0x28, D32_FLOAT).

D24_UNORM
D3D12 ERROR: ID3D12Device::CreateShaderResourceView: For the resource format D24_UNORM_S8_UINT, when making a D3D view, the format name for the view can't be R24_UNORM_X8_TYPELESS.

I found this is because the texture format needs to be created as _TYPELESS, then the views (depth stencil view, shader resource view) should then be created as their respective types - e.g. texture = R32_TYPELESS, dsv = D32_FLOAT, srv = R32_FLOAT

Tested and working on:
NVidia RTX 3050 (D3D12 feature set 12_2)
Intel HD 5500 (D3D12 feature set 11_1)
2025-04-23 16:30:16 -07:00
.github Updated to GameInput v1.1 2025-04-11 13:42:58 -07:00
VisualC Updated to GameInput v1.1 2025-04-11 13:42:58 -07:00
VisualC-GDK Updated to GameInput v1.1 2025-04-11 13:42:58 -07:00
Xcode 8BitDo (#12661) 2025-03-31 09:56:01 -07:00
android-project Native functions renamed: {add,remove}AudioDevice to native{Add,Remove}AudioDevice 2025-03-23 15:25:33 +01:00
build-scripts docs: improve man page generation 2025-04-08 22:52:43 -04:00
cmake cmake: make SDL_CPU_xxx variable visible when using CMAKE_OSX_ARCHITECTURES 2025-04-03 19:07:24 +02:00
docs Sync SDL3 wiki -> header 2025-04-10 17:53:43 +00:00
examples examples: added audio/05-planar-data 2025-04-22 23:30:50 -04:00
include Corrected documentation for SDL_SetGPUSwapchainParameters() 2025-04-23 14:54:12 -07:00
src GPU D3D12 - Update to use typeless formats for depth buffer (#12701) 2025-04-23 16:30:16 -07:00
test Added tests to cover invalid surface blits 2025-04-22 13:05:38 -07:00
wayland-protocols wayland: Add xdg_toplevel v7 edge constraint support 2025-04-13 11:10:49 -04:00
.clang-format Add 'wl_list_for_each_safe' to the clang-format macro list 2024-03-14 10:22:23 -04:00
.clang-tidy
.editorconfig .editorconfig: Remove excess apostrophe at *.cocci 2024-06-16 09:18:17 -07:00
.gitignore Allow in-tree build 2024-10-30 00:04:17 +01:00
.wikiheaders-options .wikiheaders-options: Removed wikipreamble setting. 2025-01-24 01:53:51 -05:00
Android.mk [SDL3] Adding input and FFB support for Logitech G29(PS3) on hidapi (#11598) 2025-03-17 07:24:39 -07:00
BUGS.txt Added a Discord link to BUGS.txt 2025-01-13 16:42:50 -08:00
CMakeLists.txt Updated to GameInput v1.1 2025-04-11 13:42:58 -07:00
CREDITS.md Updated the credits for SDL 3.0 2025-01-13 16:42:50 -08:00
INSTALL.md Add a link to docs/INTRO-mingw.md 2025-03-06 16:25:17 -08:00
LICENSE.txt Updated copyright for 2025 2025-01-01 07:45:52 -08:00
README.md Updating documentation for the 3.2.0 release 2025-01-15 20:38:16 -08:00
WhatsNew.txt Added SDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT 2025-03-05 09:07:05 -08:00

README.md

Simple DirectMedia Layer (SDL for short) is a cross-platform library designed to make it easy to write multi-media software, such as games and emulators.

You can find the latest release and additional information at: https://www.libsdl.org/

Installation instructions and a quick introduction is available in INSTALL.md

This library is distributed under the terms of the zlib license, available in LICENSE.txt.

Enjoy!

Sam Lantinga (slouken@libsdl.org)