spirv: handle OpCopyObject correctly with any types
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 5 May 2020 16:25:08 +0000 (18:25 +0200)
committerMarge Bot <eric+marge@anholt.net>
Fri, 15 May 2020 19:18:53 +0000 (19:18 +0000)
commit844d561c580188dad583dd4bad3b77d55e39372f
tree6aa7bfa3508708809cbd8de14849f1440370774e
parent9d1821adf0bc51958becf116d6df5c65514d58b6
spirv: handle OpCopyObject correctly with any types

This implements OpCopyObject as a blind copy and propagates the
access mask properly even if the source object type isn't a SSA
value.

This fixes some recent dEQP-VK.descriptor_indexing.* failures
since CTS changed and now apply nonUniformEXT after constructing
a combined image/sampler.

Original patch is from Jason Ekstrand.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4909>
src/compiler/spirv/spirv_to_nir.c
src/compiler/spirv/vtn_private.h
src/compiler/spirv/vtn_variables.c