We add rvalue version of append/insert/replace so that calling
those on a temporary yields to a temporary.
Also add string literal versions of those so that we can
append/insert/replace a literal without allocation, e.g.:
`CString foo = CString{ bar }.append("baz");`
This will not end-up creating a temporary CString for "baz".
- Moved get_mesa.sh to build/common/get-mesa.sh
- Moved check-headers.sh to test/check-headers/test.sh
- Moved check-metal-shaders.sh to test/check-metal-shaders/test.sh
* Revert "Optional CMake flag for enabling ASAN for backend and its tests. (#8696)"
This reverts commit 543b93939a.
There were other already existing ways to achieve this without the need for new flags.
* Add documentation on running with ASAN and leak detection on mac.
BUGS=[398198310]
Adding a python script to enable updating new goldens into
a staging branch in the golden repo (filament-assets).
The same script can be used in github workflow to automatically
create a golden staging branch. This will be useful for users
without access to a mac (the only platform for generating
goldens as of now).
- Move emscripten download into its own script
- Refactor the common "CI choice" prompt into its own file.
- Move the content of `build/common/ci-common.sh` to the
"CI choice" script.
- Mention the get-emscripten.sh script in BUILDING.md
* VK: Add a new context method to check UMA
This heuristic should work on almost all devices,
can be extended later as needed.
* Addressing PR comments
---------
Co-authored-by: Powei Feng <powei@google.com>
Co-authored-by: Serge Metral <sergemetral@google.com>
I've been going back and forth on whether we information about the
per-view descriptor set layout should be written in the material
file.
In this change, we remove that dependency. By definition the
"per view" descriptor-set layout should only depend on view parameters
and obviously, all materials must be compatible.
In practice, a material does affect the layout so a reconciliation
needs to happen somewhere. It's easier to maintain to have all this
logic in one place (in Filament) instead of split between material
generation and filament.
All this change really does is to remove the information about the
per-view layout from the material file, and move it to Material in
filament, where it is hardcoded (before it was hardcoded in filamat),
but because both sides needed to match there was shared code.
**Material recompilation needed**
the main aim of this PR is to consolidate how we access the
"per view" descriptor set to a single place.
some validation code is moved into DescriptorSets.cpp, so we get a
more centralized idea of what we do with the descriptors.
also factorize in one place the filtering of sampler list by layouts.
Depth precaching can cause initial startup stalls, particularly on
platforms such as WebGL on FireFox/Mac.
This option allows us to disable depth precaching, which can be useful
for eliminating the initial startup hiccups or stalls due to the upfront
precaching of depth variants.
BUG=[392917621]
- move CI only prerequisites to github actions
- Add linux, mac prereq actions
- Add an action for indicating dependency versions
- Move ninja installation into its own script