17-19 October 2023
Palexco
Europe/Madrid timezone

Zink: reducing stutters with uber shaders

17 Oct 2023, 14:00
45m
Palexco

Palexco

Muelle de Trasatlánticos, s/n, 15003 A Coruña, A Coruña, Spain
Talk (full slot) Main Track

Speaker

Antonino Maniscalco (Collabora)

Description

Being a layered OpenGL driver, Zink sometimes needs to emulate some legacy features, that are not exposed by vulkan, using shader passes. Due to OpenGL's design it is not possible to know exactly what needs to be emulated ahead of time and until now Zink has dealt with this by compiling shader variants at draw time, leading to upwards of 100ms spikes in frametime. A possible way of solivng this is by creating some uber shaders as early as possible which can handle different pipeline states dynamically. This talk will discuss some details of how Zink currently handles shader compilation and caching, the changes that were needed and also the challenges in adapting emulation passes for this purpose.

In-person or virtual presentation In-person
Code of Conduct Yes

Primary author

Presentation Materials

2025 Host
Technische Universität Wien
2025 Gold Sponsors
AMD
Arm
Collabora
Microsoft
Snap AR
2025 Silver Sponsors
CodeWeavers
FEX-Emu
Igalia
Qualcomm
The Linux Foundation
2025 Bronze Sponsors
Khronos Group
Libre Computer