mesa/src/compiler
Jesse Natalie 3c8bcdc863 nir: Add a new opcode for [un]packing doubles
HLSL doesn't support bitcasting a 64bit integer to a double. DXIL
doesn't have generic pack/unpack instructions, so we lower those to
integer bitwise ops. As a result, NIR generic double pack/unpack would
require our backend to emit a bitcast to get a double, but we want
to match HLSL semantics and emit MakeDouble/SplitDouble.

Adding a dedicated opcode for double pack/unpack allows us to add a
pass to emit that instead, which lets our backend emit the right
instruction to pack and unpack doubles.

Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10063>
2021-04-09 01:54:33 +00:00
..
glsl glsl/linker: Fix xfb stride alignment for buffers containing 64bit types 2021-04-01 17:16:33 +00:00
nir nir: Add a new opcode for [un]packing doubles 2021-04-09 01:54:33 +00:00
spirv nir/spirv: remove unused fields from vtn_builder 2021-04-08 18:28:08 +00:00
Android.glsl.gen.mk android: util: Move xxd.py to util 2020-10-11 23:22:34 +02:00
Android.glsl.mk
Android.mk
Android.nir.gen.mk android: spirv: fix '::' typo in gen rules 2020-12-08 22:44:23 +01:00
Android.nir.mk android: fix libmesa_nir build 2017-07-21 08:47:56 +03:00
builtin_type_macros.h compiler/types: Add 64-bit image types 2020-11-09 17:17:39 +00:00
glsl_types.cpp glsl/linker: Fix attempts to split up 64bit varyings between slots 2021-04-01 17:16:33 +00:00
glsl_types.h glsl/linker: Fix attempts to split up 64bit varyings between slots 2021-04-01 17:16:33 +00:00
Makefile.sources nir: Add nir_opt_offsets to fold const adds into load/store offsets. 2021-03-17 12:42:23 +00:00
meson.build spirv: add some tests for volatile/available/visible 2020-09-01 17:15:22 +00:00
nir_types.cpp nir: Add a size_align helper function for aligning elements to 16 bytes. 2020-11-16 13:54:22 -08:00
nir_types.h nir: Add a size_align helper function for aligning elements to 16 bytes. 2020-11-16 13:54:22 -08:00
shader_enums.c compiler: Drop now unused gl_varying_slot_name() 2021-02-13 00:44:53 +00:00
shader_enums.h compiler: Drop now unused gl_varying_slot_name() 2021-02-13 00:44:53 +00:00
shader_info.h nir: Extract shader_info->cs.shared_size out of union. 2021-04-08 14:39:28 +00:00