Quest 3 POW level stuck at 3, Passthrough + Depth API
So I have this small Quest 3 App, basically a penalty shooter, using Passthrough + Depth API + Shadows + Vulkan (as requirement for Depth) For the 3D elements I have the goal, goal keeper gloves on the user controllers, a mascot character that shoots, and behind him a simple "screen" on a simple steel structure, this screen actually just has a couple textures to update the game progress. I also have a couple sound effects. When I launch it on Q3, with OVR settings I can see the power level of GPU&CPU is always at 3..... Also the scene starts with depth api off, there I have 72 fps, if I turn on soft occlusion drops to 30-50 fps.... What I dont get is I have another VR game, that has way more 3D elements, textures, interactions, a rig on the user, and CPU pow is at 5 and GPU at 4..... Why am I not getting higher power level on my Mixed Reality little game? here's the settings im using on the MR game, on the VR one its pretty much the same. I will send this MR game to AppLab and I'm worried it could get rejected by the performance, if there's any Meta staff reading this, game starts with Depth off, and on the start menu there's a toggle to enable it, would this help with the app review ? thanks!1.2KViews0likes4CommentsUnity ASW URP Fork doesn't work with RenderTextures / Lit Shader
I'm using the Meta URP fork for ASW support (Unity 2022.3). I also have functionality in my game for taking an instant photo onto a RenderTexture. However when I do this the images I get seem to be showing the motion vectors and nothing else. Its definitely due to the fork as identical setup (Vulkan / Standalone build) worked perfectly before the switch over. PCVR / DX11 works fine either way. Is there any way to strip the motion data out of these or a way to force that particular camera to not do the motion vector pass? Also reported here with images: https://github.com/Oculus-VR/Unity-Graphics/issues/34636Views0likes1CommentStandalone Vulkan in headset not working correctly - Huge Flickering, Incorrect frames
Hello, I'm working on a game with The Mirror (https://www.themirror.space/) , we've spoken to support at Godot Engine and they have mentioned that the Quest 3 has a Vulkan issue where the headset flickers intensely. We are experiencing this issue but only on the meta quest 3, on Mac, Windows, Linux and the quest 2 we don't have the same rendering problem. I have made a video of the issue please see the video https://www.youtube.com/watch?v=gd4NBKl0Gro The team at Godot Engine have tried to resolve this problem before for quite a lot of users but haven't been able to locate the source of the issue apart from it seems to be driver related for the adreno 740 in the meta quest 3. I am not a driver/rendering expert and would appreciate any help with this issue. The API is using Vulkan 1.0 and Vulkan 1.1, it has Vulkan 1.2 available too. I can provide full source code. Thanks, Gordon MacPherson923Views1like2CommentsQuest 3 Vulkan Drivers Unreliable and Broken - Snapdragon 8 Gen 2
We're having random frame corruption in the meta quest 3. We've successfully reproduced in RenderDoc for meta quest 3 https://www.youtube.com/watch?v=yA2IgZbUIMg The frame capture is here for render doc meta fork 63.3 (forked from v1.32) https://drive.google.com/file/d/12V9ZBZHsleYibw7s8Xj6ZO_ZJsgfPILy/view?usp=sharing Can we please get support from meta or snapdragon here? We've had snapdragon keep referring us to Meta for help with this, This is also reproduceable on the One Plus 13 which shares the same base hardware Snapdragon 8 however it is generation 3 not generation 2.595Views3likes0CommentsOpenGL crashes on Unity 2022.3
I have an application that crashes on start (Unity 2022.3) when built using OpenGL graphics API, switching to Vulkan stops the crashes, but we cannot switch due to requirements. I have narrowed it down to the OVRHandPrefab. If I remove the use of prefab from my rig, the crashes on start stop happening as well (in OpenGL). I am attaching a picture of the Android Logcat crash. Any ideas or solutions?993Views1like1CommentAPK only loads on certain Quest 2 headsets when using Vulkan backend with Symmetric Projection
Our team has encountered an unusual error following our update to Unity LTS 2021.3.2f1. Our demo builds to some of our headsets, but not others. We believe it is the more recently purchased headsets that are having these issues. The APK attempts to load indefinitely. This update broke Arm64 support for projects using IL2CPP, so we have temporarily swapped to Arm7. We are using the Vulkan rendering backend. The project fails to run specifically with symmetric projection enabled, and only on certain headsets. We're wondering what could cause this to run fine on some devices, but not on others, and we are interested seeing if others are also having issues which only exist on some Quest 2 headsets.3.1KViews3likes3CommentsOptimization extensions for Vulkan
It would be great to have performance counters and shader disassembly built right into Vulkan. Check out VK_AMD_shader_info, this way we can dump disassembly into logcat or even display in the app itself! It would be really cool if you would give us ability to write assembly directly, some of us developers wouldn't mind that also. Performance counters for a console such as Quest is a no-brainer but still missing somehow. RenderDoc counters are nice but what we really need is to be able to bake performance queries right in-between individual commands or submits if that's too hard. Then we can build custom built-in tools to optimize in a much tighter iteration loop than to fire up a RenderDoc capture every time we iterate on a performance issue. Thank you.1.2KViews1like0CommentsVK_KHR_buffer_device_address support when?
Hello, I'm building a custom engine, it would be really nice to get support for VK_KHR_buffer_device_address extension. XR2 with Adreno 650 should definitely be able to support it as my Pixel3A with Adreno 615 already does support it. Are we not getting support because Quest1s Adreno 540 wouldn't support the extension? We've already had Quest2 exclusive titles anyway, let us have the extension so we can bake the entire buffer addresses right into the shader. Thank you.782Views0likes0CommentsVulkan debug layer support
I can't get debug layers to work on Quest. vkEnumerateDeviceLayerProperties and vkEnumerateInstanceLayerProperties both return 0 results. Are validation layers not supported or am I doing something wrong (e.g loading the wrong .so)? See code below I notice the Vulkan Cubeworld sample refers to VK_LAYER_LUNARG_api_dump but it seems it's compiled out, which is why it presumably doesn't fail in vkCreateInstance() mVulkanLoader = dlopen("libvulkan.so", RTLD_NOW | RTLD_LOCAL); assert(mVulkanLoader != NULL); vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)dlsym(mVulkanLoader, "vkGetInstanceProcAddr"); vkEnumerateInstanceLayerProperties = (PFN_vkEnumerateInstanceLayerProperties)dlsym(mVulkanLoader, "vkEnumerateInstanceLayerProperties"); vkEnumerateInstanceExtensionProperties = (PFN_vkEnumerateInstanceExtensionProperties)dlsym(mVulkanLoader, "vkEnumerateInstanceExtensionProperties"); vkCreateInstance = (PFN_vkCreateInstance)dlsym(mVulkanLoader, "vkCreateInstance"); uint32_t layerCount; vkEnumerateInstanceLayerProperties(&layerCount, nullptr); std::vector<VkLayerProperties> availableLayers(layerCount); vkEnumerateInstanceLayerProperties(&layerCount, availableLayers.data()); VkLayerProperties* layerProps = availableLayers.data();1.4KViews1like1CommentStrange vertex-buffer corruption in Unity on Quest using compute shaders + Graphics.DrawProcedural?
So here's a bug that's been plaguing me for the last 18 months. Initially I chalked it up to the Quest being quite new, and just walked away from it as a dev platform expecting it to be fixed eventually. I tried again recently, and this is still a problem! Basically, when drawing more than a few thousand vertices with Graphics.DrawProcedural in a shader that uses SV_VertexID to fetch elements from a StructuredBuffer , things work perfectly fine in standalone builds, but on Quest everything goes crazy. All the vertices end up with bizarre positions, normals, etc, resulting in huge triangles going everywhere. Even stranger, vertices that aren't part of my system, such as the default Avatar hands, also have their vertices corrupted! I've experienced similar problems in the past using Graphics.DrawMeshInstancedIndirect There's no difference if I'm running in OpenGL ES 3.1+AEP, OpenGL ES 3.2, or Vulkan. I've tried messing with all sorts of settings, with no luck. Has anyone had any luck with Compute Shaders + Quest? I have a sneaky suspicion that there's just some difficult-to-find documentation about threadgroup sizes or compute shader features that need to be managed properly for writing Compute Shaders in Unity for Open GL or Vulkan. But I'm also worried that there's just some bug in the integration of the Oculus SDK in Unity. Help? I have a pair of videos, one showing what an earlier version of one of my apps looks like on PC, and the second video showing what the same app looks like through the lens on Quest. Notice both the complete polygonal mess in the background, and the strange spiky vertices on the Avatar hands. You can view the videos in this post on my website. I also made several posts about a related issue with Graphics.DrawMeshInstancedIndirect on the Unity forum over a year ago, which you can view here2.3KViews0likes2Comments