Anonymous Maarten
98fcf112e7
d3d12: older Windows SDK headers contain wrong function prototypes
...
Declare correct function pointers ourselves.
2024-05-24 19:39:45 +02:00
Sam Lantinga
2cf32b0e0a
Fixed warning: 'fA' may be used uninitialized in this function
2024-05-17 09:42:38 -07:00
Sam Lantinga
02ff85f2f3
Renamed SDL_SIMDGetAlignment() to SDL_GetSIMDAlignment()
2024-05-16 10:22:15 -07:00
Sam Lantinga
5f1e01cce0
Added support for late swap tearing to the Vulkan renderer
2024-05-13 15:06:11 -07:00
Sam Lantinga
17520c2e6e
Removed SDL_RendererFlags
...
The flags parameter has been removed from SDL_CreateRenderer() and SDL_RENDERER_PRESENTVSYNC has been replaced with SDL_PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER during window creation and SDL_PROP_RENDERER_VSYNC_NUMBER after renderer creation.
SDL_SetRenderVSync() now takes additional values besides 0 and 1.
The maximum texture size has been removed from SDL_RendererInfo, replaced with SDL_PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER.
2024-05-13 15:06:11 -07:00
Sam Lantinga
fc62dfc6e2
Added properties for the swap chain in the direct3d11 and direct3d12 renderers
...
Fixes https://github.com/libsdl-org/SDL/issues/9775
2024-05-13 09:06:57 -07:00
Sam Lantinga
598b4e0a1f
Removed the limit on the number of supported renderer texture formats
...
Fixes https://github.com/libsdl-org/SDL/issues/9056
2024-05-09 13:30:07 -07:00
Sam Lantinga
748490677c
Use SDL_RendererFlags in the API (thanks @Sackzement!)
2024-05-07 13:41:12 -07:00
Sam Lantinga
53bec8b7b7
Fixed updating NV12 textures when using the D3D11 render driver
2024-05-02 11:40:28 -07:00
Sam Lantinga
eb26f439d8
Fixed crash when the graphics driver is upgraded while the renderer is running
2024-05-02 11:40:28 -07:00
Sam Lantinga
14f584a94b
SDL_CreateWindowAndRenderer() takes the window title as the first parameter
...
Fixes https://github.com/libsdl-org/SDL/issues/9626
2024-04-25 20:00:14 -07:00
Sam Lantinga
ca61bf682a
Make sure output parameters are zeroed in the case of an error
2024-04-25 16:46:44 -07:00
Sam Lantinga
04f1901751
Fixed window flashing under X11 when creating a window and OpenGL renderer
2024-04-25 16:42:43 -07:00
Ryan C. Gordon
cab3defc18
render: SDL_DestroyWindow hollows out its renderer but doesn't free it.
...
This allows apps to destroy the window and renderer in either order, but
makes sure that the renderer can properly clean up its resources while OpenGL
contexts and libraries are still loaded, etc.
If the window is destroyed first, the renderer is (mostly) destroyed but its
pointer remains valid. Attempts to use the renderer will return an error,
but it can still be explicitly destroyed, at which time the struct is free'd.
If the renderer is destroyed first, everything works as before, and a new
renderer can still be created on the existing window.
Fixes #9540 .
2024-04-19 00:25:59 -04:00
Ryan C. Gordon
39c8434f5f
render: Manage memory for SDL_Renderer* at higher level.
...
Previously, each backend would allocate and free the renderer struct. Now
the higher level does it, so the backends only manage their private resources.
This removes some boilerplate and avoids some potential accidents.
2024-04-19 00:25:59 -04:00
Sam Lantinga
5fa87e29e7
Removed SDL_RENDERER_ACCELERATED and SDL_RENDERER_SOFTWARE
...
These flags are unnecessary and have always been a source of confusion.
2024-04-04 13:30:49 -07:00
Sam Lantinga
a82ed82bc7
SDL_QueryTexture() fills in a pointer to SDL_PixelFormatEnum
2024-04-01 15:45:22 -07:00
danginsburg
650ba8f3ec
Vulkan Renderer - closes #9385 . When the vertex buffer size is exceeded, make sure to wait for outstanding work before resizing it. This fixes validation errors/crash found with using Imgui SDL3 renderer on Vulkan.
2024-04-01 07:38:31 -07:00
danginsburg
fb5307c1b3
Vulkan Renderer - fix synchronization validation issues with testrendertarget and testcopyex. When a texture is destroyed, VULKAN_IssueBatch is called to make sure the texture isn't referenced in any outstanding command work. This path did not wait on the semaphore from vkAcquireNextImageKHR, which would create a hazard.
2024-03-28 07:37:49 -07:00
Sam Lantinga
823ab13b9c
SDL_CreateTexture() takes a SDL_PixelFormatEnum format parameter
2024-03-26 10:40:40 -07:00
Sam Lantinga
da027ec3ee
Fixed signed/unsigned comparison warning
2024-03-19 17:00:46 -07:00
Mathieu Eyraud
6af979975f
Add missing break
2024-03-18 15:55:14 +03:00
Anthony
0a86f8eb6e
Move some code blocks inside SDL_VIDEO_RENDER_SW, where it belongs ( #9259 )
...
There was some software renderer specific code that can be excluded with SDL_LEAN_AND_MEAN. This contributes towards #9206
2024-03-12 21:15:46 -07:00
Anonymous Maarten
bee8a95571
Fix SDL_LEAN_AND_MEAN build
2024-03-11 13:46:16 -07:00
r4nx
feadbffb67
Destroy properties after applying them to avoid memory leakage
2024-03-10 18:16:40 -07:00
Sam Lantinga
ed463b41e1
Unified the software renderer creation path
...
Previously there were two different paths for renderer creation, and the HDR metadata initialization was missing when creating a software renderer for a surface. Now all the cases are handled in a single path, so regardless of whether you create a software renderer by name, a software renderer for a surface, or fall back to a software renderer, you'll get the correct initialization in all cases.
Fixes https://github.com/libsdl-org/SDL/issues/9221
2024-03-10 11:05:26 -07: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
c70710cde8
SDL_GetPixelFormatEnumForMasks() returns SDL_PixelFormatEnum
2024-03-06 16:19:08 -08:00
Susko3
641b911d38
Update some internal files to use SDL_WindowFlags
2024-03-06 15:08:12 -08:00
Sam Lantinga
26b9178e5c
Fixed whitespace
2024-03-06 09:57:39 -08:00
Sam Lantinga
4545c77c9e
Updated Vita renderer with colorspace clarification
2024-03-05 16:56:58 -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
Sylvain
cea717e5d3
Removed some uneeded 'unsigned': renderer.num_texture_format and SDL_Vulkan_GetInstanceExtensions() prototype
2024-03-05 13:31:28 -08:00
Sam Lantinga
1e0bac288b
Use the hlsli extension for shader includes
2024-03-05 12:46:44 -08:00
Sam Lantinga
759ade8c90
vulkan: enable samplerYcbcrConversion when creating the device
2024-03-04 11:17:42 -08:00
Sam Lantinga
48471f7dbd
Added SDL_AddVulkanRenderSemaphores() for external synchronization with SDL rendering
2024-03-04 09:29:36 -08:00
Sam Lantinga
504d8c2fc0
Fixed potential memory leak if vkCreateInstance() fails
2024-03-04 09:29:36 -08:00
Sam Lantinga
74f4614289
Save the native texture parent and return that in SDL_GetRenderTarget()
...
Fixes https://github.com/libsdl-org/SDL/issues/9176
2024-03-03 09:47:40 -08:00
Sam Lantinga
eb5a2e7e7f
Fixed building with SDL_LEAN_AND_MEAN
...
Fixes https://github.com/libsdl-org/SDL/issues/9173
2024-03-03 09:25:02 -08:00
Jade Macho
c74f273848
d3d12: Move root sigs to D3D12_Shader_Common.hlsli, fix mismatch
2024-03-02 10:30:29 -08:00
Jade Macho
794f0f1b42
GDK: Fix SDL_pixels.c/_c.h linking error caused by C / C++ mismatch
2024-03-02 10:30:29 -08:00
Jade Macho
23ace600fc
GDK: Remove old shader sources, unify shader compilation .bats
2024-03-02 10:30:29 -08:00
Sam Lantinga
2bc2840de5
vulkan: VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 is a 2-plane format
2024-03-01 20:26:52 -08:00
Sam Lantinga
2bedd7f02e
Fixed pitch alignment when updating SDL_PIXELFORMAT_P010 textures
2024-03-01 20:26:52 -08:00
danginsburg
812e04fb11
Vulkan Renderer - fix validation error with VkSemaphore reused before signaling. Have one semaphore per-submit rather than using the same one.
2024-03-01 06:09:22 -08:00
Sam Lantinga
0454e1fdb4
Vulkan: added support for wrapping existing textures
2024-02-29 17:38:10 -08:00
Sam Lantinga
2adbcce864
Vulkan: wait for all queues to be idle before destroying the device
2024-02-29 14:12:09 -08:00
danginsburg
0115027116
Vulkan Renderer - fix validation errors:
...
* Make sure to always write pointSize in VS (fixes validation error in testsprite)
* Fix validation error from acquiring swapchain semaphore more than once
* Fix validation error from using incorrect framebuffer size in testautomation
Now passes testautomation with validation.
2024-02-29 10:59:47 -08:00