summaryrefslogtreecommitdiff
path: root/src/graphics.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/graphics.cc')
-rw-r--r--src/graphics.cc24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/graphics.cc b/src/graphics.cc
index cd606b2..23a5ee5 100644
--- a/src/graphics.cc
+++ b/src/graphics.cc
@@ -4,6 +4,7 @@
#include <EGL/eglplatform.h>
#include <glad.h>
+#include <cstdio>
#include <cstring>
#include "cglm/vec4.h"
@@ -44,6 +45,18 @@ static bool wayc_graphics_config(EGLDisplay display, EGLConfig* config) {
return nconfs > 0;
}
+static void wayc_sokol_log(const char* msg, uint32_t x, uint32_t y,
+ const char* file, uint32_t line, const char* func,
+ void* user) {
+ wayc_notnull(msg);
+ wayc_notnull(file);
+ wayc_notnull(func);
+
+ (void)user;
+
+ fprintf(stderr, "[%s:%d:%s] %s (%d, %d)\n", file, line, func, msg, x, y);
+}
+
enum graphics_error_e wayc_graphics_init(struct graphics_s* graphics,
struct wlstate_s* state) {
wayc_notnull(graphics);
@@ -118,9 +131,6 @@ enum renderer_error_e wayc_renderer_init(struct renderer_s* renderer,
return RENDERER_ERROR_SURFACE_CREATION;
}
- sg_desc desc = {};
- sg_setup(&desc);
-
renderer->graphics = graphics;
renderer->ewindow = ewindow;
renderer->esurface = esurface;
@@ -134,6 +144,14 @@ enum renderer_error_e wayc_renderer_init(struct renderer_s* renderer,
return RENDERER_ERROR_LOAD_FUNCTIONS;
}
+ sg_logger logger = {};
+ logger.func = wayc_sokol_log;
+
+ sg_desc desc = {};
+ desc.logger = logger;
+
+ sg_setup(&desc);
+
return RENDERER_ERROR_NONE;
}