Go to file
Dan Ginsburg ad036d43e9
Vulkan Renderer - implement YcBcCr using VK_KHR_sampler_ycbcr_conversion. (#9169)
* Vulkan Renderer - implement YcBcCr using VK_KHR_sampler_ycbcr_conversion.  This simplifies the shader code and will also allow support for additional formats that we don't yet support (such as SDL_PIXELFORMAT_P010 for ffmpeg). The renderer now queries for VK_KHR_sampler_ycbcr_conversion and dependent extensions and will enable it if it's present. It reimplements YUV/NV12 texture support using this extension (these formats are no longer supported if the extension is not present). For each YUV/NV12 texture, a VkSamplerYcbcrConversion object is created from SDL_Colorspace parameters.  This is passed to the VkImageView and also an additional sampler is created for Ycbcr.  Instead of using 1-3 textures, the shaders now all use 1 texture with a combined image sampler (required by the extension).  Further, when using Ycbcr, a separate descriptor set layout is baked with the Ycbcr sampler as an immutable sampler.  The code to copy the images now copies to the individual image planes.  The swizzling between formats is handled in the VkSamplerYcbcrConversion object.
2024-02-28 08:57:09 -08:00
.github ci: update deprecated node.js 16 actions 2024-02-23 21:53:40 +01:00
VisualC Fixed building the Vulkan renderer on Windows with Visual Studio 2024-02-22 17:18:46 -08:00
VisualC-GDK camera: Add sources to Xcode and Visual Studio projects. 2024-02-20 15:56:26 -05:00
VisualC-WinRT camera: Add sources to Xcode and Visual Studio projects. 2024-02-20 15:56:26 -05:00
Xcode Added SDL_camera.h to the public Framework headers 2024-02-25 15:54:34 -08:00
android-project Added JNI native methods to proguard-rules.pro (thanks @AntTheAlchemist!) 2024-02-25 08:40:47 -08:00
build-scripts Renamed SDL_HINT_PS2_DYNAMIC_VSYNC SDL_HINT_RENDER_PS2_DYNAMIC_VSYNC 2024-02-12 09:54:33 -08:00
cmake cmake: fix SDL_RENDER_VULKAN reporting 2024-02-26 20:37:10 +01:00
docs Sync SDL3 wiki -> header 2024-02-25 22:26:23 +00:00
include Sync SDL3 wiki -> header 2024-02-28 15:13:26 +00:00
mingw/pkg-support/cmake build: don't add SDL3 subfolder to include path for external projects 2022-11-27 14:33:13 -08:00
src Vulkan Renderer - implement YcBcCr using VK_KHR_sampler_ycbcr_conversion. (#9169) 2024-02-28 08:57:09 -08:00
test Fixed device queue initialization when render and present queue families are different 2024-02-28 08:55:56 -08:00
wayland-protocols wayland: Use the preferred order of displays exposed by KDE 2024-01-27 02:10:49 -05:00
.clang-format Commented out syntax that causes Visual Studio 2019 to complain on every edit 2022-12-02 00:43:01 -08:00
.clang-tidy Fix size of memcpy in SDL_AudioDeviceFormatChangedAlreadyLocked 2023-08-05 14:14:45 -04:00
.editorconfig Fixed formatting for Haiku cc files 2023-01-25 03:03:41 -08:00
.gitignore Make Xbox GDK code public (and fix some GDK code rot) (#8844) 2024-01-14 20:31:41 -08:00
.wikiheaders-options sdlwiki: SDL3 advises users to include through 'SDL3/SDL.h' 2023-03-21 02:19:19 +01:00
Android.mk camera: Rewrote Android support. 2024-02-20 15:56:26 -05:00
BUGS.txt Cleaned up a few more Bugzilla mentions. 2021-02-12 14:46:49 -05:00
CMakeLists.txt cmake: add -Wl,-rpath,${libdir} to Libs section of pc file for Apple platforms 2024-02-28 12:58:02 +01:00
CREDITS.md docs: Moved CREDITS and INSTALL to markdown format. 2023-11-29 12:31:27 -05:00
INSTALL.md docs: Moved CREDITS and INSTALL to markdown format. 2023-11-29 12:31:27 -05:00
LICENSE.txt Updated copyright for 2024 2024-01-01 13:15:26 -08:00
README-SDL.txt More HTTPS changes in the documentation. 2017-02-16 16:52:03 -05:00
README.md docs: Convert everything to Unix-style endlines. 2023-11-29 11:29:57 -05:00
WhatsNew.txt Added the environment variable SDL_LOGGING to control default log output 2024-01-27 19:30:22 -08:00

README.md

Simple DirectMedia Layer (SDL) Version 3.0

https://www.libsdl.org/

Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.

More extensive documentation is available in the docs directory, starting with README.md. If you are migrating to SDL 3.0 from SDL 2.0, the changes are extensively documented in README-migration.md.

Enjoy!

Sam Lantinga (slouken@libsdl.org)