GPU: Enable Metal validation in debug mode (#11691)

This commit is contained in:
Caleb Cornett
2024-12-23 18:08:14 -05:00
committed by GitHub
parent 18115ef6bd
commit 62124e2c28

View File

@@ -4343,6 +4343,15 @@ static SDL_GPUDevice *METAL_CreateDevice(bool debugMode, bool preferLowPower, SD
MetalRenderer *renderer;
id<MTLDevice> device = NULL;
if (debugMode) {
/* Due to a Metal driver quirk, once a MTLDevice has been created
* with this environment variable set, the Metal validation layers
* will remain enabled for the rest of the application's lifespan,
* even if the device is destroyed and recreated.
*/
SDL_setenv_unsafe("MTL_DEBUG_LAYER", "1", 0);
}
// Create the Metal device and command queue
#ifdef SDL_PLATFORM_MACOS
if (preferLowPower) {