You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
libandroid: xr: remove XR_KHR_android_create_instance from extension list
This commit is contained in:
@@ -606,14 +606,19 @@ XrResult bionic_xrGetInstanceProperties(XrInstance instance, XrInstancePropertie
|
|||||||
|
|
||||||
XrResult bionic_xrCreateInstance(XrInstanceCreateInfo *createInfo, XrInstance *instance)
|
XrResult bionic_xrCreateInstance(XrInstanceCreateInfo *createInfo, XrInstance *instance)
|
||||||
{
|
{
|
||||||
|
/* so that we can use simpler (and faster) code, we replace extensions which we
|
||||||
|
* want to remove with this extension rather than delete them and copy the following
|
||||||
|
* extensions over
|
||||||
|
*/
|
||||||
|
const char *harmless_extension = "XR_KHR_opengl_es_enable";
|
||||||
|
|
||||||
const char* extra_exts[] = {
|
const char* extra_exts[] = {
|
||||||
"XR_KHR_opengl_es_enable",
|
|
||||||
"XR_MNDX_egl_enable",
|
"XR_MNDX_egl_enable",
|
||||||
"XR_EXT_local_floor",
|
"XR_EXT_local_floor",
|
||||||
};
|
};
|
||||||
|
|
||||||
char **old_names = createInfo->enabledExtensionNames, **new_names;
|
char **old_names = createInfo->enabledExtensionNames, **new_names;
|
||||||
int i, new_count = createInfo->enabledExtensionCount + ARRRAY_SIZE(extra_exts);
|
int new_count = createInfo->enabledExtensionCount + ARRRAY_SIZE(extra_exts);
|
||||||
|
|
||||||
printf("eee xrCreateInstance\n");
|
printf("eee xrCreateInstance\n");
|
||||||
|
|
||||||
@@ -621,14 +626,19 @@ XrResult bionic_xrCreateInstance(XrInstanceCreateInfo *createInfo, XrInstance *i
|
|||||||
new_names = malloc(sizeof(*new_names) * new_count);
|
new_names = malloc(sizeof(*new_names) * new_count);
|
||||||
memcpy(new_names, old_names, createInfo->enabledExtensionCount * sizeof(*old_names));
|
memcpy(new_names, old_names, createInfo->enabledExtensionCount * sizeof(*old_names));
|
||||||
|
|
||||||
for (i = 0; i < ARRRAY_SIZE(extra_exts); ++i)
|
for(int i = 0; i < createInfo->enabledExtensionCount; i++) {
|
||||||
|
if(!strcmp(new_names[i], "XR_KHR_android_create_instance"))
|
||||||
|
new_names[i] = harmless_extension;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < ARRRAY_SIZE(extra_exts); ++i)
|
||||||
new_names[createInfo->enabledExtensionCount + i] = extra_exts[i];
|
new_names[createInfo->enabledExtensionCount + i] = extra_exts[i];
|
||||||
|
|
||||||
createInfo->enabledExtensionCount = new_count;
|
createInfo->enabledExtensionCount = new_count;
|
||||||
createInfo->enabledExtensionNames = new_names;
|
createInfo->enabledExtensionNames = new_names;
|
||||||
|
|
||||||
fprintf(stderr, "## xrCreateInstance: Enabled extensions:\n");
|
fprintf(stderr, "## xrCreateInstance: Enabled extensions:\n");
|
||||||
for (i = 0; i < createInfo->enabledExtensionCount; ++i)
|
for (int i = 0; i < createInfo->enabledExtensionCount; ++i)
|
||||||
fprintf(stderr, "## ---- %s\n", createInfo->enabledExtensionNames[i]);
|
fprintf(stderr, "## ---- %s\n", createInfo->enabledExtensionNames[i]);
|
||||||
|
|
||||||
return xr_lazy_call("xrCreateInstance", createInfo, instance);
|
return xr_lazy_call("xrCreateInstance", createInfo, instance);
|
||||||
|
|||||||
Reference in New Issue
Block a user