panfrost: Implement provoking vertices on Valhall
Starting with Valhall, the provoking vertex state is specified per-framebuffer (batch) instead of per-draw. We use the pan_tristate infrastructure to translate between desktop OpenGL's per-draw semantics to Valhall's per-framebuffer semantic. This is notably not required for GLES or Vulkan. If the provoking vertex is unset when the tiler context is generated, it could be set (incompatibly) later in the batch, and the tiler context's provoking vertex field would no longer match the framebuffer's. That would violate a hardware invariant. To ensure that doesn't happen, we make sure to set provoking vertexes *before* generating the tiler context so it can't change after. Fixes arb-provoking-vertex-render on Valhall. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <!17068>