Skip to content

Commit 37417c2

Browse files
committed
Added SDL_PROP_GPU_TEXTURE_CREATE_DXGI_SHARED_HANDLE_POINTER
This allows sharing textures from other APIs with the GPU API
1 parent 2e40c46 commit 37417c2

File tree

3 files changed

+385
-96
lines changed

3 files changed

+385
-96
lines changed

include/SDL3/SDL_gpu.h

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2733,6 +2733,7 @@ extern SDL_DECLSPEC SDL_GPUShader * SDLCALL SDL_CreateGPUShader(
27332733
* clear the texture to a stencil of this Uint8 value. Defaults to zero.
27342734
* - `SDL_PROP_GPU_TEXTURE_CREATE_NAME_STRING`: a name that can be displayed
27352735
* in debugging tools.
2736+
* - `SDL_PROP_GPU_TEXTURE_CREATE_DXGI_SHARED_HANDLE_POINTER`: a DXGI shared handle associated with the texture, if you want to wrap an existing texture. The texture must have been created with D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX.
27362737
*
27372738
* \param device a GPU Context.
27382739
* \param createinfo a struct describing the state of the texture to create.
@@ -2758,13 +2759,14 @@ extern SDL_DECLSPEC SDL_GPUTexture * SDLCALL SDL_CreateGPUTexture(
27582759
SDL_GPUDevice *device,
27592760
const SDL_GPUTextureCreateInfo *createinfo);
27602761

2761-
#define SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_R_FLOAT "SDL.gpu.texture.create.d3d12.clear.r"
2762-
#define SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_G_FLOAT "SDL.gpu.texture.create.d3d12.clear.g"
2763-
#define SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_B_FLOAT "SDL.gpu.texture.create.d3d12.clear.b"
2764-
#define SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_A_FLOAT "SDL.gpu.texture.create.d3d12.clear.a"
2765-
#define SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_DEPTH_FLOAT "SDL.gpu.texture.create.d3d12.clear.depth"
2766-
#define SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER "SDL.gpu.texture.create.d3d12.clear.stencil"
2767-
#define SDL_PROP_GPU_TEXTURE_CREATE_NAME_STRING "SDL.gpu.texture.create.name"
2762+
#define SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_R_FLOAT "SDL.gpu.texture.create.d3d12.clear.r"
2763+
#define SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_G_FLOAT "SDL.gpu.texture.create.d3d12.clear.g"
2764+
#define SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_B_FLOAT "SDL.gpu.texture.create.d3d12.clear.b"
2765+
#define SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_A_FLOAT "SDL.gpu.texture.create.d3d12.clear.a"
2766+
#define SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_DEPTH_FLOAT "SDL.gpu.texture.create.d3d12.clear.depth"
2767+
#define SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER "SDL.gpu.texture.create.d3d12.clear.stencil"
2768+
#define SDL_PROP_GPU_TEXTURE_CREATE_NAME_STRING "SDL.gpu.texture.create.name"
2769+
#define SDL_PROP_GPU_TEXTURE_CREATE_DXGI_SHARED_HANDLE_POINTER "SDL.gpu.texture.create.dxgi_handle"
27682770

27692771
/**
27702772
* Creates a buffer object to be used in graphics or compute workflows.

0 commit comments

Comments
 (0)