Skip to content

Conversation

Geenz
Copy link
Collaborator

@Geenz Geenz commented Jun 27, 2025

Get caught up with glTF mesh import.

Ansariel and others added 30 commits April 18, 2025 12:19
# Conflicts:
#	indra/newview/llviewerdisplay.cpp
Restore option to change location of existing pick
…f std::string_view and heterogeneous map lookups (#3970)
Increment viewer version after 2024.05
…fixes

[#3972] Implemented Texture Panel Repeats per meter improvements and PBR feature
LLAgent::leftButtonGrabbed() must report TRUE only when an attachment has
**actually grabbed** the left mouse button (accept = TRUE, pass_on = FALSE), like every other ...Grabbed() function below it
KDU is uploading 2k files with 7 and 8 layers which is shifting the location of discard 1 and 2.

To accommodate, this commit adds a max_layer check based on max_dimension and the MAX_BLOCK_SIZE to allow the extra layers for 2k.

Also shifted the starting size to the MIN_LAYER_SIZE instead of MAX_BLOCK_SIZE's area to allow smaller files to be decoded at discard 5 completely.

Finally able to walk around Fantasy Faire without any gray blobs!
* updateImageDecodePriority - Avoid Long Face Loop

To avoid running a long loop on thousands of faces, some textures were being set to a BOOST level to avoid the updateImageDecodePriority function entirely but this was causing many of them to never be deleted over the course of a user's travels.

Instead of relying on BOOST, this commit changes the logic of the texture channel loop such that the face loop will only run if the number of faces is below the threshold.

To do this, we move the face_count incrementing outside of the face loop into the channel loop and increment it using the getNumFaces function instead.

We then check the face_count against the maximum number of faces we want to check and if it exceeds the number we set the number of faces for the face loop to check down to zero.

This avoids branch prediction misses and the long face loop issue.

Later, if the face_count is above the threshold, we assign the virtual size to the maximum.

I personally believe the max_faces_to_check should be lower than 1024, but I left that value in for continuity. I use 64 faces as my max on my compiled version of the viewer without any noticeable issues for memory use.

* updateImageDecodePriority - Face Loop Increment Swap

Looks like compilers like knowing the incrementing in the for loop information for optimizations and parallelization.

Sorry for the tiny commit.

* updateImageDecodePriority - Suggested Cleanup

Remove trailing white-space.

Co-authored-by: Andrey Lihatskiy <[email protected]>
A workflow dispatch has been added in an attempt to not only manually trigger this workflow but to also test this from a different branch without having to first merge to develop.

Also steps have been added to allow this workflow to run on mac runners when added. Mac runner info currently commented out.
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Introduce workflow dispatch, matrix strategy and mac support to qatest.yaml
Error: "The workflow is not valid. .github/workflows/qatest.yaml (Line: 23, Col: 10): Unrecognized named-value: 'matrix'. Located at position 1 within expression: matrix.runner"
@akleshchev
Copy link
Contributor

Were there any conflicts that need checking?

@Geenz
Copy link
Collaborator Author

Geenz commented Jun 27, 2025

@akleshchev Looks like it. Digging into it now.

Geenz and others added 2 commits June 27, 2025 17:14
@Geenz
Copy link
Collaborator Author

Geenz commented Jun 27, 2025

Closing in favor of #4306

@Geenz Geenz closed this Jun 27, 2025
@github-actions github-actions bot locked and limited conversation to collaborators Jun 27, 2025
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.