summaryrefslogtreecommitdiff
path: root/render/vulkan/renderer.c
diff options
context:
space:
mode:
authorDanny Holman <dholman@gymli.org>2024-11-19 14:47:46 -0600
committerDanny Holman <dholman@gymli.org>2024-11-19 14:47:46 -0600
commit23712c9c011d77bb65426fdbc34d9409a291818e (patch)
treef8a65369cc68b30ffbfeb145aa04f0c522bc4c7c /render/vulkan/renderer.c
parent2a0aaa4cc461c1432416c315683ed1f2c65a75db (diff)
render: streamline the common renderer interface
Streamline the common renderer interface such that all functionality is set by the renderer initialization function. This reduces the number of API functions and allows developers to define custom rendering interfaces easier. Signed-off-by: Danny Holman <dholman@gymli.org>
Diffstat (limited to 'render/vulkan/renderer.c')
-rw-r--r--render/vulkan/renderer.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/render/vulkan/renderer.c b/render/vulkan/renderer.c
index caf269a..0facddf 100644
--- a/render/vulkan/renderer.c
+++ b/render/vulkan/renderer.c
@@ -129,7 +129,7 @@ int _init_vulkan(struct rune_window *window) {
return 0;
}
-void _close_vulkan(struct rune_renderer *renderer) {
+void _close_vulkan(void) {
vkDeviceWaitIdle(context->dev->ldev);
for (uint8_t i = 0; i < context->swapchain->max_frames; i++) {
if (context->image_semaphores[i] != NULL)
@@ -158,11 +158,10 @@ void _clear_vulkan(void) {
struct rune_renderer* select_render_vulkan(struct rune_window *window) {
struct rune_renderer *ret = rune_alloc(sizeof(struct rune_renderer));
- ret->init = _init_vulkan;
ret->close = _close_vulkan;
ret->draw = _draw_vulkan;
ret->clear = _clear_vulkan;
- if ((*ret->init)(window) != 0)
+ if (_init_vulkan(window) != 0)
rune_abort();
return ret;
}