glsl: Add IR lisp for GLSL ES 3.00 pack/unpack functions

For each of the following functions, add a declaration to
builtins/profiles/300es.glsl and create new file
builtins/ir/${funcname}.ir:

  packSnorm2x16  unpackSnorm2x16
  packUnorm2x16  unpackUnorm2x16
  packHalf2x16   unpackHalf2x16

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Tuner <mattst88@gmail.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
This commit is contained in:
Chad Versace 2013-01-08 16:13:18 -08:00
parent 6f8f919a53
commit 3a88d71d35
7 changed files with 43 additions and 7 deletions

View file

@ -0,0 +1,6 @@
((function packHalf2x16
(signature uint
(parameters
(declare (in) vec2 arg0))
((return (expression uint packHalf2x16 (var_ref arg0)))))
))

View file

@ -0,0 +1,6 @@
((function packSnorm2x16
(signature uint
(parameters
(declare (in) vec2 arg0))
((return (expression uint packSnorm2x16 (var_ref arg0)))))
))

View file

@ -0,0 +1,6 @@
((function packUnorm2x16
(signature uint
(parameters
(declare (in) vec2 arg0))
((return (expression uint packUnorm2x16 (var_ref arg0)))))
))

View file

@ -0,0 +1,6 @@
((function unpackHalf2x16
(signature vec2
(parameters
(declare (in) uint arg0))
((return (expression vec2 unpackHalf2x16 (var_ref arg0)))))
))

View file

@ -0,0 +1,6 @@
((function unpackSnorm2x16
(signature vec2
(parameters
(declare (in) uint arg0))
((return (expression vec2 unpackSnorm2x16 (var_ref arg0)))))
))

View file

@ -0,0 +1,6 @@
((function unpackUnorm2x16
(signature vec2
(parameters
(declare (in) uint arg0))
((return (expression vec2 unpackUnorm2x16 (var_ref arg0)))))
))

View file

@ -325,14 +325,14 @@ vec4 uintBitsToFloat(uvec4 value);
/*
* 8.4 - Floating-Point Pack and Unpack Functions
* FIXME: implement these
*/
// uint packSnorm2x16(vec2 v);
// vec2 unpackSnorm2x16(uint p);
// uint packUnorm2x16(vec2 v);
// vec2 unpackUnorm2x16(uint p);
// uint packHalf2x16(vec2 v);
// vec2 unpackHalf2x16(uint p);
highp uint packSnorm2x16( vec2 v);
highp uint packUnorm2x16( vec2 v);
highp uint packHalf2x16 (mediump vec2 v);
highp vec2 unpackSnorm2x16(highp uint p);
highp vec2 unpackUnorm2x16(highp uint p);
mediump vec2 unpackHalf2x16 (highp uint p);
/*
* 8.5 - Geometric Functions