glsl: Add "built-in" functions to do 64x64 => 64 multiplication
authorIan Romanick <ian.d.romanick@intel.com>
Sat, 15 Oct 2016 01:11:51 +0000 (18:11 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 20 Jan 2017 23:41:23 +0000 (15:41 -0800)
commit330fc2413c61f0bd9c7bb9f3a0ecd91b09de267a
tree9f6fa4014c98f04b40539b268a7be7a34c1b56a1
parentaa38bf1e593eba3e65c4e10154410158d6d263c5
glsl: Add "built-in" functions to do 64x64 => 64 multiplication

These functions are directly available in shaders.  A #define is added
to detect the presence.  This allows these functions to be tested using
piglit regardless of whether the driver uses them for lowering.  The
GLSL spec says that functions and macros beginning with __ are reserved
for use by the implementation... hey, that's us!

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/compiler/Makefile.sources
src/compiler/glsl/builtin_functions.cpp
src/compiler/glsl/builtin_functions.h
src/compiler/glsl/builtin_int64.h [new file with mode: 0644]
src/compiler/glsl/generate_ir.cpp [new file with mode: 0644]
src/compiler/glsl/glcpp/glcpp-parse.y
src/compiler/glsl/glcpp/glcpp.h
src/compiler/glsl/glcpp/pp.c
src/compiler/glsl/int64.glsl [new file with mode: 0644]