Skip to content

Commit

Permalink
feat(OpenCL): add support for OpenCL 3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Spasi committed Oct 15, 2020
1 parent e218d5f commit 16c0c49
Show file tree
Hide file tree
Showing 17 changed files with 2,682 additions and 157 deletions.
1 change: 1 addition & 0 deletions doc/notes/3.2.4.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ This build includes the following changes:
* Added `AL_SOFT_buffer_samples` extension.
* Added `AL_SOFT_buffer_sub_data` extension.
* Added `AL_SOFT_direct_channels_remix` extension.
- OpenCL: Added support for OpenCL 3.0.
- OpenVR: Updated to 1.14.15 (up from 1.6.10)
- par: Added [par_octasphere](https://prideout.net/blog/octasphere/) bindings.
- rpmalloc: Updated to 1.4.1 (up from 1.4.0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ abstract class APIBinding(
protected fun List<NativeClass>.getFunctionPointers(predicate: (NativeClass) -> Boolean = { it.hasNativeFunctions }) = this.asSequence()
.filter(predicate)
.flatMap { it.functions.asSequence() }
.filter { !it.has<Reuse>() }
.filter { !it.has<Reuse>() && !it.has<Macro>() }
.toList()

fun addClass(clazz: NativeClass) {
Expand Down Expand Up @@ -624,7 +624,7 @@ class NativeClass internal constructor(
) {
out.print("\n$t$t$t")

val functions = _functions.values.let { if (filter == null) it else it.filter(filter) }
val functions = _functions.values.let { if (filter == null) it.filter { func -> !func.has<Macro>() } else it.filter(filter) }

var lineSize = 12
functions.forEachWithMore { func, more ->
Expand Down
69 changes: 62 additions & 7 deletions modules/lwjgl/core/src/generated/c/org_lwjgl_system_JNI.c
Original file line number Diff line number Diff line change
Expand Up @@ -2343,6 +2343,10 @@ JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPPPPPPP__JIJJJJJJ(JNIEnv *
UNUSED_PARAMS(__env, clazz)
return (jlong)((intptr_t (APIENTRY *) (intptr_t, jint, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t))(intptr_t)__functionAddress)((intptr_t)param0, param1, (intptr_t)param2, (intptr_t)param3, (intptr_t)param4, (intptr_t)param5, (intptr_t)param6);
}
JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPPJPPPPP__JJJJJJJJ(JNIEnv *__env, jclass clazz, jlong param0, jlong param1, jlong param2, jlong param3, jlong param4, jlong param5, jlong param6, jlong __functionAddress) {
UNUSED_PARAMS(__env, clazz)
return (jlong)((intptr_t (APIENTRY *) (intptr_t, intptr_t, jlong, intptr_t, intptr_t, intptr_t, intptr_t))(intptr_t)__functionAddress)((intptr_t)param0, (intptr_t)param1, param2, (intptr_t)param3, (intptr_t)param4, (intptr_t)param5, (intptr_t)param6);
}
JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPPPPPPPP__JIJJIJJJJJ(JNIEnv *__env, jclass clazz, jlong param0, jint param1, jlong param2, jlong param3, jint param4, jlong param5, jlong param6, jlong param7, jlong param8, jlong __functionAddress) {
UNUSED_PARAMS(__env, clazz)
return (jlong)((intptr_t (APIENTRY *) (intptr_t, jint, intptr_t, intptr_t, jint, intptr_t, intptr_t, intptr_t, intptr_t))(intptr_t)__functionAddress)((intptr_t)param0, param1, (intptr_t)param2, (intptr_t)param3, param4, (intptr_t)param5, (intptr_t)param6, (intptr_t)param7, (intptr_t)param8);
Expand Down Expand Up @@ -3749,6 +3753,17 @@ JNIEXPORT jint JNICALL Java_org_lwjgl_system_JNI_invokePPPPI__JJII_3I_3IJ(JNIEnv
if (param4 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param4, paramArray4, 0); }
return __result;
}
JNIEXPORT jint JNICALL Java_org_lwjgl_system_JNI_invokePPPPPI__J_3I_3I_3IJJ(JNIEnv *__env, jclass clazz, jlong param0, jintArray param1, jintArray param2, jintArray param3, jlong param4, jlong __functionAddress) {
UNUSED_PARAMS(__env, clazz)
void *paramArray1 = param1 == NULL ? NULL : (*__env)->GetIntArrayElements(__env, param1, NULL);
void *paramArray2 = param2 == NULL ? NULL : (*__env)->GetIntArrayElements(__env, param2, NULL);
void *paramArray3 = param3 == NULL ? NULL : (*__env)->GetIntArrayElements(__env, param3, NULL);
jint __result = ((jint (*) (intptr_t, intptr_t, intptr_t, intptr_t, intptr_t))(intptr_t)__functionAddress)((intptr_t)param0, (intptr_t)paramArray1, (intptr_t)paramArray2, (intptr_t)paramArray3, (intptr_t)param4);
if (param3 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param3, paramArray3, 0); }
if (param2 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param2, paramArray2, 0); }
if (param1 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param1, paramArray1, 0); }
return __result;
}
JNIEXPORT jint JNICALL Java_org_lwjgl_system_JNI_invokePNNPPPI__JJJII_3I_3IJJ(JNIEnv *__env, jclass clazz, jlong param0, jlong param1, jlong param2, jint param3, jint param4, jintArray param5, jintArray param6, jlong param7, jlong __functionAddress) {
UNUSED_PARAMS(__env, clazz)
void *paramArray5 = param5 == NULL ? NULL : (*__env)->GetIntArrayElements(__env, param5, NULL);
Expand Down Expand Up @@ -4983,13 +4998,13 @@ JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPPPP__JJ_3IJ(JNIEnv *__env
if (param2 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param2, paramArray2, 0); }
return __result;
}
JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPPPP__J_3I_3IJ(JNIEnv *__env, jclass clazz, jlong param0, jintArray param1, jintArray param2, jlong __functionAddress) {
JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPPPP__J_3J_3IJ(JNIEnv *__env, jclass clazz, jlong param0, jlongArray param1, jintArray param2, jlong __functionAddress) {
UNUSED_PARAMS(__env, clazz)
void *paramArray1 = param1 == NULL ? NULL : (*__env)->GetIntArrayElements(__env, param1, NULL);
void *paramArray1 = param1 == NULL ? NULL : (*__env)->GetLongArrayElements(__env, param1, NULL);
void *paramArray2 = param2 == NULL ? NULL : (*__env)->GetIntArrayElements(__env, param2, NULL);
jlong __result = (jlong)((intptr_t (APIENTRY *) (intptr_t, intptr_t, intptr_t))(intptr_t)__functionAddress)((intptr_t)param0, (intptr_t)paramArray1, (intptr_t)paramArray2);
if (param2 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param2, paramArray2, 0); }
if (param1 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param1, paramArray1, 0); }
if (param1 != NULL) { (*__env)->ReleaseLongArrayElements(__env, param1, paramArray1, 0); }
return __result;
}
JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPJPP__JJI_3IJ(JNIEnv *__env, jclass clazz, jlong param0, jlong param1, jint param2, jintArray param3, jlong __functionAddress) {
Expand Down Expand Up @@ -5094,13 +5109,11 @@ JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPPPPP__JJJI_3IJ(JNIEnv *__
if (param4 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param4, paramArray4, 0); }
return __result;
}
JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPJPPP__JJII_3I_3IJ(JNIEnv *__env, jclass clazz, jlong param0, jlong param1, jint param2, jint param3, jintArray param4, jintArray param5, jlong __functionAddress) {
JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPJPPP__JJIIJ_3IJ(JNIEnv *__env, jclass clazz, jlong param0, jlong param1, jint param2, jint param3, jlong param4, jintArray param5, jlong __functionAddress) {
UNUSED_PARAMS(__env, clazz)
void *paramArray4 = param4 == NULL ? NULL : (*__env)->GetIntArrayElements(__env, param4, NULL);
void *paramArray5 = param5 == NULL ? NULL : (*__env)->GetIntArrayElements(__env, param5, NULL);
jlong __result = (jlong)((intptr_t (APIENTRY *) (intptr_t, jlong, jint, jint, intptr_t, intptr_t))(intptr_t)__functionAddress)((intptr_t)param0, param1, param2, param3, (intptr_t)paramArray4, (intptr_t)paramArray5);
jlong __result = (jlong)((intptr_t (APIENTRY *) (intptr_t, jlong, jint, jint, intptr_t, intptr_t))(intptr_t)__functionAddress)((intptr_t)param0, param1, param2, param3, (intptr_t)param4, (intptr_t)paramArray5);
if (param5 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param5, paramArray5, 0); }
if (param4 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param4, paramArray4, 0); }
return __result;
}
JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPJPPPP__JJJJ_3IJ(JNIEnv *__env, jclass clazz, jlong param0, jlong param1, jlong param2, jlong param3, jintArray param4, jlong __functionAddress) {
Expand Down Expand Up @@ -5256,6 +5269,48 @@ JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPPPPPPP__JIJJJ_3I_3IJ(JNIE
if (param5 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param5, paramArray5, 0); }
return __result;
}
JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPPJPPPPP__J_3JJJJJ_3IJ(JNIEnv *__env, jclass clazz, jlong param0, jlongArray param1, jlong param2, jlong param3, jlong param4, jlong param5, jintArray param6, jlong __functionAddress) {
UNUSED_PARAMS(__env, clazz)
void *paramArray1 = param1 == NULL ? NULL : (*__env)->GetLongArrayElements(__env, param1, NULL);
void *paramArray6 = param6 == NULL ? NULL : (*__env)->GetIntArrayElements(__env, param6, NULL);
jlong __result = (jlong)((intptr_t (APIENTRY *) (intptr_t, intptr_t, jlong, intptr_t, intptr_t, intptr_t, intptr_t))(intptr_t)__functionAddress)((intptr_t)param0, (intptr_t)paramArray1, param2, (intptr_t)param3, (intptr_t)param4, (intptr_t)param5, (intptr_t)paramArray6);
if (param6 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param6, paramArray6, 0); }
if (param1 != NULL) { (*__env)->ReleaseLongArrayElements(__env, param1, paramArray1, 0); }
return __result;
}
JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPPJPPPPP__J_3JJJJ_3F_3IJ(JNIEnv *__env, jclass clazz, jlong param0, jlongArray param1, jlong param2, jlong param3, jlong param4, jfloatArray param5, jintArray param6, jlong __functionAddress) {
UNUSED_PARAMS(__env, clazz)
void *paramArray1 = param1 == NULL ? NULL : (*__env)->GetLongArrayElements(__env, param1, NULL);
void *paramArray5 = param5 == NULL ? NULL : (*__env)->GetFloatArrayElements(__env, param5, NULL);
void *paramArray6 = param6 == NULL ? NULL : (*__env)->GetIntArrayElements(__env, param6, NULL);
jlong __result = (jlong)((intptr_t (APIENTRY *) (intptr_t, intptr_t, jlong, intptr_t, intptr_t, intptr_t, intptr_t))(intptr_t)__functionAddress)((intptr_t)param0, (intptr_t)paramArray1, param2, (intptr_t)param3, (intptr_t)param4, (intptr_t)paramArray5, (intptr_t)paramArray6);
if (param6 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param6, paramArray6, 0); }
if (param5 != NULL) { (*__env)->ReleaseFloatArrayElements(__env, param5, paramArray5, 0); }
if (param1 != NULL) { (*__env)->ReleaseLongArrayElements(__env, param1, paramArray1, 0); }
return __result;
}
JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPPJPPPPP__J_3JJJJ_3I_3IJ(JNIEnv *__env, jclass clazz, jlong param0, jlongArray param1, jlong param2, jlong param3, jlong param4, jintArray param5, jintArray param6, jlong __functionAddress) {
UNUSED_PARAMS(__env, clazz)
void *paramArray1 = param1 == NULL ? NULL : (*__env)->GetLongArrayElements(__env, param1, NULL);
void *paramArray5 = param5 == NULL ? NULL : (*__env)->GetIntArrayElements(__env, param5, NULL);
void *paramArray6 = param6 == NULL ? NULL : (*__env)->GetIntArrayElements(__env, param6, NULL);
jlong __result = (jlong)((intptr_t (APIENTRY *) (intptr_t, intptr_t, jlong, intptr_t, intptr_t, intptr_t, intptr_t))(intptr_t)__functionAddress)((intptr_t)param0, (intptr_t)paramArray1, param2, (intptr_t)param3, (intptr_t)param4, (intptr_t)paramArray5, (intptr_t)paramArray6);
if (param6 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param6, paramArray6, 0); }
if (param5 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param5, paramArray5, 0); }
if (param1 != NULL) { (*__env)->ReleaseLongArrayElements(__env, param1, paramArray1, 0); }
return __result;
}
JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPPJPPPPP__J_3JJJJ_3S_3IJ(JNIEnv *__env, jclass clazz, jlong param0, jlongArray param1, jlong param2, jlong param3, jlong param4, jshortArray param5, jintArray param6, jlong __functionAddress) {
UNUSED_PARAMS(__env, clazz)
void *paramArray1 = param1 == NULL ? NULL : (*__env)->GetLongArrayElements(__env, param1, NULL);
void *paramArray5 = param5 == NULL ? NULL : (*__env)->GetShortArrayElements(__env, param5, NULL);
void *paramArray6 = param6 == NULL ? NULL : (*__env)->GetIntArrayElements(__env, param6, NULL);
jlong __result = (jlong)((intptr_t (APIENTRY *) (intptr_t, intptr_t, jlong, intptr_t, intptr_t, intptr_t, intptr_t))(intptr_t)__functionAddress)((intptr_t)param0, (intptr_t)paramArray1, param2, (intptr_t)param3, (intptr_t)param4, (intptr_t)paramArray5, (intptr_t)paramArray6);
if (param6 != NULL) { (*__env)->ReleaseIntArrayElements(__env, param6, paramArray6, 0); }
if (param5 != NULL) { (*__env)->ReleaseShortArrayElements(__env, param5, paramArray5, 0); }
if (param1 != NULL) { (*__env)->ReleaseLongArrayElements(__env, param1, paramArray1, 0); }
return __result;
}
JNIEXPORT jlong JNICALL Java_org_lwjgl_system_JNI_callPPPPPPPP__JIJJIJJJ_3IJ(JNIEnv *__env, jclass clazz, jlong param0, jint param1, jlong param2, jlong param3, jint param4, jlong param5, jlong param6, jlong param7, jintArray param8, jlong __functionAddress) {
UNUSED_PARAMS(__env, clazz)
void *paramArray8 = param8 == NULL ? NULL : (*__env)->GetIntArrayElements(__env, param8, NULL);
Expand Down
10 changes: 8 additions & 2 deletions modules/lwjgl/core/src/generated/java/org/lwjgl/system/JNI.java
Original file line number Diff line number Diff line change
Expand Up @@ -621,6 +621,7 @@ private JNI() {}
public static native long callPPJPPPP(long param0, long param1, long param2, long param3, long param4, long param5, long __functionAddress);
public static native long callPPPJPPP(long param0, long param1, long param2, long param3, long param4, long param5, long __functionAddress);
public static native long callPPPPPPP(long param0, int param1, long param2, long param3, long param4, long param5, long param6, long __functionAddress);
public static native long callPPJPPPPP(long param0, long param1, long param2, long param3, long param4, long param5, long param6, long __functionAddress);
public static native long callPPPPPPPP(long param0, int param1, long param2, long param3, int param4, long param5, long param6, long param7, long param8, long __functionAddress);
public static native long callPPPPPPPP(int param0, long param1, long param2, int param3, int param4, int param5, int param6, long param7, long param8, long param9, int param10, long param11, long param12, long __functionAddress);
public static native long callPJPPPPPPP(long param0, long param1, long param2, long param3, long param4, long param5, long param6, long param7, long __functionAddress);
Expand Down Expand Up @@ -962,6 +963,7 @@ private JNI() {}
public static native int invokePPPPI(long param0, long param1, long param2, @Nullable long[] param3, long __functionAddress);
public static native int invokePPPPI(long param0, long param1, int param2, int param3, @Nullable float[] param4, @Nullable int[] param5, long __functionAddress);
public static native int invokePPPPI(long param0, long param1, int param2, int param3, @Nullable int[] param4, @Nullable int[] param5, long __functionAddress);
public static native int invokePPPPPI(long param0, @Nullable int[] param1, @Nullable int[] param2, @Nullable int[] param3, long param4, long __functionAddress);
public static native int invokePNNPPPI(long param0, long param1, long param2, int param3, int param4, @Nullable int[] param5, @Nullable int[] param6, long param7, long __functionAddress);
public static native int invokePPPPPPPPI(long param0, int param1, int param2, long param3, @Nullable int[] param4, @Nullable int[] param5, @Nullable float[] param6, @Nullable int[] param7, @Nullable int[] param8, @Nullable int[] param9, long __functionAddress);
public static native long invokePP(@Nullable double[] param0, int param1, long __functionAddress);
Expand Down Expand Up @@ -1126,7 +1128,7 @@ private JNI() {}
public static native long callPPP(int param0, int param1, int param2, @Nullable int[] param3, @Nullable int[] param4, long __functionAddress);
public static native long callPPP(long param0, int param1, int param2, int param3, @Nullable int[] param4, long __functionAddress);
public static native long callPPPP(long param0, long param1, @Nullable int[] param2, long __functionAddress);
public static native long callPPPP(long param0, @Nullable int[] param1, @Nullable int[] param2, long __functionAddress);
public static native long callPPPP(long param0, @Nullable long[] param1, @Nullable int[] param2, long __functionAddress);
public static native long callPJPP(long param0, long param1, int param2, @Nullable int[] param3, long __functionAddress);
public static native long callPPPP(long param0, int param1, @Nullable int[] param2, long param3, long __functionAddress);
public static native long callPPPP(long param0, long param1, int param2, @Nullable int[] param3, long __functionAddress);
Expand All @@ -1141,7 +1143,7 @@ private JNI() {}
public static native long callPPPPP(long param0, int param1, long param2, long param3, @Nullable int[] param4, long __functionAddress);
public static native long callPPPPP(long param0, long param1, int param2, long param3, @Nullable int[] param4, long __functionAddress);
public static native long callPPPPP(long param0, long param1, long param2, int param3, @Nullable int[] param4, long __functionAddress);
public static native long callPJPPP(long param0, long param1, int param2, int param3, @Nullable int[] param4, @Nullable int[] param5, long __functionAddress);
public static native long callPJPPP(long param0, long param1, int param2, int param3, long param4, @Nullable int[] param5, long __functionAddress);
public static native long callPJPPPP(long param0, long param1, long param2, long param3, @Nullable int[] param4, long __functionAddress);
public static native long callPJPPPP(long param0, long param1, long param2, @Nullable double[] param3, @Nullable int[] param4, long __functionAddress);
public static native long callPJPPPP(long param0, long param1, long param2, @Nullable float[] param3, @Nullable int[] param4, long __functionAddress);
Expand All @@ -1159,6 +1161,10 @@ private JNI() {}
public static native long callPPJPPPP(long param0, @Nullable long[] param1, long param2, long param3, @Nullable short[] param4, @Nullable int[] param5, long __functionAddress);
public static native long callPPPJPPP(long param0, long param1, long param2, long param3, long param4, @Nullable int[] param5, long __functionAddress);
public static native long callPPPPPPP(long param0, int param1, long param2, long param3, long param4, @Nullable int[] param5, @Nullable int[] param6, long __functionAddress);
public static native long callPPJPPPPP(long param0, @Nullable long[] param1, long param2, long param3, long param4, long param5, @Nullable int[] param6, long __functionAddress);
public static native long callPPJPPPPP(long param0, @Nullable long[] param1, long param2, long param3, long param4, @Nullable float[] param5, @Nullable int[] param6, long __functionAddress);
public static native long callPPJPPPPP(long param0, @Nullable long[] param1, long param2, long param3, long param4, @Nullable int[] param5, @Nullable int[] param6, long __functionAddress);
public static native long callPPJPPPPP(long param0, @Nullable long[] param1, long param2, long param3, long param4, @Nullable short[] param5, @Nullable int[] param6, long __functionAddress);
public static native long callPPPPPPPP(long param0, int param1, long param2, long param3, int param4, long param5, long param6, long param7, @Nullable int[] param8, long __functionAddress);
public static native long callPPPPPPPP(int param0, @Nullable int[] param1, @Nullable long[] param2, int param3, int param4, int param5, int param6, long param7, long param8, long param9, int param10, @Nullable int[] param11, @Nullable long[] param12, long __functionAddress);
public static native long callPJPPPPPPP(long param0, long param1, long param2, long param3, long param4, long param5, long param6, @Nullable int[] param7, long __functionAddress);
Expand Down
Loading

0 comments on commit 16c0c49

Please sign in to comment.