spirv: convert some operands for bitwise shift and bitwise ops to uint32
authorSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Wed, 25 Apr 2018 09:55:49 +0000 (11:55 +0200)
committerSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Thu, 3 May 2018 05:07:24 +0000 (07:07 +0200)
commitb291a3a4a313851f3f88247c3c6c8a0dc4499a77
tree5f291bd2ea58308bc5fad903f7c7882bd131c866
parent58c05ede965614834577bbfa5854b59a168ae25e
spirv: convert some operands for bitwise shift and bitwise ops to uint32

SPIR-V allows to define the shift, offset and count operands for
shift and bitfield opcodes with a bit-size different than 32 bits,
but in NIR the opcodes have that limitation. As agreed in the
mailing list, this patch adds a conversion to 32 bits to fix this.

For more info, see:

https://lists.freedesktop.org/archives/mesa-dev/2018-April/193026.html

v2:
- src_bit_size will have zero value for variable bit-size operands (Jason).

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/compiler/spirv/vtn_alu.c