diff options
author | Chad Versace <[email protected]> | 2013-01-08 16:13:18 -0800 |
---|---|---|
committer | Chad Versace <[email protected]> | 2013-01-24 21:11:41 -0800 |
commit | 3a88d71d3558d756b0567efe4f22179d2606367c (patch) | |
tree | 4dd0d80b4a7b665078db2b5b82b8e9a881dc77b5 /src/glsl/builtins | |
parent | 6f8f919a530b570aba13342dfe9a82a8f44a9f69 (diff) |
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 <[email protected]>
Reviewed-by: Matt Tuner <[email protected]>
Signed-off-by: Chad Versace <[email protected]>
Diffstat (limited to 'src/glsl/builtins')
-rw-r--r-- | src/glsl/builtins/ir/packHalf2x16.ir | 6 | ||||
-rw-r--r-- | src/glsl/builtins/ir/packSnorm2x16.ir | 6 | ||||
-rw-r--r-- | src/glsl/builtins/ir/packUnorm2x16.ir | 6 | ||||
-rw-r--r-- | src/glsl/builtins/ir/unpackHalf2x16.ir | 6 | ||||
-rw-r--r-- | src/glsl/builtins/ir/unpackSnorm2x16.ir | 6 | ||||
-rw-r--r-- | src/glsl/builtins/ir/unpackUnorm2x16.ir | 6 | ||||
-rw-r--r-- | src/glsl/builtins/profiles/300es.glsl | 14 |
7 files changed, 43 insertions, 7 deletions
diff --git a/src/glsl/builtins/ir/packHalf2x16.ir b/src/glsl/builtins/ir/packHalf2x16.ir new file mode 100644 index 00000000000..2f854071574 --- /dev/null +++ b/src/glsl/builtins/ir/packHalf2x16.ir @@ -0,0 +1,6 @@ +((function packHalf2x16 + (signature uint + (parameters + (declare (in) vec2 arg0)) + ((return (expression uint packHalf2x16 (var_ref arg0))))) +)) diff --git a/src/glsl/builtins/ir/packSnorm2x16.ir b/src/glsl/builtins/ir/packSnorm2x16.ir new file mode 100644 index 00000000000..b4575d2da3f --- /dev/null +++ b/src/glsl/builtins/ir/packSnorm2x16.ir @@ -0,0 +1,6 @@ +((function packSnorm2x16 + (signature uint + (parameters + (declare (in) vec2 arg0)) + ((return (expression uint packSnorm2x16 (var_ref arg0))))) +)) diff --git a/src/glsl/builtins/ir/packUnorm2x16.ir b/src/glsl/builtins/ir/packUnorm2x16.ir new file mode 100644 index 00000000000..c809f2d7046 --- /dev/null +++ b/src/glsl/builtins/ir/packUnorm2x16.ir @@ -0,0 +1,6 @@ +((function packUnorm2x16 + (signature uint + (parameters + (declare (in) vec2 arg0)) + ((return (expression uint packUnorm2x16 (var_ref arg0))))) +)) diff --git a/src/glsl/builtins/ir/unpackHalf2x16.ir b/src/glsl/builtins/ir/unpackHalf2x16.ir new file mode 100644 index 00000000000..f5b6fc23783 --- /dev/null +++ b/src/glsl/builtins/ir/unpackHalf2x16.ir @@ -0,0 +1,6 @@ +((function unpackHalf2x16 + (signature vec2 + (parameters + (declare (in) uint arg0)) + ((return (expression vec2 unpackHalf2x16 (var_ref arg0))))) +)) diff --git a/src/glsl/builtins/ir/unpackSnorm2x16.ir b/src/glsl/builtins/ir/unpackSnorm2x16.ir new file mode 100644 index 00000000000..9092a063877 --- /dev/null +++ b/src/glsl/builtins/ir/unpackSnorm2x16.ir @@ -0,0 +1,6 @@ +((function unpackSnorm2x16 + (signature vec2 + (parameters + (declare (in) uint arg0)) + ((return (expression vec2 unpackSnorm2x16 (var_ref arg0))))) +)) diff --git a/src/glsl/builtins/ir/unpackUnorm2x16.ir b/src/glsl/builtins/ir/unpackUnorm2x16.ir new file mode 100644 index 00000000000..935dc85821d --- /dev/null +++ b/src/glsl/builtins/ir/unpackUnorm2x16.ir @@ -0,0 +1,6 @@ +((function unpackUnorm2x16 + (signature vec2 + (parameters + (declare (in) uint arg0)) + ((return (expression vec2 unpackUnorm2x16 (var_ref arg0))))) +)) diff --git a/src/glsl/builtins/profiles/300es.glsl b/src/glsl/builtins/profiles/300es.glsl index 45212b30dc7..4b7160dd2c2 100644 --- a/src/glsl/builtins/profiles/300es.glsl +++ b/src/glsl/builtins/profiles/300es.glsl @@ -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 |