|
b46344bb
|
2023-06-12T13:50:40
|
|
Metal: Cache render pipelines at the context level
Cache Metal render pipelines in a new mtl::PipelineCache which lives
at the context level. This allows us to clean up unused pipelines from
programs that are not actively used.
The cache limits were chosen based on running Chromium. Without a
limit, the total number of pipelines peaks at ~200. With frequent GCs,
the active working set usually sits at ~60 pipelines.
Bug: chromium:1329376
Change-Id: Ifa83b797c893684294e16dd638f6b3a35e1d043f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4608486
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
022b52f5
|
2022-11-30T14:58:01
|
|
Include xxhash.h from a relative location
Previously it was always included from src/common/third_party/xxhash/
This change makes it easier to use an externally provided copy of
xxhash.
Bug: b/260093525
Change-Id: I27c375c58ac3776a15d5d68483c235ece235b059
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4066278
Commit-Queue: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
94b45181
|
2022-10-12T14:54:14
|
|
Vulkan: Rearrange graphics pipeline desc bits
In preparation for use of VK_EXT_graphics_pipeline_library, the pipeline
state is split in three contiguous regions:
- Vertex input
- Pre-rasterization and fragment stages ("Shaders" for short)
- Fragment output
There is some state that affects both Shaders and Fragment output, which
is split and placed in between the two. This will allow the hash and
compare functions to eventually access each of those pipeline subsets as
a contiguous piece of memory.
Bug: angleproject:7369
Change-Id: Iedc4cf15ed6c7fed6ba93039889fbf5dd191e041
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3949914
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
35fd3063
|
2018-11-20T10:02:48
|
|
Use xxHash for faster hash map lookups.
This most strongly affects the Vulkan back-end which uses a hash map
to cache VkPipelines. It also should speed up some parts of the D3D11
back-end.
Bug: angleproject:2522
Change-Id: I10801654f043abce17339c30d7bf62bc8644e49c
Reviewed-on: https://chromium-review.googlesource.com/c/1316889
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|