Chun-wei Fan
9db5cc9a98
gdk/gdkvulkancontext.c: Avoid VLAs
...
During the drive to enable Vulkan context creation on Windows, some more
VLAs were found here. Replace them with g_newa().
https://bugzilla.gnome.org/show_bug.cgi?id=773299
2016-12-29 17:51:56 +08:00
Benjamin Otte
293248c1d3
gdkvulkan: Track changes per swapchain image
...
... and use those in begin_frame() to ensure all of the invalid area
gets invalidated.
2016-12-26 22:24:22 +01:00
Benjamin Otte
b30225e67c
vulkan: We use VK_FORMAT_B8G8R8A8_UNORM
...
... not SRGB. SRGB messes up alpha compositing, GdkRGBA and everything
else.
2016-12-25 06:23:12 +01:00
Benjamin Otte
2c0564a46e
build: Make sure GTK compiles without Vulkan headers installed
...
Previously, code would work fine with --disable-vulkan if the Vulkan
headers were installed - code would happily just use them as they're
installed in /usr/include.
2016-12-09 20:23:06 +01:00
Matthias Clasen
3dd4f76703
Rename GDK_WINDOWING_VULKAN
...
The WINDOWING defines are only for GDK backends, really.
Define GDK_RENDERING_VULKAN instead.
2016-12-09 14:11:37 -05:00
Matthias Clasen
5b6a837b17
Only include vulkan.h if we have it
2016-12-09 14:05:26 -05:00
Benjamin Otte
747df7aa3c
vulkan: Also wait on the draw semaphore when present()ing
...
That way we have a synchronization primitive at the start and at the
end.
2016-12-09 18:35:51 +01:00
Benjamin Otte
8ba2898e08
vulkan: acquire/present images when drawing
...
Another step towards the final goal of actually showing something.
2016-12-09 18:35:51 +01:00
Benjamin Otte
325efe7078
vulkan: Expose the swapchain images in public API
2016-12-09 18:35:51 +01:00
Benjamin Otte
0c8e7d0ac0
vulkan: Register debug handler
...
We now hook Vulkan error reporting into glib's error reporting.
I'm not sure on the severity handling yet, but we can fix that as we go
along.
2016-12-09 18:35:51 +01:00
Benjamin Otte
b6227aa998
gdk: Add GDK_VULKAN env variable
...
Also add 2 flags:
GDK_VULKAN="disable" will disable Vulkan usage.
GDK_VULKAN="validate" will enable VK_LAYER_LUNARG_standard_validation.
2016-12-09 18:35:51 +01:00
Benjamin Otte
e22cb94e50
vulkan: More work on GdkVulkanContext
...
Code has now arrived at creation of swapchains.
2016-12-09 18:35:51 +01:00
Benjamin Otte
4ef8bf821e
vulkan: Turn GdkVulkanContext into a GdkDrawContext
2016-12-09 18:35:51 +01:00
Benjamin Otte
6d1d6e6792
vulkan: Add more infrastructure
...
gdk_window_create_vulkan_context() now exists and will return a Vulkan
context for the given window. It even initializes the surface. But it
doesn't do anything useful yet.
2016-12-09 18:35:51 +01:00
Benjamin Otte
cca547e5bc
vulkan: Initial support
...
Adds the gdk_display_ref_vulkan() and gdk_display_unref_vulkan()
functions which setup/tear down VUlkan support for the display.
Nothing is using those functions yet.
2016-12-09 18:35:51 +01:00