Skip to content

v3dv: implement VK_EXT_pipeline_robustness

Iago Toral requested to merge itoral/mesa:v3dv_ext_pipeline_robustness into main

This extension allows application to enable robustness features only for specific pipelines (or even specific stages within a pipeline). It also allows applications to specify different robustness behaviors for uniform and storage buffers.

For us this means we need to split our robust buffer flag for the compiler into two: robust uniform access and robust storage access. On the pipeline side, it means we need to use the new helper in Mesa to figure out robustness requirements for each pipeline stage based on the robustness features enabled, and the pNext structs added to the pipeline and the shader stages. Since now we can define robustness behavior per shader stage it also means our pipeline and shader keys need to change to include per-stage robustness settings.

A note on CTS tests: we skip all the tests currently available because there are a number of issues with them. I have been discussing these with Ricardo who is in the process of merging a few CLs to fix them. With those in, we pass all the tests we can run.

Merge request reports