diff options
author | Benjamin Otte <otte@redhat.com> | 2016-12-26 14:49:34 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2016-12-26 17:22:01 +0100 |
commit | 3a79b173090c8777498e4cd4e1e7049571ed5375 (patch) | |
tree | d5fe8ee7ee2b640fe6e828c027606a8a2888a8c4 /gsk/gskvulkanrender.c | |
parent | c7083a5d37d09357581c670ef841eaf556a60b24 (diff) | |
download | gtk+-3a79b173090c8777498e4cd4e1e7049571ed5375.tar.gz |
vulkan: Fix coordinate setup
This makes rendering textures work when the top left of the rendered
texture is not at (0, 0).
Diffstat (limited to 'gsk/gskvulkanrender.c')
-rw-r--r-- | gsk/gskvulkanrender.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gsk/gskvulkanrender.c b/gsk/gskvulkanrender.c index 6f57c1d8c9..59c592408e 100644 --- a/gsk/gskvulkanrender.c +++ b/gsk/gskvulkanrender.c @@ -57,8 +57,8 @@ gsk_vulkan_render_compute_mvp (GskVulkanRender *self, if (rect) { - self->scissor = (VkRect2D) { { rect->origin.x, rect->origin.y }, { rect->size.width, rect->size.height } }; - self->viewport = self->scissor; + self->scissor = (VkRect2D) { { 0, 0 }, { rect->size.width, rect->size.height } }; + self->viewport = (VkRect2D) { { rect->origin.x, rect->origin.y }, { rect->size.width, rect->size.height } }; self->scale_factor = 1; } else @@ -78,8 +78,8 @@ gsk_vulkan_render_compute_mvp (GskVulkanRender *self, graphene_matrix_init_scale (&modelview, self->scale_factor, self->scale_factor, 1.0); graphene_matrix_init_ortho (&projection, - self->viewport.offset.x, self->viewport.extent.width, - self->viewport.offset.y, self->viewport.extent.height, + self->viewport.offset.x, self->viewport.offset.x + self->viewport.extent.width, + self->viewport.offset.y, self->viewport.offset.y + self->viewport.extent.height, ORTHO_NEAR_PLANE, ORTHO_FAR_PLANE); @@ -471,8 +471,8 @@ gsk_vulkan_render_draw (GskVulkanRender *self, 0, 1, &(VkViewport) { - .x = self->viewport.offset.x, - .y = self->viewport.offset.x, + .x = 0, + .y = 0, .width = self->viewport.extent.width, .height = self->viewport.extent.height, .minDepth = 0, |