13:15 – Iago Toral (Igalia) – Raspberry Pi Vulkan driver update Last year we presented our on-going work to bring Vulkan support to the Raspberry Pi 4 platform. This talk is intended to provide a progress update after a year of additional development, discussing main priorities and achievements during this period as well as future development plans.
19:05 – Ricardo Garcia (Igalia) – Quick Overview of VK_EXT_multi_draw The VK_EXT_multi_draw Vulkan extension was recently released and closes an existing gap between the OpenGL and Vulkan APIs. It can be used to improve the performance of some Vulkan apps and as a tool when implementing OpenGL on top of Vulkan as Zink does. This talk will give a quick overview of the extension.
Thursday 16 September 2021
14:05 – Compiling Vulkan shaders in the browser: A tale of control flow graphs and WebAssembly Ever wondered what happens when you mix Emscripten, Graphviz, and a Vulkan driver? I couldn’t help myself and tried
14:55 – Danylo Piliaiev (Igalia) – Dissecting and fixing Vulkan rendering issues in drivers with RenderDoc This talk will show a major misrendering example when running a game and the steps taken to pinpoint the underlying problem in shader compilation using RenderDoc. We will briefly touch the taxonomy of different issues, typical causes, and generic methods to try.
15:45 – Jason Ekstrand (Intel) – Ray-tracing in Vulkan pt. 2: Implementation At last year's XDC, Jason gave an overview of the VK_KHR_ray_tracing extensions and how they can be used to implement a ray-tracing render from a client POV. In this talk, Jason will discuss the implementation of those extensions in Intel's Linux Vulkan driver. We'll cover over-all architecture as well as detailed topics such as bindless thread dispatch on Intel HW, Shader call/return lowering, and BVH building with OpenCL kernels. Watching last year's talk as preparation is highly recommended.
Friday 17 September 2021
16:35 – A new CPU performance scaling proposal for tuning VKD3D-Proton The CPU performance scaling is one of key parts in Linux Kernel, it is to manage the CPU frequency according to kernel and processor status and widely used by many user mode application to talk to the processors. The system information APIs in Wine will use the CPU performance scaling interfaces to manage the multi-core processor schedule timing compatibilities from windows application to Linux environment for VKD3D-Proton (the full Direct3D 12 API on top of Vulkan) on Steam. The original CPU performance scaling module is based on the legacy kernel common ACPI cpufreq driver on AMD processors. We found it was not very performance/power efficiency for modern AMD platforms. So this talk is to introduce a new CPU performance scaling design for AMD platform which has better performance per watt scaling on such as 3D game like Horizon Zero Dawn with VKD3D-Proton on Steam.
17:00 – Victor Manuel Jáquez Leal (Igalia) – Video decoding in Vulkan: A brief overview of the provisional VK_KHR_video_queue & VK_KHR_video_decode APIs In April of this year, Khronos released a provisional set of extensions: VK_KHR_video_queue, VK_KHR_video_decoder_queue and VK_KHR_video_encoder_queue. They all aim for hardware accelerated video decoding and encoder with the Vulkan API. In this talk, we will introduce the basics of video decoding and give an overview of the concepts used to decode video via the new Vulkan extension, using as example the usage of the API in a GStreamer element. The talk will be educational and focus on helping others in the X/Mesa community to understand the new API concepts.