# This .cfg file is used to generate the GL interface and implementing class.
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl

# Inform the glue code generator of the association between #defines
# and functions and the extensions in which they are defined
# _for_ code generation. This shall match the parsed header files!
GLSemHeader GLES3/gl3x.h
GLSemHeader GLES3/gl3ext.h
GLSemHeader GLES2/gl2ext-supplement.h
GLSemHeader GLES2/gl2ext.h

Package com.jogamp.opengl
Style InterfaceOnly
JavaClass GL4ES3
#Extends GL4ES3 GLBase
#Extends GL4ES3 GL
#Extends GL4ES3 GL2ES2
#Extends GL4ES3 GL2ES3
Extends GL4ES3 GL3ES3

ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2ES2.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2ES3.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL3ES3.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL3.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/GLBase.java

HierarchicalNativeOutput false
Include gl-common.cfg
Include gl-common-gpubufferonly.cfg
Include gl-common-extensions.cfg
Include gl-embedded-ignores.cfg
Include gl-desktop-ignores.cfg
Include gl2_es3-common.cfg
Include gl3_es3-common.cfg
Include gl-glsl4-ignores.cfg
Include gl-if-es2-ignores.cfg
Include gl-if-es3-ignores.cfg

ForceExtension GL_ARB_ES3_compatibility
ForceExtension GL_NV_shader_subgroup_partitioned

# Invert gl-gl4_es3-ignores.cfg
#
# Written against the OpenGL 4.3 and OpenGL ES 2.0 spec
ForceExtension GL_NV_conservative_raster
#
# Written against the OpenGL 4.3 and OpenGL ES 3.1 spec
ForceExtension GL_NV_fill_rectangle
ForceExtension GL_NV_sample_locations
ForceExtension GL_NV_fragment_coverage_to_color
ForceExtension GL_NV_viewport_swizzle
#
# OpenGL 4.3 or OpenGL ES 3.1 required.
ForceExtension GL_NV_shader_subgroup_partitioned
#
# OpenGL 4.5 or OpenGL ES 3.2 is required.
ForceExtension GL_NV_primitive_shading_rate
ForceExtension GL_NV_shading_rate_image
ForceExtension GL_NV_mesh_shader
ForceExtension GL_NV_representative_fragment_test
ForceExtension GL_NV_scissor_exclusive
#
# Written against the OpenGL 4.5 and OpenGL ES 3.1 spec
ForceExtension GL_NV_clip_space_w_scaling
#
# Written against the OpenGL 4.5 and OpenGL ES 3.2 spec
ForceExtension GL_EXT_memory_object
ForceExtension GL_EXT_memory_object_fd
# ForceExtension GL_EXT_memory_object_win32
ForceExtension GL_EXT_semaphore
ForceExtension GL_EXT_semaphore_fd
# ForceExtension GL_EXT_semaphore_win32
ForceExtension GL_NV_draw_vulkan_image
#
# Written against the OpenGL 4.6 and OpenGL ES 3.2 spec
ForceExtension GL_NV_timeline_semaphore
ForceExtension GL_NV_memory_attachment
ForceExtension GL_NV_memory_object_sparse

#
# Same name but different signature ..
# No collisions found .. good!

# dummy procaddress config / force procaddress for comments
EmitProcAddressTable false
ProcAddressTableClassName DontGenerateProcAddressTableStuff
GetProcAddressTableExpr DontGenerateProcAddressTableStuff
ForceProcAddressGen __ALL__

# Also force the calling conventions of the locally generated function
# pointer typedefs for these routines to APIENTRY
LocalProcAddressCallingConvention __ALL__ APIENTRY

# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums
TagNativeBinding true

Import java.io.PrintStream
