mesa/src/compiler/spirv
Iago Toral Quiroga e062eb6415 nir/spirv: implement ordered / unordered floating point comparisons properly
Besides the logical operation involved, these also require that we test if the
operands are ordered / unordered.

For ordered operations, both operands must be ordered (and they must pass the
conditional test) while for unordered operations it is sufficient if only one
of the operands is unordered (or they pass the logical test).

Fixes the following Vulkan CTS tests:

dEQP-VK.spirv_assembly.instruction.compute.opfunord.equal
dEQP-VK.spirv_assembly.instruction.compute.opfunord.greater
dEQP-VK.spirv_assembly.instruction.compute.opfunord.greaterequal
dEQP-VK.spirv_assembly.instruction.compute.opfunord.less
dEQP-VK.spirv_assembly.instruction.compute.opfunord.lessequal

v2: Fixed typo: s/nir_eq/nir_feq

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
2016-11-23 08:07:44 +01:00
..
GLSL.std.450.h spirv: Move to compiler/ 2016-04-14 10:28:47 -07:00
nir_spirv.h spirv: Move to compiler/ 2016-04-14 10:28:47 -07:00
spirv.h spirv: Move to compiler/ 2016-04-14 10:28:47 -07:00
spirv2nir.c nir/spirv: improve mmap() error handling 2016-10-01 15:27:46 -07:00
spirv_info.c nir/spirv: Add string lookup tables for a couple of SPIR-V enums 2016-06-03 19:29:28 -07:00
spirv_info.h nir/spirv: Add string lookup tables for a couple of SPIR-V enums 2016-06-03 19:29:28 -07:00
spirv_to_nir.c spirv: Stop warning about input attachments 2016-11-22 13:03:23 -08:00
vtn_alu.c nir/spirv: implement ordered / unordered floating point comparisons properly 2016-11-23 08:07:44 +01:00
vtn_cfg.c nir/spirv/cfg: Use a nop intrinsic for tagging the ends of blocks 2016-10-03 16:17:12 -07:00
vtn_glsl450.c nir/spirv/glsl450: Add support for the InterpolateAt opcodes 2016-09-21 05:39:06 -07:00
vtn_private.h spirv: Handle the InputAttachmentIndex decoration 2016-11-22 13:02:35 -08:00
vtn_variables.c spirv: Handle the InputAttachmentIndex decoration 2016-11-22 13:02:35 -08:00