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) { fn onDraw(node: opaque) {
print stepCounter; //print stepCounter;
stepCounter = 0; stepCounter = 0;
var screenWidth: int const = getRootNode().callNodeFn("getScreenWidth"); var screenWidth: int const = getRootNode().callNodeFn("getScreenWidth");

View File

@@ -44,6 +44,12 @@ void Box_initEngine() {
fatalError("Failed to initialize SDL2"); 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 //init events
Toy_initLiteralDictionary(&engine.symKeyDownEvents); Toy_initLiteralDictionary(&engine.symKeyDownEvents);
Toy_initLiteralDictionary(&engine.symKeyUpEvents); Toy_initLiteralDictionary(&engine.symKeyUpEvents);
@@ -109,9 +115,10 @@ static void execEvents() {
case SDL_WINDOWEVENT: { case SDL_WINDOWEVENT: {
switch(event.window.event) { switch(event.window.event) {
case SDL_WINDOWEVENT_RESIZED: case SDL_WINDOWEVENT_RESIZED:
engine.screenWidth = event.window.data1; //TODO: toy onWindowResized, setLogicalWindowSize, getLogicalWindowSize
engine.screenHeight = event.window.data2; //engine.screenWidth = event.window.data1;
SDL_RenderSetLogicalSize(engine.renderer, engine.screenWidth, engine.screenHeight); //engine.screenHeight = event.window.data2;
//SDL_RenderSetLogicalSize(engine.renderer, engine.screenWidth, engine.screenHeight);
break; break;
} }
} }

View File

@@ -55,7 +55,7 @@ static int nativeInitWindow(Toy_Interpreter* interpreter, Toy_LiteralArray* argu
//init the renderer //init the renderer
// SDL_SetHint(SDL_HINT_RENDER_DRIVER, "software"); // 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) { if (engine.renderer == NULL) {
fatalError("Failed to initialize the renderer\n"); fatalError("Failed to initialize the renderer\n");
@@ -64,7 +64,7 @@ static int nativeInitWindow(Toy_Interpreter* interpreter, Toy_LiteralArray* argu
SDL_RendererInfo rendererInfo; SDL_RendererInfo rendererInfo;
SDL_GetRendererInfo(engine.renderer, &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_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "best");
SDL_RenderSetLogicalSize(engine.renderer, engine.screenWidth, engine.screenHeight); SDL_RenderSetLogicalSize(engine.renderer, engine.screenWidth, engine.screenHeight);