|
fcf3a1c0
|
2024-07-02T16:33:28
|
|
GL: Allow shader compilation with cached translated source
Write the translated shader source when serializing shaders. This does
not increase the size of the shader cache because Vulkan only uses the
compiledBinary field.
Spawn a ShaderTranslateTask for loading shaders so the GL backend can
compile the shader on the native driver.
Bug: angleproject:350779978
Change-Id: I14413a7ca2a0d99653a1082f2c8b4a94cf58626a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5672740
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
91c981c5
|
2024-01-11T22:37:48
|
|
Robust shader compile after shader binary is rejected
If ANGLE finds a shader binary in the cache, it populates the compiled
shader state. If the deserialization rejects the blob, the compiled
shader state was not reset. After the rejection, ANGLE proceeds to redo
the shader compilation, in which case it risks bugs as it tries to
accumulate info on top of the previous half-complete shader state.
Note that currently there are no errors if the shader state is not reset
before compilation, so this change is merely a precaution.
Bug: angleproject:8471
Change-Id: I2e08ecc2e5d940c88a32b5a05dca8afe8d8d897c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5189154
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
2a6336ed
|
2023-11-29T13:35:57
|
|
Don't construct a compiler instance on shader cache hits.
We can avoid constructing a shader compiler instance and then
destroying it when we get shader cache hits. The resources and output
type are available from the root gl::Compiler object.
Bug: angleproject:8434
Change-Id: I2de43db34dc1b86265aa648b1275e32814487ff4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5073292
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dd8432b5
|
2023-11-14T14:39:45
|
|
Remove angle::Result::Incomplete from shader/program paths
angle::Result is not an error code, and having Incomplete made it very
unclear what the purpose of this class is.
A follow up will remove it entirely.
Bug: angleproject:8414
Change-Id: Ica8271b9f7d8868671c7658161e50a53ef23c681
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5028091
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ab334105
|
2023-01-23T10:09:56
|
|
BuiltInResourcesString is no longer a part of shader cache key
The stringified version of `ShBuiltInResources` is poorly
maintained and has a large overhead while computing hashes.
Instead use the `ShBuiltInResources` blob directly.
The shader object now computes and caches its key, refactor
MemoryProgramCache to query the shader object for its key
instead of recomputing it.
Tests: EGLProgramCacheControlTest*
Bug: angleproject:7833
Change-Id: I67a22f9460cee10ab0f7571df7d6525b476a5a78
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4185759
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ba4b6913
|
2022-08-23T09:34:27
|
|
Fix data race in BlobCache
* Re-enable shader cache feature
* Improve BlobCache thread-safety test
* Improve EGLProgramCacheControlTest to not check the size
of the BlobCache, since the shader cache interferes with this.
* Include the arguments to ConstructCompiler() and Compile()
in the key hash for the shader cache.
Bug: angleproject:7036
Change-Id: Ied4e11f9160552f2f9358d99b5656315239ba856
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3851161
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Eddie Hatfield <eddiehatfield@google.com>
|
|
955adb77
|
2022-08-12T10:14:48
|
|
Cache compiled shader
By storing the compiled shader in the blob cache, the time to
recompile the same shader is reduced.
Based on work by <hckim.kim@samsung.com>
Bug: angleproject:7036
Change-Id: I884ae40e715c49a9ccd12903012e8327811e3557
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3808235
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|