|
|
@@ -3600,7 +3600,12 @@ static D3D12Texture *D3D12_INTERNAL_CreateTexture(
|
|
|
dsvDesc.Format = SDLToD3D12_DepthFormat[createinfo->format];
|
|
|
dsvDesc.Flags = (D3D12_DSV_FLAGS)0;
|
|
|
|
|
|
- if (isMultisample) {
|
|
|
+ if (createinfo->type == SDL_GPU_TEXTURETYPE_2D_ARRAY || createinfo->type == SDL_GPU_TEXTURETYPE_CUBE || createinfo->type == SDL_GPU_TEXTURETYPE_CUBE_ARRAY) {
|
|
|
+ dsvDesc.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE2DARRAY;
|
|
|
+ dsvDesc.Texture2DArray.MipSlice = levelIndex;
|
|
|
+ dsvDesc.Texture2DArray.FirstArraySlice = layerIndex;
|
|
|
+ dsvDesc.Texture2DArray.ArraySize = 1;
|
|
|
+ } else if (isMultisample) {
|
|
|
dsvDesc.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE2DMS;
|
|
|
} else {
|
|
|
dsvDesc.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE2D;
|