diff --git a/.gitignore b/.gitignore index 97d03479..380d08b8 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ /.project /*.iml /dependency-reduced-pom.xml +.gradle +.vscode diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 642d572c..abd303b6 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,2 +1,2 @@ -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.2/apache-maven-3.8.2-bin.zip wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/README.md b/README.md index 9e9ea5db..bc1f4823 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,179 @@ -# lwjgl3-demos -Demo suite for LWJGL 3 +# lwjgl3-demos + GraalVM native image -## Building +Demos for LWJGL 3, compiled to native executable by GraalVM native-image utility. - ./mvnw package - -To override main class +All demos in [src](src/org/lwjgl/demo) are included in the build. Most demos are portable +across different OSes, but some are GPU-specific, like the [Vulkan demos](src/org/lwjgl/demo/vulkan) +which need a discrete GPU with supporting Vulkan driver, or the [CUDA demos](src/org/lwjgl/demo/cuda) +which require a NVIDIA graphics card to run. - ./mvnw package -Dclass=opengl.UniformArrayDemo +Gradle and Maven build scripts are provided for building the project, +which requires JDK 11+ or GraalVM 21+ (for native image). -## Running +## GraalVM pre-requisites - java -jar target/lwjgl3-demos.jar +### Setup for GraalVM native-image utility and C compiler -on Mac OS you need to specify the `-XstartOnFirstThread` JVM argument, so the above becomes: +The [GraalVM native-image](https://www.graalvm.org/reference-manual/native-image) page +shows how to set up GraalVM and its native-image utility for common platforms. +[Gluon](https://gluonhq.com/) also provides some setup +[details](https://docs.gluonhq.com/#_platforms) for GraalVM native-image creation. - java -XstartOnFirstThread -jar target/lwjgl3-demos.jar +This project's Gradle build script uses the +[gluonfx-gradle-plugin](https://github.com/gluonhq/gluonfx-gradle-plugin) +from Gluon to build the native executable from Gradle with GraalVM. -To override main class +Gluon also provides the [gluonfx-maven-plugin](https://github.com/gluonhq/gluonfx-maven-plugin) +which is used in this project's Maven build script and works similarly to the above +gluonfx-gradle-plugin. + +### Native-image configuration files + +The GraalVM native-image utility will use the configuration files in +`res/META-INF/native-image` folder to assist in the native-image generation. + +The configuration files were generated when running the demos in standard JVM with a +[GraalVM agent](https://www.graalvm.org/reference-manual/native-image/BuildConfiguration/#assisted-configuration-of-native-image-builds), +which tracks all usages of dynamic features of an execution of the demos +and writes the info to the configuration files. +Usage of the agent is contained in the [Gradle build script](build.gradle#L135), +or in the [Maven build script](pom.xml#L185), which can be turned on (i.e. uncommented) +and the demos are re-run to update the configuration files, if need be. + +The above agent is not perfect; it sometimes misses some classes referenced via reflection +which is used extensively in LWJGL. In the case of the LWJGL demos, many `org.lwjgl.bgfx.*` +and `org.lwjgl.assimp.*` classes need be added manually to the configuration files, +to avoid ClassNotFoundException being thrown when running the [bgfx](src/org/lwjgl/demo/bgfx) +or [assimp](src/org/lwjgl/demo/opengl/assimp) demos in the generated native image. + +## Gradle build tasks + +### Run in standard JVM + +To build and run the demos in standard JVM with Gradle, execute the `run` task: + + gradlew run + +By default, the [Bump](src/org/lwjgl/demo/bgfx/Bump.java) demo is executed +by the above `run` task without parameter. To run a different demo, e.g. +[WavefrontObjDemo](src/org/lwjgl/demo/opengl/assimp/WavefrontObjDemo.java), execute the `run` task +with that specific demo class as parameter: + + gradlew run --args=opengl.assimp.WavefrontObjDemo + +System properties can be passed on to the running demo with the -D parameter, +e.g. to print out some debug info in the console: + + gradlew run --args=opengl.assimp.WavefrontObjDemo -Dorg.lwjgl.util.Debug=true + +The above tasks can use any standard JDK 11+. + +### Produce native executable + +To generate native executable, GraalVM 21+ need be set up as mentioned in +*GraalVM pre-requisites* section above. + +Once GraalVM is set up and available in the path, run the `nativeBuild` task: + + gradlew nativeBuild + +The `nativeBuild` task would take a while to compile all demo source code and +link them with the LWJGL libraries into an executable file. +The resulting `lwjgl3-demos` file is (in Linux): + + build/gluonfx/x86_64-linux/lwjgl3-demos + +(or if building on a Windows machine: + + build\gluonfx\x86_64-windows\lwjgl3-demos.exe + +) + +which can then be run directly with a demo class as parameter +(e.g. [DepthEdgeShaderDemo20](src/org/lwjgl/demo/opengl/fbo/DepthEdgeShaderDemo20.java)): + + ./build/gluonfx/x86_64-linux/lwjgl3-demos opengl.fbo.DepthEdgeShaderDemo20 + +System properties can be passed on to the running demo with the -D parameter, +e.g. to print out some debug info in the console: + + ./build/gluonfx/x86_64-linux/lwjgl3-demos opengl.fbo.DepthEdgeShaderDemo20 -Dorg.lwjgl.util.Debug=true + +(or if building on a Windows machine: + + build\gluonfx\x86_64-windows\lwjgl3-demos.exe opengl.fbo.DepthEdgeShaderDemo20 + build\gluonfx\x86_64-windows\lwjgl3-demos.exe opengl.fbo.DepthEdgeShaderDemo20 -Dorg.lwjgl.util.Debug=true + +) + +## Maven build tasks + +### Run in standard JVM + +To build and run the demos in standard JVM with Maven, execute the +`compile` then `exec:exec` tasks: + + mvnw compile + mvnw exec:exec + +By default, the [Bump](src/org/lwjgl/demo/bgfx/Bump.java) demo is executed +by the above `exec:exec` task without parameter. To run a different demo, e.g. +[WavefrontObjDemo](src/org/lwjgl/demo/opengl/assimp/WavefrontObjDemo.java), execute the `exec:exec` task +with that specific demo class as value of the property `class`: + + mvnw exec:exec -Dclass=opengl.assimp.WavefrontObjDemo + +System properties can be passed on to the running demo with the -Dsys.props parameter, +e.g. to print out some debug info in the console: + + mvnw exec:exec -Dclass=opengl.assimp.WavefrontObjDemo -Dsys.props="-Dorg.lwjgl.util.Debug=true" + +The above tasks can use any standard JDK 11+. + +### Produce native executable + +To generate native executable, GraalVM 21+ need be set up as mentioned in +*GraalVM pre-requisites* section above. + +Once GraalVM is set up and available in the path, run the `gluonfx:build` task: + + mvnw gluonfx:build + +The `gluonfx:build` task would take a while to compile all demo source code and +link them with the LWJGL libraries into an executable file. +The resulting `lwjgl3-demos` file is (in Linux): + + target/gluonfx/x86_64-linux/lwjgl3-demos + +(or if building on a Windows machine: + + target\gluonfx\x86_64-windows\lwjgl3-demos.exe + +) + +which can then be run directly with a demo class as parameter +(e.g. [Demo33Ubo](src/org/lwjgl/demo/opengl/raytracing/Demo33Ubo.java)): + + ./target/gluonfx/x86_64-linux/lwjgl3-demos opengl.raytracing.Demo33Ubo + +System properties can be passed on to the running demo with the -D parameter, +e.g. to print out some debug info in the console: + + ./target/gluonfx/x86_64-linux/lwjgl3-demos opengl.raytracing.Demo33Ubo -Dorg.lwjgl.util.Debug=true + +(or if building on a Windows machine: + + target\gluonfx\x86_64-windows\lwjgl3-demos.exe opengl.raytracing.Demo33Ubo + target\gluonfx\x86_64-windows\lwjgl3-demos.exe opengl.raytracing.Demo33Ubo -Dorg.lwjgl.util.Debug=true + +) + +## Compressed native executable + +The resulting `lwjgl3-demos` executable file, whether produced by Gradle or Maven build script, +can be further reduced in size via compression using the [UPX](https://upx.github.io) utility, +as described [here](https://medium.com/graalvm/compressed-graalvm-native-images-4d233766a214). + +For example, the resulting `lwjgl3-demos.exe` native application file produced in Windows +is normally 88MB in size, but is compressed to 29MB with the UPX command: `upx --best lwjgl3-demos.exe` - java -cp target/lwjgl3-demos.jar org.lwjgl.demo.opengl.UniformArrayDemo diff --git a/build.gradle b/build.gradle new file mode 100644 index 00000000..05f47313 --- /dev/null +++ b/build.gradle @@ -0,0 +1,143 @@ +plugins { + id 'application' + id 'org.openjfx.javafxplugin' version '0.0.10' //requires JDK11+ + id 'com.gluonhq.gluonfx-gradle-plugin' version '1.0.4' //requires GraalVM 21.1+ +} + +wrapper { + gradleVersion = '7.2' + distributionType = Wrapper.DistributionType.ALL +} + +group = 'org.lwjgl' +description = 'LWJGL3 demos with native image by GraalVM' +//version = '0.0.1-SNAPSHOT' + +ext { + lwjglVersion = '3.2.3' + jomlVersion = '1.10.1' + swtMavenVersion = '3.105.3' //contains Eclipse SWT 4.6.2.9 software + graalvmVersion = '21.2.0' + + //LWJGL modules used: minimal OpenGL, plus bgfx, cuda, jemalloc, shaderc, vma, vulkan + lwjglModules = [ + 'lwjgl', 'lwjgl-assimp', 'lwjgl-glfw', 'lwjgl-openal', 'lwjgl-opengl', 'lwjgl-stb', //for OpenGL demos + 'lwjgl-bgfx', //for BGFX demos + 'lwjgl-cuda', //for CUDA demos (require NVIDIA hardware) + 'lwjgl-jemalloc', //utilities + 'lwjgl-shaderc', 'lwjgl-vma', 'lwjgl-vulkan', //for Vulkan demos (requires discrete GPU with Vulkan driver) + ] + + mainClassName = 'org.lwjgl.demo.DemoLauncher' + currentPlatform = getCurrentPlatform() +} + +repositories { + mavenCentral() + mavenLocal() +} + +//detect the OS (assuming 64-bit, on Intel/AMD hardware) +private static String getCurrentPlatform() { + def currentOS = org.gradle.nativeplatform.platform.internal.DefaultNativePlatform.currentOperatingSystem; + if (currentOS.isWindows()) { + return 'windows' + } else if (currentOS.isLinux()) { + return 'linux' + } else if (currentOS.isMacOsX()) { + return 'macos' + } + return 'unknown' +} + +dependencies { + implementation "org.joml:joml:$jomlVersion" + //for compiling GraalVM substitution classes + compileOnly "org.graalvm.nativeimage:svm:$graalvmVersion" + + //OS-specific SWT library (64-bit Intel/AMD hardware only) + switch (currentPlatform) { + case 'linux': + implementation("org.eclipse.platform:org.eclipse.swt.gtk.linux.x86_64:$swtMavenVersion") { + exclude group: 'org.eclipse.platform', module: 'org.eclipse.swt' + } + break + case 'macos': + implementation("org.eclipse.platform:org.eclipse.swt.cocoa.macosx.x86_64:$swtMavenVersion") { + exclude group: 'org.eclipse.platform', module: 'org.eclipse.swt' + } + break + case 'windows': + implementation("org.eclipse.platform:org.eclipse.swt.win32.win32.x86_64:$swtMavenVersion") { + exclude group: 'org.eclipse.platform', module: 'org.eclipse.swt' + } + break + default: + throw new GradleException('Unknown OS: ' + currentPlatform) + } + + //get recommended dependency versions from the LWJGL BOM + implementation platform("org.lwjgl:lwjgl-bom:$lwjglVersion") + + //add LWJGL modules and their natives of current OS to the compile and runtime classpaths + lwjglModules.each { + implementation "org.lwjgl:$it" + if (it != 'lwjgl-cuda' && it != 'lwjgl-egl') { //cuda, egl have no native modules + //use natives for 64-bit Intel/AMD platforms only + if (it == 'lwjgl-vulkan') { + if (currentPlatform == 'macos') { + //Vulkan natives exist for Mac OSX only + runtimeOnly "org.lwjgl:$it::natives-$currentPlatform" + } + } else { + runtimeOnly "org.lwjgl:$it::natives-$currentPlatform" + } + } + } +} + +sourceSets { + main { + java { + srcDirs = ['src'] + } + resources { + srcDirs = ['res', "graal-cfg/$currentPlatform"] + } + } +} + +application { + mainClass = project.mainClassName + applicationName = project.name //name of the resulting native executable +} + +compileJava { + options.release = 11 //use JDK11+ for compiling & running + options.encoding = 'UTF-8' +} + +run { + //default demo to be run is bgfx.Bump + //(the package "org.lwjgl.demo." is prepended automatically) + args 'bgfx.Bump' + + //get system properties specified from the command line (for debugging, etc.) + //and pass them on to the running application's JVM + systemProperties = System.getProperties() + + //use the following jvmArgs for as many different run scenarios as possible, + //and for all the code-execution paths as much as possible, + //to generate (or merge with) the GraalVM native-image configuration files + //in the graal-cfg/$currentPlatform/META-INF/native-image directory. + //This directory is read by GraalVM during the native-image build. + + //jvmArgs = ["-agentlib:native-image-agent=config-merge-dir=graal-cfg/$currentPlatform/META-INF/native-image"] +} + +gluonfx { + compilerArgs = [ + '--initialize-at-run-time=org.lwjgl', + '--report-unsupported-elements-at-runtime', + ] +} diff --git a/graal-cfg/linux/META-INF/native-image/jni-config.json b/graal-cfg/linux/META-INF/native-image/jni-config.json new file mode 100644 index 00000000..adb9a64c --- /dev/null +++ b/graal-cfg/linux/META-INF/native-image/jni-config.json @@ -0,0 +1,332 @@ +[ +{ + "name":"java.lang.ClassLoader", + "methods":[ + {"name":"getPlatformClassLoader","parameterTypes":[] }, + {"name":"loadClass","parameterTypes":["java.lang.String"] } + ] +}, +{ + "name":"java.lang.NoSuchMethodError" +}, +{ + "name":"jdk.internal.loader.ClassLoaders$PlatformClassLoader" +}, +{ + "name":"org.eclipse.swt.graphics.Device", + "methods":[{"name":"logProc","parameterTypes":["long","long","long","long"] }] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GTypeInfo", + "fields":[ + {"name":"base_finalize"}, + {"name":"base_init"}, + {"name":"class_data"}, + {"name":"class_finalize"}, + {"name":"class_init"}, + {"name":"class_size"}, + {"name":"instance_init"}, + {"name":"instance_size"}, + {"name":"n_preallocs"}, + {"name":"value_table"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GdkEvent", + "fields":[{"name":"type"}] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GdkEventButton", + "fields":[ + {"name":"axes"}, + {"name":"button"}, + {"name":"device"}, + {"name":"send_event"}, + {"name":"state"}, + {"name":"time"}, + {"name":"window"}, + {"name":"x"}, + {"name":"x_root"}, + {"name":"y"}, + {"name":"y_root"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GdkEventCrossing", + "fields":[ + {"name":"detail"}, + {"name":"focus"}, + {"name":"mode"}, + {"name":"send_event"}, + {"name":"state"}, + {"name":"subwindow"}, + {"name":"time"}, + {"name":"window"}, + {"name":"x"}, + {"name":"x_root"}, + {"name":"y"}, + {"name":"y_root"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GdkEventFocus", + "fields":[ + {"name":"in"}, + {"name":"send_event"}, + {"name":"window"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GdkEventKey", + "fields":[ + {"name":"group"}, + {"name":"hardware_keycode"}, + {"name":"keyval"}, + {"name":"length"}, + {"name":"send_event"}, + {"name":"state"}, + {"name":"string"}, + {"name":"time"}, + {"name":"window"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GdkEventMotion", + "fields":[ + {"name":"axes"}, + {"name":"device"}, + {"name":"is_hint"}, + {"name":"send_event"}, + {"name":"state"}, + {"name":"time"}, + {"name":"window"}, + {"name":"x"}, + {"name":"x_root"}, + {"name":"y"}, + {"name":"y_root"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GdkEventProperty", + "fields":[ + {"name":"atom"}, + {"name":"send_event"}, + {"name":"state"}, + {"name":"time"}, + {"name":"window"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GdkEventScroll", + "fields":[ + {"name":"device"}, + {"name":"direction"}, + {"name":"send_event"}, + {"name":"state"}, + {"name":"time"}, + {"name":"window"}, + {"name":"x"}, + {"name":"x_root"}, + {"name":"y"}, + {"name":"y_root"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GdkEventWindowState", + "fields":[ + {"name":"changed_mask"}, + {"name":"new_window_state"}, + {"name":"send_event"}, + {"name":"window"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GdkGeometry", + "fields":[ + {"name":"base_height"}, + {"name":"base_width"}, + {"name":"height_inc"}, + {"name":"max_aspect"}, + {"name":"max_height"}, + {"name":"max_width"}, + {"name":"min_aspect"}, + {"name":"min_height"}, + {"name":"min_width"}, + {"name":"width_inc"}, + {"name":"win_gravity"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GdkRGBA", + "fields":[ + {"name":"alpha"}, + {"name":"blue"}, + {"name":"green"}, + {"name":"red"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GdkRectangle", + "fields":[ + {"name":"height"}, + {"name":"width"}, + {"name":"x"}, + {"name":"y"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GdkWindowAttr", + "fields":[ + {"name":"colormap"}, + {"name":"cursor"}, + {"name":"event_mask"}, + {"name":"height"}, + {"name":"override_redirect"}, + {"name":"title"}, + {"name":"visual"}, + {"name":"wclass"}, + {"name":"width"}, + {"name":"window_type"}, + {"name":"wmclass_class"}, + {"name":"wmclass_name"}, + {"name":"x"}, + {"name":"y"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GtkAllocation", + "fields":[ + {"name":"height"}, + {"name":"width"}, + {"name":"x"}, + {"name":"y"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GtkBorder", + "fields":[ + {"name":"bottom"}, + {"name":"left"}, + {"name":"right"}, + {"name":"top"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.GtkRequisition", + "fields":[ + {"name":"height"}, + {"name":"width"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.XAnyEvent", + "fields":[ + {"name":"display"}, + {"name":"send_event"}, + {"name":"serial"}, + {"name":"window"} + ] +}, +{ + "name":"org.eclipse.swt.internal.gtk.XEvent", + "fields":[{"name":"type"}] +}, +{ + "name":"org.eclipse.swt.internal.gtk.XExposeEvent", + "fields":[ + {"name":"count"}, + {"name":"height"}, + {"name":"width"}, + {"name":"x"}, + {"name":"y"} + ] +}, +{ + "name":"org.eclipse.swt.internal.opengl.glx.XVisualInfo", + "fields":[ + {"name":"bits_per_rgb"}, + {"name":"blue_mask"}, + {"name":"cclass"}, + {"name":"colormap_size"}, + {"name":"depth"}, + {"name":"green_mask"}, + {"name":"red_mask"}, + {"name":"screen"}, + {"name":"visual"}, + {"name":"visualid"} + ] +}, +{ + "name":"org.eclipse.swt.widgets.Display", + "methods":[ + {"name":"allChildrenProc","parameterTypes":["long","long"] }, + {"name":"caretProc","parameterTypes":["long"] }, + {"name":"cellDataProc","parameterTypes":["long","long","long","long","long"] }, + {"name":"checkIfEventProc","parameterTypes":["long","long","long"] }, + {"name":"emissionProc","parameterTypes":["long","long","long","long"] }, + {"name":"eventProc","parameterTypes":["long","long"] }, + {"name":"filterProc","parameterTypes":["long","long","long"] }, + {"name":"idleProc","parameterTypes":["long"] }, + {"name":"menuPositionProc","parameterTypes":["long","long","long","long","long"] }, + {"name":"mouseHoverProc","parameterTypes":["long"] }, + {"name":"rendererClassInitProc","parameterTypes":["long","long"] }, + {"name":"rendererGetPreferredWidthProc","parameterTypes":["long","long","long","long"] }, + {"name":"rendererRenderProc","parameterTypes":["long","long","long","long","long","long"] }, + {"name":"setDirectionProc","parameterTypes":["long","long"] }, + {"name":"shellMapProc","parameterTypes":["long","long","long"] }, + {"name":"signalProc","parameterTypes":["long","long","long"] }, + {"name":"sizeAllocateProc","parameterTypes":["long","long","long"] }, + {"name":"sizeRequestProc","parameterTypes":["long","long","long"] }, + {"name":"timerProc","parameterTypes":["long"] }, + {"name":"windowProc","parameterTypes":["long","long"] }, + {"name":"windowProc","parameterTypes":["long","long","long"] }, + {"name":"windowProc","parameterTypes":["long","long","long","long"] }, + {"name":"windowProc","parameterTypes":["long","long","long","long","long"] }, + {"name":"windowTimerProc","parameterTypes":["long"] } + ] +}, +{ + "name":"org.graalvm.nativebridge.jni.JNIExceptionWrapperEntryPoints", + "methods":[{"name":"getClassName","parameterTypes":["java.lang.Class"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$B", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$D", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$F", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$I", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$J", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$N", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$P", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$S", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$V", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$Z", + "methods":[{"name":"callback","parameterTypes":["long"] }] +} +] diff --git a/graal-cfg/linux/META-INF/native-image/predefined-classes-config.json b/graal-cfg/linux/META-INF/native-image/predefined-classes-config.json new file mode 100644 index 00000000..0e79b2c5 --- /dev/null +++ b/graal-cfg/linux/META-INF/native-image/predefined-classes-config.json @@ -0,0 +1,8 @@ +[ + { + "type":"agent-extracted", + "classes":[ + ] + } +] + diff --git a/graal-cfg/linux/META-INF/native-image/proxy-config.json b/graal-cfg/linux/META-INF/native-image/proxy-config.json new file mode 100644 index 00000000..0d4f101c --- /dev/null +++ b/graal-cfg/linux/META-INF/native-image/proxy-config.json @@ -0,0 +1,2 @@ +[ +] diff --git a/graal-cfg/linux/META-INF/native-image/reflect-config.json b/graal-cfg/linux/META-INF/native-image/reflect-config.json new file mode 100644 index 00000000..78189540 --- /dev/null +++ b/graal-cfg/linux/META-INF/native-image/reflect-config.json @@ -0,0 +1,2612 @@ +[ +{ + "name":"byte[]" +}, +{ + "name":"float[]" +}, +{ + "name":"java.lang.Double", + "methods":[{"name":"doubleToRawLongBits","parameterTypes":["double"] }] +}, +{ + "name":"java.lang.Float", + "methods":[{"name":"floatToRawIntBits","parameterTypes":["float"] }] +}, +{ + "name":"java.lang.Long", + "methods":[{"name":"rotateLeft","parameterTypes":["long","int"] }] +}, +{ + "name":"java.lang.Object" +}, +{ + "name":"java.lang.String" +}, +{ + "name":"java.lang.String[]" +}, +{ + "name":"java.nio.Buffer", + "fields":[{"name":"address"}] +}, +{ + "name":"java.security.MessageDigestSpi" +}, +{ + "name":"java.security.interfaces.RSAPrivateKey" +}, +{ + "name":"java.security.interfaces.RSAPublicKey" +}, +{ + "name":"java.util.Date" +}, +{ + "name":"javax.security.auth.x500.X500Principal", + "fields":[{"name":"thisX500Name"}], + "methods":[{"name":"","parameterTypes":["sun.security.x509.X500Name"] }] +}, +{ + "name":"org.eclipse.swt.widgets.Display" +}, +{ + "name":"org.joml.Matrix2f", + "fields":[ + {"name":"m00"}, + {"name":"m01"}, + {"name":"m10"}, + {"name":"m11"} + ] +}, +{ + "name":"org.joml.Matrix3d", + "fields":[ + {"name":"m00"}, + {"name":"m01"}, + {"name":"m02"}, + {"name":"m10"}, + {"name":"m11"}, + {"name":"m12"}, + {"name":"m20"}, + {"name":"m21"}, + {"name":"m22"} + ] +}, +{ + "name":"org.joml.Matrix3f", + "fields":[ + {"name":"m00"}, + {"name":"m01"}, + {"name":"m02"}, + {"name":"m10"}, + {"name":"m11"}, + {"name":"m12"}, + {"name":"m20"}, + {"name":"m21"}, + {"name":"m22"} + ] +}, +{ + "name":"org.joml.Matrix3x2f", + "fields":[ + {"name":"m00"}, + {"name":"m01"}, + {"name":"m10"}, + {"name":"m11"}, + {"name":"m20"}, + {"name":"m21"} + ] +}, +{ + "name":"org.joml.Matrix4d", + "fields":[ + {"name":"m00"}, + {"name":"m01"}, + {"name":"m02"}, + {"name":"m03"}, + {"name":"m10"}, + {"name":"m11"}, + {"name":"m12"}, + {"name":"m13"}, + {"name":"m20"}, + {"name":"m21"}, + {"name":"m22"}, + {"name":"m23"}, + {"name":"m30"}, + {"name":"m31"}, + {"name":"m32"}, + {"name":"m33"} + ] +}, +{ + "name":"org.joml.Matrix4f", + "fields":[ + {"name":"m00"}, + {"name":"m01"}, + {"name":"m02"}, + {"name":"m03"}, + {"name":"m10"}, + {"name":"m11"}, + {"name":"m12"}, + {"name":"m13"}, + {"name":"m20"}, + {"name":"m21"}, + {"name":"m22"}, + {"name":"m23"}, + {"name":"m30"}, + {"name":"m31"}, + {"name":"m32"}, + {"name":"m33"} + ] +}, +{ + "name":"org.joml.Matrix4x3f", + "fields":[ + {"name":"m00"}, + {"name":"m01"}, + {"name":"m02"}, + {"name":"m10"}, + {"name":"m11"}, + {"name":"m12"}, + {"name":"m20"}, + {"name":"m21"}, + {"name":"m22"}, + {"name":"m30"}, + {"name":"m31"}, + {"name":"m32"} + ] +}, +{ + "name":"org.joml.Quaternionf", + "fields":[ + {"name":"w"}, + {"name":"x"}, + {"name":"y"}, + {"name":"z"} + ] +}, +{ + "name":"org.joml.Vector2f", + "fields":[ + {"name":"x"}, + {"name":"y"} + ] +}, +{ + "name":"org.joml.Vector2i", + "fields":[ + {"name":"x"}, + {"name":"y"} + ] +}, +{ + "name":"org.joml.Vector3f", + "fields":[ + {"name":"x"}, + {"name":"y"}, + {"name":"z"} + ] +}, +{ + "name":"org.joml.Vector3i", + "fields":[ + {"name":"x"}, + {"name":"y"}, + {"name":"z"} + ] +}, +{ + "name":"org.joml.Vector4f", + "fields":[ + {"name":"w"}, + {"name":"x"}, + {"name":"y"}, + {"name":"z"} + ] +}, +{ + "name":"org.joml.Vector4i", + "fields":[ + {"name":"w"}, + {"name":"x"}, + {"name":"y"}, + {"name":"z"} + ] +}, +{ + "name":"org.lwjgl.PointerBuffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIColor4D", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIFace", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIFace$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIFile", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIFileIO", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIMaterial", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIMesh", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIScene", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIVector3D", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIVector3D$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXCaps", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXInit", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXInstanceDataBuffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXMemory", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXPlatformData", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXResolution", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXTransientIndexBuffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXTransientVertexBuffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXVertexLayout", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.demo.bgfx.Bump", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.bgfx.Cubes", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.bgfx.Metaballs", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.bgfx.Raymarch", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.cuda.OpenGLExample", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.cuda.SequencePTX", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.game.VoxelGameGL", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.SimpleDrawElements", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.SimpleTriangleStripGrid", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.UniformArrayDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.assimp.WavefrontObjDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.fbo.DepthEdgeShaderDemo20", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.fbo.EdgeShaderDemo20", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.fbo.EdgeShaderMultisampleDemo20", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.fbo.MultisampledFbo2Demo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.fbo.MultisampledFboDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.fbo.ReadDepthBufferDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.geometry.GeometryShaderTest", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.geometry.GeometryShaderTest20", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.geometry.SilhouetteDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.glfw.Multithreaded", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.instancing.GrassDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.AlphaGrass", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.AtomicDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.CubeTraceMerged", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.Demo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.Demo20", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.Demo33", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.Demo33Ubo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.DemoSsbo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.DemoSsboTrianglesStacklessKdTree", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.DemoSsboTrianglesStacklessKdTree$GPUNode", + "allDeclaredFields":true +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.GL33KdTreeTrace", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.HybridDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.HybridDemoSsbo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.HybridDemoSsboInstancing", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.HybridDemoSsboInstancing45", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.HybridDemoSsboTriangles", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.HybridDemoSsboTriangles$GPUObject", + "allDeclaredFields":true +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.LinearlyTransformedCosines", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.PhotonMappingBindlessDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.PhotonMappingDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.TransformFeedbackDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.VoxelLightmapping", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.VoxelLightmapping2", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial1", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial2", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial3", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial4", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial4_2", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial4_3", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial5", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial6", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial6$GPUNode", + "allDeclaredFields":true +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial6_2", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial6_2$GPUNode", + "allDeclaredFields":true +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial7", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial7$GPUNode", + "allDeclaredFields":true +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial8", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial8_2", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shader.ImmediateModeDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shader.InfiniteDraggablePlaneDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shader.InfinitePlaneDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shader.NoVerticesBSplineDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shader.NoVerticesGridDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shader.NoVerticesPolygonDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shader.NoVerticesProjectedGridDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shadow.Omni2dShadow", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shadow.ShadowMappingDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shadow.ShadowMappingDemo20", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.swt.SwtAndGlfwDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.swt.SwtDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.BillboardCubemapDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.EnvironmentDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.EnvironmentTeapotDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.FullscreenCubemapDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.SimpleProceduralTextureDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.SimpleTexturedQuad", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.SimpleTexturedSphere", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.Texture2DArrayMipmapping", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.ClearScreenDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.ColoredRotatingQuadDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.ColoredTriangleDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.InstancedSpheresDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.NvRayTracingExample", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.NvRayTracingHybridExample", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.TriangleDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.TwoRotatingTrianglesDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.TwoRotatingTrianglesInvDepthDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.glfw.GLFW", + "allDeclaredFields":true +}, +{ + "name":"org.lwjgl.glfw.GLFWVidMode", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.opengl.GLCapabilities", + "allPublicFields":true +}, +{ + "name":"org.lwjgl.system.CallbackI$B", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$D", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$F", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$I", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$J", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$N", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$P", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$S", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$V", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$Z", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CustomBuffer", + "fields":[ + {"name":"capacity"}, + {"name":"container"}, + {"name":"limit"}, + {"name":"mark"}, + {"name":"position"} + ] +}, +{ + "name":"org.lwjgl.system.Pointer$Default", + "fields":[{"name":"address"}] +}, +{ + "name":"org.lwjgl.system.Struct", + "fields":[{"name":"container"}] +}, +{ + "name":"org.lwjgl.system.jemalloc.JEmallocAllocator", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"org.lwjgl.util.shaderc.Shaderc", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.util.vma.VmaAllocationCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.util.vma.VmaAllocationInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.util.vma.VmaAllocatorCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.util.vma.VmaVulkanFunctions", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.EXTDebugReport", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.EXTDebugUtils", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.KHRDisplaySwapchain", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.KHRSurface", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.KHRSwapchain", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.NVRayTracing", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VK10", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkAccelerationStructureCreateInfoNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkAccelerationStructureInfoNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkAccelerationStructureMemoryRequirementsInfoNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkApplicationInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkAttachmentDescription", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkAttachmentDescription$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkAttachmentReference", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkAttachmentReference$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkBindAccelerationStructureMemoryInfoNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkBindAccelerationStructureMemoryInfoNV$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkBufferCopy", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkBufferCopy$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkBufferCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkBufferImageCopy", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkBufferImageCopy$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkClearColorValue", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkClearDepthStencilValue", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkClearValue", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkClearValue$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkCommandBuffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkCommandBufferAllocateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkCommandBufferBeginInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkCommandPoolCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkComponentMapping", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDebugReportCallbackCreateInfoEXT", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDebugReportCallbackEXT", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDebugUtilsMessengerCallbackDataEXT", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDebugUtilsMessengerCallbackEXT", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDebugUtilsMessengerCreateInfoEXT", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorBufferInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorBufferInfo$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorImageInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorImageInfo$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorPoolCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorPoolSize", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorPoolSize$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorSetAllocateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorSetLayoutBinding", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorSetLayoutBinding$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorSetLayoutCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDevice", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDeviceCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDeviceQueueCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDeviceQueueCreateInfo$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkExtensionProperties", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkExtensionProperties$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkExtent2D", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkExtent3D", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkFenceCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkFormatProperties", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkFramebufferCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkGeometryAABBNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkGeometryNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkGeometryNV$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkGeometryTrianglesNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkGraphicsPipelineCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkGraphicsPipelineCreateInfo$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageBlit", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageBlit$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageCopy", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageCopy$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageMemoryBarrier", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageMemoryBarrier$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageSubresourceRange", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageViewCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkInstance", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkInstanceCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkLayerProperties", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkLayerProperties$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkMemoryAllocateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkMemoryBarrier", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkMemoryBarrier$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkMemoryRequirements", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkMemoryRequirements2KHR", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkMemoryType", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkOffset2D", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkOffset3D", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDevice", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDevice16BitStorageFeatures", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDevice8BitStorageFeaturesKHR", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceDescriptorIndexingFeaturesEXT", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceFeatures", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceFeatures2", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceFloat16Int8FeaturesKHR", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceMemoryProperties", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceProperties", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceProperties2", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceRayTracingPropertiesNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineColorBlendAttachmentState", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineColorBlendAttachmentState$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineColorBlendStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineDepthStencilStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineDynamicStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineInputAssemblyStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineLayoutCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineMultisampleStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineRasterizationStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineShaderStageCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineShaderStageCreateInfo$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineVertexInputStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineViewportStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPresentInfoKHR", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkQueryPoolCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkQueue", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkQueueFamilyProperties", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkQueueFamilyProperties$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkRayTracingPipelineCreateInfoNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkRayTracingShaderGroupCreateInfoNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkRayTracingShaderGroupCreateInfoNV$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkRect2D", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkRect2D$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkRenderPassBeginInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkRenderPassCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSamplerCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSemaphoreCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkShaderModuleCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSpecializationInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSpecializationMapEntry", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSpecializationMapEntry$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkStencilOpState", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSubmitInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSubpassDependency", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSubpassDependency$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSubpassDescription", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSubpassDescription$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSurfaceCapabilitiesKHR", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSurfaceFormatKHR", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSurfaceFormatKHR$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSwapchainCreateInfoKHR", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkVertexInputAttributeDescription", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkVertexInputAttributeDescription$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkVertexInputBindingDescription", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkVertexInputBindingDescription$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkViewport", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkViewport$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkWriteDescriptorSet", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkWriteDescriptorSet$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkWriteDescriptorSetAccelerationStructureNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"sun.misc.Unsafe", + "allDeclaredFields":true, + "methods":[ + {"name":"getLong","parameterTypes":["java.lang.Object","long"] }, + {"name":"putLong","parameterTypes":["java.lang.Object","long","long"] } + ] +}, +{ + "name":"sun.security.pkcs.SignerInfo[]" +}, +{ + "name":"sun.security.provider.SHA", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.provider.SHA2$SHA256", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.provider.X509Factory", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.rsa.RSAKeyFactory$Legacy", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.rsa.RSASignature$SHA1withRSA", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.rsa.RSASignature$SHA256withRSA", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.util.ObjectIdentifier" +}, +{ + "name":"sun.security.x509.AuthorityInfoAccessExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.AuthorityKeyIdentifierExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.BasicConstraintsExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.CRLDistributionPointsExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.CertificateExtensions" +}, +{ + "name":"sun.security.x509.CertificatePoliciesExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.ExtendedKeyUsageExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.KeyUsageExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.SubjectAlternativeNameExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.SubjectKeyIdentifierExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +} +] diff --git a/graal-cfg/linux/META-INF/native-image/resource-config.json b/graal-cfg/linux/META-INF/native-image/resource-config.json new file mode 100644 index 00000000..26207411 --- /dev/null +++ b/graal-cfg/linux/META-INF/native-image/resource-config.json @@ -0,0 +1,301 @@ +{ + "resources":{ + "includes":[ + {"pattern":"\\Qlibswt-cairo-gtk-4629.so\\E"}, + {"pattern":"\\Qlibswt-glx-gtk-4629.so\\E"}, + {"pattern":"\\Qlibswt-gtk-4629.so\\E"}, + {"pattern":"\\Qlibswt-pi3-gtk-4629.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/assimp/libassimp.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/bgfx/libbgfx.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/glfw/libglfw.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/glfw/libglfw_wayland.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/jemalloc/libjemalloc.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/liblwjgl.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/openal/libopenal.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/opengl/liblwjgl_opengl.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/shaderc/libshaderc.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/shaderc/libshaderc_spvc.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/stb/liblwjgl_stb.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/vma/liblwjgl_vma.so\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/assimp/libassimp.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/bgfx/libbgfx.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/glfw/libglfw.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/jemalloc/libjemalloc.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/liblwjgl.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/openal/libopenal.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/opengl/liblwjgl_opengl.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/shaderc/libshaderc.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/shaderc/libshaderc_spvc.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/stb/liblwjgl_stb.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/vma/liblwjgl_vma.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/vulkan/libMoltenVK.dylib\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/dx11/fs_bump.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/dx11/fs_cubes.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/dx11/fs_raymarching.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/dx11/vs_bump.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/dx11/vs_bump_instanced.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/dx11/vs_cubes.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/dx11/vs_raymarching.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/glsl/fs_bump.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/glsl/fs_cubes.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/glsl/fs_raymarching.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/glsl/vs_bump.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/glsl/vs_bump_instanced.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/glsl/vs_cubes.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/glsl/vs_raymarching.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/metal/fs_bump.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/metal/fs_cubes.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/metal/fs_raymarching.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/metal/vs_bump.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/metal/vs_bump_instanced.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/metal/vs_cubes.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/metal/vs_raymarching.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/textures/fieldstone-n.dds\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/textures/fieldstone-rgba.dds\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/boundingboxes.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/boundingboxes.gs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/boundingboxes.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/chunk-points.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/chunk.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/chunk.gs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/chunk.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/collectdrawcalls.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/selection.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/selection.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/models/mikelovesrobots_mmmm/obj_house1.vox\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/models/mikelovesrobots_mmmm/scene_house5.vox\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/models/mikelovesrobots_mmmm/scene_house6.vox\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/assimp/magnet.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/assimp/magnet.mtl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/assimp/magnet.obj\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/assimp/magnet.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/color.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/depth-edge-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/depth-edge-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/normal-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/normal-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/quadDepth.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/quadDepth.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/rasterDepth.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/rasterDepth.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/sobel-edge-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/sobel-edge-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/sobel-outline-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/sobel-outline-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/fs110.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/gs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/gs110.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/silhouette-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/silhouette-gs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/silhouette-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/vs110.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/grass.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/grass.png\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/grass.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/grass2.png\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/grass_flower.png\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/grass_flower_blue.png\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/ground.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/ground.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/models/cube.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/models/lwjgl3.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/models/smoothicosphere.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/models/teapot.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/alphagrass/grass_high.png\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/alphagrass/kdtreeseparate32grass.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/cubetracemerged/compute.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/feedbackSsboTriangle.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/gl33kdtreetrace/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/gl33kdtreetrace/raytracing.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/hybrid.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/hybridSsbo.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/hybridSsboTriangle.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/hybridSsboUbo.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/linearlytransformedcosines/ltc1.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/linearlytransformedcosines/ltc2.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/linearlytransformedcosines/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/linearlytransformedcosines/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/linearlytransformedcosines/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/photonmap.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/photonmapBindless.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/quad.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/quad.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/quad110.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/quad110.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/random20.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/randomAtomic.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/randomCommon.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raster.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raster.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/rasterInstanced.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/rasterInstancedUbo.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/rasterPhotonMap.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raytracing.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raytracing.glslcs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raytracing110.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raytracingAtomic.glslcs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raytracingSsbo.glslcs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raytracingUbo.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/ssboTriangleStacklessKdTree.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/transformFeedback.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial1/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial1/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial1/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial2/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial2/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial3/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial3/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial3/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial3/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_2/blueNoise.png\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_2/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_3/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_3/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_3/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_3/ranking_128_128_8_4spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_3/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_3/scramble_128_128_8_4spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_3/sobol_256_256_4spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial5/atrous.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial5/atrous.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial5/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial5/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial5/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial5/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6/geometry.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6/scene.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6_2/geometry.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6_2/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6_2/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6_2/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6_2/scene.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/geometry.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/raster.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/raster.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/sponza.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/atrous.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/atrous.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/cubes.obj\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/raster.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/rasterAndTrace.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/rasterDepth.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/rasterDepth.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8_2/cubes.obj\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8_2/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8_2/raster.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8_2/rasterAndTrace.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping/lightmap.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping/lightmap.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping/raster.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping/raster.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping/trace.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping2/lightmap.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping2/lightmap.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping2/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping2/raster.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping2/raster.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping2/trace.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticesbspline.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticesbspline.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticesgrid.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticesgrid.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticespolygon.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticespolygon.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticesprojectedgrid.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticesprojectedgrid.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/simple.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/simple.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/omni2dShadow-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/omni2dShadow-gs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/omni2dShadow-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/omni2dShadowShade-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/omni2dShadowShade-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/scene.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/shadowMapping-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/shadowMapping-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/shadowMappingShade-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/shadowMappingShade-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/cubemap.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/cubemap.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/cubemapBH.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/cubemapBH.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/cubemapBack.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/cubemapBack.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/earth.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/environment.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/environment.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/environment.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/teapot.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/teapot.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/texture2dArrayMipmap.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/texture2dArrayMipmap.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/texturedQuad.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/texturedQuad.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/texturedSphere.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/texturedSphere.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/uniformarray-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/uniformarray-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/space_back6.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/space_bottom4.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/space_front5.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/space_left2.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/space_right1.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/space_top3.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/closesthit.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/coloredRotatingTriangle.frag\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/coloredRotatingTriangle.vert\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/coloredTriangle.frag\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/coloredTriangle.vert\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/instancedSpheres.frag\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/instancedSpheres.vert\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/random.inc.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/ranking_128_128_8_16spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/ranking_128_128_8_4spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/raster.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/raster.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/raygen-hybrid.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/raygen.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/raymiss.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/scramble_128_128_8_16spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/scramble_128_128_8_4spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/sobol_256_256_16spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/sobol_256_256_4spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/triangle.frag\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/triangle.vert\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/twoRotatingTriangles.frag\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/twoRotatingTriangles.vert\\E"}, + {"pattern":"\\Qorg/lwjgl/system/APIUtil.class\\E"}, + {"pattern":"\\Qswt-wgl-win32-4629.dll\\E"}, + {"pattern":"\\Qswt-win32-4629.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/assimp/assimp.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/bgfx/bgfx.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/glfw/glfw.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/jemalloc/jemalloc.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/lwjgl.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/openal/OpenAL.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/opengl/lwjgl_opengl.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/shaderc/shaderc.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/shaderc/shaderc_spvc.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/stb/lwjgl_stb.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/vma/lwjgl_vma.dll\\E"} + ]}, + "bundles":[] +} diff --git a/graal-cfg/linux/META-INF/native-image/serialization-config.json b/graal-cfg/linux/META-INF/native-image/serialization-config.json new file mode 100644 index 00000000..0d4f101c --- /dev/null +++ b/graal-cfg/linux/META-INF/native-image/serialization-config.json @@ -0,0 +1,2 @@ +[ +] diff --git a/graal-cfg/macos/META-INF/native-image/.gitignore b/graal-cfg/macos/META-INF/native-image/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/graal-cfg/windows/META-INF/native-image/jni-config.json b/graal-cfg/windows/META-INF/native-image/jni-config.json new file mode 100644 index 00000000..c39c6eef --- /dev/null +++ b/graal-cfg/windows/META-INF/native-image/jni-config.json @@ -0,0 +1,362 @@ +[ +{ + "name":"java.lang.ClassLoader", + "methods":[ + {"name":"getPlatformClassLoader","parameterTypes":[] }, + {"name":"loadClass","parameterTypes":["java.lang.String"] } + ] +}, +{ + "name":"java.lang.NoSuchMethodError" +}, +{ + "name":"jdk.internal.loader.ClassLoaders$PlatformClassLoader" +}, +{ + "name":"org.eclipse.swt.internal.opengl.win32.PIXELFORMATDESCRIPTOR", + "fields":[ + {"name":"bReserved"}, + {"name":"cAccumAlphaBits"}, + {"name":"cAccumBits"}, + {"name":"cAccumBlueBits"}, + {"name":"cAccumGreenBits"}, + {"name":"cAccumRedBits"}, + {"name":"cAlphaBits"}, + {"name":"cAlphaShift"}, + {"name":"cAuxBuffers"}, + {"name":"cBlueBits"}, + {"name":"cBlueShift"}, + {"name":"cColorBits"}, + {"name":"cDepthBits"}, + {"name":"cGreenBits"}, + {"name":"cGreenShift"}, + {"name":"cRedBits"}, + {"name":"cRedShift"}, + {"name":"cStencilBits"}, + {"name":"dwDamageMask"}, + {"name":"dwFlags"}, + {"name":"dwLayerMask"}, + {"name":"dwVisibleMask"}, + {"name":"iLayerType"}, + {"name":"iPixelType"}, + {"name":"nSize"}, + {"name":"nVersion"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.ACTCTX", + "fields":[ + {"name":"cbSize"}, + {"name":"dwFlags"}, + {"name":"hModule"}, + {"name":"lpApplicationName"}, + {"name":"lpAssemblyDirectory"}, + {"name":"lpResourceName"}, + {"name":"lpSource"}, + {"name":"wLangId"}, + {"name":"wProcessorArchitecture"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.DLLVERSIONINFO", + "fields":[ + {"name":"cbSize"}, + {"name":"dwBuildNumber"}, + {"name":"dwMajorVersion"}, + {"name":"dwMinorVersion"}, + {"name":"dwPlatformID"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.HIGHCONTRAST", + "fields":[ + {"name":"cbSize"}, + {"name":"dwFlags"}, + {"name":"lpszDefaultScheme"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.LOGFONT", + "fields":[ + {"name":"lfCharSet"}, + {"name":"lfClipPrecision"}, + {"name":"lfEscapement"}, + {"name":"lfHeight"}, + {"name":"lfItalic"}, + {"name":"lfOrientation"}, + {"name":"lfOutPrecision"}, + {"name":"lfPitchAndFamily"}, + {"name":"lfQuality"}, + {"name":"lfStrikeOut"}, + {"name":"lfUnderline"}, + {"name":"lfWeight"}, + {"name":"lfWidth"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.LOGFONTW", + "fields":[{"name":"lfFaceName"}] +}, +{ + "name":"org.eclipse.swt.internal.win32.MENUITEMINFO", + "fields":[ + {"name":"cbSize"}, + {"name":"cch"}, + {"name":"dwItemData"}, + {"name":"dwTypeData"}, + {"name":"fMask"}, + {"name":"fState"}, + {"name":"fType"}, + {"name":"hSubMenu"}, + {"name":"hbmpChecked"}, + {"name":"hbmpItem"}, + {"name":"hbmpUnchecked"}, + {"name":"wID"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.MINMAXINFO", + "fields":[ + {"name":"ptMaxPosition_x"}, + {"name":"ptMaxPosition_y"}, + {"name":"ptMaxSize_x"}, + {"name":"ptMaxSize_y"}, + {"name":"ptMaxTrackSize_x"}, + {"name":"ptMaxTrackSize_y"}, + {"name":"ptMinTrackSize_x"}, + {"name":"ptMinTrackSize_y"}, + {"name":"ptReserved_x"}, + {"name":"ptReserved_y"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.MSG", + "fields":[ + {"name":"hwnd"}, + {"name":"lParam"}, + {"name":"message"}, + {"name":"time"}, + {"name":"wParam"}, + {"name":"x"}, + {"name":"y"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.NONCLIENTMETRICS", + "fields":[ + {"name":"cbSize"}, + {"name":"iBorderWidth"}, + {"name":"iCaptionHeight"}, + {"name":"iCaptionWidth"}, + {"name":"iMenuHeight"}, + {"name":"iMenuWidth"}, + {"name":"iScrollHeight"}, + {"name":"iScrollWidth"}, + {"name":"iSmCaptionHeight"}, + {"name":"iSmCaptionWidth"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.NONCLIENTMETRICSW", + "fields":[ + {"name":"lfCaptionFont"}, + {"name":"lfMenuFont"}, + {"name":"lfMessageFont"}, + {"name":"lfSmCaptionFont"}, + {"name":"lfStatusFont"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.OSVERSIONINFO", + "fields":[ + {"name":"dwBuildNumber"}, + {"name":"dwMajorVersion"}, + {"name":"dwMinorVersion"}, + {"name":"dwOSVersionInfoSize"}, + {"name":"dwPlatformId"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.OSVERSIONINFOW", + "fields":[{"name":"szCSDVersion"}] +}, +{ + "name":"org.eclipse.swt.internal.win32.PAINTSTRUCT", + "fields":[ + {"name":"bottom"}, + {"name":"fErase"}, + {"name":"fIncUpdate"}, + {"name":"fRestore"}, + {"name":"hdc"}, + {"name":"left"}, + {"name":"rgbReserved"}, + {"name":"right"}, + {"name":"top"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.POINT", + "fields":[ + {"name":"x"}, + {"name":"y"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.RECT", + "fields":[ + {"name":"bottom"}, + {"name":"left"}, + {"name":"right"}, + {"name":"top"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.STARTUPINFO", + "fields":[ + {"name":"cb"}, + {"name":"cbReserved2"}, + {"name":"dwFillAttribute"}, + {"name":"dwFlags"}, + {"name":"dwX"}, + {"name":"dwXCountChars"}, + {"name":"dwXSize"}, + {"name":"dwY"}, + {"name":"dwYCountChars"}, + {"name":"dwYSize"}, + {"name":"hStdError"}, + {"name":"hStdInput"}, + {"name":"hStdOutput"}, + {"name":"lpDesktop"}, + {"name":"lpReserved"}, + {"name":"lpReserved2"}, + {"name":"lpTitle"}, + {"name":"wShowWindow"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.TEXTMETRIC", + "fields":[ + {"name":"tmAscent"}, + {"name":"tmAveCharWidth"}, + {"name":"tmCharSet"}, + {"name":"tmDescent"}, + {"name":"tmDigitizedAspectX"}, + {"name":"tmDigitizedAspectY"}, + {"name":"tmExternalLeading"}, + {"name":"tmHeight"}, + {"name":"tmInternalLeading"}, + {"name":"tmItalic"}, + {"name":"tmMaxCharWidth"}, + {"name":"tmOverhang"}, + {"name":"tmPitchAndFamily"}, + {"name":"tmStruckOut"}, + {"name":"tmUnderlined"}, + {"name":"tmWeight"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.TEXTMETRICW", + "fields":[ + {"name":"tmBreakChar"}, + {"name":"tmDefaultChar"}, + {"name":"tmFirstChar"}, + {"name":"tmLastChar"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.WINDOWPLACEMENT", + "fields":[ + {"name":"bottom"}, + {"name":"flags"}, + {"name":"left"}, + {"name":"length"}, + {"name":"ptMaxPosition_x"}, + {"name":"ptMaxPosition_y"}, + {"name":"ptMinPosition_x"}, + {"name":"ptMinPosition_y"}, + {"name":"right"}, + {"name":"showCmd"}, + {"name":"top"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.WINDOWPOS", + "fields":[ + {"name":"cx"}, + {"name":"cy"}, + {"name":"flags"}, + {"name":"hwnd"}, + {"name":"hwndInsertAfter"}, + {"name":"x"}, + {"name":"y"} + ] +}, +{ + "name":"org.eclipse.swt.internal.win32.WNDCLASS", + "fields":[ + {"name":"cbClsExtra"}, + {"name":"cbWndExtra"}, + {"name":"hCursor"}, + {"name":"hIcon"}, + {"name":"hInstance"}, + {"name":"hbrBackground"}, + {"name":"lpfnWndProc"}, + {"name":"lpszClassName"}, + {"name":"lpszMenuName"}, + {"name":"style"} + ] +}, +{ + "name":"org.eclipse.swt.widgets.Display", + "methods":[ + {"name":"foregroundIdleProc","parameterTypes":["long","long","long"] }, + {"name":"messageProc","parameterTypes":["long","long","long","long"] }, + {"name":"msgFilterProc","parameterTypes":["long","long","long"] }, + {"name":"windowProc","parameterTypes":["long","long","long","long"] } + ] +}, +{ + "name":"org.graalvm.nativebridge.jni.JNIExceptionWrapperEntryPoints", + "methods":[{"name":"getClassName","parameterTypes":["java.lang.Class"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$B", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$D", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$F", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$I", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$J", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$N", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$P", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$S", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$V", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$Z", + "methods":[{"name":"callback","parameterTypes":["long"] }] +} +] diff --git a/graal-cfg/windows/META-INF/native-image/predefined-classes-config.json b/graal-cfg/windows/META-INF/native-image/predefined-classes-config.json new file mode 100644 index 00000000..0e79b2c5 --- /dev/null +++ b/graal-cfg/windows/META-INF/native-image/predefined-classes-config.json @@ -0,0 +1,8 @@ +[ + { + "type":"agent-extracted", + "classes":[ + ] + } +] + diff --git a/graal-cfg/windows/META-INF/native-image/proxy-config.json b/graal-cfg/windows/META-INF/native-image/proxy-config.json new file mode 100644 index 00000000..0d4f101c --- /dev/null +++ b/graal-cfg/windows/META-INF/native-image/proxy-config.json @@ -0,0 +1,2 @@ +[ +] diff --git a/graal-cfg/windows/META-INF/native-image/reflect-config.json b/graal-cfg/windows/META-INF/native-image/reflect-config.json new file mode 100644 index 00000000..78189540 --- /dev/null +++ b/graal-cfg/windows/META-INF/native-image/reflect-config.json @@ -0,0 +1,2612 @@ +[ +{ + "name":"byte[]" +}, +{ + "name":"float[]" +}, +{ + "name":"java.lang.Double", + "methods":[{"name":"doubleToRawLongBits","parameterTypes":["double"] }] +}, +{ + "name":"java.lang.Float", + "methods":[{"name":"floatToRawIntBits","parameterTypes":["float"] }] +}, +{ + "name":"java.lang.Long", + "methods":[{"name":"rotateLeft","parameterTypes":["long","int"] }] +}, +{ + "name":"java.lang.Object" +}, +{ + "name":"java.lang.String" +}, +{ + "name":"java.lang.String[]" +}, +{ + "name":"java.nio.Buffer", + "fields":[{"name":"address"}] +}, +{ + "name":"java.security.MessageDigestSpi" +}, +{ + "name":"java.security.interfaces.RSAPrivateKey" +}, +{ + "name":"java.security.interfaces.RSAPublicKey" +}, +{ + "name":"java.util.Date" +}, +{ + "name":"javax.security.auth.x500.X500Principal", + "fields":[{"name":"thisX500Name"}], + "methods":[{"name":"","parameterTypes":["sun.security.x509.X500Name"] }] +}, +{ + "name":"org.eclipse.swt.widgets.Display" +}, +{ + "name":"org.joml.Matrix2f", + "fields":[ + {"name":"m00"}, + {"name":"m01"}, + {"name":"m10"}, + {"name":"m11"} + ] +}, +{ + "name":"org.joml.Matrix3d", + "fields":[ + {"name":"m00"}, + {"name":"m01"}, + {"name":"m02"}, + {"name":"m10"}, + {"name":"m11"}, + {"name":"m12"}, + {"name":"m20"}, + {"name":"m21"}, + {"name":"m22"} + ] +}, +{ + "name":"org.joml.Matrix3f", + "fields":[ + {"name":"m00"}, + {"name":"m01"}, + {"name":"m02"}, + {"name":"m10"}, + {"name":"m11"}, + {"name":"m12"}, + {"name":"m20"}, + {"name":"m21"}, + {"name":"m22"} + ] +}, +{ + "name":"org.joml.Matrix3x2f", + "fields":[ + {"name":"m00"}, + {"name":"m01"}, + {"name":"m10"}, + {"name":"m11"}, + {"name":"m20"}, + {"name":"m21"} + ] +}, +{ + "name":"org.joml.Matrix4d", + "fields":[ + {"name":"m00"}, + {"name":"m01"}, + {"name":"m02"}, + {"name":"m03"}, + {"name":"m10"}, + {"name":"m11"}, + {"name":"m12"}, + {"name":"m13"}, + {"name":"m20"}, + {"name":"m21"}, + {"name":"m22"}, + {"name":"m23"}, + {"name":"m30"}, + {"name":"m31"}, + {"name":"m32"}, + {"name":"m33"} + ] +}, +{ + "name":"org.joml.Matrix4f", + "fields":[ + {"name":"m00"}, + {"name":"m01"}, + {"name":"m02"}, + {"name":"m03"}, + {"name":"m10"}, + {"name":"m11"}, + {"name":"m12"}, + {"name":"m13"}, + {"name":"m20"}, + {"name":"m21"}, + {"name":"m22"}, + {"name":"m23"}, + {"name":"m30"}, + {"name":"m31"}, + {"name":"m32"}, + {"name":"m33"} + ] +}, +{ + "name":"org.joml.Matrix4x3f", + "fields":[ + {"name":"m00"}, + {"name":"m01"}, + {"name":"m02"}, + {"name":"m10"}, + {"name":"m11"}, + {"name":"m12"}, + {"name":"m20"}, + {"name":"m21"}, + {"name":"m22"}, + {"name":"m30"}, + {"name":"m31"}, + {"name":"m32"} + ] +}, +{ + "name":"org.joml.Quaternionf", + "fields":[ + {"name":"w"}, + {"name":"x"}, + {"name":"y"}, + {"name":"z"} + ] +}, +{ + "name":"org.joml.Vector2f", + "fields":[ + {"name":"x"}, + {"name":"y"} + ] +}, +{ + "name":"org.joml.Vector2i", + "fields":[ + {"name":"x"}, + {"name":"y"} + ] +}, +{ + "name":"org.joml.Vector3f", + "fields":[ + {"name":"x"}, + {"name":"y"}, + {"name":"z"} + ] +}, +{ + "name":"org.joml.Vector3i", + "fields":[ + {"name":"x"}, + {"name":"y"}, + {"name":"z"} + ] +}, +{ + "name":"org.joml.Vector4f", + "fields":[ + {"name":"w"}, + {"name":"x"}, + {"name":"y"}, + {"name":"z"} + ] +}, +{ + "name":"org.joml.Vector4i", + "fields":[ + {"name":"w"}, + {"name":"x"}, + {"name":"y"}, + {"name":"z"} + ] +}, +{ + "name":"org.lwjgl.PointerBuffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIColor4D", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIFace", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIFace$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIFile", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIFileIO", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIMaterial", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIMesh", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIScene", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIVector3D", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.assimp.AIVector3D$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXCaps", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXInit", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXInstanceDataBuffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXMemory", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXPlatformData", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXResolution", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXTransientIndexBuffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXTransientVertexBuffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.bgfx.BGFXVertexLayout", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.demo.bgfx.Bump", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.bgfx.Cubes", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.bgfx.Metaballs", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.bgfx.Raymarch", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.cuda.OpenGLExample", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.cuda.SequencePTX", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.game.VoxelGameGL", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.SimpleDrawElements", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.SimpleTriangleStripGrid", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.UniformArrayDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.assimp.WavefrontObjDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.fbo.DepthEdgeShaderDemo20", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.fbo.EdgeShaderDemo20", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.fbo.EdgeShaderMultisampleDemo20", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.fbo.MultisampledFbo2Demo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.fbo.MultisampledFboDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.fbo.ReadDepthBufferDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.geometry.GeometryShaderTest", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.geometry.GeometryShaderTest20", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.geometry.SilhouetteDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.glfw.Multithreaded", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.instancing.GrassDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.AlphaGrass", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.AtomicDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.CubeTraceMerged", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.Demo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.Demo20", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.Demo33", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.Demo33Ubo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.DemoSsbo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.DemoSsboTrianglesStacklessKdTree", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.DemoSsboTrianglesStacklessKdTree$GPUNode", + "allDeclaredFields":true +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.GL33KdTreeTrace", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.HybridDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.HybridDemoSsbo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.HybridDemoSsboInstancing", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.HybridDemoSsboInstancing45", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.HybridDemoSsboTriangles", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.HybridDemoSsboTriangles$GPUObject", + "allDeclaredFields":true +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.LinearlyTransformedCosines", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.PhotonMappingBindlessDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.PhotonMappingDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.TransformFeedbackDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.VoxelLightmapping", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.VoxelLightmapping2", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial1", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial2", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial3", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial4", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial4_2", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial4_3", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial5", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial6", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial6$GPUNode", + "allDeclaredFields":true +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial6_2", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial6_2$GPUNode", + "allDeclaredFields":true +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial7", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial7$GPUNode", + "allDeclaredFields":true +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial8", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.raytracing.tutorial.Tutorial8_2", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shader.ImmediateModeDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shader.InfiniteDraggablePlaneDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shader.InfinitePlaneDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shader.NoVerticesBSplineDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shader.NoVerticesGridDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shader.NoVerticesPolygonDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shader.NoVerticesProjectedGridDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shadow.Omni2dShadow", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shadow.ShadowMappingDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.shadow.ShadowMappingDemo20", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.swt.SwtAndGlfwDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.swt.SwtDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.BillboardCubemapDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.EnvironmentDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.EnvironmentTeapotDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.FullscreenCubemapDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.SimpleProceduralTextureDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.SimpleTexturedQuad", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.SimpleTexturedSphere", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.opengl.textures.Texture2DArrayMipmapping", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.ClearScreenDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.ColoredRotatingQuadDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.ColoredTriangleDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.InstancedSpheresDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.NvRayTracingExample", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.NvRayTracingHybridExample", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.TriangleDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.TwoRotatingTrianglesDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.demo.vulkan.TwoRotatingTrianglesInvDepthDemo", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"org.lwjgl.glfw.GLFW", + "allDeclaredFields":true +}, +{ + "name":"org.lwjgl.glfw.GLFWVidMode", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.opengl.GLCapabilities", + "allPublicFields":true +}, +{ + "name":"org.lwjgl.system.CallbackI$B", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$D", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$F", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$I", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$J", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$N", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$P", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$S", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$V", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CallbackI$Z", + "methods":[{"name":"callback","parameterTypes":["long"] }] +}, +{ + "name":"org.lwjgl.system.CustomBuffer", + "fields":[ + {"name":"capacity"}, + {"name":"container"}, + {"name":"limit"}, + {"name":"mark"}, + {"name":"position"} + ] +}, +{ + "name":"org.lwjgl.system.Pointer$Default", + "fields":[{"name":"address"}] +}, +{ + "name":"org.lwjgl.system.Struct", + "fields":[{"name":"container"}] +}, +{ + "name":"org.lwjgl.system.jemalloc.JEmallocAllocator", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"org.lwjgl.util.shaderc.Shaderc", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.util.vma.VmaAllocationCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.util.vma.VmaAllocationInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.util.vma.VmaAllocatorCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.util.vma.VmaVulkanFunctions", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.EXTDebugReport", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.EXTDebugUtils", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.KHRDisplaySwapchain", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.KHRSurface", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.KHRSwapchain", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.NVRayTracing", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VK10", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkAccelerationStructureCreateInfoNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkAccelerationStructureInfoNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkAccelerationStructureMemoryRequirementsInfoNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkApplicationInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkAttachmentDescription", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkAttachmentDescription$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkAttachmentReference", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkAttachmentReference$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkBindAccelerationStructureMemoryInfoNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkBindAccelerationStructureMemoryInfoNV$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkBufferCopy", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkBufferCopy$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkBufferCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkBufferImageCopy", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkBufferImageCopy$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkClearColorValue", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkClearDepthStencilValue", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkClearValue", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkClearValue$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkCommandBuffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkCommandBufferAllocateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkCommandBufferBeginInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkCommandPoolCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkComponentMapping", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDebugReportCallbackCreateInfoEXT", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDebugReportCallbackEXT", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDebugUtilsMessengerCallbackDataEXT", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDebugUtilsMessengerCallbackEXT", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDebugUtilsMessengerCreateInfoEXT", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorBufferInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorBufferInfo$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorImageInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorImageInfo$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorPoolCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorPoolSize", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorPoolSize$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorSetAllocateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorSetLayoutBinding", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorSetLayoutBinding$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDescriptorSetLayoutCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDevice", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDeviceCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDeviceQueueCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkDeviceQueueCreateInfo$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkExtensionProperties", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkExtensionProperties$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkExtent2D", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkExtent3D", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkFenceCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkFormatProperties", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkFramebufferCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkGeometryAABBNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkGeometryNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkGeometryNV$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkGeometryTrianglesNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkGraphicsPipelineCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkGraphicsPipelineCreateInfo$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageBlit", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageBlit$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageCopy", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageCopy$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageMemoryBarrier", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageMemoryBarrier$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageSubresourceRange", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkImageViewCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkInstance", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkInstanceCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkLayerProperties", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkLayerProperties$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkMemoryAllocateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkMemoryBarrier", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkMemoryBarrier$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkMemoryRequirements", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkMemoryRequirements2KHR", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkMemoryType", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkOffset2D", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkOffset3D", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDevice", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDevice16BitStorageFeatures", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDevice8BitStorageFeaturesKHR", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceDescriptorIndexingFeaturesEXT", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceFeatures", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceFeatures2", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceFloat16Int8FeaturesKHR", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceMemoryProperties", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceProperties", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceProperties2", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPhysicalDeviceRayTracingPropertiesNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineColorBlendAttachmentState", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineColorBlendAttachmentState$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineColorBlendStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineDepthStencilStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineDynamicStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineInputAssemblyStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineLayoutCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineMultisampleStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineRasterizationStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineShaderStageCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineShaderStageCreateInfo$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineVertexInputStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPipelineViewportStateCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkPresentInfoKHR", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkQueryPoolCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkQueue", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkQueueFamilyProperties", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkQueueFamilyProperties$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkRayTracingPipelineCreateInfoNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkRayTracingShaderGroupCreateInfoNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkRayTracingShaderGroupCreateInfoNV$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkRect2D", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkRect2D$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkRenderPassBeginInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkRenderPassCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSamplerCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSemaphoreCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkShaderModuleCreateInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSpecializationInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSpecializationMapEntry", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSpecializationMapEntry$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkStencilOpState", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSubmitInfo", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSubpassDependency", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSubpassDependency$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSubpassDescription", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSubpassDescription$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSurfaceCapabilitiesKHR", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSurfaceFormatKHR", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSurfaceFormatKHR$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkSwapchainCreateInfoKHR", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkVertexInputAttributeDescription", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkVertexInputAttributeDescription$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkVertexInputBindingDescription", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkVertexInputBindingDescription$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkViewport", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkViewport$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkWriteDescriptorSet", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkWriteDescriptorSet$Buffer", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"org.lwjgl.vulkan.VkWriteDescriptorSetAccelerationStructureNV", + "allDeclaredFields":true, + "allPublicFields":true, + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true, + "allDeclaredClasses":true, + "allPublicClasses":true +}, +{ + "name":"sun.misc.Unsafe", + "allDeclaredFields":true, + "methods":[ + {"name":"getLong","parameterTypes":["java.lang.Object","long"] }, + {"name":"putLong","parameterTypes":["java.lang.Object","long","long"] } + ] +}, +{ + "name":"sun.security.pkcs.SignerInfo[]" +}, +{ + "name":"sun.security.provider.SHA", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.provider.SHA2$SHA256", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.provider.X509Factory", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.rsa.RSAKeyFactory$Legacy", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.rsa.RSASignature$SHA1withRSA", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.rsa.RSASignature$SHA256withRSA", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.util.ObjectIdentifier" +}, +{ + "name":"sun.security.x509.AuthorityInfoAccessExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.AuthorityKeyIdentifierExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.BasicConstraintsExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.CRLDistributionPointsExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.CertificateExtensions" +}, +{ + "name":"sun.security.x509.CertificatePoliciesExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.ExtendedKeyUsageExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.KeyUsageExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.SubjectAlternativeNameExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.SubjectKeyIdentifierExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +} +] diff --git a/graal-cfg/windows/META-INF/native-image/resource-config.json b/graal-cfg/windows/META-INF/native-image/resource-config.json new file mode 100644 index 00000000..26207411 --- /dev/null +++ b/graal-cfg/windows/META-INF/native-image/resource-config.json @@ -0,0 +1,301 @@ +{ + "resources":{ + "includes":[ + {"pattern":"\\Qlibswt-cairo-gtk-4629.so\\E"}, + {"pattern":"\\Qlibswt-glx-gtk-4629.so\\E"}, + {"pattern":"\\Qlibswt-gtk-4629.so\\E"}, + {"pattern":"\\Qlibswt-pi3-gtk-4629.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/assimp/libassimp.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/bgfx/libbgfx.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/glfw/libglfw.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/glfw/libglfw_wayland.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/jemalloc/libjemalloc.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/liblwjgl.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/openal/libopenal.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/opengl/liblwjgl_opengl.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/shaderc/libshaderc.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/shaderc/libshaderc_spvc.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/stb/liblwjgl_stb.so\\E"}, + {"pattern":"\\Qlinux/x64/org/lwjgl/vma/liblwjgl_vma.so\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/assimp/libassimp.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/bgfx/libbgfx.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/glfw/libglfw.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/jemalloc/libjemalloc.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/liblwjgl.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/openal/libopenal.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/opengl/liblwjgl_opengl.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/shaderc/libshaderc.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/shaderc/libshaderc_spvc.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/stb/liblwjgl_stb.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/vma/liblwjgl_vma.dylib\\E"}, + {"pattern":"\\Qmacos/x64/org/lwjgl/vulkan/libMoltenVK.dylib\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/dx11/fs_bump.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/dx11/fs_cubes.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/dx11/fs_raymarching.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/dx11/vs_bump.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/dx11/vs_bump_instanced.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/dx11/vs_cubes.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/dx11/vs_raymarching.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/glsl/fs_bump.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/glsl/fs_cubes.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/glsl/fs_raymarching.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/glsl/vs_bump.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/glsl/vs_bump_instanced.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/glsl/vs_cubes.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/glsl/vs_raymarching.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/metal/fs_bump.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/metal/fs_cubes.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/metal/fs_raymarching.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/metal/vs_bump.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/metal/vs_bump_instanced.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/metal/vs_cubes.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/shaders/metal/vs_raymarching.bin\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/textures/fieldstone-n.dds\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/bgfx/textures/fieldstone-rgba.dds\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/boundingboxes.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/boundingboxes.gs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/boundingboxes.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/chunk-points.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/chunk.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/chunk.gs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/chunk.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/collectdrawcalls.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/selection.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/game/voxelgame/selection.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/models/mikelovesrobots_mmmm/obj_house1.vox\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/models/mikelovesrobots_mmmm/scene_house5.vox\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/models/mikelovesrobots_mmmm/scene_house6.vox\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/assimp/magnet.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/assimp/magnet.mtl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/assimp/magnet.obj\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/assimp/magnet.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/color.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/depth-edge-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/depth-edge-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/normal-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/normal-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/quadDepth.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/quadDepth.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/rasterDepth.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/rasterDepth.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/sobel-edge-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/sobel-edge-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/sobel-outline-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/fbo/sobel-outline-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/fs110.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/gs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/gs110.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/silhouette-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/silhouette-gs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/silhouette-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/geometry/vs110.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/grass.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/grass.png\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/grass.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/grass2.png\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/grass_flower.png\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/grass_flower_blue.png\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/ground.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/instancing/ground.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/models/cube.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/models/lwjgl3.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/models/smoothicosphere.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/models/teapot.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/alphagrass/grass_high.png\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/alphagrass/kdtreeseparate32grass.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/cubetracemerged/compute.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/feedbackSsboTriangle.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/gl33kdtreetrace/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/gl33kdtreetrace/raytracing.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/hybrid.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/hybridSsbo.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/hybridSsboTriangle.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/hybridSsboUbo.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/linearlytransformedcosines/ltc1.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/linearlytransformedcosines/ltc2.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/linearlytransformedcosines/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/linearlytransformedcosines/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/linearlytransformedcosines/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/photonmap.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/photonmapBindless.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/quad.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/quad.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/quad110.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/quad110.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/random20.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/randomAtomic.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/randomCommon.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raster.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raster.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/rasterInstanced.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/rasterInstancedUbo.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/rasterPhotonMap.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raytracing.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raytracing.glslcs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raytracing110.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raytracingAtomic.glslcs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raytracingSsbo.glslcs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/raytracingUbo.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/ssboTriangleStacklessKdTree.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/transformFeedback.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial1/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial1/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial1/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial2/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial2/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial3/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial3/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial3/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial3/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_2/blueNoise.png\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_2/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_3/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_3/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_3/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_3/ranking_128_128_8_4spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_3/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_3/scramble_128_128_8_4spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial4_3/sobol_256_256_4spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial5/atrous.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial5/atrous.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial5/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial5/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial5/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial5/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6/geometry.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6/scene.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6_2/geometry.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6_2/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6_2/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6_2/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial6_2/scene.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/geometry.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/raster.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/raster.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/raytracing.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial7/sponza.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/atrous.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/atrous.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/cubes.obj\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/quad.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/quad.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/raster.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/rasterAndTrace.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/rasterDepth.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8/rasterDepth.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8_2/cubes.obj\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8_2/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8_2/raster.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/tutorial8_2/rasterAndTrace.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping/lightmap.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping/lightmap.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping/raster.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping/raster.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping/trace.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping2/lightmap.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping2/lightmap.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping2/random.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping2/raster.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping2/raster.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/raytracing/voxellightmapping2/trace.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticesbspline.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticesbspline.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticesgrid.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticesgrid.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticespolygon.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticespolygon.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticesprojectedgrid.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/noverticesprojectedgrid.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/simple.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shader/simple.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/omni2dShadow-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/omni2dShadow-gs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/omni2dShadow-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/omni2dShadowShade-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/omni2dShadowShade-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/scene.obj.zip\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/shadowMapping-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/shadowMapping-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/shadowMappingShade-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/shadow/shadowMappingShade-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/cubemap.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/cubemap.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/cubemapBH.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/cubemapBH.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/cubemapBack.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/cubemapBack.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/earth.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/environment.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/environment.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/environment.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/teapot.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/teapot.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/texture2dArrayMipmap.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/texture2dArrayMipmap.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/texturedQuad.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/texturedQuad.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/texturedSphere.fs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/textures/texturedSphere.vs\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/uniformarray-fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/opengl/uniformarray-vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/space_back6.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/space_bottom4.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/space_front5.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/space_left2.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/space_right1.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/space_top3.jpg\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/closesthit.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/coloredRotatingTriangle.frag\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/coloredRotatingTriangle.vert\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/coloredTriangle.frag\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/coloredTriangle.vert\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/instancedSpheres.frag\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/instancedSpheres.vert\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/random.inc.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/ranking_128_128_8_16spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/ranking_128_128_8_4spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/raster.fs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/raster.vs.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/raygen-hybrid.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/raygen.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/raymiss.glsl\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/scramble_128_128_8_16spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/scramble_128_128_8_4spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/sobol_256_256_16spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/sobol_256_256_4spp.data\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/triangle.frag\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/triangle.vert\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/twoRotatingTriangles.frag\\E"}, + {"pattern":"\\Qorg/lwjgl/demo/vulkan/twoRotatingTriangles.vert\\E"}, + {"pattern":"\\Qorg/lwjgl/system/APIUtil.class\\E"}, + {"pattern":"\\Qswt-wgl-win32-4629.dll\\E"}, + {"pattern":"\\Qswt-win32-4629.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/assimp/assimp.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/bgfx/bgfx.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/glfw/glfw.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/jemalloc/jemalloc.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/lwjgl.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/openal/OpenAL.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/opengl/lwjgl_opengl.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/shaderc/shaderc.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/shaderc/shaderc_spvc.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/stb/lwjgl_stb.dll\\E"}, + {"pattern":"\\Qwindows/x64/org/lwjgl/vma/lwjgl_vma.dll\\E"} + ]}, + "bundles":[] +} diff --git a/graal-cfg/windows/META-INF/native-image/serialization-config.json b/graal-cfg/windows/META-INF/native-image/serialization-config.json new file mode 100644 index 00000000..0d4f101c --- /dev/null +++ b/graal-cfg/windows/META-INF/native-image/serialization-config.json @@ -0,0 +1,2 @@ +[ +] diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 00000000..e708b1c0 Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..a0f7639f --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 00000000..4f906e0c --- /dev/null +++ b/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 00000000..107acd32 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/pom.xml b/pom.xml index 84977ce0..9626e522 100644 --- a/pom.xml +++ b/pom.xml @@ -7,17 +7,25 @@ UTF-8 UTF-8 - 1.8 - 1.8 + 11 + 11 3.8.1 - 3.2.1 - 3.2.4-SNAPSHOT - 4.6.1 - 1.9.26-SNAPSHOT - - game.VoxelGameGL + 3.2.3 + 3.105.3 + 1.10.1 + 1.0.4 + 21.2.0 + org.lwjgl.demo.DemoLauncher + + bgfx.Bump + + + lwjgl3-demos + LWJGL3 demos with native image by GraalVM windows @@ -38,13 +46,6 @@ x86 - - - org.eclipse.swt - org.eclipse.swt.win32.win32.x86 - ${swt.version} - - windows-amd64 @@ -56,9 +57,15 @@ - org.eclipse.swt + org.eclipse.platform org.eclipse.swt.win32.win32.x86_64 - ${swt.version} + ${swt.maven.version} + + + org.eclipse.platform + org.eclipse.swt + + @@ -81,13 +88,6 @@ x86 - - - org.eclipse.swt - org.eclipse.swt.gtk.linux.x86 - ${swt.version} - - linux-amd64 @@ -99,9 +99,15 @@ - org.eclipse.swt + org.eclipse.platform org.eclipse.swt.gtk.linux.x86_64 - ${swt.version} + ${swt.maven.version} + + + org.eclipse.platform + org.eclipse.swt + + @@ -115,11 +121,26 @@ macos + + + mac-amd64 + + + Mac + amd64 + + - org.eclipse.swt + org.eclipse.platform org.eclipse.swt.cocoa.macosx.x86_64 - ${swt.version} + ${swt.maven.version} + + + org.eclipse.platform + org.eclipse.swt + + org.lwjgl @@ -136,6 +157,10 @@ res + + + graal-cfg/${platform} + @@ -143,170 +168,171 @@ ${maven-compiler-plugin.version} - maven-shade-plugin - ${maven-shade-plugin.version} + org.codehaus.mojo + exec-maven-plugin + 3.0.0 - package - shade + exec - - - - org.lwjgl.demo.${class} - - - lwjgl3-demos - + + java + + + + ${sys.props} + -classpath + + ${exec.mainClass} + ${class} + + + + + com.gluonhq + gluonfx-maven-plugin + ${gluonfx-maven-plugin.version} + + ${exec.mainClass} + + --initialize-at-run-time=org.lwjgl + + oss.sonatype.org - https://oss.sonatype.org/content/repositories/snapshots/ - - true - - - - swt-repo - http://maven-eclipse.github.io/maven + https://oss.sonatype.org/content/repositories/ + + + + + org.lwjgl + lwjgl-bom + ${lwjgl.version} + import + pom + + + org.joml joml ${joml.version} + - org.joml - joml-primitives - ${joml.version} + org.graalvm.nativeimage + svm + ${graalvm.version} + provided + org.lwjgl lwjgl - ${lwjgl.version} org.lwjgl - lwjgl-vulkan - ${lwjgl.version} + lwjgl-assimp org.lwjgl - lwjgl-glfw - ${lwjgl.version} + lwjgl-bgfx org.lwjgl - lwjgl-opengl - ${lwjgl.version} + lwjgl-cuda org.lwjgl - lwjgl-par - ${lwjgl.version} + lwjgl-glfw org.lwjgl - lwjgl-stb - ${lwjgl.version} + lwjgl-jemalloc org.lwjgl - lwjgl-bgfx - ${lwjgl.version} + lwjgl-openal org.lwjgl - lwjgl-assimp - ${lwjgl.version} + lwjgl-opengl org.lwjgl - lwjgl - ${lwjgl.version} - natives-${platform} + lwjgl-shaderc org.lwjgl - lwjgl-opengl - ${lwjgl.version} - natives-${platform} + lwjgl-stb org.lwjgl - lwjgl-cuda - ${lwjgl.version} + lwjgl-vma org.lwjgl - lwjgl-jemalloc - ${lwjgl.version} + lwjgl-vulkan + org.lwjgl - lwjgl-shaderc - ${lwjgl.version} + lwjgl + natives-${platform} org.lwjgl - lwjgl-vma - ${lwjgl.version} + lwjgl-assimp + natives-${platform} org.lwjgl - lwjgl-glfw - ${lwjgl.version} + lwjgl-bgfx natives-${platform} org.lwjgl - lwjgl-stb - ${lwjgl.version} + lwjgl-glfw natives-${platform} org.lwjgl - lwjgl-par - ${lwjgl.version} + lwjgl-jemalloc natives-${platform} org.lwjgl - lwjgl-bgfx - ${lwjgl.version} + lwjgl-openal natives-${platform} org.lwjgl - lwjgl-vma - ${lwjgl.version} + lwjgl-opengl natives-${platform} org.lwjgl - lwjgl-assimp - ${lwjgl.version} + lwjgl-shaderc natives-${platform} org.lwjgl - lwjgl-shaderc - ${lwjgl.version} + lwjgl-stb natives-${platform} org.lwjgl - lwjgl-jemalloc - ${lwjgl.version} + lwjgl-vma natives-${platform} diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 00000000..3c522209 --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'lwjgl3-demos' diff --git a/src/org/lwjgl/demo/DemoLauncher.java b/src/org/lwjgl/demo/DemoLauncher.java new file mode 100644 index 00000000..fcfabea8 --- /dev/null +++ b/src/org/lwjgl/demo/DemoLauncher.java @@ -0,0 +1,26 @@ +package org.lwjgl.demo; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +public class DemoLauncher { + + public static void main(String[] args) { + String demoClassName; + if (args.length > 0) { + demoClassName = args[0]; + } else { + throw new RuntimeException("Please specify a demo class!"); + } + + try { + Class demoClass = Class.forName("org.lwjgl.demo." + demoClassName); + Method mainMethod = demoClass.getMethod("main", String[].class); + mainMethod.invoke(null, (Object)new String[]{}); + } catch (ClassNotFoundException | NoSuchMethodException | SecurityException | + IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + e.printStackTrace(); + } + } + +} diff --git a/src/org/lwjgl/demo/bgfx/Bump.java b/src/org/lwjgl/demo/bgfx/Bump.java index f4d8b1c0..bb4bf6da 100644 --- a/src/org/lwjgl/demo/bgfx/Bump.java +++ b/src/org/lwjgl/demo/bgfx/Bump.java @@ -331,7 +331,7 @@ protected void frame(float time, float frameTime) { bgfx_encoder_set_instance_data_buffer(encoder, idb, 0, numInstances); // Set vertex and index buffer. - bgfx_encoder_set_vertex_buffer(encoder, 0, vbh, 0, 24); + bgfx_encoder_set_vertex_buffer(encoder, 0, vbh, 0, 24, BGFX_INVALID_HANDLE); bgfx_encoder_set_index_buffer(encoder, ibh, 0, 36); // Bind textures. @@ -346,7 +346,7 @@ protected void frame(float time, float frameTime) { | BGFX_STATE_MSAA, 0); // Submit primitive for rendering to view 0. - bgfx_encoder_submit(encoder, 0, program, 0, 0); + bgfx_encoder_submit(encoder, 0, program, 0, false); idb.free(); } } else { @@ -359,7 +359,7 @@ protected void frame(float time, float frameTime) { .get4x4(mtxBuf)); // Set vertex and index buffer. - bgfx_encoder_set_vertex_buffer(encoder, 0, vbh, 0, 24); + bgfx_encoder_set_vertex_buffer(encoder, 0, vbh, 0, 24, BGFX_INVALID_HANDLE); bgfx_encoder_set_index_buffer(encoder, ibh, 0, 36); // Bind textures. @@ -374,7 +374,7 @@ protected void frame(float time, float frameTime) { | BGFX_STATE_MSAA, 0); // Submit primitive for rendering to view 0. - bgfx_encoder_submit(encoder, 0, program, 0, 0); + bgfx_encoder_submit(encoder, 0, program, 0, false); } } } diff --git a/src/org/lwjgl/demo/bgfx/Cubes.java b/src/org/lwjgl/demo/bgfx/Cubes.java index c85e1e4a..824e1218 100644 --- a/src/org/lwjgl/demo/bgfx/Cubes.java +++ b/src/org/lwjgl/demo/bgfx/Cubes.java @@ -119,12 +119,12 @@ protected void frame(float time, float frameTime) { 0.0f) .get4x4(modelBuf)); - bgfx_encoder_set_vertex_buffer(encoder, 0, vbh, 0, 8); + bgfx_encoder_set_vertex_buffer(encoder, 0, vbh, 0, 8, BGFX_INVALID_HANDLE); bgfx_encoder_set_index_buffer(encoder, ibh, 0, 36); bgfx_encoder_set_state(encoder, BGFX_STATE_DEFAULT, 0); - bgfx_encoder_submit(encoder, 0, program, 0, 0); + bgfx_encoder_submit(encoder, 0, program, 0, false); } } bgfx_encoder_end(encoder); diff --git a/src/org/lwjgl/demo/bgfx/Metaballs.java b/src/org/lwjgl/demo/bgfx/Metaballs.java index 65fb7c7b..9e29065b 100644 --- a/src/org/lwjgl/demo/bgfx/Metaballs.java +++ b/src/org/lwjgl/demo/bgfx/Metaballs.java @@ -633,13 +633,13 @@ protected void frame(float time, float frameTime) { bgfx_encoder_set_transform(encoder, model.get4x4(modelBuf)); // Set vertex and index buffer. - bgfx_encoder_set_transient_vertex_buffer(encoder, 0, tvb, 0, numVertices); + bgfx_encoder_set_transient_vertex_buffer(encoder, 0, tvb, 0, numVertices, BGFX_INVALID_HANDLE); // Set render states. bgfx_encoder_set_state(encoder, BGFX_STATE_DEFAULT, 0); // Submit primitive for rendering to view 0. - bgfx_encoder_submit(encoder, 0, program, 0, 0); + bgfx_encoder_submit(encoder, 0, program, 0, false); bgfx_encoder_end(encoder); diff --git a/src/org/lwjgl/demo/bgfx/Raymarch.java b/src/org/lwjgl/demo/bgfx/Raymarch.java index 28d03241..a98e451a 100644 --- a/src/org/lwjgl/demo/bgfx/Raymarch.java +++ b/src/org/lwjgl/demo/bgfx/Raymarch.java @@ -115,9 +115,9 @@ private void renderScreenSpaceQuad(long encoder, int _view, short _program, floa bgfx_encoder_set_transient_index_buffer(encoder, tib, 0, 6); vertex.flip(); - bgfx_encoder_set_transient_vertex_buffer(encoder, 0, tvb, 0, 4); + bgfx_encoder_set_transient_vertex_buffer(encoder, 0, tvb, 0, 4, BGFX_INVALID_HANDLE); - bgfx_encoder_submit(encoder, _view, _program, 0, 0); + bgfx_encoder_submit(encoder, _view, _program, 0, false); } } } diff --git a/src/org/lwjgl/demo/opengl/shader/InfiniteDraggablePlaneDemo.java b/src/org/lwjgl/demo/opengl/shader/InfiniteDraggablePlaneDemo.java index 3c64ff96..bdfcde5b 100644 --- a/src/org/lwjgl/demo/opengl/shader/InfiniteDraggablePlaneDemo.java +++ b/src/org/lwjgl/demo/opengl/shader/InfiniteDraggablePlaneDemo.java @@ -12,7 +12,7 @@ import java.nio.IntBuffer; -import static org.joml.primitives.Intersectionf.intersectRayPlane; +import static org.joml.Intersectionf.intersectRayPlane; import static org.lwjgl.glfw.GLFW.*; import static org.lwjgl.opengl.ARBFragmentShader.*; import static org.lwjgl.opengl.ARBShaderObjects.*; diff --git a/src/org/lwjgl/demo/opengl/shadow/Omni2dShadow.java b/src/org/lwjgl/demo/opengl/shadow/Omni2dShadow.java index 00c6b459..08eecba7 100644 --- a/src/org/lwjgl/demo/opengl/shadow/Omni2dShadow.java +++ b/src/org/lwjgl/demo/opengl/shadow/Omni2dShadow.java @@ -16,7 +16,6 @@ import java.util.zip.*; import org.joml.*; -import org.joml.primitives.Intersectionf; import org.lwjgl.*; import org.lwjgl.assimp.*; import org.lwjgl.glfw.*; diff --git a/src/org/lwjgl/demo/util/AABBf.java b/src/org/lwjgl/demo/util/AABBf.java new file mode 100644 index 00000000..e11217bd --- /dev/null +++ b/src/org/lwjgl/demo/util/AABBf.java @@ -0,0 +1,23 @@ +package org.lwjgl.demo.util; + +public class AABBf { + public float minX, minY, minZ, maxX, maxY, maxZ; + + public float getMax(int k) { + switch (k) { + case 0: return maxX; + case 1: return maxY; + case 2: return maxZ; + default: throw new IllegalArgumentException(); + } + } + + public float getMin(int k) { + switch (k) { + case 0: return minX; + case 1: return minY; + case 2: return minZ; + default: throw new IllegalArgumentException(); + } + } +} diff --git a/src/org/lwjgl/demo/util/Collider.java b/src/org/lwjgl/demo/util/Collider.java index 56fae9e8..7da7eb0a 100644 --- a/src/org/lwjgl/demo/util/Collider.java +++ b/src/org/lwjgl/demo/util/Collider.java @@ -4,7 +4,6 @@ */ package org.lwjgl.demo.util; -import org.joml.primitives.AABBf; import org.joml.Vector3f; import org.lwjgl.demo.util.KDTreei.Voxel; diff --git a/src/org/lwjgl/demo/vulkan/VKFactory.java b/src/org/lwjgl/demo/vulkan/VKFactory.java index c5277ff6..49a284d0 100644 --- a/src/org/lwjgl/demo/vulkan/VKFactory.java +++ b/src/org/lwjgl/demo/vulkan/VKFactory.java @@ -11,7 +11,6 @@ import static org.lwjgl.vulkan.KHRGetPhysicalDeviceProperties2.*; import static org.lwjgl.vulkan.KHRShaderFloat16Int8.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR; import static org.lwjgl.vulkan.KHRSwapchain.*; -import static org.lwjgl.vulkan.KHRTimelineSemaphore.VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR; import static org.lwjgl.vulkan.NVRayTracing.*; import static org.lwjgl.vulkan.VK10.*; @@ -227,10 +226,6 @@ static VkSemaphoreCreateInfo VkSemaphoreCreateInfo(MemoryStack stack) { return VkSemaphoreCreateInfo.callocStack(stack).sType(VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO); } - static VkSemaphoreTypeCreateInfoKHR VkSemaphoreTypeCreateInfo(MemoryStack stack) { - return VkSemaphoreTypeCreateInfoKHR.callocStack(stack).sType(VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR); - } - static VkQueueFamilyProperties.Buffer VkQueueFamilyProperties(int count) { return VkQueueFamilyProperties.callocStack(count); } diff --git a/src/org/lwjgl/graalvm/LwjglSubstitutions.java b/src/org/lwjgl/graalvm/LwjglSubstitutions.java new file mode 100644 index 00000000..df02158f --- /dev/null +++ b/src/org/lwjgl/graalvm/LwjglSubstitutions.java @@ -0,0 +1,89 @@ +package org.lwjgl.graalvm; + +import static org.lwjgl.system.MemoryUtil.*; +import static org.lwjgl.system.Pointer.*; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +import org.lwjgl.Version; +import org.lwjgl.Version.BuildType; + +import com.oracle.svm.core.annotate.Alias; +import com.oracle.svm.core.annotate.RecomputeFieldValue; +import com.oracle.svm.core.annotate.RecomputeFieldValue.Kind; +import com.oracle.svm.core.annotate.Substitute; +import com.oracle.svm.core.annotate.TargetClass; + +@TargetClass(org.lwjgl.Version.class) +final class Target_org_lwjgl_Version { + + @Alias + @RecomputeFieldValue(kind = Kind.FromAlias, isFinal = true) + public static int VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION; + + @Alias + @RecomputeFieldValue(kind = Kind.FromAlias, isFinal = true) + public static BuildType BUILD_TYPE; + + @Substitute + public static String getVersion() { + String implVersion = Version.class.getPackage().getImplementationVersion(); + return String.valueOf(VERSION_MAJOR) + + '.' + VERSION_MINOR + + '.' + VERSION_REVISION + BUILD_TYPE.postfix + + ' ' + Optional.ofNullable(implVersion).orElse("SNAPSHOT"); + } +} + +@TargetClass(org.lwjgl.system.ThreadLocalUtil.class) +final class Target_org_lwjgl_system_ThreadLocalUtil { + + @Alias + @RecomputeFieldValue(kind = Kind.FromAlias, isFinal = true) + private static long JNI_NATIVE_INTERFACE; + + @Alias + @RecomputeFieldValue(kind = Kind.FromAlias, isFinal = true) + private static long FUNCTION_MISSING_ABORT; + + @Substitute + public static void setFunctionMissingAddresses(Class capabilitiesClass, int index) { + if (capabilitiesClass == null) { + long missingCaps = memGetAddress(JNI_NATIVE_INTERFACE + Integer.toUnsignedLong(index) * POINTER_SIZE); + if (missingCaps != NULL) { + getAllocator().free(missingCaps); + memPutAddress(JNI_NATIVE_INTERFACE + Integer.toUnsignedLong(index) * POINTER_SIZE, NULL); + } + } else { + int functionCount = getFieldsFromCapabilities(capabilitiesClass).size(); + + long missingCaps = getAllocator().malloc(Integer.toUnsignedLong(functionCount) * POINTER_SIZE); + for (int i = 0; i < functionCount; i++) { + memPutAddress(missingCaps + Integer.toUnsignedLong(i) * POINTER_SIZE, FUNCTION_MISSING_ABORT); + } + + //the whole purpose of substituting this method is just to remove the following line + //(which causes the resulting native image to crash!) + //memPutAddress(JNI_NATIVE_INTERFACE + Integer.toUnsignedLong(index) * POINTER_SIZE, missingCaps); + } + } + + //copied verbatim from the original class + @Substitute + private static List getFieldsFromCapabilities(Class capabilitiesClass) { + List fields = new ArrayList<>(); + for (Field field : capabilitiesClass.getFields()) { + if (field.getType() == long.class) { + fields.add(field); + } + } + return fields; + } +} + +/** Dummy class with the file's name. */ +public class LwjglSubstitutions { +}