summaryrefslogtreecommitdiff
path: root/gsk/gskvulkanrender.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2016-12-26 14:49:34 +0100
committerBenjamin Otte <otte@redhat.com>2016-12-26 17:22:01 +0100
commit3a79b173090c8777498e4cd4e1e7049571ed5375 (patch)
treed5fe8ee7ee2b640fe6e828c027606a8a2888a8c4 /gsk/gskvulkanrender.c
parentc7083a5d37d09357581c670ef841eaf556a60b24 (diff)
downloadgtk+-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.c12
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,