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.

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

Primary author

Presentation Materials

2024 Platinum Sponsor
Collabora
2024 Gold Sponsors
Arm
Google
Microsoft
NVIDIA
2024 Silver Sponsors
AMD
FEX-Emu
Igalia
Qualcomm
The Linux Foundation
2024 Bronze Sponsors
CodeWeavers
Khronos Group
Libre Computer