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
* Export graphviz data to the webview
* Fix some errors
* Fix colors
* Only show toggle when view selected
* Update
* Merge graphviz data into json string
* Mark export_graphviz function as const
* Set SERVE_FROM_SOURCE_TREE to 0
* Remove unnecessary import
* Refactor
* Refactor
* New line when early return
- Sort failures alphabetically
- Add way to suppress error when necessary
- Add way to run test on a subset of files for testing
- Fix case where number of files is less than number of workers
- Add markers to more VulkanDriver calls and other
functions related to VulkanDriver::collectGarbage
- Fix validation layer error calling vkWaitForFences
with a count of 0.
- In VulkanTextureState, call clearCachedImageViews
before destroying the vkImage.
- In VulkanStagePool, use a std::vector for keeping
track of used images and buffers. Also set the
TIME_BEFORE_EVICTION to 3 frames instead of the
FVK_MAX_COMMAND_BUFFERS.
clang optimizes code differently with very likely or unlikely
conditions, so we add a `VERY` version of these macros, and we
make use of it for assertions.
- PR #8641 introduced a requirement for including Systrace.h that
wasn't covered by the header-check test.
- Make sure temp.cpp contains only one include
- Add a missing include for Package.h
- Add a manager class for handling external image and sampling
- The logic is to enable a slow path if the descriptor set
layout has external samplers and an external image has been
assigned to the corresponding descriptor set
- The slow path will deduce the format of the external image to
and create the corresponding YUV conversion if necessary.
- Clean-up VulkanPlatform
- Re-enable renderdiff test.
- Cache the mesa directory so that we're not spending time pulling
and compiling it.
- Move python prereqs into the script and use venv.
This change fixes a crash that occurs in ShaderCompilerService under a
certain condition described below.
Functions are called in the order described below.
1. `ShaderCompilerService::initialize(...)` is called when a new gl
program is created. There are cases whre the corresponding TickOp may
be still alive at the end of this method.
2. `OpenGLProgram::~OpenGLProgram()` is called when the program is
immediately destroyed without being used. This deletes gl.program.
3. `ShaderCompilerService::tick()` is called later, and it references
the dangling gl object `gl.program` in the lambda function, and it
crashes.
This change also includes refactoring the class `ShaderCompilerService`
to make code simpler and less error-prone.
TEST = Tested on Desktop, Android, and Web by running sample apps
BUGS = [394319326, 407090622]
Perfetto has significantly less overhead. The User facing API is
mostly unchanged:
Here are the differences:
- SYSTRACE_ENABLE() does nothing on ANDROID, initializes systraces on darwin.
- SYSTRACE_DISABLE() is removed.
- A new "gltfio" tag is added.
- SYSTRACE_TAG *must* be defined before including `utils/Systrace.h`
- `utils/Systrace.h` should not be used from a public header
- the new SYSTRACE_TAG_DISABLE disables systrace at compile time
For android a data source MUST be created in the perfetto config:
```
data_sources {
config {
name: "track_event"
track_event_config {
enabled_categories: ["filament", "jobsystem", "gltfio"]
disabled_categories: "*"
}
}
}
```
This can for example be added to AGI's custom/advanced config.
FIXES=[407572663]