aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2015-09-28 06:44:37 +0200
committerSven Gothel <[email protected]>2015-09-28 06:44:37 +0200
commitdad07ad7f7e54c593e58fe3a7ace41bfe4f39b05 (patch)
tree60d9e7dfd77600ace60f10476f6204fa94744c7f
parent3235a4ae91e0202f9a36b8df4893f83be129dea2 (diff)
Bug 1233 - Add missing range- and pbo-bound checks on glTexture[Sub]Image[123]D*
Adding missing range- and pbo-bound checks for: - glTextureImage1DEXT - glTextureImage2DEXT - glTextureImage3DEXT - glTextureSubImage1D - glTextureSubImage1DEXT - glTextureSubImage2D - glTextureSubImage2DEXT - glTextureSubImage3D - glTextureSubImage3DEXT
-rw-r--r--make/config/jogl/gl-common.cfg65
1 files changed, 52 insertions, 13 deletions
diff --git a/make/config/jogl/gl-common.cfg b/make/config/jogl/gl-common.cfg
index f22730472..54934002b 100644
--- a/make/config/jogl/gl-common.cfg
+++ b/make/config/jogl/gl-common.cfg
@@ -762,12 +762,22 @@ BufferObjectKind UnpackPixel glPixelMapuiv
BufferObjectKind UnpackPixel glPixelMapusv
BufferObjectKind UnpackPixel glPolygonStipple
BufferObjectKind UnpackPixel glSeparableFilter2D
+
BufferObjectKind UnpackPixel glTexImage1D
+BufferObjectKind UnpackPixel glTextureImage1DEXT
BufferObjectKind UnpackPixel glTexImage2D
+BufferObjectKind UnpackPixel glTextureImage2DEXT
BufferObjectKind UnpackPixel glTexImage3D
+BufferObjectKind UnpackPixel glTextureImage3DEXT
BufferObjectKind UnpackPixel glTexSubImage1D
+BufferObjectKind UnpackPixel glTextureSubImage1D
+BufferObjectKind UnpackPixel glTextureSubImage1DEXT
BufferObjectKind UnpackPixel glTexSubImage2D
+BufferObjectKind UnpackPixel glTextureSubImage2D
+BufferObjectKind UnpackPixel glTextureSubImage2DEXT
BufferObjectKind UnpackPixel glTexSubImage3D
+BufferObjectKind UnpackPixel glTextureSubImage3D
+BufferObjectKind UnpackPixel glTextureSubImage3DEXT
BufferObjectKind PackPixel glGetColorTable
BufferObjectKind PackPixel glGetCompressedTexImage
@@ -832,20 +842,49 @@ JavaPrologue glGetTexImage depth = tmp[0];
JavaPrologue glGetTexImage }
# Range check directives for various image-related routines
-RangeCheckBytes glColorTable 5 imageSizeInBytes({3}, {4}, {2} , 1 , 1 , false)
-RangeCheckBytes glColorTableEXT 5 imageSizeInBytes({3}, {4}, {2} , 1 , 1 , false)
-RangeCheckBytes glConvolutionFilter1D 5 imageSizeInBytes({3}, {4}, {2} , 1 , 1 , false)
-RangeCheckBytes glConvolutionFilter2D 6 imageSizeInBytes({4}, {5}, {2} , {3} , 1 , false)
-RangeCheckBytes glDrawPixels 4 imageSizeInBytes({2}, {3}, {0} , {1} , 1 , false)
-RangeCheckBytes glReadPixels 6 imageSizeInBytes({4}, {5}, {2} , {3} , 1 , true)
-RangeCheckBytes glTexImage1D 7 imageSizeInBytes({5}, {6}, {3} , 1 , 1 , false)
-RangeCheckBytes glTexImage2D 8 imageSizeInBytes({6}, {7}, {3} , {4} , 1 , false)
-RangeCheckBytes glTexImage3D 9 imageSizeInBytes({7}, {8}, {3} , {4} , {5} , false)
-RangeCheckBytes glTexSubImage1D 6 imageSizeInBytes({4}, {5}, {3} , 1 , 1 , false)
-RangeCheckBytes glTexSubImage2D 8 imageSizeInBytes({6}, {7}, {4} , {5} , 1 , false)
-RangeCheckBytes glTexSubImage3D 10 imageSizeInBytes({8}, {9}, {5} , {6} , {7} , false)
+# glTexImage1D( int target, int level, int internalFormat, int width, int border, int format, int type, Buffer pixels)
+# glTextureImage1DEXT(int texture, int target, int level, int internalformat, int width, int border, int format, int type, Buffer pixels)
+# glTexImage2D( int target, int level, int internalFormat, int width, int height, int border, int format, int type, Buffer pixels)
+# glTextureImage2DEXT(int texture, int target, int level, int internalformat, int width, int height, int border, int format, int type, Buffer pixels)
+# glTexImage3D( int target, int level, int internalformat, int width, int height, int depth, int border, int format, int type, Buffer pixels)
+# glTextureImage3DEXT(int texture, int target, int level, int internalformat, int width, int height, int depth, int border, int format, int type, Buffer pixels)
+#
+# glTexSubImage1D( int target, int level, int xoffset, int width, int format, int type, Buffer pixels)
+# glTextureSubImage1D( int texture, int level, int xoffset, int width, int format, int type, Buffer pixels)
+# glTextureSubImage1DEXT(int texture, int target, int level, int xoffset, int width, int format, int type, Buffer pixels)
+# glTexSubImage2D( int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, Buffer pixels)
+# glTextureSubImage2D( int texture, int level, int xoffset, int yoffset, int width, int height, int format, int type, Buffer pixels)
+# glTextureSubImage2DEXT(int texture, int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, Buffer pixels)
+# glTexSubImage3D( int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, Buffer pixels)
+# glTextureSubImage3D( int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, Buffer pixels)
+# glTextureSubImage3DEXT(int texture, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, Buffer pixels)
+#
+# imageSizeInBytes(int format, int type, int width, int height, int depth, boolean pack)
+#
+RangeCheckBytes glColorTable 5 imageSizeInBytes({3}, {4}, {2}, 1 , 1 , false)
+RangeCheckBytes glColorTableEXT 5 imageSizeInBytes({3}, {4}, {2}, 1 , 1 , false)
+RangeCheckBytes glConvolutionFilter1D 5 imageSizeInBytes({3}, {4}, {2}, 1 , 1 , false)
+RangeCheckBytes glConvolutionFilter2D 6 imageSizeInBytes({4}, {5}, {2}, {3}, 1 , false)
+RangeCheckBytes glDrawPixels 4 imageSizeInBytes({2}, {3}, {0}, {1}, 1 , false)
+RangeCheckBytes glReadPixels 6 imageSizeInBytes({4}, {5}, {2}, {3}, 1 , true)
+RangeCheckBytes glTexImage1D 7 imageSizeInBytes({5}, {6}, {3}, 1 , 1 , false)
+RangeCheckBytes glTextureImage1DEXT 8 imageSizeInBytes({6}, {7}, {4}, 1 , 1 , false)
+RangeCheckBytes glTexImage2D 8 imageSizeInBytes({6}, {7}, {3}, {4}, 1 , false)
+RangeCheckBytes glTextureImage2DEXT 9 imageSizeInBytes({7}, {8}, {4}, {5}, 1 , false)
+RangeCheckBytes glTexImage3D 9 imageSizeInBytes({7}, {8}, {3}, {4}, {5}, false)
+RangeCheckBytes glTextureImage3DEXT 10 imageSizeInBytes({8}, {9}, {4}, {5}, {6}, false)
+RangeCheckBytes glTexSubImage1D 6 imageSizeInBytes({4}, {5}, {3}, 1 , 1 , false)
+RangeCheckBytes glTextureSubImage1D 6 imageSizeInBytes({4}, {5}, {3}, 1 , 1 , false)
+RangeCheckBytes glTextureSubImage1DEXT 7 imageSizeInBytes({5}, {6}, {4}, 1 , 1 , false)
+RangeCheckBytes glTexSubImage2D 8 imageSizeInBytes({6}, {7}, {4}, {5}, 1 , false)
+RangeCheckBytes glTextureSubImage2D 8 imageSizeInBytes({6}, {7}, {4}, {5}, 1 , false)
+RangeCheckBytes glTextureSubImage2DEXT 9 imageSizeInBytes({7}, {8}, {5}, {6}, 1 , false)
+RangeCheckBytes glTexSubImage3D 10 imageSizeInBytes({8}, {9}, {5}, {6}, {7}, false)
+RangeCheckBytes glTextureSubImage3D 10 imageSizeInBytes({8}, {9}, {5}, {6}, {7}, false)
+RangeCheckBytes glTextureSubImage3DEXT 11 imageSizeInBytes({9}, {10}, {6}, {7}, {8}, false)
+
# This may produce wrong answers for 1D textures
-RangeCheckBytes glGetTexImage 4 imageSizeInBytes({2}, {3}, width , height , depth, true)
+RangeCheckBytes glGetTexImage 4 imageSizeInBytes({2}, {3}, width, height, depth, true)
# Note we don't support glTexImage4DSGIS / glTexSubImage4DSGIS
# FIXME: add the following unpack operations:
# glBitmap, glPolygonStipple