Fork Sync: Update from parent repository#1
Open
github-actions[bot] wants to merge 2629 commits intohomingos:mainfrom
Open
Fork Sync: Update from parent repository#1github-actions[bot] wants to merge 2629 commits intohomingos:mainfrom
github-actions[bot] wants to merge 2629 commits intohomingos:mainfrom
Conversation
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
- Make sure that renderdiff fails when either building or rendering fails (the previous problem was in the use of && that masked the non-zero exit). - Make sure that golden branch is properly parsed in postsubmit.yml - Disable vk loader debug by default
`-mcpu` is intended to target a specific CPU instruction set and optimization. That's not what we want to do here. What we want is target an architecture, specifically armv8-a. So we use `-march` instead. On 64 bits builds, we tune for cortex-a78, which is the df the Pixel7 era. This doesn't mater much, but might give a little boost on newer CPU cores. The idea here is that we care "less" about older CPUs.
also - update the android build script to pull the version from build/common/versions - remove the ability to specify your own ndk version (this was undocumented and not fully implemented) The NDK version now needs to appear in two place (unfortunately): 1. build/common/versions 2. build/android/build.sh
…ory (#9492) Bumps the pip group with 1 update in the /test/renderdiff/src directory: [urllib3](https://github.com/urllib3/urllib3). Updates `urllib3` from 2.5.0 to 2.6.0 - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](urllib3/urllib3@2.5.0...2.6.0) --- updated-dependencies: - dependency-name: urllib3 dependency-version: 2.6.0 dependency-type: direct:production dependency-group: pip ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
filament_test_material should not need to depend on a "fixed" (or checked in) material. Now the dependent .filamat is generated as needed as is packaged with the checked-in test_material.filamat as before.
…9494) Bumps the pip group with 1 update in the /docs_src/build directory: [urllib3](https://github.com/urllib3/urllib3). Updates `urllib3` from 2.5.0 to 2.6.0 - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](urllib3/urllib3@2.5.0...2.6.0) --- updated-dependencies: - dependency-name: urllib3 dependency-version: 2.6.0 dependency-type: direct:production dependency-group: pip ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Powei Feng <powei@google.com>
With UBO batching, the frontend guarantees that doing a memcpy to the buffer if safe.
PlatformEGLAndroid holds onto the current swapchain in order to use it when beginFrame is called. Usually the swapchain is set just before beginFrame is called. However, that's not the case for standalone views. These are independent of the swapchain and doing "swapchain stuff" for them is nonsensical. So make sure that: 1. PlatfromEGLAndroid doesn't hold onto a dangling pointer when the swapchain is destroyed. And add proper null checks. 2. Don't do the "swapchain stuff" when beginFrame is called in the context of a standalone view. We now reserve frameID 0 for that purpose (meaning the frameid is non sensical for these). We're currently relying on frameID to not wrap-around. At 120 fps, that's about 1 year. This will be addressed in a later PR. FIXES=[462827028, 461399487]
…9496) Address potential issues in FrameInfoImpl and FrameInfoManager: - Modify FrameInfoManager::beginFrame to handle cases where the circular queue is full and the oldest frame is not yet ready, logging a warning and skipping the frame. This prevents potential use-after-free or data corruption by ensuring only ready frames are removed from the history. FIXES=[466081317]
When the frame history's circular queue is full and the oldest frame is not yet ready to be processed, we must skip the current frame. This change ensures that if `beginFrame` is skipped, the corresponding `endFrame` is also skipped. This prevents data corruption in the frame history.
- remove the multi-threaded tests, they added too much noise - added a memset test - make sure we allocate the buffer aligned to 16KB
- only MapAsync the staging buffers that are not being used by any command anymore (the commands have finished executing on GPU) - additionally, in WebGPUQueueManager, create a blank new submission state when a new command encoder is generated instead of in submit() BUGS=450620535
Keep it's original behavior of no-op
JobQueue is a thread-safe producer-consumer queue, which will be used for asynchronous operations.
* Allow embedding material source in cmat * Compress material string
Full commit hash is d4efef9 DOCS_ALLOW_DIRECT_EDITS
This reverts commit 6a8193e.
the current swapchain is associated to the default rendertarget, but the later doesn't know which attachments the swapchain actually has. it used to hardcode COLOR and DEPTH, but it's possible for the swapchain to have a STENCIL attachment. The proper way to do this is to use the swapchain's attachments when the default rendertarget is used (which means the swapchain is used). FIXES=[482120868]
These three formats would likely break even if used on a device where they are supported, as we reshape all 3-channel buffers to 4 channel. The data would be in the wrong format. We will have to follow-up, as there are other formats that are affected, but those formats likely have better driver support, as they are better aligned formats (e.g. 16-bit, 32-bit). These three formats were 96-bit formats, which we've remapped to 128-bit.
Once a framebuffer is destroyed, it must be removed from the mapping, and not just marked unused. Same for render passes.
Full commit hash is 0c3ae45 DOCS_ALLOW_DIRECT_EDITS
Full commit hash is 9bdb6ac DOCS_ALLOW_DIRECT_EDITS
- Also added a test to verify the y-flipping mechanism of each backend produces the same rendering across backends.
Full commit hash is 188113b DOCS_ALLOW_DIRECT_EDITS
This tool uses existing libraries: image, imageio, imageio-lite, imagediff to perform difference comparison for on-disk images. We refactor renderdiff to use this tool instead of using python dependencies. Co-authored-by: Ben Doherty <bendoherty@google.com>
* VK: Fix the descriptor set layout mismatch errors Depending on how the descriptor sets and external sampled images are used is possible to get a lot of errors about the pipeline layout and the descriptor set layouts dont match with the validation layers. This causes flicking artifacts and textures not being displayed. This is a partial rewrite of the implementation when using external samplers through a MaterialInstance. * Addressing review comments
- Replace broken Maven badge links with shields. links - Updated missing rendering features
Full commit hash is 26c51e0 DOCS_ALLOW_DIRECT_EDITS
Introduce a new cube sample that utilizes the feature level 0 (FL0) on the web. The `Engine.create` method accepts `config` as an argument, allowing users to explicitly request a GLES 2.0 context. In addition, this change helps a future implementation of asynchronous support for web, allowing the asynchronous mode to be turned on via the configuration setting. BUGS=[476134614]
When creating a sampler with a chroma conversion anisotropic must be disabled and the addressModes must be set to CLAMP_TO_EDGE. FIXES = [483454760]
The README had linebreaks that broke the badges in the table.
Full commit hash is 2bc7124 DOCS_ALLOW_DIRECT_EDITS
In some cases the external image to be imported is flagged as using a sRGB dataspace but when the AHB is imported its actual format is UNDEFINED and requires an external sampler. In these cases, its not valid to set the VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag. See VUID-VkImageCreateInfo-pNext-02396 FIXES=[483456747]
When UboManager::reallocate() is triggered, a large number of material instances may be invalidated simultaneously. This leads to a massive spike in descriptor set updates and command generation, which can overflow the circular buffer. To prevent this, we now flush commands in batches, we trigger a flush whenever the command buffer usage exceeds half of its capacity. (Like what RenderPass::Executor::execute does) BUGS = [474264976, 479079631]
This fixes #9701 by replacing shell execution (`shell=True` and `os.system`) with direct subprocess calls using argument lists in `tools/zbloat/zbloat.py` Previously, the script used f-strings to pass paths directly into a shell command, which created an unnecessary risk: if an external archive contained files with shell metacharacters, it could lead to accidental or malicious command execution during analysis. By passing arguments as lists, the subprocess module maps them directly to the executable, bypassing the system shell and eliminating the vulnerability.
- Add a script to test/sizeguard to compute sizes of artifacts within a compressed file. - Add a step to postsubmit-main.yml that will run the above script on every commit to main. This will enable us to add a presubmit step to guard against dramatic size increases in the Android build.
- Update UI - Wait for resources to finish loading before testing - Refactor validation to input/output - Move assets to be generated from the repo - Fix AutomationEngine java binding to add missing fields
…ng GLB files via ResourceLoader (#9696) * fixbug:"debug error, reason: The material 'Material_MR' has not been compiled to include the required GLSL or SPIR-V chunks for the vertex shader (variant=5, filtered=5)",Because the member variable mVariantFilter is not initialized, random values will appear on Windows 10 or others platform, which eventually causes some variants to be filtered out by this mVariantFilter. * fix:Fix morph target loading for accessors without buffer_view Morph targets were not working because ResourceLoader skipped all accessors without buffer_view. For morph targets, the data can be accessed directly via cgltf_accessor_unpack_floats(). This fix properly unpacks and uploads morph target vertex data to the GPU, enabling blendshapes and facial deformation to work correctly. Steps to Reproduce 1、In Unity (2022.3.11): Create a Prefab with Blend Shapes (Morph Targets) and an Animator to control them (e.g., an animation clip that makes the eyes squint). 2、Export: Use the UnityGLTF tool to export the model as a .glb file (including the Animator and Morph Target tracks). 3、In Filament: Load and play the animation. 4、Result: The skeletal animation (bone-based) may play, but the Morph Target effect (squinting) is missing or static.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.