Quellcode durchsuchen

GPU: Validate that 2D textures don't have layers (#15535)

(cherry picked from commit cbe3fbe9f367340dcd924de29c225c9f4ffea1f5)
Evan Hemsley vor 3 Tagen
Ursprung
Commit
7a827b145a
1 geänderte Dateien mit 5 neuen und 0 gelöschten Zeilen
  1. 5 0
      src/gpu/SDL_gpu.c

+ 5 - 0
src/gpu/SDL_gpu.c

@@ -1258,6 +1258,11 @@ SDL_GPUTexture *SDL_CreateGPUTexture(
             SDL_assert_release(!"For any texture: num_levels must be >= 1");
             failed = true;
         }
+        if (createinfo->type == SDL_GPU_TEXTURETYPE_2D && createinfo->layer_count_or_depth != 1)
+        {
+            SDL_assert_release(!"2D textures must have a layer count of 1");
+            failed = true;
+        }
         if ((createinfo->usage & SDL_GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ) && (createinfo->usage & SDL_GPU_TEXTUREUSAGE_SAMPLER)) {
             SDL_assert_release(!"For any texture: usage cannot contain both GRAPHICS_STORAGE_READ and SAMPLER");
             failed = true;