Skip to content

turnip: Basic geometry shader support

Brian Ho requested to merge brkho/mesa:geometry-shaders into master

This patch series adds geometry shader support to turnip:

  • Enables geometry-specific lowering on the vs/gs.
  • Configures VPC for geometry shaders.
  • Configures VFD_CONTROL for geometry shaders.
  • Enables preliminary layered rendering.

While this implementation passes most of dEQP-VK.geometry.*, there's still some work to be done on layered rendering (dEQP-VK.geometry.layered.*). Layered rendering requires sysmem, and a fair number of these tests hit sysmem TODO/FINISHME blocks. I plan on tackling these in the coming days, but I'd rather get the bulk of the code merged sooner rather than later.

That being said, my changes in tu_pipeline.c will definitely need to be rebased on top of !4358 (merged). I'll wait for @cwabbott0's MR to get merged first before I merge this. In addition, I opted to use the older emit_pkt4-style syntax in tu_pipeline since it's already used throughout the file. Once this MR is merged, I'll migrate the entire file to use tu_cs_emit_regs.

@krh

Merge request reports