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

2023 Platinum Sponsor
Igalia
2023 Gold Sponsors
Google
Collabora
Arm
Microsoft
2023 Silver Sponsors
FEX-Emu
The Linux Foundation
AMD
Qualcomm
2023 Bronze Sponsors
Khronos Group
CodeWeavers
2023 Supporters
A Coruña Turismo
GPUL
Raspberry Pi