Skip to content

Fix rendering on Parallels VMs with graphics set to "low" - #6053

Merged
mcgroarty merged 2 commits into
secondlife:developfrom
mcgroarty:develop
Aug 2, 2026
Merged

Fix rendering on Parallels VMs with graphics set to "low"#6053
mcgroarty merged 2 commits into
secondlife:developfrom
mcgroarty:develop

Conversation

@mcgroarty

@mcgroarty mcgroarty commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Description

This allows Second Life to render properly when running in a Parallels virtual machine - Windows on Apple Silicon

Issue 1: Matrices were used uninitialized.

In LLRender::syncMatrices():

  • Treat uniform location 0 as valid when uploading the inverse model-view, inverse projection, and identity matrices. Only location -1 indicates that a uniform is absent. (This is a zero-based index.)

Issue 2: Parallels GLSL compilation:

  • return float literals (not ints) from functions declared to return float

    • Parallels' shader compiler rejects these in their current form. These will be a NOP with compilers that automatically cast the ints to floats.
  • rename the local waterClip() wrapper to avoid an overload conflict

    • I think Parallels is in the wrong by not allowing the local overload, but the workaround creates no overhead on other platforms.

Related Issues


Checklist

Please ensure the following before requesting review:

  • [ x ] I have provided a clear title and detailed description for this pull request.
  • [ x ] If useful, I have included media such as screenshots and video to show off my changes.
  • [ x ] The PR is linked to a relevant issue with sufficient context.
  • [ x ] I have tested the changes locally and verified they work as intended.
  • [ x ] All new and existing tests pass.
  • [ x ] Code follows the project's style guidelines.
  • [ n/a ] Documentation has been updated if needed.
  • [ n/a ] Any dependent changes have been merged and published in downstream modules
  • [ x ] I have reviewed the contributing guidelines.

Additional Notes

Matrix Oopsies

In LLRender::syncMatrices(), treat uniform location 0 as valid when uploading the inverse model-view, inverse projection, and identity matrices. Only location -1 indicates that a uniform is absent. (This is a zero-based index.)

Fix Parallels GLSL compilation by:

- renaming the local waterClip() wrapper to avoid an overload conflict

- returning float literals (not ints) from a few functions declared to return float
@github-actions

Copy link
Copy Markdown


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@akleshchev
akleshchev requested a review from Geenz July 27, 2026 17:07
@akleshchev akleshchev linked an issue Jul 27, 2026 that may be closed by this pull request
Fix UI issues, improve warnings, and enhance process handling
@mcgroarty
mcgroarty merged commit 5e9fb00 into secondlife:develop Aug 2, 2026
11 of 12 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Second Life renders mostly-white screens under Parallels

2 participants