aboutsummaryrefslogtreecommitdiff
path: root/render/vulkan
diff options
context:
space:
mode:
Diffstat (limited to 'render/vulkan')
-rw-r--r--render/vulkan/renderer.c3
-rw-r--r--render/vulkan/texture.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/render/vulkan/renderer.c b/render/vulkan/renderer.c
index 76da79fe..4419cf2c 100644
--- a/render/vulkan/renderer.c
+++ b/render/vulkan/renderer.c
@@ -52,7 +52,8 @@ bool wlr_renderer_is_vk(struct wlr_renderer *wlr_renderer) {
struct wlr_vk_renderer *vulkan_get_renderer(struct wlr_renderer *wlr_renderer) {
assert(wlr_renderer_is_vk(wlr_renderer));
- return (struct wlr_vk_renderer *)wlr_renderer;
+ struct wlr_vk_renderer *renderer = wl_container_of(wlr_renderer, renderer, wlr_renderer);
+ return renderer;
}
static struct wlr_vk_render_format_setup *find_or_create_render_setup(
diff --git a/render/vulkan/texture.c b/render/vulkan/texture.c
index 083931ff..a72124d2 100644
--- a/render/vulkan/texture.c
+++ b/render/vulkan/texture.c
@@ -22,7 +22,8 @@ bool wlr_texture_is_vk(struct wlr_texture *wlr_texture) {
struct wlr_vk_texture *vulkan_get_texture(struct wlr_texture *wlr_texture) {
assert(wlr_texture_is_vk(wlr_texture));
- return (struct wlr_vk_texture *)wlr_texture;
+ struct wlr_vk_texture *texture = wl_container_of(wlr_texture, texture, wlr_texture);
+ return texture;
}
static VkImageAspectFlagBits mem_plane_aspect(unsigned i) {