Skip to content

turnip: Tessellation shaders

Brian Ho requested to merge brkho/mesa:tess into master

This MR implements tessellation support for turnip. The actual changes are better described by the individual commit messages, but at a high level this MR contains commits to:

  • Configure and enable tessellation shader compilation
  • Update ir3_nir_lower_tess to support NIR generated from SPIR-V
  • Allocate and grow tess BOs
  • Emit tess-related configuration
  • Support half-regs for HS/DS/GS on a6xx

In addition, this MR depends on some changes I made to the SPIR-V to NIR compiler in !5058 (closed). With this MR, turnip now passes all tess-related tests in the VK CTS (dEQP-VK.tessellation.*) except for a few that fail due to RA alloc crashes:

  • dEQP-VK.tessellation.shader_input_output.cross_invocation_per_vertex_mat4x3
  • dEQP-VK.tessellation.shader_input_output.cross_invocation_per_vertex_vec3
  • dEQP-VK.tessellation.shader_input_output.cross_invocation_per_vertex_vec4

/cc @krh

Edited by Brian Ho

Merge request reports