From 532472da0b6c5facf9f0e380f1f6a6e340c9bac4 Mon Sep 17 00:00:00 2001 From: Neha Bhende Date: Mon, 14 Jun 2021 15:49:15 -0700 Subject: [PATCH] aux/indices: include provoking vertex check in prim type conversion Include provoking vertex checking in u_index_prim_type_convert() to make sure the right primitive type is returned from the generator function. Fixes google earth running on VMware svga device on hw version 11. Fixes: cad2026b72cf ("aux/indices: break out primitive type conversion to separate function") Reviewed-by: Charmaine Lee Reviewed-By: Mike Blumenkrantz Part-of: --- src/gallium/auxiliary/indices/u_indices.c | 8 ++++---- src/gallium/auxiliary/indices/u_indices.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/gallium/auxiliary/indices/u_indices.c b/src/gallium/auxiliary/indices/u_indices.c index ae21105..b616743 100644 --- a/src/gallium/auxiliary/indices/u_indices.c +++ b/src/gallium/auxiliary/indices/u_indices.c @@ -60,9 +60,9 @@ static void translate_byte_to_ushort( const void *in, } enum pipe_prim_type -u_index_prim_type_convert(unsigned hw_mask, enum pipe_prim_type prim) +u_index_prim_type_convert(unsigned hw_mask, enum pipe_prim_type prim, bool pv_matches) { - if (hw_mask & (1< 0xfffe) ? 4 : 2; out_idx = out_size_idx(*out_index_size); - *out_prim = u_index_prim_type_convert(hw_mask, prim); + *out_prim = u_index_prim_type_convert(hw_mask, prim, in_pv == out_pv); *out_nr = u_index_count_converted_indices(hw_mask, in_pv == out_pv, prim, nr); if ((hw_mask & (1<