new feature level API for backends (#5784)
* new feature level API for backends backend can now return a "feature level", each level corresponds to a "bundle" of features. Level1: ES3.0 capabilities Level2: ES3.1 capabilities + 31 textures + cubemap arrays Currently metal always returns level 1, GL and Vulkan return level 2 if 31 textures or more are supported. * Add public APIs for feature levels * Add infrastructure to check feature levels in materials * validate material feature level on use The validation is done when creating a renderable. If the engine doesn't support the material's feature level, an exception is thrown (or assert if exceptions are not enabled). * material documentation * activate ESSL 3.10 for feature level 2 also generate #defines to identify available feature levels * support for cubemap arrays in the public API if feature level 2 is supported, cubemap arrays can be used from the public API. * add release notes
This commit is contained in:
@@ -328,3 +328,24 @@ Java_com_google_android_filament_Engine_nIsAutomaticInstancingEnabled(JNIEnv*, j
|
||||
Engine* engine = (Engine*) nativeEngine;
|
||||
return (jboolean)engine->isAutomaticInstancingEnabled();
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT jint JNICALL
|
||||
Java_com_google_android_filament_Engine_nGetSupportedFeatureLevel(JNIEnv *, jclass,
|
||||
jlong nativeEngine) {
|
||||
Engine* engine = (Engine*) nativeEngine;
|
||||
return (jint)engine->getSupportedFeatureLevel();
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT jint JNICALL
|
||||
Java_com_google_android_filament_Engine_nSetActiveFeatureLevel(JNIEnv *, jclass,
|
||||
jlong nativeEngine, jint ordinal) {
|
||||
Engine* engine = (Engine*) nativeEngine;
|
||||
return (jint)engine->setActiveFeatureLevel((Engine::FeatureLevel)ordinal);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT jint JNICALL
|
||||
Java_com_google_android_filament_Engine_nGetActiveFeatureLevel(JNIEnv *, jclass,
|
||||
jlong nativeEngine) {
|
||||
Engine* engine = (Engine*) nativeEngine;
|
||||
return (jint)engine->getActiveFeatureLevel();
|
||||
}
|
||||
Reference in New Issue
Block a user