Adds coverage for gl_PrimitiveID implicit passthrough with GPL.
Add new pipeline tests which use gl_PrimtiveID in the fragment shader,
when access to that built-in is allowed implicitly.
From the spec,
"In a fragment shader, it will contain the primitive index written by
the mesh shader if a mesh shader is present, or the primitive index
written by the geometry shader if a geometry shader is present, or
with the value that would have been presented as input to the geometry
shader had it been present."
The new tests cover the cases without mesh or geometry shaders, where
the builtin is implicit.
These tests have been validated to cover the issue fixed by,
https://gitlab.freedesktop.org/mesa/mesa/-/commit/
0c6f52a999f34e936aa61eb3527a19979da1ff8c
in the Mesa radv driver.
New Tests:
dEQP-VK.pipeline.monolithic.misc.implicit_primitive_id
dEQP-VK.pipeline.monolithic.misc.implicit_primitive_id_with_tessellation
dEQP-VK.pipeline.pipeline_library.misc.implicit_primitive_id
dEQP-VK.pipeline.pipeline_library.misc.implicit_primitive_id_with_tessellation
dEQP-VK.pipeline.fast_linked_library.misc.implicit_primitive_id
dEQP-VK.pipeline.fast_linked_library.misc.implicit_primitive_id_with_tessellation
VK-GL-CTS issue: 3932
Change-Id: I25f10a98e27019618b1caaa61f0a4e5e75f36564