Skip to content

split shader files across multiple QRC files, partially fix 4.1#2061

Merged
ksuprynowicz merged 2 commits intooverte-org:masterfrom
HifiExperiments:shaderQrc
Mar 20, 2026
Merged

split shader files across multiple QRC files, partially fix 4.1#2061
ksuprynowicz merged 2 commits intooverte-org:masterfrom
HifiExperiments:shaderQrc

Conversation

@HifiExperiments
Copy link
Copy Markdown
Member

@HifiExperiments HifiExperiments commented Feb 2, 2026

fixes #2044 + (partly) #1570

@HifiExperiments HifiExperiments changed the title (wip) split shader files across multiple QRC files, fix 4.1 split shader files across multiple QRC files, fix 4.1 Feb 2, 2026
@HifiExperiments HifiExperiments marked this pull request as ready for review February 2, 2026 08:48
@HifiExperiments HifiExperiments added needs CR This pull request needs to be code reviewed macOS Windows needs QA This pull request needs to be tested labels Feb 2, 2026
Copy link
Copy Markdown
Collaborator

@ada-tv ada-tv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code diffs look alright to me, the 410 renderer works fine now (tested with MESA_GL_VERSION_OVERRIDE=4.1)

Saw the handful of split RCC calls running while compiling

450, es310, and vk all work fine too

only tested on linux, leaving the QA tag on until someone tests on windows too, though i'm confident it'll work there too

@ada-tv ada-tv added CR approved This pull request has been successfully code reviewed and removed needs CR This pull request needs to be code reviewed labels Feb 2, 2026
@HifiExperiments HifiExperiments linked an issue Feb 3, 2026 that may be closed by this pull request
@HifiExperiments
Copy link
Copy Markdown
Member Author

hrm actually I'm now seeing something weird in the deferred renderer (on windows) were most shaders are just rendering black (but not all? most unlit shaders seem fine). hadn't noticed because forward renderer works. not sure if it's because of this PR or something that went in recently (vulkan?). @ada-tv does deferred renderer work for you with this on linux? maybe will try a renderdoc capture when I get a chance

@ada-tv
Copy link
Copy Markdown
Collaborator

ada-tv commented Feb 8, 2026

hmm yeah, deferred is all black

forward deferred
image image

the albedo and normal buffers look ok, but the result of RenderDeferredSetup is just black

inputs outputs
image image

there's a lot of "x used uninitialised" warnings from the shader compiler, tho the identifiers have been stripped from the optimised glsl

@HifiExperiments
Copy link
Copy Markdown
Member Author

@ada-tv re-disabling the SPIRV shaders in Shaders.cpp seems to have fixed it. something must have broken about the SPIRV optimization between #1531 and now. but we can fix that separately - I think this should be good to go now

@ada-tv
Copy link
Copy Markdown
Collaborator

ada-tv commented Mar 16, 2026

Forward and deferred work properly now on 450, es310, and vk.

410 doesn't work though, likely an unrelated regression related to the new layout macros the Vulkan PR introduced: unrecognized layout identifier `binding'

@ksuprynowicz
Copy link
Copy Markdown
Member

ksuprynowicz commented Mar 20, 2026

I tested it on Windows with OpenVR and OpenXR and everything works well on OpenGL 4.5

@HifiExperiments
Copy link
Copy Markdown
Member Author

Forward and deferred work properly now on 450, es310, and vk.

410 doesn't work though, likely an unrelated regression related to the new layout macros the Vulkan PR introduced: unrecognized layout identifier `binding'

ah yeah binding is a 4.2 feature. we might just need to remove the changes to the 4.1 header from da01b4c

@ksuprynowicz
Copy link
Copy Markdown
Member

@ada-tv @HifiExperiments Is this PR safe to merge in your opinion?

@HifiExperiments HifiExperiments changed the title split shader files across multiple QRC files, fix 4.1 split shader files across multiple QRC files, partially fix 4.1 Mar 20, 2026
@HifiExperiments
Copy link
Copy Markdown
Member Author

yeah - it fixes building on my machine, and I’ve updated the title to reflect that it only partially fixes 4.1. I can look into the remaining issue with 4.1 separately

@ksuprynowicz
Copy link
Copy Markdown
Member

Thank you!

@ksuprynowicz ksuprynowicz merged commit 0d9ab7f into overte-org:master Mar 20, 2026
5 checks passed
@HifiExperiments HifiExperiments deleted the shaderQrc branch April 18, 2026 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CR approved This pull request has been successfully code reviewed macOS needs QA This pull request needs to be tested Windows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

windows: compiler is out of heap space

3 participants