OSDN Git Service

opengl: Generate *.in from registry XML
authorJesse Hall <jessehall@google.com>
Wed, 14 May 2014 04:21:46 +0000 (21:21 -0700)
committerJesse Hall <jessehall@google.com>
Mon, 19 May 2014 19:54:05 +0000 (12:54 -0700)
commit4a73962c694bfe57eb2bea40ed6fb626be7006aa
treee0a227b3961ea286a8f39bfcd15851d285f3557a
parent20670e33c76a32370695a82a3e7f2fb30be30608
opengl: Generate *.in from registry XML

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
16 files changed:
opengl/include/GLES/glext.h
opengl/libs/GLES2/gl2_api.in
opengl/libs/GLES2/gl2ext_api.in
opengl/libs/GLES_CM/gl_api.in
opengl/libs/GLES_CM/glext_api.in
opengl/libs/GLES_trace/gltrace.proto
opengl/libs/GLES_trace/src/gltrace.pb.cpp
opengl/libs/GLES_trace/src/gltrace.pb.h
opengl/libs/GLES_trace/src/gltrace_api.cpp
opengl/libs/GLES_trace/src/gltrace_api.h
opengl/libs/GLES_trace/tools/genapi.py
opengl/libs/entries.in
opengl/libs/enums.in
opengl/libs/trace.in
opengl/tools/glgen2/.gitignore [new file with mode: 0644]
opengl/tools/glgen2/glgen.py [new file with mode: 0755]