glsl: Add IR lisp for ARB_shading_language_packing

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
diff --git a/src/glsl/builtins/ir/packSnorm4x8.ir b/src/glsl/builtins/ir/packSnorm4x8.ir
new file mode 100644
index 0000000..a153aa9
--- /dev/null
+++ b/src/glsl/builtins/ir/packSnorm4x8.ir
@@ -0,0 +1,6 @@
+((function packSnorm4x8
+   (signature uint
+     (parameters
+       (declare (in) vec4 arg0))
+     ((return (expression uint packSnorm4x8 (var_ref arg0)))))
+))
diff --git a/src/glsl/builtins/ir/packUnorm4x8.ir b/src/glsl/builtins/ir/packUnorm4x8.ir
new file mode 100644
index 0000000..3a8e46c
--- /dev/null
+++ b/src/glsl/builtins/ir/packUnorm4x8.ir
@@ -0,0 +1,6 @@
+((function packUnorm4x8
+   (signature uint
+     (parameters
+       (declare (in) vec4 arg0))
+     ((return (expression uint packUnorm4x8 (var_ref arg0)))))
+))
diff --git a/src/glsl/builtins/ir/unpackSnorm4x8.ir b/src/glsl/builtins/ir/unpackSnorm4x8.ir
new file mode 100644
index 0000000..3c6ed4a
--- /dev/null
+++ b/src/glsl/builtins/ir/unpackSnorm4x8.ir
@@ -0,0 +1,6 @@
+((function unpackSnorm4x8
+   (signature vec4
+     (parameters
+       (declare (in) uint arg0))
+     ((return (expression vec4 unpackSnorm4x8 (var_ref arg0)))))
+))
diff --git a/src/glsl/builtins/ir/unpackUnorm4x8.ir b/src/glsl/builtins/ir/unpackUnorm4x8.ir
new file mode 100644
index 0000000..e1dfd74
--- /dev/null
+++ b/src/glsl/builtins/ir/unpackUnorm4x8.ir
@@ -0,0 +1,6 @@
+((function unpackUnorm4x8
+   (signature vec4
+     (parameters
+       (declare (in) uint arg0))
+     ((return (expression vec4 unpackUnorm4x8 (var_ref arg0)))))
+))
diff --git a/src/glsl/builtins/profiles/ARB_shading_language_packing.glsl b/src/glsl/builtins/profiles/ARB_shading_language_packing.glsl
new file mode 100644
index 0000000..210af51
--- /dev/null
+++ b/src/glsl/builtins/profiles/ARB_shading_language_packing.glsl
@@ -0,0 +1,14 @@
+#version 130
+#extension GL_ARB_shading_language_packing : enable
+
+highp   uint packSnorm2x16(        vec2 v);
+highp   uint packUnorm2x16(        vec2 v);
+highp   uint packSnorm4x8 (        vec4 v);
+highp   uint packUnorm4x8 (        vec4 v);
+highp   uint packHalf2x16 (mediump vec2 v);
+
+highp   vec2 unpackSnorm2x16(highp uint p);
+highp   vec2 unpackUnorm2x16(highp uint p);
+highp   vec4 unpackSnorm4x8 (highp uint p);
+highp   vec4 unpackUnorm4x8 (highp uint p);
+mediump vec2 unpackHalf2x16 (highp uint p);