|
@@ -1459,7 +1459,7 @@ static void D3D12_INTERNAL_TextureSubresourceBarrier(
|
|
destinationState,
|
|
destinationState,
|
|
textureSubresource->parent->resource,
|
|
textureSubresource->parent->resource,
|
|
textureSubresource->index,
|
|
textureSubresource->index,
|
|
- textureSubresource->parent->container->header.info.usageFlags & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE_BIT);
|
|
|
|
|
|
+ textureSubresource->parent->container->header.info.usageFlags & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE);
|
|
}
|
|
}
|
|
|
|
|
|
static D3D12_RESOURCE_STATES D3D12_INTERNAL_DefaultTextureResourceState(
|
|
static D3D12_RESOURCE_STATES D3D12_INTERNAL_DefaultTextureResourceState(
|
|
@@ -1467,17 +1467,17 @@ static D3D12_RESOURCE_STATES D3D12_INTERNAL_DefaultTextureResourceState(
|
|
{
|
|
{
|
|
// NOTE: order matters here!
|
|
// NOTE: order matters here!
|
|
|
|
|
|
- if (usageFlags & SDL_GPU_TEXTUREUSAGE_SAMPLER_BIT) {
|
|
|
|
|
|
+ if (usageFlags & SDL_GPU_TEXTUREUSAGE_SAMPLER) {
|
|
return D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE;
|
|
return D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE;
|
|
- } else if (usageFlags & SDL_GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ_BIT) {
|
|
|
|
|
|
+ } else if (usageFlags & SDL_GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ) {
|
|
return D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE;
|
|
return D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE;
|
|
- } else if (usageFlags & SDL_GPU_TEXTUREUSAGE_COLOR_TARGET_BIT) {
|
|
|
|
|
|
+ } else if (usageFlags & SDL_GPU_TEXTUREUSAGE_COLOR_TARGET) {
|
|
return D3D12_RESOURCE_STATE_RENDER_TARGET;
|
|
return D3D12_RESOURCE_STATE_RENDER_TARGET;
|
|
- } else if (usageFlags & SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET_BIT) {
|
|
|
|
|
|
+ } else if (usageFlags & SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET) {
|
|
return D3D12_RESOURCE_STATE_DEPTH_WRITE;
|
|
return D3D12_RESOURCE_STATE_DEPTH_WRITE;
|
|
- } else if (usageFlags & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_READ_BIT) {
|
|
|
|
|
|
+ } else if (usageFlags & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_READ) {
|
|
return D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE;
|
|
return D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE;
|
|
- } else if (usageFlags & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE_BIT) {
|
|
|
|
|
|
+ } else if (usageFlags & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE) {
|
|
return D3D12_RESOURCE_STATE_UNORDERED_ACCESS;
|
|
return D3D12_RESOURCE_STATE_UNORDERED_ACCESS;
|
|
} else {
|
|
} else {
|
|
SDL_LogError(SDL_LOG_CATEGORY_GPU, "Texture has no default usage mode!");
|
|
SDL_LogError(SDL_LOG_CATEGORY_GPU, "Texture has no default usage mode!");
|
|
@@ -1538,17 +1538,17 @@ static void D3D12_INTERNAL_TextureTransitionToDefaultUsage(
|
|
static D3D12_RESOURCE_STATES D3D12_INTERNAL_DefaultBufferResourceState(
|
|
static D3D12_RESOURCE_STATES D3D12_INTERNAL_DefaultBufferResourceState(
|
|
D3D12Buffer *buffer)
|
|
D3D12Buffer *buffer)
|
|
{
|
|
{
|
|
- if (buffer->container->usageFlags & SDL_GPU_BUFFERUSAGE_VERTEX_BIT) {
|
|
|
|
|
|
+ if (buffer->container->usageFlags & SDL_GPU_BUFFERUSAGE_VERTEX) {
|
|
return D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER;
|
|
return D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER;
|
|
- } else if (buffer->container->usageFlags & SDL_GPU_BUFFERUSAGE_INDEX_BIT) {
|
|
|
|
|
|
+ } else if (buffer->container->usageFlags & SDL_GPU_BUFFERUSAGE_INDEX) {
|
|
return D3D12_RESOURCE_STATE_INDEX_BUFFER;
|
|
return D3D12_RESOURCE_STATE_INDEX_BUFFER;
|
|
- } else if (buffer->container->usageFlags & SDL_GPU_BUFFERUSAGE_INDIRECT_BIT) {
|
|
|
|
|
|
+ } else if (buffer->container->usageFlags & SDL_GPU_BUFFERUSAGE_INDIRECT) {
|
|
return D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT;
|
|
return D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT;
|
|
- } else if (buffer->container->usageFlags & SDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ_BIT) {
|
|
|
|
|
|
+ } else if (buffer->container->usageFlags & SDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ) {
|
|
return D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE;
|
|
return D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE;
|
|
- } else if (buffer->container->usageFlags & SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ_BIT) {
|
|
|
|
|
|
+ } else if (buffer->container->usageFlags & SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ) {
|
|
return D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE;
|
|
return D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE;
|
|
- } else if (buffer->container->usageFlags & SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE_BIT) {
|
|
|
|
|
|
+ } else if (buffer->container->usageFlags & SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE) {
|
|
return D3D12_RESOURCE_STATE_UNORDERED_ACCESS;
|
|
return D3D12_RESOURCE_STATE_UNORDERED_ACCESS;
|
|
} else {
|
|
} else {
|
|
SDL_LogError(SDL_LOG_CATEGORY_GPU, "Buffer has no default usage mode!");
|
|
SDL_LogError(SDL_LOG_CATEGORY_GPU, "Buffer has no default usage mode!");
|
|
@@ -1568,7 +1568,7 @@ static void D3D12_INTERNAL_BufferBarrier(
|
|
destinationState,
|
|
destinationState,
|
|
buffer->handle,
|
|
buffer->handle,
|
|
0,
|
|
0,
|
|
- buffer->container->usageFlags & SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE_BIT);
|
|
|
|
|
|
+ buffer->container->usageFlags & SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE);
|
|
|
|
|
|
buffer->transitioned = true;
|
|
buffer->transitioned = true;
|
|
}
|
|
}
|
|
@@ -2693,7 +2693,7 @@ static D3D12Texture *D3D12_INTERNAL_CreateTexture(
|
|
Uint32 layerCount = textureCreateInfo->type == SDL_GPU_TEXTURETYPE_3D ? 1 : textureCreateInfo->layerCountOrDepth;
|
|
Uint32 layerCount = textureCreateInfo->type == SDL_GPU_TEXTURETYPE_3D ? 1 : textureCreateInfo->layerCountOrDepth;
|
|
Uint32 depth = textureCreateInfo->type == SDL_GPU_TEXTURETYPE_3D ? textureCreateInfo->layerCountOrDepth : 1;
|
|
Uint32 depth = textureCreateInfo->type == SDL_GPU_TEXTURETYPE_3D ? textureCreateInfo->layerCountOrDepth : 1;
|
|
|
|
|
|
- if (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_COLOR_TARGET_BIT) {
|
|
|
|
|
|
+ if (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_COLOR_TARGET) {
|
|
resourceFlags |= D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET;
|
|
resourceFlags |= D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET;
|
|
useClearValue = true;
|
|
useClearValue = true;
|
|
clearValue.Color[0] = SDL_GetFloatProperty(textureCreateInfo->props, SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_R_FLOAT, 0);
|
|
clearValue.Color[0] = SDL_GetFloatProperty(textureCreateInfo->props, SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_R_FLOAT, 0);
|
|
@@ -2702,14 +2702,14 @@ static D3D12Texture *D3D12_INTERNAL_CreateTexture(
|
|
clearValue.Color[3] = SDL_GetFloatProperty(textureCreateInfo->props, SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_A_FLOAT, 0);
|
|
clearValue.Color[3] = SDL_GetFloatProperty(textureCreateInfo->props, SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_A_FLOAT, 0);
|
|
}
|
|
}
|
|
|
|
|
|
- if (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET_BIT) {
|
|
|
|
|
|
+ if (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET) {
|
|
resourceFlags |= D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL;
|
|
resourceFlags |= D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL;
|
|
useClearValue = true;
|
|
useClearValue = true;
|
|
clearValue.DepthStencil.Depth = SDL_GetFloatProperty(textureCreateInfo->props, SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_DEPTH_FLOAT, 0);
|
|
clearValue.DepthStencil.Depth = SDL_GetFloatProperty(textureCreateInfo->props, SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_DEPTH_FLOAT, 0);
|
|
clearValue.DepthStencil.Stencil = (UINT8)SDL_GetNumberProperty(textureCreateInfo->props, SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_STENCIL_UINT8, 0);
|
|
clearValue.DepthStencil.Stencil = (UINT8)SDL_GetNumberProperty(textureCreateInfo->props, SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_STENCIL_UINT8, 0);
|
|
}
|
|
}
|
|
|
|
|
|
- if (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE_BIT) {
|
|
|
|
|
|
+ if (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE) {
|
|
resourceFlags |= D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS;
|
|
resourceFlags |= D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2768,9 +2768,9 @@ static D3D12Texture *D3D12_INTERNAL_CreateTexture(
|
|
texture->resource = handle;
|
|
texture->resource = handle;
|
|
|
|
|
|
// Create the SRV if applicable
|
|
// Create the SRV if applicable
|
|
- if ((textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_SAMPLER_BIT) ||
|
|
|
|
- (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ_BIT) ||
|
|
|
|
- (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_READ_BIT)) {
|
|
|
|
|
|
+ if ((textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_SAMPLER) ||
|
|
|
|
+ (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ) ||
|
|
|
|
+ (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_READ)) {
|
|
D3D12_SHADER_RESOURCE_VIEW_DESC srvDesc;
|
|
D3D12_SHADER_RESOURCE_VIEW_DESC srvDesc;
|
|
|
|
|
|
D3D12_INTERNAL_AssignCpuDescriptorHandle(
|
|
D3D12_INTERNAL_AssignCpuDescriptorHandle(
|
|
@@ -2841,7 +2841,7 @@ static D3D12Texture *D3D12_INTERNAL_CreateTexture(
|
|
texture->subresources[subresourceIndex].dsvHandle.heap = NULL;
|
|
texture->subresources[subresourceIndex].dsvHandle.heap = NULL;
|
|
|
|
|
|
// Create RTV if needed
|
|
// Create RTV if needed
|
|
- if (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_COLOR_TARGET_BIT) {
|
|
|
|
|
|
+ if (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_COLOR_TARGET) {
|
|
texture->subresources[subresourceIndex].rtvHandles = (D3D12CPUDescriptor *)SDL_calloc(depth, sizeof(D3D12CPUDescriptor));
|
|
texture->subresources[subresourceIndex].rtvHandles = (D3D12CPUDescriptor *)SDL_calloc(depth, sizeof(D3D12CPUDescriptor));
|
|
|
|
|
|
for (Uint32 depthIndex = 0; depthIndex < depth; depthIndex += 1) {
|
|
for (Uint32 depthIndex = 0; depthIndex < depth; depthIndex += 1) {
|
|
@@ -2880,7 +2880,7 @@ static D3D12Texture *D3D12_INTERNAL_CreateTexture(
|
|
}
|
|
}
|
|
|
|
|
|
// Create DSV if needed
|
|
// Create DSV if needed
|
|
- if (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET_BIT) {
|
|
|
|
|
|
+ if (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET) {
|
|
D3D12_DEPTH_STENCIL_VIEW_DESC dsvDesc;
|
|
D3D12_DEPTH_STENCIL_VIEW_DESC dsvDesc;
|
|
|
|
|
|
D3D12_INTERNAL_AssignCpuDescriptorHandle(
|
|
D3D12_INTERNAL_AssignCpuDescriptorHandle(
|
|
@@ -2901,7 +2901,7 @@ static D3D12Texture *D3D12_INTERNAL_CreateTexture(
|
|
}
|
|
}
|
|
|
|
|
|
// Create subresource UAV if necessary
|
|
// Create subresource UAV if necessary
|
|
- if (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE_BIT) {
|
|
|
|
|
|
+ if (textureCreateInfo->usageFlags & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE) {
|
|
D3D12_UNORDERED_ACCESS_VIEW_DESC uavDesc;
|
|
D3D12_UNORDERED_ACCESS_VIEW_DESC uavDesc;
|
|
|
|
|
|
D3D12_INTERNAL_AssignCpuDescriptorHandle(
|
|
D3D12_INTERNAL_AssignCpuDescriptorHandle(
|
|
@@ -3007,11 +3007,11 @@ static D3D12Buffer *D3D12_INTERNAL_CreateBuffer(
|
|
return NULL;
|
|
return NULL;
|
|
}
|
|
}
|
|
|
|
|
|
- if (usageFlags & SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE_BIT) {
|
|
|
|
|
|
+ if (usageFlags & SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE) {
|
|
resourceFlags |= D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS;
|
|
resourceFlags |= D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS;
|
|
}
|
|
}
|
|
#if (defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES))
|
|
#if (defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES))
|
|
- if (usageFlags & SDL_GPU_BUFFERUSAGE_INDIRECT_BIT) {
|
|
|
|
|
|
+ if (usageFlags & SDL_GPU_BUFFERUSAGE_INDIRECT) {
|
|
resourceFlags |= D3D12XBOX_RESOURCE_FLAG_ALLOW_INDIRECT_BUFFER;
|
|
resourceFlags |= D3D12XBOX_RESOURCE_FLAG_ALLOW_INDIRECT_BUFFER;
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
@@ -3088,7 +3088,7 @@ static D3D12Buffer *D3D12_INTERNAL_CreateBuffer(
|
|
buffer->srvDescriptor.heap = NULL;
|
|
buffer->srvDescriptor.heap = NULL;
|
|
buffer->cbvDescriptor.heap = NULL;
|
|
buffer->cbvDescriptor.heap = NULL;
|
|
|
|
|
|
- if (usageFlags & SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE_BIT) {
|
|
|
|
|
|
+ if (usageFlags & SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE) {
|
|
D3D12_INTERNAL_AssignCpuDescriptorHandle(
|
|
D3D12_INTERNAL_AssignCpuDescriptorHandle(
|
|
renderer,
|
|
renderer,
|
|
D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV,
|
|
D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV,
|
|
@@ -3112,8 +3112,8 @@ static D3D12Buffer *D3D12_INTERNAL_CreateBuffer(
|
|
}
|
|
}
|
|
|
|
|
|
if (
|
|
if (
|
|
- (usageFlags & SDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ_BIT) ||
|
|
|
|
- (usageFlags & SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ_BIT)) {
|
|
|
|
|
|
+ (usageFlags & SDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ) ||
|
|
|
|
+ (usageFlags & SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ)) {
|
|
D3D12_INTERNAL_AssignCpuDescriptorHandle(
|
|
D3D12_INTERNAL_AssignCpuDescriptorHandle(
|
|
renderer,
|
|
renderer,
|
|
D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV,
|
|
D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV,
|
|
@@ -3768,7 +3768,7 @@ static void D3D12_BeginRenderPass(
|
|
framebufferHeight = h;
|
|
framebufferHeight = h;
|
|
}
|
|
}
|
|
|
|
|
|
- if (!(container->header.info.usageFlags & SDL_GPU_TEXTUREUSAGE_COLOR_TARGET_BIT)) {
|
|
|
|
|
|
+ if (!(container->header.info.usageFlags & SDL_GPU_TEXTUREUSAGE_COLOR_TARGET)) {
|
|
SDL_LogError(SDL_LOG_CATEGORY_GPU, "Color attachment texture was not designated as a color target!");
|
|
SDL_LogError(SDL_LOG_CATEGORY_GPU, "Color attachment texture was not designated as a color target!");
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -3791,7 +3791,7 @@ static void D3D12_BeginRenderPass(
|
|
}
|
|
}
|
|
|
|
|
|
// Fixme:
|
|
// Fixme:
|
|
- if (!(container->header.info.usageFlags & SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET_BIT)) {
|
|
|
|
|
|
+ if (!(container->header.info.usageFlags & SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET)) {
|
|
SDL_LogError(SDL_LOG_CATEGORY_GPU, "Depth stencil attachment texture was not designated as a depth target!");
|
|
SDL_LogError(SDL_LOG_CATEGORY_GPU, "Depth stencil attachment texture was not designated as a depth target!");
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -4765,7 +4765,7 @@ static void D3D12_BeginComputePass(
|
|
if (storageTextureBindingCount > 0) {
|
|
if (storageTextureBindingCount > 0) {
|
|
for (Uint32 i = 0; i < storageTextureBindingCount; i += 1) {
|
|
for (Uint32 i = 0; i < storageTextureBindingCount; i += 1) {
|
|
D3D12TextureContainer *container = (D3D12TextureContainer *)storageTextureBindings[i].texture;
|
|
D3D12TextureContainer *container = (D3D12TextureContainer *)storageTextureBindings[i].texture;
|
|
- if (!(container->header.info.usageFlags & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE_BIT)) {
|
|
|
|
|
|
+ if (!(container->header.info.usageFlags & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE)) {
|
|
SDL_LogError(SDL_LOG_CATEGORY_GPU, "Attempted to bind read-only texture as compute write texture");
|
|
SDL_LogError(SDL_LOG_CATEGORY_GPU, "Attempted to bind read-only texture as compute write texture");
|
|
}
|
|
}
|
|
|
|
|
|
@@ -4788,7 +4788,7 @@ static void D3D12_BeginComputePass(
|
|
if (storageBufferBindingCount > 0) {
|
|
if (storageBufferBindingCount > 0) {
|
|
for (Uint32 i = 0; i < storageBufferBindingCount; i += 1) {
|
|
for (Uint32 i = 0; i < storageBufferBindingCount; i += 1) {
|
|
D3D12BufferContainer *container = (D3D12BufferContainer *)storageBufferBindings[i].buffer;
|
|
D3D12BufferContainer *container = (D3D12BufferContainer *)storageBufferBindings[i].buffer;
|
|
- if (!(container->usageFlags & SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE_BIT)) {
|
|
|
|
|
|
+ if (!(container->usageFlags & SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE)) {
|
|
SDL_LogError(SDL_LOG_CATEGORY_GPU, "Attempted to bind read-only texture as compute write texture");
|
|
SDL_LogError(SDL_LOG_CATEGORY_GPU, "Attempted to bind read-only texture as compute write texture");
|
|
}
|
|
}
|
|
D3D12Buffer *buffer = D3D12_INTERNAL_PrepareBufferForWrite(
|
|
D3D12Buffer *buffer = D3D12_INTERNAL_PrepareBufferForWrite(
|
|
@@ -5875,7 +5875,7 @@ static bool D3D12_INTERNAL_CreateSwapchain(
|
|
createInfo.width = width;
|
|
createInfo.width = width;
|
|
createInfo.height = height;
|
|
createInfo.height = height;
|
|
createInfo.format = SwapchainCompositionToSDLTextureFormat[swapchainComposition];
|
|
createInfo.format = SwapchainCompositionToSDLTextureFormat[swapchainComposition];
|
|
- createInfo.usageFlags = SDL_GPU_TEXTUREUSAGE_COLOR_TARGET_BIT;
|
|
|
|
|
|
+ createInfo.usageFlags = SDL_GPU_TEXTUREUSAGE_COLOR_TARGET;
|
|
createInfo.layerCountOrDepth = 1;
|
|
createInfo.layerCountOrDepth = 1;
|
|
createInfo.levelCount = 1;
|
|
createInfo.levelCount = 1;
|
|
|
|
|
|
@@ -6012,7 +6012,7 @@ static bool D3D12_INTERNAL_InitializeSwapchainTexture(
|
|
pTextureContainer->header.info.layerCountOrDepth = 1;
|
|
pTextureContainer->header.info.layerCountOrDepth = 1;
|
|
pTextureContainer->header.info.levelCount = 1;
|
|
pTextureContainer->header.info.levelCount = 1;
|
|
pTextureContainer->header.info.type = SDL_GPU_TEXTURETYPE_2D;
|
|
pTextureContainer->header.info.type = SDL_GPU_TEXTURETYPE_2D;
|
|
- pTextureContainer->header.info.usageFlags = SDL_GPU_TEXTUREUSAGE_COLOR_TARGET_BIT;
|
|
|
|
|
|
+ pTextureContainer->header.info.usageFlags = SDL_GPU_TEXTUREUSAGE_COLOR_TARGET;
|
|
pTextureContainer->header.info.sampleCount = SDL_GPU_SAMPLECOUNT_1;
|
|
pTextureContainer->header.info.sampleCount = SDL_GPU_SAMPLECOUNT_1;
|
|
pTextureContainer->header.info.format = SwapchainCompositionToSDLTextureFormat[composition];
|
|
pTextureContainer->header.info.format = SwapchainCompositionToSDLTextureFormat[composition];
|
|
|
|
|
|
@@ -7324,19 +7324,19 @@ static bool D3D12_SupportsTextureFormat(
|
|
}
|
|
}
|
|
|
|
|
|
// Are the usage flags supported?
|
|
// Are the usage flags supported?
|
|
- if ((usage & SDL_GPU_TEXTUREUSAGE_SAMPLER_BIT) && !(formatSupport.Support1 & D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE)) {
|
|
|
|
|
|
+ if ((usage & SDL_GPU_TEXTUREUSAGE_SAMPLER) && !(formatSupport.Support1 & D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE)) {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
- if ((usage & (SDL_GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ_BIT | SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_READ_BIT)) && !(formatSupport.Support1 & D3D12_FORMAT_SUPPORT1_SHADER_LOAD)) {
|
|
|
|
|
|
+ if ((usage & (SDL_GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ | SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_READ)) && !(formatSupport.Support1 & D3D12_FORMAT_SUPPORT1_SHADER_LOAD)) {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
- if ((usage & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE_BIT) && !(formatSupport.Support2 & D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE)) {
|
|
|
|
|
|
+ if ((usage & SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE) && !(formatSupport.Support2 & D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE)) {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
- if ((usage & SDL_GPU_TEXTUREUSAGE_COLOR_TARGET_BIT) && !(formatSupport.Support1 & D3D12_FORMAT_SUPPORT1_RENDER_TARGET)) {
|
|
|
|
|
|
+ if ((usage & SDL_GPU_TEXTUREUSAGE_COLOR_TARGET) && !(formatSupport.Support1 & D3D12_FORMAT_SUPPORT1_RENDER_TARGET)) {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
- if ((usage & SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET_BIT) && !(formatSupport.Support1 & D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL)) {
|
|
|
|
|
|
+ if ((usage & SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET) && !(formatSupport.Support1 & D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL)) {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|