pvr: Don't overwrite PDS vertex input flags
authorMatt Coster <matt.coster@imgtec.com>
Mon, 5 Jun 2023 15:31:14 +0000 (16:31 +0100)
committerMarge Bot <emma+marge@anholt.net>
Wed, 7 Jun 2023 14:20:27 +0000 (14:20 +0000)
Fixes:
  dEQP-VK.draw.renderpass.simple_draw.simple_draw_triangle_list
  dEQP-VK.draw.renderpass.simple_draw.simple_draw_triangle_strip
  dEQP-VK.draw.renderpass.indexed_draw.draw_indexed_triangle_list
  dEQP-VK.draw.renderpass.indexed_draw.draw_indexed_triangle_strip

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23458>

src/imagination/vulkan/pvr_pipeline.c

index e6e82bb..5d41067 100644 (file)
@@ -521,14 +521,14 @@ static VkResult pvr_pds_vertex_attrib_programs_create_and_upload(
       if (special_vars_layout->vertex_id_offset !=
           PVR_VERTEX_SPECIAL_VAR_UNUSED) {
          /* Gets filled by the HW and copied into the appropriate reg. */
-         input.flags = PVR_PDS_VERTEX_FLAGS_VERTEX_ID_REQUIRED;
+         input.flags |= PVR_PDS_VERTEX_FLAGS_VERTEX_ID_REQUIRED;
          input.vertex_id_register = special_vars_layout->vertex_id_offset;
       }
 
       if (special_vars_layout->instance_id_offset !=
           PVR_VERTEX_SPECIAL_VAR_UNUSED) {
          /* Gets filled by the HW and copied into the appropriate reg. */
-         input.flags = PVR_PDS_VERTEX_FLAGS_INSTANCE_ID_REQUIRED;
+         input.flags |= PVR_PDS_VERTEX_FLAGS_INSTANCE_ID_REQUIRED;
          input.instance_id_register = special_vars_layout->instance_id_offset;
       }
    }