spirv: Implement OpCopyObject and OpCopyLogical as blind copies
authorJason Ekstrand <jason@jlekstrand.net>
Mon, 30 Mar 2020 16:25:07 +0000 (11:25 -0500)
committerMarge Bot <eric+marge@anholt.net>
Tue, 31 Mar 2020 17:55:30 +0000 (17:55 +0000)
commit7a53e67816ed9baf7d825ed60ee59f0c05f9df48
tree1d333ec5cd1fcd30d043f207eef83e0cbf590acb
parent88c046a6d3228cc3a667cba96e4fa57c341ab162
spirv: Implement OpCopyObject and OpCopyLogical as blind copies

Because the types etc. are required to logically match, we can just
copy-propagate the guts of the vtn_value.  This was causing issues with
some new CTS tests that are doing an OpCopyObject of a sampler which is
a special-cased type in spirv_to_nir.  Of course, this is only a partial
solution.  Ideally, we've got a bit of work to do to make all the
composite stuff able to handle all types including images, sampler, and
combined image/samplers but this gets some CTS tests passing.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Acked-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4375>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4375>
src/compiler/spirv/spirv_to_nir.c