ref: 79886f5ae4a3b4f2665e93c87ca5916248730df2
parent: 1cf5df2d7201171a49c8bfe47e89ef7bd847a3c7
author: Clownacy <[email protected]>
date: Mon Jan 20 10:27:05 EST 2020
Add debug prints for listing SDL2 drivers These list what video/render/audio backends are available, and which are currently being used. SDL2 allows you to choose a specific video/audio driver with the SDL_VIDEODRIVER and SDL_AUDIODRIVER environment variables, respectively, but there's no such option for the render driver.
--- a/src/Backends/Audio/SDL2.cpp
+++ b/src/Backends/Audio/SDL2.cpp
@@ -2,6 +2,9 @@
#include <math.h>
#include <stddef.h>
+#ifndef NDEBUG
+#include <stdio.h>
+#endif
#include <stdlib.h>
#include <string.h>
@@ -155,6 +158,13 @@
if (SDL_InitSubSystem(SDL_INIT_AUDIO) < 0)
return FALSE;
+#ifndef NDEBUG
+ puts("Available SDL2 audio drivers:");
+
+ for (int i = 0; i < SDL_GetNumAudioDrivers(); ++i)
+ puts(SDL_GetAudioDriver(i));
+#endif
+
SDL_AudioSpec specification;
specification.freq = 44100;
specification.format = AUDIO_F32;
@@ -171,6 +181,10 @@
return FALSE;
SDL_PauseAudioDevice(device_id, 0);
+
+#ifndef NDEBUG
+ printf("Selected SDL2 audio driver: %s\n", SDL_GetCurrentAudioDriver());
+#endif
return TRUE;
}
--- a/src/Backends/Rendering/SDLTexture.cpp
+++ b/src/Backends/Rendering/SDLTexture.cpp
@@ -1,6 +1,9 @@
#include "../Rendering.h"
#include <stddef.h>
+#ifndef NDEBUG
+#include <stdio.h>
+#endif
#include <stdlib.h>
#include "SDL.h"
@@ -58,10 +61,27 @@
Backend_Surface* Backend_Init(SDL_Window *window)
{
+#ifndef NDEBUG
+ puts("Available SDL2 render drivers:");
+
+ for (int i = 0; i < SDL_GetNumRenderDrivers(); ++i)
+ {
+ SDL_RendererInfo info;
+ SDL_GetRenderDriverInfo(i, &info);
+ puts(info.name);
+ }
+#endif
+
renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_TARGETTEXTURE);
if (renderer == NULL)
return NULL;
+
+#ifndef NDEBUG
+ SDL_RendererInfo info;
+ SDL_GetRendererInfo(renderer, &info);
+ printf("Selected SDL2 render driver: %s\n", info.name);
+#endif
int width, height;
SDL_GetRendererOutputSize(renderer, &width, &height);
--- a/src/Draw.cpp
+++ b/src/Draw.cpp
@@ -88,6 +88,15 @@
SDL_Window* CreateWindow(const char *title, int width, int height)
{
+#ifndef NDEBUG
+ puts("Available SDL2 video drivers:");
+
+ for (int i = 0; i < SDL_GetNumVideoDrivers(); ++i)
+ puts(SDL_GetVideoDriver(i));
+
+ printf("Selected SDL2 video driver: %s\n", SDL_GetCurrentVideoDriver());
+#endif
+
return Backend_CreateWindow(title, width, height);
}