Added a debugging print for HW acceleration

This commit is contained in:
2023-02-28 14:13:23 +11:00
parent 7a8724f13e
commit 5800341ac6
3 changed files with 13 additions and 6 deletions

View File

@@ -28,7 +28,7 @@ fn onStep(node: opaque) {
}
fn onDraw(node: opaque) {
print stepCounter;
//print stepCounter;
stepCounter = 0;
var screenWidth: int const = getRootNode().callNodeFn("getScreenWidth");

View File

@@ -44,6 +44,12 @@ void Box_initEngine() {
fatalError("Failed to initialize SDL2");
}
//init SDL_image
int imageFlags = IMG_INIT_PNG | IMG_INIT_JPG;
if (IMG_Init(imageFlags) != imageFlags) {
fatalError("Failed to initialize SDL2_image");
}
//init events
Toy_initLiteralDictionary(&engine.symKeyDownEvents);
Toy_initLiteralDictionary(&engine.symKeyUpEvents);
@@ -109,9 +115,10 @@ static void execEvents() {
case SDL_WINDOWEVENT: {
switch(event.window.event) {
case SDL_WINDOWEVENT_RESIZED:
engine.screenWidth = event.window.data1;
engine.screenHeight = event.window.data2;
SDL_RenderSetLogicalSize(engine.renderer, engine.screenWidth, engine.screenHeight);
//TODO: toy onWindowResized, setLogicalWindowSize, getLogicalWindowSize
//engine.screenWidth = event.window.data1;
//engine.screenHeight = event.window.data2;
//SDL_RenderSetLogicalSize(engine.renderer, engine.screenWidth, engine.screenHeight);
break;
}
}

View File

@@ -55,7 +55,7 @@ static int nativeInitWindow(Toy_Interpreter* interpreter, Toy_LiteralArray* argu
//init the renderer
// SDL_SetHint(SDL_HINT_RENDER_DRIVER, "software");
engine.renderer = SDL_CreateRenderer(engine.window, -1, 0);
engine.renderer = SDL_CreateRenderer(engine.window, -1, SDL_RENDERER_ACCELERATED);
if (engine.renderer == NULL) {
fatalError("Failed to initialize the renderer\n");
@@ -64,7 +64,7 @@ static int nativeInitWindow(Toy_Interpreter* interpreter, Toy_LiteralArray* argu
SDL_RendererInfo rendererInfo;
SDL_GetRendererInfo(engine.renderer, &rendererInfo);
printf("Renderer: %s\n", rendererInfo.name);
printf("Renderer: %s (HW %s)\n", rendererInfo.name, rendererInfo.flags & SDL_RENDERER_ACCELERATED ? "yes" : "no");
SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "best");
SDL_RenderSetLogicalSize(engine.renderer, engine.screenWidth, engine.screenHeight);