summaryrefslogtreecommitdiffstats
path: root/opengl/libs/GLES_CM
Commit message (Collapse)AuthorAgeFilesLines
* am 17cbadf0: am 6fa169fa: Merge "Add aarch64 EGL/GLES trampolines"Jesse Hall2014-06-071-13/+31
|\ | | | | | | | | * commit '17cbadf0f598b0d02179262ad5b6b270850ccb94': Add aarch64 EGL/GLES trampolines
| * Add aarch64 EGL/GLES trampolinesJesse Hall2014-06-061-13/+31
| | | | | | | | Change-Id: Ia90e18d26ff3bdb7e643aff8d77cbaddd2ac2a03
* | am 92374318: am 618c78c0: am dc273621: Merge "EGL: add x86/64 assembly code ↵Jesse Hall2014-05-271-0/+38
|\ \ | |/ | | | | | | | | | | for EGL/GLES wrappers" * commit '92374318b82945f3d03461f3d0c659adb8409fc5': EGL: add x86/64 assembly code for EGL/GLES wrappers
| * EGL: add x86/64 assembly code for EGL/GLES wrappersmwajdecz2014-05-271-0/+38
| | | | | | | | | | | | | | | | There was no explicit support for x86/64 architecture in EGL/GLES wrappers. This resulted either in failures or sub-optimal implementation of the wrapper functions. Change-Id: I20d99d7372fbf642ee4b94a05c8cb971cba29988 Signed-off-by: Wajdeczko, Michal <michal.wajdeczko@intel.com>
* | opengl: Update GLES headers and generate *.in from registry XMLJesse Hall2014-05-212-213/+312
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Import GLES headers from Khronos SVN r26322: https://cvs.khronos.org/svn/repos/registry/trunk/public/gles/api 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 for a list. 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: I902517c23354e14f9c63b1584db286d682315bb5
* | Revert "opengl: Generate *.in from registry XML"Jesse Hall2014-05-202-312/+213
| | | | | | | | | | | | This reverts commit 4a73962c694bfe57eb2bea40ed6fb626be7006aa. Change-Id: I1fa5cbe4d0b86f6df69d616157b3fec68d706d7a
* | opengl: Generate *.in from registry XMLJesse Hall2014-05-192-213/+312
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Disable warnings when generating GL wrappersJesse Hall2014-05-171-0/+2
|/ | | | | Bug: 15028495 Change-Id: Ic0c974e868d05632a06748c90cedbdd409ce2aa8
* native frameworks: 64-bit compile issuesMark Salyzyn2014-03-121-7/+7
| | | | | | | - Fix format (print/scanf) - Suppress unused argument warning messages (bonus) Change-Id: I05c7724d2aba6da1e82a86000e11f3a8fef4e728
* improve GLES jumptablesMathias Agopian2013-07-011-43/+13
| | | | | | | | | | | in the common case this saves one instructions per jump (which will help with the i-cache). this change also gets rid of the "use slow tls" option, which was useless. So at least now architectures that don't have assembly bindings will perform much better. Change-Id: I31be6c06ad2136b50ef3a1ac14682d7812ad40d2
* fix local include pathsMathias Agopian2013-04-041-2/+2
| | | | Change-Id: Icb921fa796ec08612dbb2feb7e7161bcb0cf4a99
* Fix MIPS assembly variable names to not conflict with GL API parameter namesJesse Hall2013-03-301-8/+8
| | | | Change-Id: I8e93fb55018de53a596cb176d48dbfdf1fd396e4
* [MIPS] Add MIPS architecture support to opengl frameworkDuane Sand2013-03-281-0/+38
| | | | Change-Id: Id7704d35bed14d96a85dc1f29db0566cd03872b5
* Simplify OpenGL TLS access on ARM.Elliott Hughes2013-02-131-8/+1
| | | | | | bionic now assumes the TLS register is available, so OpenGL can too. Change-Id: If2b56a4c08de9f887759b78f70022026a181dc47
* Don't wrap EGLImageKHR and EGLSyncKHR anymoreMathias Agopian2012-02-142-26/+2
| | | | | | | | this simplify our EGL wrapper implementation a lot. This wrapping is no longer needed now that we can only support a single underlaying EGL implementation. Change-Id: I8213df7ac69daac447f1fe6e37044b78aac4e9a9
* add support for GL_EXT_debug_markerMathias Agopian2012-01-292-1/+15
| | | | | | | | | | | | | | This extension is always added to the GL_EXTENSIONS extension string for the current GL context, regardless of if it's supported by the h/w driver. The extension itself will be handled by GLES_trace (eventually), when GLES_trace is not enabled, it'll result to a no-op. If the h/w implementation has this extension, we'll call that version instead of our dummy version. Change-Id: Ie5dd3387c4d45cd5ed5f03b73bda6045620a96bc
* update GLES headers and add support for corresponding new extensions.Mathias Agopian2012-01-281-0/+42
| | | | Change-Id: I554d9659113b4721b748ee5c1a3b1ca82b11d75e
* Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-081-1/+1
| | | | | | | See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
* better fix for [3028370] GL get error should return a valid error if no ↵Mathias Agopian2010-09-231-0/+1
| | | | | | | | | | | | | | | context is bound. it turns out that we cannot return INVALID_OPERATION from glGetError() because the GL spec says that it must be called in a loop until it returns GL_NO_ERROR. now, we always return 0 from GL functions called from a thread with no context bound. This means that glGetError() will return NO_ERROR in this case, which is better than returning a random value (which could trap the app in a loop). if this happens in the main thread of a process, we LOG an error message once. Change-Id: Id59620e675a890286ef62a257c02b06e0fdcaf69
* update GL ES stub libraries with the new GL ES headersMathias Agopian2010-06-092-2/+110
| | | | Change-Id: I83be94049ddfe3fd7f5bee71a21172ade1498dd5
* Fix Android's glEGLImageTargetRenderbufferOES() wrapperMathias Agopian2010-03-291-1/+1
| | | | | | | glEGLImageTargetRenderbufferOES() pass the wrapped EGLImage to the implementation, rather than the unwrapped one. Change-Id: I149f9ed73e6ab9089110600e1db4311ba7a8c83a
* Implement Matrix Palette extension.Jack Palevich2009-12-081-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds support for formerly-unimplemented methods: glCurrentPaletteMatrixOES glLoadPaletteFromModelViewMatrixOES glMatrixIndexPointerOES glWeightPointerOES The bulk of the changes are related to implementing the two PointerOES methods, which are implemented pretty much the same way as the existing Pointer methods were implemented. This change also changes the way glPointSizePointerOES is implemented, making it act like all the other Pointer methods. (Previously it was not handling non-direct-buffer arguments correctly.) Fixes bug 2308625 "Support matrix palette skinning in JSR239 and related APIs" Also updated GLLogWraper to fix two bugs in GLLogWrapper that were discovered while testing matrix palette skinning support: a) Handle trying to print the contents of null-but-enabled buffers. (It's not legal to draw with null-but-enabled buffers, and in fact some OpenGL drivers will crash if you try to render in this state, but there's no reason the GLLogWrapper should crash while trying to debug this situation. b) Don't read off the end of a vertex buffer with non-zero position when printing the entire contents of the vertex buffer. Now we only print from the current position to the end of the buffer.
* Use the TLS register if HAVE_ARM_TLS_REGISTER is definedMathias Agopian2009-10-191-3/+11
| | | | | this will be needed for SMP, but would improve dispatching GL calls a bit on armv6 and above.
* fix [2187212] add support for GLESv2 dispatch based on TLSMathias Agopian2009-10-142-235/+0
| | | | | | | | | | | | | Instead of using a different function pointer table for ES 1.x and ES 2.x, we use a single one that is the union (sort|uniq) of both tables. Two instances of this table are initialized with pointers to GL ES 1.x and GL ES 2.x entry-points. When a context is created, we store its version number and when it is bound to a thread we set the approruiate table based on the stored version. This introduce no penalty while dispatching gl calls to the right API version. [Pending Dr No approval for MR1]
* add a way to easily catch and log GL errors (compile time flag)Mathias Agopian2009-10-081-3/+21
|
* Added most of the support needed for GLES 2.xMathias Agopian2009-05-272-0/+235
|
* Merge commit 'goog/master' into merge_masterMathias Agopian2009-05-141-0/+11
|\ | | | | | | | | | | | | Conflicts: opengl/libagl/Android.mk opengl/libs/Android.mk opengl/libs/egl_impl.h
| * remove the gl{Vertex|Color|TexCoord|Normal}PointerBounds() "extension" fro ↵Mathias Agopian2009-05-081-0/+11
| | | | | | | | eglext.h
* | Merge commit 'goog/master' into merge_masterMathias Agopian2009-04-304-1675/+561
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | Conflicts: libs/surfaceflinger/Layer.cpp libs/surfaceflinger/SurfaceFlinger.cpp opengl/libagl/egl.cpp opengl/libs/EGL/egl.cpp opengl/libs/GLES_CM/gl.cpp opengl/libs/GLES_CM/gl_api.in opengl/libs/gl_entries.in opengl/libs/tools/glapigen
| * use gl.h to generate the *.in files. we are now supporting the full gl.h and ↵Mathias Agopian2009-04-233-617/+563
| | | | | | | | glext.h apis.
| * integrate some OpenGL ES changes back from master_gl in preparation of ↵Mathias Agopian2009-04-233-1409/+511
| | | | | | | | opening GLES to the NDK.
* | Integrate from //sandbox/mathias/donut/...@145728Mathias Agopian2009-04-102-351/+520
|/ | | | SurfaceFlinger rework for new EGL driver model support.
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-033-0/+1782
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-033-1782/+0
|
* auto import from //branches/cupcake/...@130745The Android Open Source Project2009-02-103-0/+1782