View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004950 | NoesisGUI | Unreal | public | 2026-03-30 19:34 | 2026-04-27 14:47 |
| Reporter | hcpizzi | Assigned To | hcpizzi | ||
| Priority | normal | Severity | major | ||
| Status | resolved | Resolution | fixed | ||
| Product Version | 3.2.12 | ||||
| Fixed in Version | 3.2.13 | ||||
| Summary | 0004950: WorldUI not working on Quest devices | ||||
| Description | Noesis WorldUI components causing issues on Quest devices | ||||
| Platform | Any | ||||
|
Here's a patch that resolves the issue. Sorry for the long wait. 4950.patch (3,220 bytes)
Index: NoesisRenderDevice.cpp
===================================================================
--- NoesisRenderDevice.cpp (revision 16798)
+++ NoesisRenderDevice.cpp (working copy)
@@ -1257,32 +1257,61 @@
RHIUpdateTexture2D(Texture->GetTexture2D(), MipIndex, UpdateRegion, SourcePitch, SourceData);
}
+static void SetStaticUniformBuffer(FRHICommandList* RHICmdList, FRHIUniformBuffer* UniformBuffer)
+{
+ if (UniformBuffer)
+ {
+ const FRHIUniformBufferLayout& Layout = UniformBuffer->GetLayout();
+
+ const FUniformBufferStaticSlot Slot = Layout.StaticSlot;
+ checkf(IsUniformBufferStaticSlotValid(Slot), TEXT("Attempted to set a global uniform buffer %s with an invalid slot."), *Layout.GetDebugName());
+
+ RHICmdList->SetStaticUniformBuffer(Slot, UniformBuffer);
+ }
+}
+
void FNoesisRenderDevice::BeginOffscreenRender()
{
- FUniformBufferStaticBindings StaticUniformBufferBindings;
- StaticUniformBufferBindings.TryAddUniformBuffer(SceneTexturesUniformBuffer);
- StaticUniformBufferBindings.TryAddUniformBuffer(MobileSceneTexturesUniformBuffer);
- StaticUniformBufferBindings.TryAddUniformBuffer(ViewUniformBuffer);
- RHICmdList->SetStaticUniformBuffers(MoveTemp(StaticUniformBufferBindings));
+ if (SceneTexturesUniformBuffer)
+ {
+ SetStaticUniformBuffer(RHICmdList, SceneTexturesUniformBuffer);
+ }
+
+ if (MobileSceneTexturesUniformBuffer)
+ {
+ SetStaticUniformBuffer(RHICmdList, MobileSceneTexturesUniformBuffer);
+ }
+
+ if (ViewUniformBuffer)
+ {
+ SetStaticUniformBuffer(RHICmdList, ViewUniformBuffer);
+ }
}
void FNoesisRenderDevice::EndOffscreenRender()
{
- RHICmdList->SetStaticUniformBuffers({});
}
void FNoesisRenderDevice::BeginOnscreenRender()
{
- FUniformBufferStaticBindings StaticUniformBufferBindings;
- StaticUniformBufferBindings.TryAddUniformBuffer(SceneTexturesUniformBuffer);
- StaticUniformBufferBindings.TryAddUniformBuffer(MobileSceneTexturesUniformBuffer);
- StaticUniformBufferBindings.TryAddUniformBuffer(ViewUniformBuffer);
- RHICmdList->SetStaticUniformBuffers(MoveTemp(StaticUniformBufferBindings));
+ if (SceneTexturesUniformBuffer)
+ {
+ SetStaticUniformBuffer(RHICmdList, SceneTexturesUniformBuffer);
+ }
+
+ if (MobileSceneTexturesUniformBuffer)
+ {
+ SetStaticUniformBuffer(RHICmdList, MobileSceneTexturesUniformBuffer);
+ }
+
+ if (ViewUniformBuffer)
+ {
+ SetStaticUniformBuffer(RHICmdList, ViewUniformBuffer);
+ }
}
void FNoesisRenderDevice::EndOnscreenRender()
{
- RHICmdList->SetStaticUniformBuffers({});
}
void FNoesisRenderDevice::SetRenderTarget(Noesis::RenderTarget* Surface)
Index: NoesisShaders.h
===================================================================
--- NoesisShaders.h (revision 16798)
+++ NoesisShaders.h (working copy)
@@ -291,12 +291,6 @@
static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters& Parameters)
{
- FPermutationDomain PermutationVector(Parameters.PermutationId);
- UE::StereoRenderUtils::FStereoShaderAspects Aspects(Parameters.Platform);
- if (PermutationVector.Get<FStereo>() && !Aspects.IsInstancedStereoEnabled())
- {
- return false;
- }
return true;
}
|
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-03-30 19:34 | hcpizzi | New Issue | |
| 2026-03-30 19:35 | hcpizzi | Note Added: 0012132 | |
| 2026-03-30 19:35 | hcpizzi | File Added: 4950.patch | |
| 2026-03-31 09:09 | hcpizzi | Assigned To | => hcpizzi |
| 2026-03-31 09:09 | hcpizzi | Status | new => assigned |
| 2026-04-27 14:47 | jsantos | Status | assigned => resolved |
| 2026-04-27 14:47 | jsantos | Resolution | open => fixed |
| 2026-04-27 14:47 | jsantos | Fixed in Version | => 3.2.13 |