[Mesa-dev] [PATCH] mesa: Enable GL_ANGLE_pack_reverse_row_order
Fredrik Höglund
fredrik at kde.org
Mon Nov 5 09:57:42 PST 2012
This extension is functionally the same as GL_MESA_pack_invert,
but is also available in GLES.
---
docs/relnotes-9.1.html | 1 +
src/mapi/glapi/gen/es_EXT.xml | 7 +++++++
src/mesa/main/extensions.c | 1 +
src/mesa/main/get_hash_params.py | 3 +++
src/mesa/main/glheader.h | 4 ++++
src/mesa/main/pixelstore.c | 3 ++-
6 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/docs/relnotes-9.1.html b/docs/relnotes-9.1.html
index 5bf9d8c..4aae5f6 100644
--- a/docs/relnotes-9.1.html
+++ b/docs/relnotes-9.1.html
@@ -45,6 +45,7 @@ Note: some of the new features are only available with certain drivers.
<ul>
<li>GL_ARB_map_buffer_alignment</li>
+<li>GL_ANGLE_pack_reverse_row_order</li>
</ul>
diff --git a/src/mapi/glapi/gen/es_EXT.xml b/src/mapi/glapi/gen/es_EXT.xml
index 1fdb4d5..69cb39b 100644
--- a/src/mapi/glapi/gen/es_EXT.xml
+++ b/src/mapi/glapi/gen/es_EXT.xml
@@ -782,6 +782,13 @@
<enum name="RG8_EXT" value="0x822B"/>
</category>
+<!-- 110. GL_ANGLE_pack_reverse_row_order -->
+<category name="GL_ANGLE_pack_reverse_row_order" number="110">
+ <enum name="PACK_REVERSE_ROW_ORDER_ANGLE" count="1" value="0x93A4">
+ <size name="Get" mode="get"/>
+ </enum>
+</category>
+
<!-- 111. GL_ANGLE_texture_compression_dxt -->
<category name="ANGLE_texture_compression_dxt" number="111">
<enum name="COMPRESSED_RGBA_S3TC_DXT3_ANGLE" value="0x83F2"/>
diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
index f8688cd..0fb4ed8 100644
--- a/src/mesa/main/extensions.c
+++ b/src/mesa/main/extensions.c
@@ -274,6 +274,7 @@ static const struct extension extension_table[] = {
{ "GL_AMD_draw_buffers_blend", o(ARB_draw_buffers_blend), GL, 2009 },
{ "GL_AMD_seamless_cubemap_per_texture", o(AMD_seamless_cubemap_per_texture), GL, 2009 },
{ "GL_AMD_shader_stencil_export", o(ARB_shader_stencil_export), GL, 2009 },
+ { "GL_ANGLE_pack_reverse_row_order", o(MESA_pack_invert), GL | ES1 | ES2, 2011 },
{ "GL_APPLE_object_purgeable", o(APPLE_object_purgeable), GL, 2006 },
{ "GL_APPLE_packed_pixels", o(dummy_true), GLL, 2002 },
{ "GL_APPLE_texture_max_level", o(dummy_true), ES1 | ES2, 2009 },
diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py
index 376df09..d54ea0e 100644
--- a/src/mesa/main/get_hash_params.py
+++ b/src/mesa/main/get_hash_params.py
@@ -120,6 +120,9 @@ descriptor=[
# GL_EXT_texture_filter_anisotropic
[ "MAX_TEXTURE_MAX_ANISOTROPY_EXT", "CONTEXT_FLOAT(Const.MaxTextureMaxAnisotropy), extra_EXT_texture_filter_anisotropic" ],
+
+# GL_ANGLE_pack_reverse_row_order
+ [ "PACK_REVERSE_ROW_ORDER_ANGLE", "CONTEXT_BOOL(Pack.Invert), NO_EXTRA" ],
]},
# Enums in OpenGL and GLES1
diff --git a/src/mesa/main/glheader.h b/src/mesa/main/glheader.h
index e93ca30..33c3d40 100644
--- a/src/mesa/main/glheader.h
+++ b/src/mesa/main/glheader.h
@@ -134,6 +134,10 @@ typedef void *GLeglImageOES;
#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
#endif
+#ifndef GL_ANGLE_pack_reverse_row_order
+#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4
+#endif
+
#ifndef GL_ATI_texture_compression_3dc
#define GL_ATI_texture_compression_3dc 1
#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837
diff --git a/src/mesa/main/pixelstore.c b/src/mesa/main/pixelstore.c
index e56d504..ea4340d 100644
--- a/src/mesa/main/pixelstore.c
+++ b/src/mesa/main/pixelstore.c
@@ -133,6 +133,8 @@ _mesa_PixelStorei( GLenum pname, GLint param )
case GL_PACK_INVERT_MESA:
if (!_mesa_is_desktop_gl(ctx))
goto invalid_enum_error;
+ /* fallthrough */
+ case GL_PACK_REVERSE_ROW_ORDER_ANGLE:
if (!ctx->Extensions.MESA_pack_invert) {
_mesa_error( ctx, GL_INVALID_ENUM, "glPixelstore(pname)" );
return;
@@ -142,7 +144,6 @@ _mesa_PixelStorei( GLenum pname, GLint param )
FLUSH_VERTICES(ctx, _NEW_PACKUNPACK);
ctx->Pack.Invert = param;
break;
-
case GL_UNPACK_SWAP_BYTES:
if (!_mesa_is_desktop_gl(ctx))
goto invalid_enum_error;
--
1.7.7.3
More information about the mesa-dev
mailing list