|
78ee33e4
|
2024-07-01T15:42:55
|
|
Roll third_party/dawn/ 6cdf3a1a1..eb249b37e (310 commits; 3 trivial rolls)
We need to roll in
https://dawn-review.googlesource.com/c/dawn/+/196054
to ublock rolling libc++ into ANGLE.
Add special handling of Undefined WGPU formats due to also rolling
https://dawn-review.googlesource.com/c/dawn/+/193360
https://dawn.googlesource.com/dawn.git/+log/6cdf3a1a195f..eb249b37e3e8
$ git log 6cdf3a1a1..eb249b37e --date=short --no-merges --format='%ad %ae %s'
2024-07-01 blundell [Vulkan] Set the Vk descriptor type correctly for YCbCr samplers
2024-07-01 blundell [Vulkan] Map FilterMode to Vulkan filter correctly for YCbCr info
2024-07-01 dawn-autoroll Roll vulkan-deps from 773555d3bd22 to 4a2ff9e87700 (1 revision)
2024-06-30 dsinclair [hlsl] Handle compute builtins for ShaderIO transform.
2024-06-30 dsinclair [hlsl] Add some existing transforms
2024-06-29 jrprice [msl] Regenerate test expectations
2024-06-29 dsinclair [hlsl] Split module var structs and arrays.
2024-06-29 dawn-autoroll Roll vulkan-deps from 2796aaff7eef to 773555d3bd22 (9 revisions)
2024-06-29 cwallez opengl: Add support for EGL_EXT_pixel_format_float.
2024-06-29 kainino Summarize CTS failures as first line of first max-severity log
2024-06-29 jaswant.panchumarti Do not turn off CMAKE_CXX_EXTENSIONS
2024-06-28 rafael.cintron Disable render passes on Windows until support can be detected
2024-06-28 enga [headers] Remove the Flags enums and make them 64-bit
2024-06-28 dsinclair [hlsl] Stub out the DecomposeMemoryAccess IR transform.
2024-06-28 cwallez opengl: Add support for EGL_KHR_no_config_context.
2024-06-28 jaswant.panchumarti Disable GLFW_INSTALL
2024-06-28 jaswant.panchumarti Add third_party/google_benchmark/src in fetch_dawn_dependencies.py
2024-06-28 jaswant.panchumarti Always build glslang as static library
2024-06-28 dawn-autoroll Roll vulkan-deps from 7ff358e64e2b to 2796aaff7eef (10 revisions)
2024-06-28 enga Fix Wayland build
2024-06-28 dawn-autoroll Roll ANGLE from 46dd6457f4bf to a674dc1dae8f (3 revisions)
2024-06-28 dawn-autoroll Roll DirectX Shader Compiler from 206133c9e7e1 to 49d1ae9a029c (1 revision)
2024-06-27 bsheedy Mark problematic expectation block as KEEP
2024-06-27 rharrison [tint][fuzz][ir] Implement test case disassembler
2024-06-27 dsinclair [hlsl] Add transform to remove struct and array initializers to lets.
2024-06-27 enga Re-number enum values part 2
2024-06-27 rharrison [tint][fuzz][ir] Batch process files when generating corpus
2024-06-27 cwallez GL: Add support for wgpu::Surface.
2024-06-27 jrprice [tint] Fix UB in FileContent copy constructor
2024-06-27 dsinclair [hlsl] Add ValueToLet transform.
2024-06-27 dsinclair [hlsl] Add ShaderIO transform.
2024-06-27 jaswant.panchumarti Use dawn_add_library function to create the dawn_glfw library
2024-06-27 jaswant.panchumarti Use dawn_add_library function to create the dawn_utils library
2024-06-27 jaswant.panchumarti Use dawn_add_library function to create the dawn_wire library
2024-06-27 jaswant.panchumarti Use dawn_add_library function to create the dawn_native library
2024-06-27 dsinclair [glsl] Extract textureBuiltinFromUniformData
2024-06-27 dawn-autoroll Roll vulkan-deps from 1c484942880c to 7ff358e64e2b (4 revisions)
2024-06-27 hans Fix std::vector<const T>
2024-06-27 dawn-autoroll Roll ANGLE from 0bf157f12bb8 to 46dd6457f4bf (5 revisions)
2024-06-27 dsinclair [glsl] Extract combinedSamplerInfo
2024-06-27 jrprice [fuzz] Skip PixelLocal with multiple entry points
2024-06-27 jrprice [tint] Pre-clone symbols in IR->AST pass
2024-06-27 jrprice [fuzz] Add TextureBuiltinsFromUniform precondition
2024-06-27 jrprice [tint] Fix collision check in multiplanar fuzzer
2024-06-27 jaswant.panchumarti Use dawn_add_library function to create the dawn_platform library
2024-06-27 jiawei.shao Fix crash when using constant expression as `@blend_src`
2024-06-26 rharrison [tint][ir][fuzz] Convert assembler to generating test case protos
2024-06-26 jaswant.panchumarti Use dawn_add_library function to create the dawn_proc library
2024-06-26 dawn-autoroll Roll ANGLE from 046327343595 to 0bf157f12bb8 (5 revisions)
2024-06-26 dawn-autoroll Roll DirectX Shader Compiler from e5183a06b913 to 206133c9e7e1 (1 revision)
(...)
2024-06-17 dawn-autoroll Roll SwiftShader from 085997ddb08b to cea33ab2d5ad (1 revision)
2024-06-17 jimblackler Integration test in the library.
2024-06-17 dawn-autoroll Roll vulkan-deps from 897d900fc1b1 to 7f05a36fb6d9 (1 revision)
2024-06-17 dawn-autoroll Roll DirectX Shader Compiler from 206b7c2e537a to 8c3f40c0ae12 (1 revision)
2024-06-17 dawn-autoroll Roll ANGLE from d521dd08bef4 to 7f70cd0da27c (1 revision)
2024-06-16 dawn-autoroll Roll vulkan-deps from 1bd6201121db to 897d900fc1b1 (1 revision)
2024-06-15 jimblackler Alternate way of generating the bindings inside Gradle.
2024-06-15 jimblackler Fix for incorrect import path for webgpu.h.
2024-06-15 jimblackler Move 'Util' to a new location, and convert to Kotlin.
2024-06-15 dawn-autoroll Roll vulkan-deps from dd296c842e50 to 1bd6201121db (7 revisions)
2024-06-15 dawn-autoroll Roll ANGLE from bcb567a7f8e4 to d521dd08bef4 (7 revisions)
2024-06-14 hitawala [YCbCr Samplers] Get supported SampleTypeBit for external format
2024-06-14 senorblanco OpenGLES: more end2end test cleanup.
2024-06-14 enga Fix wgpu::Status return value for wgpuSurfaceGetCapabilities
2024-06-14 kainino Use ityp::array for sVertexFormatTable
2024-06-14 dawn-autoroll Roll vulkan-deps from 42ee85cf2154 to dd296c842e50 (2 revisions)
2024-06-14 dawn-autoroll Roll Depot Tools from 88a72320ed30 to 1d1f17af898b (4 revisions)
2024-06-14 dawn-autoroll Roll DirectX Shader Compiler from 56f3c4038159 to 206b7c2e537a (1 revision)
2024-06-14 enga Remove 0-value enums that aren't ever valid
2024-06-14 dawn-autoroll Roll ANGLE from 973e5261a0fd to bcb567a7f8e4 (7 revisions)
2024-06-14 senorblanco Revert "Make a convenience cpp method for WaitAny with one future"
2024-06-14 dawn-autoroll Roll vulkan-deps from 7db4057407f4 to 42ee85cf2154 (8 revisions)
2024-06-14 enga Make a convenience cpp method for WaitAny with one future
2024-06-14 dawn-autoroll Roll Depot Tools from 43c6415bced9 to 88a72320ed30 (3 revisions)
2024-06-14 beaufort.francois Make GPUAdapter GetInfo() a suitable replacement for GetProperties
2024-06-14 rharrison [tint][ir][fuzz] Disable building IR fuzzer when ASAN is enabled
2024-06-14 enga AHB: Don't add storage binding unless AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER
2024-06-14 dsinclair [hlsl] Fix incorrect HLSL test output
2024-06-14 rharrison [tint][ir][fuzz] Fix breakage of fuzz_cmd target for CMake
2024-06-13 dsinclair [hlsl] Add HLSL IR printer var/let tests
2024-06-13 dsinclair [ir] Add a templated `zero` helper.
2024-06-13 dawn-autoroll Roll ANGLE from 65f8dc8e3ad8 to 973e5261a0fd (5 revisions)
2024-06-13 dsinclair [hlsl] Add generated IR expectations.
2024-06-13 jrprice [msl] Regenerate E2E expectations
2024-06-13 lehoangquyen D3D11: split Buffer class into GPUOnlyBuffer and StagingBuffer
2024-06-13 senorblanco OpenGLES: enable/triage misc end2end tests.
2024-06-13 chouinard Remove storage textures from vertex tests
2024-06-13 chouinard Disallow textureStore in vertex shader tests
2024-06-13 chouinard Replace textureStore test with frag shader
2024-06-13 jrprice [msl] Add polyfill for textureNumSamples
2024-06-13 jrprice [msl] Add polyfill for textureNumLayers
2024-06-13 jrprice [msl] Add polyfill for textureSampleCompare
2024-06-13 jrprice [ir] Strip all IO attributes in ShaderIO transform
2024-06-13 fdurso SampleUtils: Add missing newline in output message
2024-06-13 wong.kl.matthew dawn/node: Update documentation for ASan CMake builds.
2024-06-13 dawn-autoroll Roll DirectX Shader Compiler from 4353db3983e2 to 56f3c4038159 (2 revisions)
2024-06-13 ynovikov Revert "d3d: Change D3D references to PhysicalDevice to WeakRef instead of Ref"
2024-06-13 dsinclair [hlsl] Add HLSL IR printer constant tests
2024-06-13 dawn-autoroll Roll vulkan-deps from 7d45b6d174eb to 7db4057407f4 (13 revisions)
2024-06-13 dawn-autoroll Roll Depot Tools from c0883c509ea3 to 43c6415bced9 (3 revisions)
Created with:
roll-dep third_party/dawn
Bug: chromium:323708866, chromium:349411322, dawn:42241166
Change-Id: Iad65ef83c0ec47a6aba3fdc7de511ff22f586d4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5667168
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
e86ba9ab
|
2024-06-26T13:38:18
|
|
Vulkan: Fix querying support of prim restart patch
* Added a cap to reflect support for primitive restart for patches.
* primitiveRestartForPatchesSupported
* In Vulkan, it is determined through the following component from
the existing related device feature:
* primitiveTopologyPatchListRestart
* Updated querying PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED via glGet().
* Now it is only available on ES 3.2 or if tessellation shaders are
supported. Otherwise, there will be a validation error.
* It returns primitiveRestartForPatchesSupported.
* Added a unit test that queries this value and ensures that it remains
the same regardless of whether primitive restart is enabled.
Bug: angleproject:349610458
Change-Id: If43a5326f0886cf10e38b4e73a868f46b1052533
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5661108
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
3813e805
|
2024-06-21T14:29:55
|
|
Add env var/property control of API dump layer
Layer is now included with all debug/assert builds or when
specified through GN arg.
VK_VULKAN_API_DUMP_LAYER on desktop, or for android set
debug.angle.enable_vulkan_api_dump_layer to 1.
Also included some renaming since layers other than
validation are supported.
Bug: angleproject:8623
Change-Id: I2bb976dede53712f781a531d0c4f3ce4d33f052c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5649937
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
a674dc1d
|
2024-06-21T14:48:06
|
|
Unify updating cached color/read render targets
Currently in updateColorRenderTarget(), there are two calls to update
cached render target if the read RT is the same as the color RT, which
means getting the same attachment RT twice. In case it is the same
attachment, there can be one call to update both.
* Updated updateColorRenderTarget() so if the read attachment and the
color attachment are the same, it will only get the attachment RT
once. Otherwise, it will update the read RT separately.
Bug: angleproject:348704287
Change-Id: I9ff9fb2a4edbd4420feece0ee6edd40f1f7efdca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5647497
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
46dd6457
|
2024-06-25T15:56:15
|
|
Vulkan: Use DONT_CARE ops for missing D/S aspects
Simplifies op tracking with dynamic rendering.
Bug: angleproject:42267038
Change-Id: I394c154d94458c470190fea66d82c408e6f33725
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5655873
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
35f01e7f
|
2024-06-26T14:30:27
|
|
ESSL -> WGSL: Support basic control flow
If/else, while, do/while, for.
Return, break, continue, discard
Bug: angleproject:42267100
Change-Id: I0c8ef30b45aec639a07323e333db970d4c42dec0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5661103
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
89ef2812
|
2024-06-26T11:19:54
|
|
ESSL -> WGSL: unary and binary exprs, operators, array access
Array indexing is always checked to be within bounds. For runtime-sized
arrays, this requires emitting a clamp(). For now this includes a bug
the left-side-expression (the array itself) has any side effects, which
shouldn't actually be possible but may be in future versions of WGSL.
Implementing unary, binary, and remaining aggregate expressions requires
implementing operators, many of which do not have exact corresponding
versions between GLSL and WGSL. This implements many operators but for
simplicity leaves some unimplemented and some half-implemented.
See WGSLOutput_test.cpp for some code examples.
Bug: angleproject:42267100
Change-Id: I3737abb5dffd156deba0429fa86570270d711d3c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5651994
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3e997419
|
2024-06-25T18:41:03
|
|
Add format conversions for WebGPU formats.
This CL adds a Format class, as well as a generator script to
generate methods to map between WebGPU and ANGLE formats.
Fallback mappings are listed but this CL only implements
support for required webgpu formats.
Bug: angleproject:344814096
Change-Id: I2588a57353eafc4e87f40df3bbe3f9375e5ed8c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5598178
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0bf157f1
|
2024-06-26T07:44:43
|
|
Tests: Update expectations for new deqp test name
Test was split into a bunch of subtests, have to stop checking
for exact string match. Added wildcard to compensate.
Bug: angleproject:349569335
Change-Id: I0787208db0823d7ac1547cc03e04cd6bfed944ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5659336
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
|
|
85e2e6a9
|
2024-05-08T12:31:37
|
|
WebGPU: Add Window and Pbuffer surfaces.
Bug: angleproject:342213844
Change-Id: I58465bdf895b4bab63ec3c74e326c6be4827bf60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5525974
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
04632734
|
2024-06-20T17:23:27
|
|
Add EGL query option for minor version
* Added the following:
* EGL_CONTEXT_MINOR_VERSION
* Added since EGL 1.5
* EGL_CONTEXT_MAJOR_VERSION
* Another alias for EGL_CONTEXT_CLIENT_VERSION.
* Added unit tests to query major and minor versions.
Bug: angleproject:349179609
Change-Id: I99989c0f9f6659995caf9d7987551b97d477f22f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5648675
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
df7bda5c
|
2024-06-21T13:27:08
|
|
Disable MSRTSS if not supported for RGBA
* Support for MSRTSS is checked for RGBA8 and RGBA8_SRGB during
renderer initialization.
* In the case of lack of support, this feature is disabled.
* preferMSRTSSFlagByDefault is disabled if MSRTSS is not supported
at all.
Bug: angleproject:348181798
Change-Id: If1bf27f53a61f4fd67576c426ab07f4e2304fbe9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5647495
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
8b1daa18
|
2024-06-24T14:22:22
|
|
Vulkan: Fix MSRTT failure from undef addnl format
In TextureVk::initImage(), for formats that do not have an SRGB
equivalent, such as some D/S formats, additionalViewFormat becomes
VK_FORMAT_UNDEFINED. For those textures, FormatSupportsUsage()
returns false for MSRTSS, which leads to an error in some test cases.
* Added the condition that, to determine MSRTSS support, additional
format is ignored if it is undefined.
* Unsuppressed affected tests that should now be fixed.
Bug: angleproject:348181798
Change-Id: I739b630ac7d0230e2506f6f13b8cb9b3b50d175f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5651860
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
0c5b327a
|
2024-06-18T13:48:06
|
|
Extend advanced blend tests to cover core and KHR
* Added AdvancedBlendTestES32.
* (AdvancedBlendTest will now use ES 3.1 with the KHR extension.)
* Currently disabled on Intel (Windows and Linux)
* (ES 3.2 is expected to include advanced blend equations.)
Bug: angleproject:42262258
Change-Id: I691786c2b54ae6c1efa02299667978ddbc526819
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5640674
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
0ccc018e
|
2024-06-20T10:20:08
|
|
Reland GL: Avoid calling glBindFragDatalocationIndexed on Qualcomm
Track if the output location and index came from a layout qualifier
or from a call to glBindFragDataLocation[Indexed] and only call
glBindFragDataLocationIndexed in the latter case. Re-binding a
location that was already specified in the shader is not allowed.
Qualcomm can fail when trying to bind locations using the API when
the output variable is an array or uses a non-zero index. Only
call glBindFragDataLocationIndexed when the user specifically uses
it to avoid failed links when all outputs should be implcitly
assigned.
Assign the ProgramOutput::pod::index field when doing output assignment
to mirror how the location is assigned.
Bug: angleproject:42267082
Change-Id: I72cdb73dd4c5edea4ad1229ca75c0c7926344d1f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5645123
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
7ca9f46a
|
2024-06-21T13:09:24
|
|
ESSL -> WGSL: Emit func calls, struct access, constants
Also includes constructor calls, swizzles, and a slightly incorrect
version of the ternary operator.
The ternary operator doesn't exist in WGSL, only a non-short-circuiting
select() builtin. For now the ternary is implemented with select()
but that isn't correct if any of the true/false expressions have side
effects, and may have perf implications by computing both true/false
expressions.
Constants are mostly done after this, however NaN and infinity are not
valid constants in WGSL and it's unclear what we can do about this as
WGPU implementations are allowed to assume NaNs and infinities are
never operated on.
Bug: angleproject:42267100
Change-Id: Ie6190091a7b95d3d372736ab7cea45868846e7be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5648990
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
016ef60d
|
2024-06-24T17:41:30
|
|
ValidateAST asserts when refers to builtIn struct type name
Refers to build in type name looks allowed by GL
but currently VK and Metal backends do not support,
i.e.: refers to gl_DepthRangeParameters, this change
is to add temporary check to make using reserved
type name an error during parsing.
Bug: angleproject:348313398
Change-Id: I6522566b1f590fe2b24534fb065625c4ac3b06c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5645265
Auto-Submit: Erica Li <lerica@apple.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
dd25e193
|
2024-06-14T12:14:52
|
|
Add a texture copy test that does multiple layer copies
Add a test that does multi-layer copy between a 2D array texture
and a 3D texture of different formats.
Bug: b/347306270
Change-Id: I972ae83f568450c27295a565af13f8e6d2332f66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5634376
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
beb75984
|
2024-06-21T17:33:51
|
|
Fix incorrect verification for SimultaneousUploadAndDraw
MultithreadingTestES3.SimultaneousUploadAndDraw was verifying
its results incorrectly, resulting in incorrect failures.
Bug: angleproject:8341
Change-Id: Ie9268391c7b65a904a05c428c13be1041e8a7383
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5647496
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e095c06f
|
2024-06-24T17:51:54
|
|
Suppress end2end MultisampledRenderToTexture* failures
Started on Pixel 6 AP1A.240405.002 after
https://chromium-review.googlesource.com/c/angle/angle/+/5644215
MultisampledRenderToTextureES31Test.DrawCopyThenBlendAllAttachmentsMixed
MultisampledRenderToTextureES3Test.DepthStencilAttachment
MultisampledRenderToTextureES3Test.DepthStencilClearThenDraw
MultisampledRenderToTextureES3Test.DrawCopyDrawAttachDepthStencilClearThenDraw
Bug: angleproject:348181798
Change-Id: I4290e7ea0ba2352feed538c02d798e612d7fd616
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5651062
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
15b95b4a
|
2024-06-24T13:21:50
|
|
Skip WebGL2UniformBufferTest.LargeArrayOfStructs
Times out on Mac NVIDIA GL.
Bug: chromium:346561003
Change-Id: If2eb106024a2c693c57f0ea351f981fc73d0af82
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5646492
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
3c472b45
|
2024-06-20T13:17:32
|
|
Vulkan: Fail if texture bound to MSRTT w/o support
* If a texture is already bound to an MSRTT framebuffer, but MSRTSS
is not supported by the driver for that format, it leads to failure.
Bug: angleproject:348181798
Change-Id: I685ca552b9c53b06f33065ba594d81cfa7b25b4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5644215
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
6f33eddc
|
2024-06-20T18:05:49
|
|
Vulkan: Bugfix in FindSupportedFormat
Account for vendors that do not support any image fallback formats
Bug: angleproject:42261363
Change-Id: I2a6b1a724e52d9fa75444ff154986b49de612d32
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5646126
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
48969c95
|
2024-05-31T16:34:07
|
|
GL: Implement QCOM_tiled_rendering
Bug: angleproject:343900918
Change-Id: I01612e11795d7aa8ee20f6e9bd5ef62fe40e2910
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5588630
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3be15cb0
|
2024-06-21T13:52:20
|
|
GL: Limit uniform block size to 64KB
This change works around an inefficiency in ANGLE when the uniform block
has a large size. That will be fixed in a follow up, but in the
meantime this clamping makes ANGLE more uniform on different vendors
(most of which expose this limit as 64KB already). This also aligns
with the strategy adopted by the Vulkan backend.
Bug: angleproject:346561003
Change-Id: Id23a1f1bbbc1c7224c432d5bee1c4989ff2c92b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5645627
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
12028222
|
2024-06-20T00:00:00
|
|
Metal: Clear visibility result buffer before use
Ensured that the current visibility pool buffer does
not contain previous results if it was used before.
Fixed: angleproject:348206830
Change-Id: I8dbc36626ef8267d5466c96405dac0da2754cb6d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5643453
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e3c8d57b
|
2024-06-21T11:55:21
|
|
GL: Fix glClearTexImage for LUMA textures
We need to transform the format and type before handing it off to the
driver for emulated texture formats.
Bug: angleproject:347047859
Change-Id: Ifa2c92179a49fbd8ae152a365c2915091102e4e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5645626
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3f572905
|
2024-06-19T17:46:38
|
|
Add basic begin/end support for perf counters
The AMD_performance_monitor extension has explicit begin/end calls to
capture counters. This was not implemented in ANGLE and the tests were
relying on ANGLE always capturing counters (incurring a small overhead).
This change does not complete the implementation of that extension, but
does add basic support for starting and stopping perf counter
measurements. While inactive, most counters are not updated.
Bug: angleproject:42267038
Change-Id: I3ff6448b22ca247c217401cb2d76ef4142c9d759
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5639343
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
e53b3ad7
|
2024-06-17T15:23:55
|
|
Vulkan: Extend coherent adv blend to emulated path
* blendEquationAdvancedCoherentKHR is now also enabled if the following
features are enabled to emulate ABE:
* emulateAdvancedBlendEquations
* supportsShaderFramebufferFetch
* Relevant tests: *GLES31.functional.blend_equation_advanced.coherent*
* On some Android devices: From "Not supported" to "Passed"
Bug: angleproject:42262258
Change-Id: I4d97438df774f0752b9f30c5807cb3cc20ede076
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5631144
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
a1dea207
|
2024-06-13T11:40:39
|
|
Implement KHR_blend_equation_advanced_coherent
* Updated the validation for glBlendBarrier() and ~KHR().
* GL state now includes mBlendAdvancedCoherent.
* Updated glEnable() to accept GL_BLEND_ADVANCED_COHERENT_KHR.
* It can be queried via glGetIntegerv(), etc.
* EXTENDED_DIRTY_BIT_BLEND_ADVANCED_COHERENT added.
* Added a corresponding bit to ExternalContextState.
* If coherence is supported, there should be no need to use blend
barriers, as, based on the spec, the advanced blend ops should
then follow order like the basic blend ops.
* Relevant tests: *GLES31.functional.blend_equation_advanced.coherent*
* On Linux/NVIDIA: From "Not supported" to "Passed"
Bug: angleproject:42262258
Change-Id: I7e0e43bdc71524eec111c2d3b024fe73c9795e55
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5634381
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
05801537
|
2024-06-13T13:35:05
|
|
Vulkan: Add feature for coherent blend advanced op
This change will add features that will be used in
the follow-up CL.
* Added the following feature to the Vulkan backend:
* supports_blend_operation_advanced_coherent
* Added the following feature to the renderer:
* mBlendOperationAdvancedFeatures
* It will be used to query advancedBlendCoherentOperations
from the physical device.
Bug: angleproject:42262258
Change-Id: I2949002d053700e89d92358d6e7c80c714ea36ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5634380
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
0b888d50
|
2024-06-13T11:32:53
|
|
Add KHR_blend_equation_advanced_coherent
* Added this extension to registry_xml.py.
Bug: angleproject:42262258
Change-Id: I2d69982b9ec876e3c21346039ed78aa21b1a1896
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5634379
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
e3087128
|
2024-06-19T17:44:52
|
|
Tighten FixedVector access asserts
FixedVector has a size(), the out-of-bounds check is made tighter to
make sure elements beyond size() (but still within the static array) are
not accessed.
Bug: angleproject:42267038
Change-Id: I46decb4262207bd7f1446e257e7196768345a4fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5639342
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
54c48177
|
2023-04-29T23:12:30
|
|
GCC: Define MemoryAllocInfoMapKey's hash before using in unordered_map
GCC complains that std::hash specialization for
MemoryAllocInfoMapKey type should be positioned before it is
used in std::unordered_map.
Bug: chromium:40565911
Change-Id: Ia3dd2a699431720b030839d94ea796894ba8b822
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5642294
Auto-Submit: DongHwan Yu <donghwan.yu@lge.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
800ca8d3
|
2024-06-19T21:04:11
|
|
Revert "GL: Avoid calling glBindFragDatalocationIndexed on Qualcomm"
This reverts commit e768aed37e77dfcba0fe8ec7027348ade2069c85.
Reason for revert: Breaks WebGL tests.
Original change's description:
> GL: Avoid calling glBindFragDatalocationIndexed on Qualcomm
>
> Track if the output location and index came from a layout qualifier
> or from a call to glBindFragDataLocation[Indexed] and only call
> glBindFragDataLocationIndexed in the latter case. Re-binding a
> location that was already specified in the shader is not allowed.
>
> Qualcomm fails to bind any location that is not specified with a
> layout qualifier. Skip tests that do this behaviour and log warnings
> that the driver is unable to handle this case.
>
> Assign the ProgramOutput::pod::index field when doing output assignment
> to mirror how the location is assigned.
>
> Bug: angleproject:42267082
> Change-Id: Icdf83bb93f63a6375b5a6062690e53905c9ffe71
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5415796
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Bug: angleproject:42267082
Change-Id: Ifb866878aa6489b809ba6db4152ea5942274dc45
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5641895
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
92148c2c
|
2024-06-17T11:13:46
|
|
GL: Implement GL_EXT_clear_texture.
This extension is useful because it allows clearing textures without
changing the framebuffer. Chrome uses this on Android when it's
available.
Bug: angleproject:347047859
Change-Id: I765d9991c4549b3655446d9f51847d1095792dbd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5631810
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
1160fda7
|
2024-06-17T15:27:28
|
|
GL: Re-enable sRGB and BGRA8 extensions
GL_EXT_sRGB_write_control and GL_EXT_texture_format_BGRA8888 were
disabled on all of Android as a workaround for Nexus5X driver bugs.
Scope the disablement to Qualcomm only.
Bug: angleproject:347724909
Change-Id: I99d55ee12a98c1b46613be4aa92e92a0e576a82b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637249
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
37b2487b
|
2024-05-03T09:55:04
|
|
Add LunarG api dump layer to ANGLE vulkan back-end
Bug: angleproject:8623
Change-Id: Ia4dbd5915c5fe918cd65e09b468e0b8d094522f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5601070
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
1917377f
|
2024-06-07T17:02:33
|
|
Capture/Replay: Write comments to the capture
Useful for tracking why things are happening in the frame, from the
perspective of the tracer.
Allows for entries like this:
// DEBUG: AttachShader called, checking for IDs;
glAttachShader(gShaderProgramMap2[6943], gShaderProgramMap2[1531]);
// DEBUG: AttachShader called, checking for IDs;
glAttachShader(gShaderProgramMap2[6943], gShaderProgramMap2[1511]);
Good for debugging or knowing we've skipped invalid/unsupported calls.
This CL includes one use of comments to mark calls we've skipped,
meaning the app or ANGLE submitted them, but omitted from capture.
Bug: angleproject:345851268
Change-Id: Ied917c7480704afc3fdfb8cbb617b323eb7403a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233876
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
aeff80f1
|
2024-06-17T18:42:43
|
|
Android perf tests: add ATrace counters for trace loops
TraceLoopFrameTimeAvgUs: frame time averaged over last loop, in us.
Traced after each full loop is finished.
TraceStage: tracking trace stage
0 (implicit) - before app and warmup starts
1 - initial warmup
2 - extended warmup for short traces
3 - running a trial
0 - trial finished (exit if single trial, or back to 3 if another trial)
Intended for use with perfetto tracing, needs this in ftrace_config:
atrace_apps: "com.android.angle.test:test_process"
Useful for looking for correlations with other events, such as gpu
frequency changes.
Bug: b/319871513
Change-Id: I4bc273b7c7b3a6ee4d3a137b39a3b54fa7dd723e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637158
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
a04239d8
|
2024-06-18T11:38:52
|
|
ESSL -> WGSL: Emit most types and function params
This emits struct declarations, as well as array/matrix/vec types.
As a result this also emits function parameters.
Bug: angleproject:42267100
Change-Id: Ib9c7e543fd38f7c1dfa64d8e63b054fc5111b336
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5598298
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
e768aed3
|
2024-05-28T15:45:50
|
|
GL: Avoid calling glBindFragDatalocationIndexed on Qualcomm
Track if the output location and index came from a layout qualifier
or from a call to glBindFragDataLocation[Indexed] and only call
glBindFragDataLocationIndexed in the latter case. Re-binding a
location that was already specified in the shader is not allowed.
Qualcomm fails to bind any location that is not specified with a
layout qualifier. Skip tests that do this behaviour and log warnings
that the driver is unable to handle this case.
Assign the ProgramOutput::pod::index field when doing output assignment
to mirror how the location is assigned.
Bug: angleproject:42267082
Change-Id: Icdf83bb93f63a6375b5a6062690e53905c9ffe71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5415796
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
ba341ef8
|
2024-06-18T13:21:42
|
|
Add Revision: fields to third parties
Bug: chromium:347134201
Bug: chromium:347135533
Bug: chromium:347136084
Bug: chromium:347136140
Bug: chromium:347861251
Bug: chromium:347862586
Change-Id: I82794c4868b92bb747f376d7da93701589f6d144
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5639873
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e1f0cb94
|
2024-06-18T09:40:17
|
|
Replace issue ids post migration to new issue tracker - 2
This change replaces NNNN ids in expectation files.
Bug: None
Change-Id: I618bf37c1c36eb691f6ebd06a213e5c7022ce09e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637913
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d193d51b
|
2024-06-17T22:46:08
|
|
Replace issue ids post migration to new issue tracker
This change replaces anglebug.com/NNNN links.
Bug: None
Change-Id: I8ac3aec8d2a8a844b3d7b99fc0a6b2be8da31761
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637912
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
10a98f44
|
2024-06-18T00:00:00
|
|
Add ClipControlTest.DepthFragCoord test
Bug: angleproject:347737886
Change-Id: Id10b0f99b0a87a746f99ddf77c095861b1c72f74
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5638710
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
6ac37446
|
2024-06-17T15:38:09
|
|
Vulkan: Add feature for VK_KHR_maintenance5
This extension expands the pipeline flag bits, one of which is needed
for VK_EXT_legacy_dithering v2 for dynamic rendering.
Bug: angleproject:42267038
Change-Id: I45f2c47fbd016f60c3e52fda80d148d9f147bd71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637154
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d83f7bea
|
2024-06-17T15:36:48
|
|
Vulkan: Roll volk
Pulls in support for VK_KHR_dynamic_rendering_local_read entry points.
Bug: angleproject:42267038
Change-Id: Ia15527ef2af3246d4ded67d6b10ad432956cfbbe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637153
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5703bd61
|
2024-06-14T14:12:41
|
|
Vulkan: Further optimize ProgramExecutableVk::resetLayout
1. Handle compute pipelines similar to how we handle graphics pipelines
2. Track valid compute pipeline permutations
Bug: angleproject:8297
Change-Id: I58200517e5a44a2b3092777ea24d1529ceee00f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5634574
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d0744916
|
2024-05-07T12:52:53
|
|
Vulkan: Smaller PackedDescriptorSetBinding
Bug: angleproject:8677
Change-Id: Id7bcef8de129514446384a019b6cce95da13b028
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5522755
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
d521dd08
|
2024-06-13T00:00:00
|
|
Metal: Set write dependency when calling fillBuffer
Ensured that resetting the visibility buffer
completes before next operations.
Fixed: angleproject:347193640
Change-Id: Ib44322ca36c056a71a828e45cea435f51394cc0a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5632318
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
c7f2f84e
|
2024-06-14T00:00:00
|
|
Skip CopyTextureTest.CopyOutsideMipmap/ES2_OpenGL on NV
Bug: angleproject:347282472
Change-Id: I811c2009bb777df32b5dfee615c877cb98731839
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5630381
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
2d8e15f8
|
2024-05-31T14:25:12
|
|
Add stubs for GL_QCOM_tiled_rendering
Bug: angleproject:343900918
Change-Id: I77d742949565ebfecb5f4446db3510af4f94033c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5588629
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
60e8ea7e
|
2024-06-14T10:27:03
|
|
GL: Don't sync redundant texture state.
TextureGL::syncState would always update the state if a dirty bit was
set even if that state was already applied. This exposed some driver
bugs such as IMG crashes when setting the border color on too many
textures.
Bug: angleproject:347186590
Change-Id: I81c2403043b389a2ad3cfe5a3461e3b6cdbc9a5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5634131
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
165b85b6
|
2024-06-13T16:54:03
|
|
Vulkan: Disable VK_EXT_shader_stencil_export on SwiftShader
Bug: chromium:40942995
Change-Id: I4c469108c420d3e68008a30f627989655a64c27c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5630161
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
8ae91859
|
2024-06-13T15:38:11
|
|
Vulkan: Optimize ProgramExecutableVk::resetLayout
Instead of iterating through all elements of caches and programinfo,
track valid permutations of ProgramTransformOptions.
Bug: angleproject:8297
Change-Id: I7676f153f696bf8c4fb268792c667fdac12f827c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5629578
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
06f1b72f
|
2024-06-03T08:59:46
|
|
Vulkan: Bugfix in MSRTT emulation
Transient multisampled images should have no mips. Enforce this
requirement when MSRTT is being emulated
Bug: angleproject:4836
Tests: MultisampledRenderToTexture*MultipleLevelsMultisample*
Change-Id: I6df21bbb49a4c45aa3ee321f7d49b81f55352562
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5601347
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
479c950e
|
2024-06-06T00:00:00
|
|
D3D11: Implement fragment shader image2D layout updates
Checked for updated image2D bind layout
when triggering program recompilation.
Included image2D bind layout variants
into D3DPixelExecutable cache.
Added tests for binding 2D array
texture layers.
Fixed: angleproject:8124
Change-Id: I228a29b5bb175bbf0f8b13e70d1f09e8eb4ebb2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5630654
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
decaefc9
|
2024-06-06T00:00:00
|
|
D3D11: Generalize shader image2D layout cache
Ensured that mImage2DBindLayoutCache exists
for vertex and fragment shaders.
Changed the dirty bit used for image binding updates
because they use the ShaderConstants11::updateBuffer
function, which is called only for driver uniform
updates of vertex and fragment shaders.
Bug: angleproject:8124
Change-Id: Ifdfc18f28598b636a1019f53af7617a60c12412e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5621178
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
53fdd3b1
|
2024-06-11T08:53:55
|
|
Vulkan: Remove suppression for fixed syncval error
VVL bug fixed upstream.
Bug: angleproject:344031874
Change-Id: I2521744439b93531ef9bab66a37cd71884a74cf1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5621970
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
65f8dc8e
|
2024-06-12T17:01:54
|
|
Vulkan: Remove traces of VK_MSRTSS_GOOGLEX
Devices that shipped this unreleased extension should have long been
updated to VK_MSRTSS_EXT
Bug: angleproject:4836
Change-Id: I23736ebf28afd4a6f3b5b0d5a6417b3e7564c293
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5627575
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
a4e3c3c1
|
2024-06-11T20:12:52
|
|
Skip tessellation shader PrimitiveID test for S22
* Skipped the following KHR-GLES31 test:
* ~.gl_InvocationID_PatchVerticesIn_PrimitiveID
Bug: b/267953710
Change-Id: I5f8e76b0993ab6c367cef7ffbf2faa4f057a01e8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5620740
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
75625e6b
|
2024-06-11T11:10:24
|
|
Vulkan: Clean up ImageHelper::flushSingleSubresourceStagedUpdates
This CL changed some logic to use helper function to make logic more
clear.
Bug: angleproject:42263375
Change-Id: I5d0ec0f6b0a315f9e755939420a655976a2fef5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5620736
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
37a93190
|
2024-06-11T17:08:58
|
|
Skip OES_geometry_shader GLES test on Pixel4
After adding a test to compile and attach a geometry shader using
the related OES extension, it was seen that the test fails on Pixel4
while using OpenGLES.
* Skipped the related test on Pixel4.
Bug: b/346650202
Change-Id: I25b97603cad6c83875d57fda98c9a779b8fdef07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5622987
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
dc8c924b
|
2024-06-11T15:22:49
|
|
Remove test suppression that is no longer failing
Bug: angleproject:7327
Change-Id: Iefb0316ec4838a5e7371cebe661f305e06db0ecb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5623850
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
15c182f9
|
2024-06-11T09:47:07
|
|
Vulkan: remove deferFlushUntilEndRenderPass feature, always on
This only applies to Qualcomm chipsets, the feature was already enabled
for all other devices.
It was previously causing a manhattan 3.0 perf regression on some
Qualcomm devices, but my tests on S24 both with ANGLE trace manhattan_31
and running gfxbench manually do not show any obvious regression. It was
also not expected that this would result in a regression. As we do not
aim to improve perf on older devices, removing the feature altogether
so that defers are always enabled.
This change resulted in a change in gold images on these traces
on pixel 4 bots:
pokemon_masters_ex - text was missing and now is rendered
street_fighter_iv_ce_frame86 - shadow was missing and now is rendered
So it looks like the feature may have been working incorrectly.
Bug: b/346378481
Change-Id: I2b0d15b89e11c67dea7c316a42bc807441c43b0a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5622115
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
544b108a
|
2024-06-07T16:26:29
|
|
Add unit tests for geometry shader OES and ES32
* GeometryShaderTest is now the base for ~ES32.
* Added "Core" to APIExtensionVersion.
* Added unit test for compiling and attaching a geometry shader for the
OES version and core ES 3.2.
Bug: angleproject:42262233
Change-Id: I035a2dddfe5e91d8ba4426c6d10e76cf2a32b1b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5610272
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6554cd32
|
2024-06-07T16:26:10
|
|
Add validation for FramebufferTexture
FramebufferTexture() was added as part of the geometry shader
extension. However, it has become core in GLES 3.2.
* Added validation for glFramebufferTexture().
* Added unit tests to check for validation errors for the OES and
3.2 core versions.
Bug: angleproject:42262233
Change-Id: I2696d37bb54a26f0fe455107dca472cc05063fa6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5605108
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
b4f3824e
|
2024-05-31T11:36:32
|
|
Reland "Vulkan: Defer texture data flush until data provided for all levels"
This is a reland of commit 490c056a88a33870cb4ba2a7906b0a9688d96262
Original change's description:
> Vulkan: Defer texture data flush until data provided for all levels
>
> One of the major overhead with VkEvent is seeing with first frame where
> all textures are being specified. The immutable textures, we always
> immediately flush out the update as data provided for each level. This
> means one VkEvent is created and SetEvent is called per level. This CL
> delays the flush until data for all levels are provided, thus there is
> only one flush per texture instead of per level. With this CL asphalt_9
> is no longer timeout on bots when VkEvent is enabled.
>
> There is also another benefit comes with this CL. On all desktop GPUs,
> ASTC format texture are falling back to RGBA8. We always stage a clear
> for the emulated format. That staged clear are able to be removed if
> data is provided later. Because of we flush out staged update when first
> level data is provided, all staged clear for the subsequent levels are
> also gets flushed out, losing the chance to be removed. This CL will
> allow all staged clears being removed.
>
> Bug: b/343976993
> Bug: b/336844257
> Change-Id: Ica731ea57db771b16966f4da92ccdc551ae93d81
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5588816
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Commit-Queue: Charlie Lao <cclao@google.com>
Bug: b/343976993
Bug: b/336844257
Change-Id: Iabcc1b4ebca7d6f34a0e7f109795392fc00e7eda
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5606146
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
9c391154
|
2024-06-06T18:24:18
|
|
Vulkan: Do not apply advanced blend emulation when blend is disabled
The emulateAdvancedBlendEquations code path does not check if
GL_BLEND is disabled. This CL adds the check so that the blend is
not applied when we disable the GL_BLEND.
This CL also adds an updateAdvancedBlendEquations() when
DIRTY_BIT_BLEND_ENABLED bit is set. This ensures
DIRTY_BIT_DRIVER_UNIFORMS bit is set when GL_BLEND state changes,
meaning we will regenerate the uniforms if GL_BLEND state changes:
GL_BLEND is enabled:
pass the advanced blend equations to the uniforms;
GL_BLEND is disabled:
do not pass the advanced blend equations to the unforms
Bug: b/345581214
Change-Id: I5708a4051647bc29b5b38a027e836f5bf717d1d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5605109
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
5b8e380c
|
2024-06-10T17:54:25
|
|
Vulkan: Fix bug in ImageHelper::flushSingleSubresourceStagedUpdates
There is another bug in ImageHelper flush staged update code path that
exposed by a new test I added in crrev.com/c/5606145. When we render to
a multi-layered texture and that layer we are trying to render to has a
staged clear and followed by an buffer update, and if the buffer update
overlaps with layer we try to render to but not exact match, we will
incorrectly think that the glClear call can override the buffer update.
The bug here is that ImageHelper::flushSingleSubresourceStagedUpdates is
using ImageHelper::SubresourceUpdate::isUpdateToLayers() call to decide
if buffer update will be overriden. That isUpdateToLayers is only
looking exact layer range match. So in this case because the buffer
update's layer range is bigger than glClear, it returns false. This
causes the flushSingleSubresourceStagedUpdates think it is outside the
layer range we try to render, and causes rendering bug. This CL renames
isUpdateToLayers to isLayerRangeExactMatch to reflect the actual
behavior of the function. This CL also adds new API isWithinLayerRange
and called by flushSingleSubresourceStagedUpdates to decide if the
updates can implement using renderPass loadOp.
Bug: angleproject:345532371
Bug: angleproject:42263375
Change-Id: Ia604ed1a61b56d7bde05f12a03baef8f00af2b17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5619730
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6164ee69
|
2024-06-11T15:28:06
|
|
Assertion during validateAST for mutli variables struct.
When ForceInitShaderVariables is enabled, the init output
variable will be rewritten based on symbol table. While
SeparateDeclarations will replace the struct declaration
from AST and create a new one beforehand.
This proposed fix is to find output variable by loop through
AST instead of symbol table to fix assertion during
validateAST that the mType is different.
Skipping this new added test for vulkan pixel 4 due to
driver issue.
Bug: angleproject:42267047
Change-Id: Id5c6ef8c4ed7bd5fcc6174ebbdd32e0605ac5cd5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5613231
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Erica Li <lerica@apple.com>
|
|
46db3d73
|
2024-05-31T12:21:39
|
|
Enable limitExpressionComplexity in translator_fuzzer.cpp
Turns on `limitExpressionComplexity` in the translator fuzzer.
Bug: angleproject:343889868
Change-Id: Ibbb3db6c2572abf43362ae59fbe8e9a4a30f5345
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5588812
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Auto-Submit: Scott M <mscott@apple.com>
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
ebb56cee
|
2024-05-31T15:10:37
|
|
Implement OES_tessellation_shader
Based on the specs, there are no functional differences between
OES and EXT.
* Added validation for glPatchParameteriOES() and the core
glPatchParameteri().
* Added the extension support for GLSL.
* EXT_shader_io_blocks is implicitly enabled for the EXT geometry
and tessellation shader extensions.
* OES_shader_io_blocks is implicitly enabled for the OES versions
of said extensions.
* Added a test to make sure using this extension works instead of EXT.
* Turned the repeated test code into a function:
* testTessellationTextureBufferAccess
* Skipped the tests that fail on various platforms.
* It seems that these tests were being skipped before enabling
this extension ("Not supported").
Bug: b/344030760
Bug: angleproject:345306326
Bug: angleproject:345304850
Bug: angleproject:345312771
Change-Id: I905da0132bf6525cb453dcaa613e4deb3155c4dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5595611
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
8042ebdc
|
2024-05-31T17:06:56
|
|
Add OES_tessellation_shader
Bug: b/344030760
Change-Id: I49c5dd870a09cd6b43beea13c70b8c1a4266875b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5595610
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
81452425
|
2024-06-07T11:49:28
|
|
Vulkan: Fix keeping overlapped updates in flushStagedUpdatesImpl()
There is an existing bug in ImageHelper::flushStagedUpdatesImpl() that
caused webGPU test to fail when my CL crrev.com/c/5588816 landed. The
bug is that when we flush out an update, we walk through the vector
updates and if the update is outside the range of requested layer range,
we stash away the update to updatesToKeep list. We only flush out the
updates that are intersects with the requested layer range. The bug here
is that if one of the update has bigger layer range than the requested
layer range, and there is an update that intersects with that update's
layer range but not overlap with requested layer range, now that update
may incorrectly gets moved to updatesToKeep list. Later on when that
updatesToKeep list gets flushed out, you end up overwriting the image
content.
This CL adds a new function adjustLayerRange() that first walk the
updates and calculate the actual layer range that will be flushed and
then use that adjusted layer range to determine if an update should be
kept or flushed.
Bug: angleproject:345532371
Change-Id: I59ef4ec935354766d35e4cfbb6ce4b13d9a2e868
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5607276
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
c519a4a6
|
2024-06-10T15:56:36
|
|
Vulkan: Add dynamic rendering features
Bug: angleproject:42267038
Change-Id: Ic2cdc277f6bb1bb3ce273a866bdb2ce6f5930355
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5617653
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
cc4fe098
|
2024-06-10T15:11:02
|
|
Tests: InRenderpassFlushShouldNotBreakRenderpass feature skip
Flush is only deferred when deferFlushUntilEndRenderPass feature is
enabled. It was intentionally disabled for Qualcomm devices due to perf:
https://crrev.com/c/2441667
Bug: angleproject:42265681
Change-Id: I15d580c334a20e9ea58aec418a608f0b07bda2d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5617650
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
2c3e5f23
|
2024-06-06T14:49:06
|
|
Vulkan: Add Texture3DTestES3.ClearThenTexSubImageWithOverlapp
This CL added two tests:
Texture3DTestES3.ClearThenTexSubImageWithOverlappingLayersThenRead to
expose a vulkan backend bug that we may incorrectly keep an overlapping
update. Then on top of the first test, another test is added to do the
darw call after texSubImage call to test the flush call originated from
FBO works correctly.
Bug: angleproject:345532371
Change-Id: I6014d6f0f1f0ed3a4813b9a78ec7e7ef1dfb2e66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5606145
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
442d66e3
|
2024-06-10T14:48:31
|
|
Tests: add "AHB" to ImageTest.UpdatedExternalTexture test name
Other tests using AndroidHardwareBuffer have AHB in the name
Bug: b/338429767
Change-Id: Ief9c6e5401baed54bc85696957ddc77b71dfe06b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5617330
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
57524dc9
|
2024-06-06T00:00:00
|
|
Fix shader image level rebinding
Added a test that interleaves two draw
calls with rebinding the texture level
of a shader image; fixed surface init.
Vulkan:
Fixed subresource serial generation.
D3D11:
Fixed dirty bit setting.
Fixed: angleproject:7647
Bug: angleproject:8124
Change-Id: I4b5d095a1714f31a4f7b63f96dedb366faa17a03
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5611298
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
2b0c0236
|
2024-06-06T15:28:24
|
|
Suppress KHR-GLES3.clip_distance*/cull_distance* tests on AMD
These tests also failed on AMD.
Bug: b/341780527
Change-Id: Ice12f8d5340217827f9db38c271e8b3251c52c8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5606483
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
18bb6e54
|
2024-06-06T00:00:00
|
|
Metal: Support non-layered 2D array shader images
Fixed: angleproject:8125
Change-Id: Id148c09d948487bb677c4a3af746e6ea151d84a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5604225
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
5b4eae44
|
2024-06-06T00:00:00
|
|
GL: Do not set layer params for non-layered image bindings
Some drivers do not ignore them and
image access behaves incorrectly.
Bug: angleproject:344950165
Change-Id: I4e369d093bc61f7ebef8fb1058bf2475605c729c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5610693
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3a3b55f7
|
2024-06-07T16:26:05
|
|
Tests: Disable modern_combat_5 on Pixel 6 + Android 13
Test uses an engine we haven't tested before and is triggering
thermal throttling crashes only on Pixel 6 with Android 13(T).
Throttling code improved by the Android 14(U) release.
Test: angle_trace_tests --gtest_filter="*modern_combat_5*"
Bug: b/42267261
Change-Id: Iffaf5c4d25e928c4914c2d7ec3223141929a961a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5609832
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
f5d6112b
|
2024-06-05T17:20:45
|
|
Vulkan: Remove EventStage::BottomOfPipe and AllCommands
These two StageFlags never being used in VkCmdSetEvent, and should not
be used given that these are very strong synchronization. They are
removed in this CL.
Bug: b/336844257
Change-Id: I68a47a5459dadf56ad5c269ebb3af55887110cc7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5601811
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
295ff607
|
2024-06-05T14:49:33
|
|
Vulkan: Precompute stageMask of kImageMemoryBarrierData
Right now every time we need a pipelineStage in kImageMemoryBarrierData,
we are doing a bitwise AND with
mSupportedVulkanPipelineStageMask. This get called multiple
times from barrier call. This CL adds
mImageLayoutAndMemoryBarrierDataMap that has already precomputed all
stageMask, thus avoid run time bitwise OR.
This CL also precomputes the bufferWritePipelineStageMask so that
flushImpl can be use it without construct every time.
Bug: b/345279810
Change-Id: I878bd31c967cd217477061976f07df13b043fa7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5601073
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
da0b30f0
|
2024-06-07T10:00:37
|
|
Android perf tests: add temp-based throttling to pixel6 bots.
Seems like we don't have sufficient airflow to run heavy tests at full
throttle. Some shards start >10C hotter, so add custom throttling to
avoid aggressive throttling by the phone itself skewing perf results.
This might noticeably increase shard runtime on bots with poor airflow.
Implementation is similar to https://crrev.com/c/5288455 but relies on
data available on current bot OS build (no IThermal) and does _not_
disable phone throttling.
Bug: b/345514719
Change-Id: I582838c2448c9b014381a4f8ba847343b68e4d3a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5608312
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
4d47c73a
|
2024-06-04T15:43:36
|
|
Vulkan: Enable SyncVal for VkEvent based barriers
Previously SyncVal is disabled due to some tests time out when VkEvent
is enabled. Now with earlier CLs that reduces number of VkEvents being
used, we are able to enable SyncVal again when event based barriers are
enabled.
Bug: b/336844257
Change-Id: Idb4f8646495cd087d79f2d09cd12fccfa9062792
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5597733
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
87bbeaee
|
2024-06-03T15:04:25
|
|
Vulkan: Reduce VkEvent counts by using EventStage enums
Right now we are using too many VkCmdSetEvents and causes some of the
deqp tests timeout on CI bots (because of VVL is very slow along with
the number of events being used). RefCountedEvents are per ImageLayout.
But some of ImageLayous have the same VkPipelineStageFlags, for example
TransferSrc and TransferDst. This CL changes RefCountedEvent to per
unique VkPipelineStageFlags instead of per ImageLayout, thus allows
TransferSrc and TransferDst to share one VkEvent.
To do that, EventStage enum and kEventStageAndPipelineStageFlagsMap
table are added to define the predefined VkPielineStageFlags that ANGLE
uses. RefCountedEvent now keeps EventStage instead of ImageLayout. To
further reduce the CPU overhead, a customized
mPipelineStageMaskAndEventMap table is precomputed in renderer with
supported vulkan pipeline stages.
With this CL, previously timed out tests such as
KHR-GLES3.copy_tex_image_conversions.forbidden.renderbuffer_cubemap* now
passing.
Bug: b/336844257
Change-Id: I021a8f1d6112d5cf96c61652c9af5f679b1172eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5597732
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
25374c90
|
2024-05-31T16:08:58
|
|
Implement OES_gpu_shader5
Based on the specs, there is no difference between the OES version
and the EXT version.
* Added support for use in shaders
* Added test to make sure the OES extension works.
* Turned the repeated test code into a function:
* testArrayOfArrayOfSamplerDynamicIndex()
Bug: b/344031022
Change-Id: Ifda4fa5495983d254f598940a95d0797e8a9ce67
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5595609
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
edaaacd9
|
2024-05-31T17:30:34
|
|
Add OES_gpu_shader5
Bug: b/344031022
Change-Id: Ib11b5835b566e299ce6a7a47a4e4a46bcfd670ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5595608
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
72c94302
|
2024-06-04T17:24:24
|
|
Vulkan: Enable OES_copy_image
Based on the spec, OES_copy_image is functionally identical to
EXT_copy_image. In addition, they have both been implemented.
However, OES_copy_image remained disabled before this change.
* Enabled copyImageOES in vk_caps_utils.
* Updated the validation for glCopyImageSubDataOES() so it will
check for OES_copy_image instead of EXT_copy_image.
* Added the enum class APIExtensionVersion to simplify testing
multiple versions of the same API (e.g., EXT, OES)
* Added tests using CopyImageSubDataOES().
* Turned the repeated test code into functions:
* testCopyImage()
* testCopyImageDepthStencil()
Bug: b/345013929
Change-Id: Ica36882630dac98775626699a170bffe9404273c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5597736
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
92f198f6
|
2024-06-06T21:42:35
|
|
Revert "Reland "Vulkan: Defer texture data flush until data provided for all levels""
This reverts commit b93af07ac1ddb9f2e262d611d155f4b63f18999f.
Reason for revert: b/345532371
Original change's description:
> Reland "Vulkan: Defer texture data flush until data provided for all levels"
>
> This is a reland of commit 490c056a88a33870cb4ba2a7906b0a9688d96262
>
> Original change's description:
> > Vulkan: Defer texture data flush until data provided for all levels
> >
> > One of the major overhead with VkEvent is seeing with first frame where
> > all textures are being specified. The immutable textures, we always
> > immediately flush out the update as data provided for each level. This
> > means one VkEvent is created and SetEvent is called per level. This CL
> > delays the flush until data for all levels are provided, thus there is
> > only one flush per texture instead of per level. With this CL asphalt_9
> > is no longer timeout on bots when VkEvent is enabled.
> >
> > There is also another benefit comes with this CL. On all desktop GPUs,
> > ASTC format texture are falling back to RGBA8. We always stage a clear
> > for the emulated format. That staged clear are able to be removed if
> > data is provided later. Because of we flush out staged update when first
> > level data is provided, all staged clear for the subsequent levels are
> > also gets flushed out, losing the chance to be removed. This CL will
> > allow all staged clears being removed.
> >
> > Bug: b/343976993
> > Bug: b/336844257
> > Change-Id: Ica731ea57db771b16966f4da92ccdc551ae93d81
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5588816
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> > Commit-Queue: Charlie Lao <cclao@google.com>
>
> Bug: b/343976993
> Bug: b/336844257
> Change-Id: Ie987582a44e0d73abd38ce8f6813ff8995e907e2
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5597810
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Commit-Queue: Charlie Lao <cclao@google.com>
Bug: b/343976993
Bug: b/336844257
Change-Id: I9356da6b4cdb21dba47758d6e937d1ae02f0ae34
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5606144
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
3ab0cbfd
|
2024-06-06T15:41:51
|
|
Perf tests: log /dev/thermal temps on Android
Bug: b/345514719
Change-Id: Id72bcffc17454ec0d9c3043a2f1e0b51cbf4b4a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5606162
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2cbac2cf
|
2024-05-30T00:00:00
|
|
Disallow TEXTURE_3D for PLS
Using 3D texture slices as PLS planes
would require inefficient emulation
on some backends.
Bug: angleproject:8124
Bug: angleproject:8125
Change-Id: I8fcd4e686bf607deef27a8c091486a9012732f24
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5594092
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
6a3b2bd3
|
2024-06-05T16:46:45
|
|
Remove tes31Context_override.cpp
This override file was originally added to prevent the creation of
a GLES 3.2 context. However, it was later removed from the build
configs. It should now be possible to remove this file completely.
* Removed the file from deqp_support.
Bug: angleproject:42262344
Change-Id: Ib60fbf609b92cd03c10056d6bba4e253fc19b96c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5602269
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c60e247e
|
2024-06-04T17:40:26
|
|
Make LinkedUniform.getElementComponents() fully inline-able
Before this CL, getElementComponents() calls into
GetUniformTypeInfoFromIndex() which cannot be inlined as it
uses kInfoTable from uniform_type_info_autogen.cpp.
That table is fairly large however, so this CL adds the
elementComponents part of that structure
to an inlinle GetUniformElementComponents() function.
This allows to fully inline LinkedUniform.getElementComponents()
which significantly simplifies clampUniformCount() assembly code,
to the point where this leads to a (small but) measurable
performance improvement in driver_overhead_2 trace despite
getElementComponents _never actually getting called_ (because count
is always == 1 and clampUniformCount returns early). This appears
to be caused by a side effect of the function call, where clang
generates prologue and epilogue instructions that are still
executed on the fast path when the function is not getting called
(even if ANGLE_LIKELY is added or code rearranged).
Bug: b/335295728
Change-Id: If8f2068b098576246ab90ffbacd5a520cc843f49
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5597885
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7d65c945
|
2024-06-06T09:01:40
|
|
Vulkan: Limit SSBO max size to 256MB on older Mali GPUs
Bug: angleproject:345244067
Change-Id: I18ff10198fc3db3a82a0897319fba5fb200a2a05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5603109
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
305bdec9
|
2024-06-06T00:00:00
|
|
Add TextureTestES31.Texture2DLayered test
Bug: angleproject:344950165
Change-Id: I4d59c12fd7dbe214e52eea498c93171fade82096
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5600864
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|