Adding GL_ARM_texture_unnormalized_coordinates. (#373)
diff --git a/api/GL/glcorearb.h b/api/GL/glcorearb.h
index 149a577..8d691cc 100755
--- a/api/GL/glcorearb.h
+++ b/api/GL/glcorearb.h
@@ -3838,6 +3838,12 @@
#ifndef GL_ARB_viewport_array
#define GL_ARB_viewport_array 1
+typedef void (APIENTRYP PFNGLDEPTHRANGEARRAYDVNVPROC) (GLuint first, GLsizei count, const GLdouble *v);
+typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDDNVPROC) (GLuint index, GLdouble n, GLdouble f);
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDepthRangeArraydvNV (GLuint first, GLsizei count, const GLdouble *v);
+GLAPI void APIENTRY glDepthRangeIndexeddNV (GLuint index, GLdouble n, GLdouble f);
+#endif
#endif /* GL_ARB_viewport_array */
#ifndef GL_KHR_blend_equation_advanced
@@ -5028,6 +5034,22 @@
#define GL_NV_conservative_raster_underestimation 1
#endif /* GL_NV_conservative_raster_underestimation */
+#ifndef GL_NV_depth_buffer_float
+#define GL_NV_depth_buffer_float 1
+#define GL_DEPTH_COMPONENT32F_NV 0x8DAB
+#define GL_DEPTH32F_STENCIL8_NV 0x8DAC
+#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD
+#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF
+typedef void (APIENTRYP PFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar);
+typedef void (APIENTRYP PFNGLCLEARDEPTHDNVPROC) (GLdouble depth);
+typedef void (APIENTRYP PFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax);
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDepthRangedNV (GLdouble zNear, GLdouble zFar);
+GLAPI void APIENTRY glClearDepthdNV (GLdouble depth);
+GLAPI void APIENTRY glDepthBoundsdNV (GLdouble zmin, GLdouble zmax);
+#endif
+#endif /* GL_NV_depth_buffer_float */
+
#ifndef GL_NV_draw_vulkan_image
#define GL_NV_draw_vulkan_image 1
typedef void (APIENTRY *GLVULKANPROCNV)(void);
diff --git a/api/GL/glext.h b/api/GL/glext.h
index 8a0adff..d19d4f2 100644
--- a/api/GL/glext.h
+++ b/api/GL/glext.h
@@ -51,7 +51,7 @@
#define GLAPI extern
#endif
-#define GL_GLEXT_VERSION 20191206
+#define GL_GLEXT_VERSION 20200221
#include <KHR/khrplatform.h>
@@ -4892,6 +4892,12 @@
#ifndef GL_ARB_viewport_array
#define GL_ARB_viewport_array 1
+typedef void (APIENTRYP PFNGLDEPTHRANGEARRAYDVNVPROC) (GLuint first, GLsizei count, const GLdouble *v);
+typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDDNVPROC) (GLuint index, GLdouble n, GLdouble f);
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDepthRangeArraydvNV (GLuint first, GLsizei count, const GLdouble *v);
+GLAPI void APIENTRY glDepthRangeIndexeddNV (GLuint index, GLdouble n, GLdouble f);
+#endif
#endif /* GL_ARB_viewport_array */
#ifndef GL_ARB_window_pos
diff --git a/api/GL/glxext.h b/api/GL/glxext.h
index 951deff..6ce4608 100755
--- a/api/GL/glxext.h
+++ b/api/GL/glxext.h
@@ -34,7 +34,7 @@
** https://github.com/KhronosGroup/OpenGL-Registry
*/
-#define GLX_GLXEXT_VERSION 20191029
+#define GLX_GLXEXT_VERSION 20200219
/* Generated C header for:
* API: glx
diff --git a/api/GL/wgl.h b/api/GL/wgl.h
index 56e6727..eff02f6 100644
--- a/api/GL/wgl.h
+++ b/api/GL/wgl.h
@@ -39,7 +39,7 @@
#include <windows.h>
#endif
-/* Generated on date 20191029 */
+/* Generated on date 20200219 */
/* Generated C header for:
* API: wgl
diff --git a/api/GL/wglext.h b/api/GL/wglext.h
index 0d0f6e4..21f30ea 100755
--- a/api/GL/wglext.h
+++ b/api/GL/wglext.h
@@ -39,7 +39,7 @@
#include <windows.h>
#endif
-#define WGL_WGLEXT_VERSION 20191029
+#define WGL_WGLEXT_VERSION 20200219
/* Generated C header for:
* API: wgl
diff --git a/api/GLES/gl.h b/api/GLES/gl.h
index 8ecf987..4273914 100644
--- a/api/GLES/gl.h
+++ b/api/GLES/gl.h
@@ -36,7 +36,7 @@
#include <GLES/glplatform.h>
-/* Generated on date 20191206 */
+/* Generated on date 20200221 */
/* Generated C header for:
* API: gles1
diff --git a/api/GLES/glext.h b/api/GLES/glext.h
index 44bb338..1204f5b 100644
--- a/api/GLES/glext.h
+++ b/api/GLES/glext.h
@@ -38,7 +38,7 @@
#define GL_APIENTRYP GL_APIENTRY*
#endif
-/* Generated on date 20191206 */
+/* Generated on date 20200221 */
/* Generated C header for:
* API: gles1
diff --git a/api/GLES2/gl2.h b/api/GLES2/gl2.h
index 91cb429..9cfa822 100644
--- a/api/GLES2/gl2.h
+++ b/api/GLES2/gl2.h
@@ -44,7 +44,7 @@
#define GL_GLES_PROTOTYPES 1
#endif
-/* Generated on date 20191206 */
+/* Generated on date 20200221 */
/* Generated C header for:
* API: gles2
diff --git a/api/GLES2/gl2ext.h b/api/GLES2/gl2ext.h
index 2273178..0e08aab 100644
--- a/api/GLES2/gl2ext.h
+++ b/api/GLES2/gl2ext.h
@@ -38,7 +38,7 @@
#define GL_APIENTRYP GL_APIENTRY*
#endif
-/* Generated on date 20191206 */
+/* Generated on date 20200221 */
/* Generated C header for:
* API: gles2
@@ -1081,6 +1081,11 @@
#define GL_ARM_shader_framebuffer_fetch_depth_stencil 1
#endif /* GL_ARM_shader_framebuffer_fetch_depth_stencil */
+#ifndef GL_ARM_texture_unnormalized_coordinates
+#define GL_ARM_texture_unnormalized_coordinates 1
+#define GL_TEXTURE_UNNORMALIZED_COORDINATES_ARM 0x8F6A
+#endif /* GL_ARM_texture_unnormalized_coordinates */
+
#ifndef GL_DMP_program_binary
#define GL_DMP_program_binary 1
#define GL_SMAPHS30_PROGRAM_BINARY_DMP 0x9251
diff --git a/api/GLES3/gl3.h b/api/GLES3/gl3.h
index a50319c..681e46a 100644
--- a/api/GLES3/gl3.h
+++ b/api/GLES3/gl3.h
@@ -44,7 +44,7 @@
#define GL_GLES_PROTOTYPES 1
#endif
-/* Generated on date 20191206 */
+/* Generated on date 20200221 */
/* Generated C header for:
* API: gles2
diff --git a/extensions/ARM/ARM_texture_unnormalized_coordinates.txt b/extensions/ARM/ARM_texture_unnormalized_coordinates.txt
new file mode 100644
index 0000000..05cf4fb
--- /dev/null
+++ b/extensions/ARM/ARM_texture_unnormalized_coordinates.txt
@@ -0,0 +1,132 @@
+Name
+ ARM_texture_unnormalized_coordinates
+
+Name Strings
+
+ GL_ARM_texture_unnormalized_coordinates
+
+Contact
+
+ Jan-Harald Fredriksen ( jan-harald.fredriksen 'at' arm.com)
+
+Contributors
+
+ Jan-Harald Fredriksen, ARM
+
+Status
+
+ Complete
+
+Version
+
+ Last Modified Date: December 17, 2019
+ Revision: 1
+
+Number
+
+ 324
+
+Dependencies
+
+ OpenGL ES 3.0 is required.
+ This extension is written against OpenGL ES 3.2, May 14th 2018.
+
+Overview
+
+ This extension provides the option to switch to unnormalized
+ coordinates for texture lookups using a sampler parameter.
+
+ Texture lookup in OpenGL ES is done using normalized coordinates. For
+ certain applications it is convenient to work with non-normalized
+ coordinates instead. It also beneficial to keep support for bilinear
+ filtering.
+
+ Additional restrictions apply to textures with non-normalized
+ coordinates that affect texture completeness and the available
+ texture lookup functions.
+
+IP Status
+
+ No known IP claims.
+
+New Procedures and Functions
+
+ None
+
+New Tokens
+
+ Accepted by the <pname> parameter of TexParameteri, TexParameterf,
+ TexParameteriv, TexParameterfv, SamplerParameteri, SamplerParameterf,
+ SamplerParameteriv, SamplerParameterfv, TexParameterIivEXT,
+ TexParameterIuivEXT, SamplerParameterIivEXT, SamplerParameterIuivEXT,
+ GetTexParameteriv, GetTexParameterfv, GetTexParameterIivEXT,
+ GetTexParameterIuivEXT, GetSamplerParameteriv, GetSamplerParameterfv,
+ GetSamplerParameterIivEXT, and GetSamplerParameterIuivEXT:
+
+ TEXTURE_UNNORMALIZED_COORDINATES_ARM 0x8F6A
+
+Additions to Chapter 8 of the OpenGL ES 3.2 Specification (Textures and Samplers)
+
+ Add a section after section 8.15 (Texture Magnification)
+
+ 8.xx Unnormalized coordinates
+
+ If the value of TEXTURE_UNNORMALIZED_COORDINATES_ARM is TRUE, then the range
+ of the coordinates used to lookup the texture value is in the range of zero
+ to the texture dimensions for x, y and z, rather than in the range of zero
+ to one.
+
+ When the value of TEXTURE_UNNORMALIZED_COORDINATES_ARM is TRUE,
+ equation 8.9 is not used. Instead, let
+ u(x; y) = s(x; y)
+ v(x; y) = t(x; y)
+ w(x; y) = r(x; y)
+
+ When the value of TEXTURE_UNNORMALIZED_COORDINATES_ARM is TRUE, results of
+ a texture lookup are undefined if any of the following conditions is true:
+ - the texture access is performed with a lookup functions that supports
+ texel offsets
+ - the texture access is performed with a lookup functions with projection
+
+
+ Add to 8.17 Texture Completeness
+
+ Add to the conditions for texture completeness below "Using the preceding
+ definitions, a texture is complete unless any of the following conditions
+ hold true:":
+
+ * The value of TEXTURE_UNNORMALIZED_COORDINATES_ARM is TRUE, and any of
+ ** the texture is not a two-dimensional texture
+ ** the minification filter is not NEAREST
+ ** the magnification is not NEAREST
+ ** the value of TEXTURE_BASE_LEVEL is not 0
+ ** the value of TEXTURE_WRAP_S and TEXTURE_WRAP_T is not CLAMP_TO_EDGE nor CLAMP_TO_BORDER
+ ** the value of TEXTURE_COMPARE_MODE is not NONE
+
+Errors
+
+ None.
+
+New State
+
+ Modify Table 21.12: Textures (state per sampler object)
+
+ Add the following parameter:
+
+ Get Value Type Get Command Value Description Sec.
+ ------------------------------------- ----- ------------------- ------- ------------------- ----
+ TEXTURE_UNNORMALIZED_COORDINATES_ARM B GetSamplerParameter FALSE unnormalized coords 8.xx
+
+New Implementation Dependent State
+
+ None
+
+Issues
+
+ None
+
+Revision History
+
+ Rev. Date Author Changes
+ ---- ---------- -------- -----------------------------------------
+ 1 2019-12-17 jhf initial version
diff --git a/extensions/esext.php b/extensions/esext.php
index 441d8a6..f8cab59 100644
--- a/extensions/esext.php
+++ b/extensions/esext.php
@@ -673,4 +673,6 @@
</li>
<li value=323><a href="extensions/INTEL/INTEL_shader_integer_functions2.txt">GL_INTEL_shader_integer_functions2</a>
</li>
+<li value=324><a href="extensions/ARM/ARM_texture_unnormalized_coordinates.txt">GL_ARM_texture_unnormalized_coordinates</a>
+</li>
</ol>
diff --git a/extensions/registry.py b/extensions/registry.py
index 85b249d..ff6a692 100644
--- a/extensions/registry.py
+++ b/extensions/registry.py
@@ -1414,6 +1414,11 @@
'flags' : { 'public' },
'url' : 'extensions/ARM/ARM_shader_framebuffer_fetch_depth_stencil.txt',
},
+ 'GL_ARM_texture_unnormalized_coordinates' : {
+ 'esnumber' : 324,
+ 'flags' : { 'public' },
+ 'url' : 'extensions/ARM/ARM_texture_unnormalized_coordinates.txt',
+ },
'GL_ATI_draw_buffers' : {
'number' : 277,
'flags' : { 'public' },
diff --git a/xml/gl.xml b/xml/gl.xml
index 0c4834e..c894a3e 100644
--- a/xml/gl.xml
+++ b/xml/gl.xml
@@ -10339,7 +10339,8 @@
<enum value="0x8F67" name="GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT"/>
<unused start="0x8F68" vendor="ARM"/>
<enum value="0x8F69" name="GL_TEXTURE_ASTC_DECODE_PRECISION_EXT"/>
- <unused start="0x8F6A" end="0x8F6F" vendor="ARM"/>
+ <enum value="0x8F6A" name="GL_TEXTURE_UNNORMALIZED_COORDINATES_ARM" group="SamplerParameterF,SamplerParameterI,GetTextureParameter,TextureParameterName"/>
+ <unused start="0x8F6B" end="0x8F6F" vendor="ARM"/>
</enums>
<enums namespace="GL" start="0x8F70" end="0x8F7F" vendor="HI" comment="For Mark Callow, Khronos bug 4055. Shared with EGL.">
@@ -44079,6 +44080,11 @@
</require>
</extension>
<extension name="GL_ARM_shader_framebuffer_fetch_depth_stencil" supported="gles2"/>
+ <extension name="GL_ARM_texture_unnormalized_coordinates" supported="gles2">
+ <require>
+ <enum name="GL_TEXTURE_UNNORMALIZED_COORDINATES_ARM"/>
+ </require>
+ </extension>
<extension name="GL_ATI_draw_buffers" supported="gl">
<require>
<enum name="GL_MAX_DRAW_BUFFERS_ATI"/>