summaryrefslogtreecommitdiffstats
path: root/opengl/tools
Commit message (Collapse)AuthorAgeFilesLines
* Fix EGL shim extension injection for GL ES 3 drivers.Alistair Strachan2015-05-281-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | The Android EGL shim injects GL_EXT_debug_marker into the ES driver EXTENSIONS string for the OpenGL ES 1.x and 2.0/3.0/3.1 drivers if the extension is not already provided. This feature is used by GLES_trace. In Open GL ES 3.0 it became possible to query an indexed version of the EXTENSIONS string via GetStringi(). NUM_EXTENSIONS Gets were also added to the specification (taken from Open GL). If the shim does not have to inject the extension, then there is no problem, as glGetString() and glGetStringi() / NUM_EXTENSIONS will be consistent. However, if the Android EGL shim injects the extension, NUM_EXTENSIONS and GetStringi() will report one less extension than is really available. Consistency between these methods is tested by the dEQP framework with the dEQP-GLES3.functional.state_query.string.extensions test. If the driver does not provide GL_EXT_debug_marker, this test fails. This change wraps all of the affected entry points so that the wrapped driver extensions are never visible directly to dEQP, eliminating the inconsistency.
* Replace JNI primitive array critical calls with non-critical ones.Hiroshi Yamauchi2015-05-1215-161/+395
| | | | | | | The glgen part. Bug: 19235243 Change-Id: I69dfa84f15366808b964517c1ba270ddeb3c5940
* Fix pointer-to-int and int-to-pointer warnings.Dan Albert2015-02-233-3/+8
| | | | Change-Id: If534cbcf2c3e644270572cbf829ba9b5acab29e6
* Merge "Avoid overwriting EGL14.EGL_NO_SURFACE"Jesse Hall2014-12-021-10/+6
|\
| * Avoid overwriting EGL14.EGL_NO_SURFACESangkyu Lee2014-11-251-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both EGL14 and EGLExt have the same initialization codes for EGL14.EGL_NO_SURFACE, EGL14.EGL_NO_CONTEXT and EGL14.EGL_NO_DISPLAY. Since EGLExt is initialized later, they are overwritten by EGLExt's initialization codes. Therefore, EGL_NO_SURFACE returned by methods in EGL14 is not actually EGL14.EGL_NO_SURFACE object and it makes several problems in handling error cases. For instance, "Let's fish" game application cannot be run on L. To solve the problem, this patch makes EGL14.EGL_NO_SURFACE, EGL14.EGL_NO_CONTEXT and EGL14.EGL_NO_DISPLAY initialized just once. Change-Id: Icce878164ff0b715ad2b5a2cd038a9616c7cf1e9
* | Frameworks/native: Add pragmas to glgen headersAndreas Gampe2014-11-1213-2/+46
|/ | | | | | | | | | | | The code currently being generated by glgen is not the cleanest, but we would like to get core/jni onto -Werror. Thus add pragmas turning off warnings locally to the C headers. Also fix signed-comparison in two functions. Longer term TODO: Emit clean code. Change-Id: Iee8582f8c0c1de076d64851d3b6ca467afd5bc43
* opengl: Fix include style in generated JNI codeJesse Hall2014-05-201-2/+2
| | | | | Bug: 15028495 Change-Id: Ie38d398751a374f11bef8944a2aa0f8311934911
* opengl: Un-hide GLES31 and GLES31Ext classesJesse Hall2014-05-202-2/+0
| | | | | Bug: 15028495 Change-Id: Iaac1e8d2ad5ea840d728a78804e2566be18a4340
* opengl: Add GLES31 and GLES31Ext class templatesJesse Hall2014-05-2051-3/+1006
| | | | | Bug: 15028495 Change-Id: I276d04f029d441e092428fad72f09ca15e1d233a
* Merge "opengl: Regenerate code with ES 3.1 and new extensions"Jesse Hall2014-05-201-4/+0
|\
| * opengl: Regenerate code with ES 3.1 and new extensionsJesse Hall2014-05-191-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable ES 3.1 generation in glgen.py, and regenerate everything to add support for that as well as these new extensions in the registry: - EXT_copy_image - EXT_draw_buffers_indexed - EXT_geometry_shader - EXT_gpu_shader5 - EXT_primitive_bounding_box - EXT_shader_implicit_conversions - EXT_shader_io_blocks - EXT_tessellation_shader - EXT_texture_border_clamp - EXT_texture_buffer - EXT_texture_cube_map_array - EXT_texture_view Bug: 15028495 Change-Id: I35acb473cba2433b9aeb95d1b8bfbdcfadf22532
* | Merge "opengl: Add EXT_primitive_bounding_box to registry"Jesse Hall2014-05-201-1/+21
|\ \ | |/
| * opengl: Add EXT_primitive_bounding_box to registryJesse Hall2014-05-191-1/+21
| | | | | | | | | | | | | | | | This extension hasn't been published yet, so it isn't in the public registry. That will change before the next platform release to AOSP. Bug: 15028495 Change-Id: Iadafe0f776b5b9be4f81c4279a89c57ae02293e4
* | Merge "opengl: Update registry and headers from Khronos"Jesse Hall2014-05-201-42/+431
|\ \ | |/
| * opengl: Update registry and headers from KhronosJesse Hall2014-05-191-42/+431
| | | | | | | | | | | | | | | | | | | | | | gl.xml @ r26697: https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api GLES headers @ r26698: https://cvs.khronos.org/svn/repos/registry/trunk/public/gles/api Bug: 15028495 Change-Id: Id8e7aaf8a09ec6f47dc3a3b14b95d0ddf35d50f6
* | Merge "opengl: Generate *.in from registry XML"Jesse Hall2014-05-202-0/+255
|\ \ | |/
| * opengl: Generate *.in from registry XMLJesse Hall2014-05-192-0/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are many non-functional whitespace and parameter name changes included here. These were introduced upstream when converting from the old .spec registry to the new XML registry. There are also some new extensions added. Unfortunately there isn't a version of the XML that matches the headers the previous versions of the *.in files were generated from, so I can't separate out the non-functional changes from the new extensions (other than temporarily hacking them out of the XML). See below. Finally, I had to hack the official glext.h. Khronos hasn't updated the official GLES1 headers since switching to the XML registry, and there is one critical difference: a "const void**" parameter in the official header is "const void* const*" in the registry. I changed the header to avoid build errors with code generated from the registry. Dependencies on the *.in files required manually updating some GLES_trace/ files as well: - gltrace_api.{h,cpp} must be manually re-generated using tools/genapi.py. - New GL prototypes must be manually added to gltrace.proto. - gltrace.pb.{h,cpp} must be regenerated using aprotoc (see dev.make) New GLES extensions in libs/GLES_CM/glext_api.in: - GL_OES_byte_coordinates - GL_EXT_map_buffer_range - GL_APPLE_copy_texture_levels - GL_APPLE_sync New GLES2 extensions in libs/GLES2/gl2ext_api.in: - GL_KHR_blend_equation_advanced - GL_KHR_debug - GL_OES_sample_shading - GL_OES_texture_storage_multisample_2d_array - GL_EXT_disjoint_timer_query - GL_EXT_draw_buffers - GL_EXT_draw_instanced - GL_EXT_instanced_arrays - GL_EXT_map_buffer_range - GL_EXT_map_buffer_range - GL_EXT_multiview_draw_buffers - GL_EXT_separate_shader_objects - GL_ANGLE_instanced_arrays - GL_ANGLE_translated_shader_source - GL_APPLE_copy_texture_levels - GL_APPLE_sync - GL_INTEL_performance_query - GL_NV_blend_equation_advanced - GL_NV_copy_buffer - GL_NV_draw_instanced - GL_NV_framebuffer_blit - GL_NV_framebuffer_multisample - GL_NV_instanced_arrays - GL_NV_non_square_matrices Bug: 15028495 Change-Id: Ib3fa700a146adf7f1487a93e459b1e6df0dcdc42
* | Merge "Import GL registry from upstream @r26448."Jesse Hall2014-05-194-0/+45481
|\ \ | |/
| * Import GL registry from upstream @r26448.Jesse Hall2014-05-194-0/+45481
| | | | | | | | | | | | | | | | Public GL registry is at: https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api Bug: 15028495 Change-Id: I41cc865bf39e1155c4467411d0b1afced44b0874
* | opengl: Fix whitespace in Java templatesJesse Hall2014-05-187-11/+11
|/ | | | | | | | Someone fixed these in the generated code, so re-generating even with no other changes caused diffs. Better to just fix it at the source. Bug: 15028495 Change-Id: I248f9796d4e3d904c4c0dc15be5f8de231df7285
* Fix bad link tag in javadoc.Narayan Kamath2014-02-281-1/+1
| | | | | | | Java7 javadoc tools seem to accept this without complaint but not all targets use java7 yet. Change-Id: Ib08be8ad0f7db2e89f38b764cce858d0e7eecd2e
* API changes for 64 bit platforms.Narayan Kamath2014-02-271-15/+14
| | | | | | | | | EGLObjectHandle.<init>(int) and int EGLObjectHandle.getHandle() have now been deprecated and replaced with variants that take and return java longs. bug: 13181704 Change-Id: Ie88e591c288d6de5655364b4cd673f61cce68d7d
* am 3e599252: am 93e6a48b: Merge "AArch64: Make eglGetDisplay(int) work for ↵Narayan Kamath2014-02-272-3/+2
|\ | | | | | | | | | | | | EGL_DEFAULT_DISPLAY" * commit '3e599252c0f5a8e70f4b8d4ab5baffb7e5b0b0e1': AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAY
| * AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAYAshok Bhat2014-02-262-3/+2
| | | | | | | | | | | | | | | | | | This will allow eglGetDisplay(int) to work on both 32-bit and 64-bit systems when EGL_DEFAULT_DISPLAY is passed as a parameter. Change-Id: I0d7e9ca5410b0dd893eacc02aac40956908e4f25 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | am aa01ad91: am aaa27fd5: Merge "Use reinterpret_cast when an integer is ↵Narayan Kamath2014-02-256-6/+8
|\ \ | |/ | | | | | | | | | | cast to a pointer" * commit 'aa01ad91cd22304fd15810f241c67ebb59e90c04': Use reinterpret_cast when an integer is cast to a pointer
| * Merge "Use reinterpret_cast when an integer is cast to a pointer"Narayan Kamath2014-02-256-6/+8
| |\
| | * Use reinterpret_cast when an integer is cast to a pointerAshok Bhat2014-02-246-6/+8
| | | | | | | | | | | | | | | Change-Id: I5adcd59f58c029f7b2b596f4826d8ea69fb9bba6 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | | am 097b5991: am e5c99bf3: Merge "Use long for pointers in opengl/EGL classes"Narayan Kamath2014-02-2514-40/+203
|\ \ \ | |/ / | | | | | | | | | * commit '097b59919f01d7b057d252d23cb96ce5fcdd9469': Use long for pointers in opengl/EGL classes
| * | Use long for pointers in opengl/EGL classesAshok Bhat2014-02-2414-40/+203
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EGL classes in frameworks/base have to be updated to support 64-bit platforms. Key changes in the EGL classes include [x] EGLObjectHandle class - EGLObjectHandle class has two public methods (constructor and getHandle) that assume handles are 32-bit. They have not been changed. Instead, two new hidden methods (EGLObjectHandle(long) and getNativeHandle) have been added. [x] EG14 class - Two public methods eglGetDisplay and eglCreatePbufferFromClientBuffer assume that handles are 32-bit. They have been changed to throw unsupported operation exception on non 32-bit machines. Two new methods eglGetDisplay(long) and eglCreatePbufferFromClientBuffer(...long buffer..) have been added to support 64-bit handles. To allow the above changes in frameworks/base EGL classes, corresponding code generation mechanism in frameworks/native has been updated. Change-Id: I5d0a62e10c20ccf05f610d6608b8dfb6414b5116 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
| * Merge "Update EGL codegen to be in sync with frameworks/base"Narayan Kamath2014-02-211-1/+1
| |\
| | * Update EGL codegen to be in sync with frameworks/baseAshok Bhat2014-02-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Takeshi Aimi with commit-id f9337377 changed core/jni/android_opengl_EGL14.cpp in the frameworks/base. However the corresponding code snippet in frameworks/ native was not updated. This patch addresses the issue. Change-Id: I40bcc43d36d7ab4e0db4a73556a4f7480c7431c1 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
| * | Update GLES codegen to be in sync with frameworks/baseAshok Bhat2014-02-201-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | Patch from synergydev with commit-id 01994c79 changed core/jni/com_google_android_gles_jni_GLImpl.cpp in the frameworks/base. However the corresponding code snippet in frameworks/native was not updated. This patch addresses the issue. Change-Id: I89c3d88de832efc8cbbe682c8a7ff7dfbef99db3 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | Hide three malformed GL bindingsAndy McFadden2014-02-195-2/+5
|/ | | | | | | | | | | | They were replaced with correct bindings a while back, but the broken methods weren't hidden. Also, pick up two changes that were made to the generated code rather than the source. Bug 6006380 Change-Id: Ibfe9a5f2e13e745f8d82116d1b4d8c2d025ac830
* am d9be16f9: Merge "Fix OpenGL stub exception handling."Elliott Hughes2013-09-271-0/+1
|\ | | | | | | | | * commit 'd9be16f920f7c2581fda3ca495c1e6fc88857a6c': Fix OpenGL stub exception handling.
| * Fix OpenGL stub exception handling.Elliott Hughes2013-09-241-0/+1
| | | | | | | | | | Bug: https://code.google.com/p/android/issues/detail?id=60390 Change-Id: I2bdc22c5fe75f5e41ffb9dd9259ae92cf8a12917
* | All consumers now take an IGraphicBufferConsumer instead of a BufferQueueMathias Agopian2013-08-061-4/+4
| | | | | | | | | | | | | | | | | | | | this means they only have access to the consumer end of the interface. we had a lot of code that assumed consumers where holding a BufferQueue (i.e.: both ends), so most of this change is untangling in fix that Bug: 9265647 Change-Id: Ic2e2596ee14c7535f51bf26d9a897a0fc036d22c
* | Fix wrapper equals()Andy McFadden2013-06-215-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | Make it faster and correcter. Also, fixed the "gen" script to update the static/egl/*.java files as part of doing an update. Altered the "git" lines to change directories before invoking git -- necessary because we're now split between frameworks/base and frameworks/native. Bug 9204146 Change-Id: Ie60504b1932349e6f2c9d3868dee6a645ef2b36e
* | am 958ef3d7: am c8639351: Generate new EGLExt classJesse Hall2013-05-028-24/+195
|\ \ | |/ | | | | | | * commit '958ef3d79c48ddef3afa5327f7ed15a5ecfd2d1d': Generate new EGLExt class
| * Generate new EGLExt classJesse Hall2013-05-028-24/+195
| | | | | | | | | | | | | | | | Initially populated with EGL_ANDROID_presentation_time (moved from the EGL14 class) and the ES-relevant parts of EGL_KHR_create_context. Bug: 8678160 Change-Id: Ifed2ee3da264ca701ae1f4b309a0758f7fcc3acc
* | am 34c0fb18: am cc8f8ad3: Merge "Fix glGetUniformIndices JNI prototype" into ↵Jesse Hall2013-04-301-1/+1
|\ \ | |/ | | | | | | | | | | jb-mr2-dev * commit '34c0fb183767b80e93a7cd77233ead5fe50bd822': Fix glGetUniformIndices JNI prototype
| * Fix glGetUniformIndices JNI prototypeJesse Hall2013-04-291-1/+1
| | | | | | | | | | Bug: 8657863 Change-Id: I130d1b54d0cbd1f8613d3108482526d05d73d9e4
* | Fix range checkAndy McFadden2013-04-251-0/+1
|/ | | | | | | | | | | The getarray() function checks to see if there's enough room in the buffer, but it's using a byte count for the available size and a possibly non-byte count for the space required. Dividing down by the unit size corrects the problem. Bug 8713753 Change-Id: Id42c0df65c3233dcc5f76d05e229f7d40d4c1f99
* Subclass GLES30 from GLES20, @Deprecate GL_STENCIL_INDEXJesse Hall2013-04-155-466/+9
| | | | | Bug: 8566953 Change-Id: I66085c300a8658a4018796645257edb73be94719
* Special-case glGetActiveUniformBlockNameJesse Hall2013-04-104-1/+159
| | | | | Bug: 8566953 Change-Id: Ic9b3be9fa0136495633ee3b1c38583cfa315942a
* Special-case glGetStringiJesse Hall2013-04-104-1/+17
| | | | | | | Modeled on the existing glGetString special-case. Bug: 8566953 Change-Id: Icc6b23ab53b00510368900ad99c92028253dc797
* Special-case glMapBufferRangeJesse Hall2013-04-104-1/+24
| | | | | | | | | Updating the generator to handle GLvoid*/java.nio.Buffer return values probably wouldn't be too hard, but this is the only function that needs it currently. Bug: 8566953 Change-Id: I359a951136ab479ab576ce2e5a2881b937b7e8c9
* Special-case glGetBufferPointervJesse Hall2013-04-104-1/+20
| | | | | Bug: 8566953 Change-Id: I11a7394eb46f229fd3ae716e77487a45bac6ed53
* Special-case glGetUniformIndicesJesse Hall2013-04-104-1/+174
| | | | | Bug: 8566953 Change-Id: Ic8bcd03e8d41a81f48d603f67ce2046a4afa1561
* Special-case glGetTransformFeedbackVaryingJesse Hall2013-04-104-1/+381
| | | | | | | | Just a search-and-replace on the glGetActiveAttrib special-case, since they have the same signature and parameter handling. Bug: 8566953 Change-Id: I40834d6f32bf9ecb39718df29036aa2d1bbfa07a
* Special-case glTransformFeedbackVaryingsJesse Hall2013-04-104-1/+59
| | | | | Bug: 8566953 Change-Id: I02a1548aebc12bd3599903029bfd2e4ccea53211