|
2f1f9500
|
2022-09-14T15:52:11
|
|
GLES1: Fix behavior with incomplete mipmap textures
GLES1 requires texturing to be disabled when a mipmap-enabled texture is
incomplete.
Bug: angleproject:3408
Change-Id: I2c3b0206282a71f9a54d77ecdf2c7e42c7175fe5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3896212
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2b6d7920
|
2022-09-20T10:26:23
|
|
Remove extra '# if defined(ANGLE_PLATFORM_WINDOWS)'
This is a follow up CL of
https://chromium-review.googlesource.com/c/angle/angle/+/3902853
The origin CL use defined(ANGLE_PLATFORM_WINDOWS) while it is
already in the parent ANGLE_PLATFORM_WINDOWS block.
This CL fix this issue.
Bug: angleproject:7669
Change-Id: Ice23577c4582fa68f9bd475c8cdb388c6d9e7b04
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3906955
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
de73f7cd
|
2022-09-14T22:27:28
|
|
Introduce GL_ANGLE_logic_op
This extension exposes the desktop GL glLogicOp function as a GLES
extension. This is supported by Vulkan through the logicOp feature as
well.
The goal is to directly use this extension in GLES1 emulation where the
backend supports it, avoiding a more costly fallback.
Bug: angleproject:3862
Change-Id: I7ed436cdf401437157ca9724168849b4c819b91b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3898310
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d63fdfa5
|
2022-09-19T09:33:47
|
|
Include <windows.h> to build vulkan only ANGLE on Windows
When building ANGLE with vulkan backend only on windows,
the compiler may throw error related to Windows SDK if
developer has installed several windows sdk when compiling
tests/test_expectations/GPUTestConfig.cpp and
tests/test_utils/third_party/vulkan_command_buffer_utils.cpp.
The build prviously works because we has opengl or d3d11
backend built together on windows. And the wgl source code
includes <windows.h>.
To fix this issue, this CL include <windows.h> in platform.h when
vulkan backend is enabled and the platform is windows.
Bug: angleproject:7669
Change-Id: I66f1bbdbd7b5da32c63b71224b442dfeb8e97467
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3902853
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
04f46f39
|
2022-09-12T10:15:16
|
|
Reland "Generate stubs for ANGLE_shader_pixel_local_storage"
This is a reland of commit 8208e8a234d05b413d79e7a93b6a428adea41b33
In Take 2 we omit the GLenum groups PixelLocalLoadOpANGLE and
PixelLocalInternalFormatANGLE. We can add these back once the extension
is published and we can update Khronos's gl.xml, or else once we figure
out how to make this work without updating the Khronos gl.xml.
Original change's description:
> Generate stubs for ANGLE_shader_pixel_local_storage
>
> Bug: angleproject:7279
> Change-Id: I41548ad35c236b67372a12fecaa9a1b9c556d232
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3891972
> Commit-Queue: Chris Dalton <chris@rive.app>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:7279
Change-Id: I02f42c1cfc685ed95164744108e0c185d3a7fefb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3900491
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
|
|
f54e7ee6
|
2022-08-25T09:57:22
|
|
Vulkan: Add Native ID to GBM configs
Add GBM/DRM FourCC codes for Config Native ID
Bug: angleproject:7605
Change-Id: I9ef32a6e342fd0eb51ba3b1311556f5a3a6b9b9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3857830
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8c45e3c4
|
2022-09-15T01:07:47
|
|
Revert "Generate stubs for ANGLE_shader_pixel_local_storage"
This reverts commit 8208e8a234d05b413d79e7a93b6a428adea41b33.
Reason for revert: Compile failures
Original change's description:
> Generate stubs for ANGLE_shader_pixel_local_storage
>
> Bug: angleproject:7279
> Change-Id: I41548ad35c236b67372a12fecaa9a1b9c556d232
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3891972
> Commit-Queue: Chris Dalton <chris@rive.app>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:7279
Change-Id: Ic9a232f9d722b42e615de3827ce118616f3acc71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3897425
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Chris Dalton <chris@rive.app>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Chris Dalton <chris@rive.app>
|
|
8208e8a2
|
2022-09-12T10:15:16
|
|
Generate stubs for ANGLE_shader_pixel_local_storage
Bug: angleproject:7279
Change-Id: I41548ad35c236b67372a12fecaa9a1b9c556d232
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3891972
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
08d3be38
|
2022-09-12T15:42:35
|
|
Rename include guards for angle_version_info.h, angle_version.h
Patch by David Kilzer <ddkilzer@apple.com>.
They have the same include guard and it does not match the filename.
Bug: angleproject:7650
Change-Id: I8f6c035e5f397a36744d22a2f4b58063e241b8b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3891372
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6937ea98
|
2022-09-08T14:15:10
|
|
Use base name of the generator script in various generated files
Increases compiler cache hits especially in cases where the file is run
during build.
Bug: angleproject:7642
Change-Id: I769dae2d7cca2cf1e238531f4cb356bad41b06dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3880323
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ff46a03a
|
2022-08-25T20:19:02
|
|
Vulkan: Use VK_EXT_multisampled_render_to_single_sampled
Previously, the GOOGLEX version was used. The EXT version is favored
now.
Bug: angleproject:4836
Change-Id: Ie41d750b0729f0b3a14d1937fbf2dd386b65dd59
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3857993
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ae7481a6
|
2022-08-31T10:56:58
|
|
Move entry point classifier helpers into angle_common.
These were previously hidden in DebugAnnotatorVk. They're also
useful in the frame capture code.
Bug: angleproject:7621
Change-Id: If443e41787019925e84f6a108809af1db220b714
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3868930
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
baf5356c
|
2022-08-31T23:18:12
|
|
Map RGBX AHB back to GL_RGB8 for OpenGL
In df9468565c0ffcdcbcfd522de9a12c8f535b5717,
AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM was mapped to GL_RGBX8_ANGLE for
the sake of the Vulkan backend. This was erroneous for the OpenGL
backend, which should continue to use GL_RGB8.
Since c8b0caf1f440231de511ece71f447636e019c9df, this mapping is no
longer used by the Vulkan backend. This change reverts the mapping back
to GL_RGB8 to fix the OpenGL backend.
Bug: b/238460927
Bug: chromium:1356252
Change-Id: If9e97f0c589925c150b0056485996c1f4f6e39be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863377
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Lingfeng Yang <lfy@google.com>
|
|
2c373771
|
2022-08-30T10:08:44
|
|
Add include atomic, missing in Skia builds.
Bug: angleproject:7602
Change-Id: I024981c880ed073c3a603f47b538d2375a911e1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863161
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f18b6335
|
2022-08-29T11:53:01
|
|
Replace std::this_thread::get_id() use with a unique thread id.
std::this_thread::get_id() gets recycled. It's pthread_self()
under the hood on Linux and Android which gets recycled, for
example when one thread terminates and another one starts
it is likely to return the same value.
Bug: angleproject:7602
Change-Id: I83d818bc17ead5cce8bce7f7d88fc1c7c0fa860c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3855041
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5ef3960b
|
2022-08-29T12:50:26
|
|
Use correct seed type for XXH32 fuzzer
Patch by: David Kilzer <ddkilzer@apple.com>
Use unsigned int as the seed type as expected,
instead of unsigned long long. Helps compiling
with strict compile flags.
Also fix a bug where short buffers would test
XXH64 instead of intended XXH32.
Bug: angleproject:7618
Change-Id: If63318fbc932349db4ab82aa8abadc9bab655989
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3860830
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
bec40d76
|
2022-08-26T21:28:53
|
|
Vulkan: Set SPIR-V Generator version to 1
Let's call it officially no longer experimental.
Bug: angleproject:6210
Change-Id: I7c5ae91dff0ff189f93e67fe1cd0721771c67275
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3859410
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
aa2a558e
|
2022-08-23T09:47:02
|
|
Vulkan: Add support for setting timestamp surface attribute
On Android the EGL wrapper handles most of the functionality required
by EGL_ANDROID_get_frame_timestamps. However if for some reason the
swapchain is recreated, the timestamp state would be lost resulting in
stuttering.
Introduce EGL_ANGLE_timestamp_surface_attribute extension that adds
support for toggling the EGL_TIMESTAMPS_ANDROID attribute of a surface.
Cache this state and recreate the swapchain accordingly.
Bug: angleproject:7489
Test: EGLSurfaceTest.TimestampSurfaceAttribute*
Test: dEQP-EGL.functional.get_frame_timestamps*
Change-Id: I3660f7137c006d904164d243a682a4ff520eabd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3753396
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
f0b4e8b2
|
2022-08-23T17:12:44
|
|
Fix loading ANGLE libraries on iOS
Previously end2end tests would try to load
libEGL.framework/libEGL.framework instead of libEGL.framework/libEGL
Bug: angleproject:5417
Change-Id: Iccb9ad20df980dfd460219dbcaf9b273aef9c7dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3851164
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
df946856
|
2022-08-22T20:36:52
|
|
Map RGBX AHB to GL_RGBX8_ANGLE and fix the load function
AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM was false mapped to GL_RGB8, which
will write back to the backing exteranl storage with 3 channel layout.
Angle actually has ANGLE_rgbx_internal_format to fix the mapping with
GL_RGBX8_ANGLE. However, the load function must align with GL_RGB8 if
the actual storage is 4 channel. This change also fixes that to use
LoadToNative3To4<GLubyte, 0xFF>.
Bug: b/238460927
Test: CtsNativeHardwareTestCases#SingleLayer_ColorTest_*_R8G8B8X8_*
Test: ImageTestES3.RGBXAHB* pass without VVL error
Change-Id: Ic5db4cb4adba252949d64e560ff32e492a045912
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3846413
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Lingfeng Yang <lfy@google.com>
|
|
e22eb503
|
2022-08-22T11:46:53
|
|
Metal: Report Metal being available on iOS simulator
Make Metal backend always available on iOS simulator.
Currently the GPU family query is not useful as it
does not return anything that would enable Metal
ANGLE to be used. However, testing on iOS simulator
is still useful.
Bug: angleproject:7591
Change-Id: I0aa881bb7482fc63bbaa08d5efc10920b3c1af43
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3845154
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
b9fd47b8
|
2022-08-12T10:55:49
|
|
Not use Android TLS slot for chromium
In the profile, GetGlobalContext() & GetValidGlobalContext() have
extra overhead for checking angle::gUseAndroidOpenGLTlsSlot.
Since angle::gUseAndroidOpenGLTlsSlot is always false for now,
so add a build flag to disable it for chromium build.
In the profile, with angle_use_android_tls_slot = false,
GetValidGlobalContext() is reduced from 0.153% to 0.044%.
Bug: chromium:1336126
Change-Id: Id5e1752b0a03289fb299e8de2ed6e962e35291c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827955
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
afdd5106
|
2022-08-11T21:14:23
|
|
Use angle::FlatUnorderedMap in Display.cpp
Bug: chromium:1336126
Change-Id: I57d97d37749de2abbba88b6558bde31fa8346764
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3828442
Commit-Queue: Peng Huang <penghuang@chromium.org>
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
61a17ba9
|
2022-08-11T11:23:10
|
|
Use angle::FlatUnorderedSet for ImageState::targets
In mose cases, chrome only needs 1 or 2 targets for an EGLImage,
so using angle::FlatUnorderedSet with 2 default size instead of
the std::set for targets.
Bug: chromium:1336126
Change-Id: Ieff3cfbd5d020fda3aaecb162ddb354def14d962
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827681
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fa3d7d5c
|
2022-08-05T00:57:40
|
|
Make PLS coherent on Vulkan
Uses the VK_EXT_fragment_shader_interlock extension to make the shader
image implementation of PLS coherent on Vulkan.
This extension is supported on AMD, Apple, NVIDIA, and Intel.
Bug: angleproject:7279
Change-Id: Ic0253eb20932eb6be0b1f433ba454e48b57be2f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3813816
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a2ad517f
|
2022-08-06T07:54:16
|
|
Replace std::vector with angle::FixedVector in FramebufferState.
Using std::vector causes heap allocation for all new framebuffers,
so change it to angle::FixedVector.
Bug: chromium:1336126
Change-Id: I2e059324d14d59ba2a42b2bb4cd5c569a439a87a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812563
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Auto-Submit: Peng Huang <penghuang@chromium.org>
|
|
6491396c
|
2022-08-06T19:49:37
|
|
Use angle::FlatUnorderedMap as storage for AttributMap
AttributeMap was using std::map which allocates storage from heap
it is not ideal for small map like attribute map. So replace it
with angle::FlatUnorderedMap with 2 default size (Chromium creates
a lot of gl fence with 2 attributes on Android).
Bug: chromium:1336126
Change-Id: I129fe603df2fd475ae1b0e35b63d4d0171bbae09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812565
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6b248a68
|
2022-08-06T10:20:41
|
|
Use angle::FastVector in ImageEGL::initialize to avoid heap allocation
Bug: chromium:1336126
Change-Id: I40349c618b648f3a96c19b2f2b032275af90086b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812564
Auto-Submit: Peng Huang <penghuang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
448e2275
|
2022-07-21T16:40:59
|
|
(Reland) [Metal] Disable ANGLE's Metal backend on older GPUs.
Disable creation of EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE displays on:
iOS: MTLGPUFamilyApple2 and older (A8 and older GPUs)
macOS and Mac Catalyst: MTLGPUFamilyMac1 and older
This is a partial integration of this recent WebKit fix:
https://bugs.webkit.org/show_bug.cgi?id=242764
Refactored to eliminate duplicate copies of this code between libANGLE
and the test suites.
Changes since initial landing:
- Explicitly link the angle_common static library against
Metal.framework for the definition of MTLCreateSystemDefaultDevice,
which was missing on the iOS Simulator.
Fixed: angleproject:7514
Change-Id: I25028a298f1235db5b717ac6a1999552121d60c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3806252
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8eaa0ccf
|
2022-08-02T12:03:21
|
|
Revert "[Metal] Disable ANGLE's Metal backend on older GPUs."
This reverts commit cc2095d259222de434af06ce8515f17449a8f66d.
Reason for revert: breaks rolling into Chromium
https://ci.chromium.org/ui/p/chromium/builders/try/ios-simulator/1234241/overview
Original change's description:
> [Metal] Disable ANGLE's Metal backend on older GPUs.
>
> Disable creation of EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE displays on:
> iOS: MTLGPUFamilyApple2 and older (A8 and older GPUs)
> macOS and Mac Catalyst: MTLGPUFamilyMac1 and older
>
> This is a partial integration of this recent WebKit fix:
> https://bugs.webkit.org/show_bug.cgi?id=242764
>
> Refactored to eliminate duplicate copies of this code between libANGLE
> and the test suites.
>
> Fixed: angleproject:7514
> Change-Id: I00dd1096bc8e72516f3f77fffcb7d4a886d6f2e4
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780876
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Change-Id: If1e78ebc0c8e12a1fa0954d91bdd59fbd734251f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804879
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
cc2095d2
|
2022-07-21T16:40:59
|
|
[Metal] Disable ANGLE's Metal backend on older GPUs.
Disable creation of EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE displays on:
iOS: MTLGPUFamilyApple2 and older (A8 and older GPUs)
macOS and Mac Catalyst: MTLGPUFamilyMac1 and older
This is a partial integration of this recent WebKit fix:
https://bugs.webkit.org/show_bug.cgi?id=242764
Refactored to eliminate duplicate copies of this code between libANGLE
and the test suites.
Fixed: angleproject:7514
Change-Id: I00dd1096bc8e72516f3f77fffcb7d4a886d6f2e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780876
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
8f9e15cc
|
2022-07-26T00:22:38
|
|
Vulkan: avoid excessive log for FORMAT_IMPLEMENTATION_DEFINED
This is a widely used format for camera stack. The current logging is
too verbose when there's camera-gpu interop.
Bug: b/240097793
Test: no more WARN logs for camera gpu usage
Change-Id: Ie841182f1f67212cc1c479c5a9109d4bd1190e87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3786931
Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Lingfeng Yang <lfy@google.com>
|
|
e3701f90
|
2022-07-19T15:19:50
|
|
Remove WARN() in getPixelFormatInfo()
This WARN() cause log flood on Android while playing youtube videos
in Chrome.
Bug: angleproject:7509
Change-Id: I42e046d5b0908ef7d3ca0704c27236198026a637
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3773873
Auto-Submit: Peng Huang <penghuang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b8e741d2
|
2022-06-23T13:36:17
|
|
Vulkan: allow selecting render device by PCI device/vendor IDs
The EGL_ANGLE_platform_angle_device_id extension is deliberately vague
about the meaning of "device ID high" and "device ID low", stating it's
platform-specific. We can use these for representing the PCI
device/vendor IDs that can be discovered via various (OS-specific)
external means.
Bug: angleproject:7460
Change-Id: Iff462687749e815fa074ef8ff392b6730ef46fa8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3720733
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b968b6c9
|
2022-07-26T14:34:41
|
|
Test Utils: Get executable path from command line.
This simplifies the process fork test and will allow the test to
work on Fuchsia.
Bug: angleproject:3161
Change-Id: I5bb5424c44957f2faef1970b3cbc5e52b8aff630
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3788297
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
6c418f8c
|
2022-07-07T14:28:06
|
|
Vulkan: __samplerExternal2DY2YEXT-aware TextureVk
This CL adds the ability for TextureVk to return an ImageView that is
created with a VkSamplerYcbcrConversion object that uses an identity
conversion model.
This allows direct sampling of YUV values without RGB conversion, which
is needed for __samplerExternal2DY2YEXT.
Bug: b/223456677
Change-Id: Ie1d4e12375b7808a1f060747bc2d74baeda3fdea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3751889
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
32c5fd8a
|
2022-05-13T14:31:03
|
|
Reland "Vulkan: Flush texture updates more often"
This is a reland of 8bb7c35c2159de2fa9e9a008679c692edd4402a6
* Added a condition to make sure the previous texture is not immutable
when performing the optimization.
* Fixed the issue where mipmap textures with unequal dimensions were
not flushed.
* Added related tests.
* Added kEnableMutableMipmapTextureUpload, a flag to enable/disable
the feature (enabled by default).
Original change's description:
> Vulkan: Flush texture updates more often
>
> * Added a pointer to the previous texture in ShareGroupVk so we can
> flush the texture updates once we switch to a new texture.
>
> * We check if mip levels 0 and 1 are conformant in terms of
> size, format and number of samples.
>
> * As a part of size check, we also check depths if the texture
> target is either 3D, 2D array, or cube map array. For the former
> two, they have to conform to mip scaling similar to width and
> height. For the latter, the depth represents layer-faces and does
> not change for mipmaps.
>
> * Added a test to ensure the pointer to the previous texture is
> deleted when the corresponding texture is deleted, so the old value
> is not accessed by a future mutable texture.
>
> * Added tests to make sure the mutable texture is uploaded with
> the appropriate mip level attributes, and not uploaded in cases of
> size/format inconsistencies, incompleteness, and no base level.
>
> Bug: b/202744914
> Change-Id: I9c2c1af87a8a49e75d3ad25523436b0cd51a7e81
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3606329
> Reviewed-by: Charlie Lao <cclao@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Bug: b/202744914
Change-Id: I2bdbcd0182a57c18c1a18968396251a2e366731b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3646959
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
0d3ecf46
|
2022-06-24T16:37:17
|
|
Vulkan: Multisample Framebuffer Fetch
Implement Multisample Framebuffer Fetch.
This should fix the deqp failure
dEQP.GLES31/functional_blend_equation_advanced_msaa_colorburn
Bug: angleproject:7351
Bug: angleproject:3586
Bug: angleproject:6195
Bug: b/234173199
Change-Id: Idd7559dcba3d91e36d8f253f1554fb931a7a6775
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3724165
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
053d152d
|
2022-07-04T21:20:34
|
|
Vulkan: Resolve GoogleX MSRTSS conflict with EXT
Now that the extension is public, rename the old symbols to GoogleX as
they have shipped previously. This reverts defd99dc4.
Bug: chromium:1088005
Change-Id: I5ac7f73e24084e26a8b2d9cf742c7ab9b3c80984
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3744362
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
916a35dd
|
2022-06-28T14:40:53
|
|
Merge getTempPath and CreateTemporaryFile
Also includes moving these two (and some helpers) to
common/system_utils.h
Bug: angleproject:5095
Change-Id: I7d2fcbd27a67dc13215265ac5b5e8391b15a980b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3733519
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Eddie Hatfield <eddiehatfield@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
defd99dc
|
2022-06-30T16:18:30
|
|
Update MSRTSS vulkan struct to final version
The public version of VK_EXT_multisampled_render_to_single_sampled
released in the 1.3.219 header does not include resolve modes in the
VkMultisampledRenderToSingleSampledInfoEXT struct. Remove them to
unblock the Chromium auto-roller.
Bug: None
Change-Id: I9d185a486227edfd3276ccb0df7063ca5101797b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3739583
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
1ae9756e
|
2022-06-22T17:43:15
|
|
Textures: Centralize texture format emulation check
Refactor in order to use the check in multiple places.
Bug: b/236478448
Change-Id: I6df2e0d63c60fa3e8b2d65185fce164be0e7d961
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3719160
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
707323c1
|
2022-06-21T18:53:05
|
|
Miscellaneous C++17 refactoring
Bug: angleproject:6747
Change-Id: I792ba74e03145ff6c3cc97d4bff6327ab275a2c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3719001
Commit-Queue: Eddie Hatfield <eddiehatfield@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
91976352
|
2022-06-21T15:41:02
|
|
Use C++17 attributes instead of custom macros
Bug: angleproject:6747
Change-Id: Iad6c7cd8a18d028e01da49b647c5d01af11e0522
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3718999
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a62204c3
|
2022-06-15T14:01:17
|
|
Guard all imports of wayland.gni with angle_use_wayland
Fixes build errors in Skia
Bug: angleproject:7434
Change-Id: I99e8ab741c0128f7327fec08e04979edde4f19e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3707852
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Brian Osman <brianosman@google.com>
|
|
c2220ecf
|
2022-06-13T16:11:25
|
|
Always log FATAL, ERR messages
is_debug=false in gn args
together with angle_assert_always_on=false (default)
results in no logs in logcat, which makes sense if you know
that logs are conditional on ANGLE_ENABLE_ASSERTS but is pretty
confusing when running into this accidentally.
Bug: None
Change-Id: I67499a34cd3d02fd7d17680a4cb62d263883b301
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3703619
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
543dcdde
|
2022-06-09T10:50:41
|
|
GN: Wayland build overrides
Introduce //build_overrides/wayland.gni to simplify the management of
the wayland dependencies.
Bug: chromium:1327041, angleproject:7409
Change-Id: I24cd7c0aa1025acbfe681afb07ccb384ff52bb62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3697998
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
59476401
|
2022-06-10T10:52:57
|
|
Missing include for std::toupper
This fixes the Windows build in Flutter's build environment.
Bug: angleproject:7430
Change-Id: Ia53c81dbd8c28e1122e3cf680c7c48b62ecb9caf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3704236
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Dan Field <dnfield@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ce78f5f8
|
2022-05-10T09:10:30
|
|
Capture/Replay: Reset default uniforms
Extend resource tracking to include default uniforms.
They are tracked per location, per program.
Setup for defaulft uniforms is unchanged, but Reset now
includes a section like this:
glUseProgram(gShaderProgramMap[6]);
UpdateCurrentProgram(6);
glUniform1uiv(gUniformLocations[gCurrentProgram][0], 1,
reinterpret_cast<const GLuint *>(&gBinaryData[30518768]));
glUniform1uiv(gUniformLocations[gCurrentProgram][1], 1,
reinterpret_cast<const GLuint *>(&gBinaryData[30518784]));
glUseProgram(gShaderProgramMap[9]);
UpdateCurrentProgram(9);
glUniform4fv(gUniformLocations[gCurrentProgram][1], 15,
reinterpret_cast<const GLfloat *>(&gBinaryData[30518960]));
glUniform4fv(gUniformLocations[gCurrentProgram][16], 3,
reinterpret_cast<const GLfloat *>(&gBinaryData[30519200]));
glUniformMatrix4fv(gUniformLocations[gCurrentProgram][20], 2, GL_FALSE,
reinterpret_cast<const GLfloat *>(&gBinaryData[30519248]));
...
Test: Animal Crossing MEC, Star Wars KOTOR MEC
Bug: angleproject:7307
Bug: angleproject:7353
Change-Id: Ic344767f5dd4ffc38c15ed6bf81a7d1daf274a7b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3657474
Reviewed-by: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0408b129
|
2022-06-08T22:20:32
|
|
Overlay: Support globbing
Makes it less tedious to specify multiple widgets. In particular, it
also makes it possible to select many widgets on Android through
`adb shell setprop debug.angle.overlay` which has a hard limit of 92
characters for the property.
Bug: angleproject:5881
Change-Id: I93bd166cd3dbf8f87e5c6a5fce3f86ebb3e379a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3697437
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
06ff0e3c
|
2022-06-06T15:29:16
|
|
Implement GL_EXT_base_instance
Added new extension GL_EXT_base_instance to registry_xml.py
and auto-generated the entry point function calls for the
following functions introduced by the extension:
* GL_DrawElementsInstancedBaseVertexBaseInstanceEXT
* GL_DrawElementsInstancedBaseInstanceEXT
* GL_DrawArraysInstancedBaseInstanceEXT
Bug: angleproject:6983
Change-Id: I36167faf3ca98e42acf787dbf09ee7052e15e358
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3691952
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Faye Zhang <ffz@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
7fb021b0
|
2022-05-12T16:19:14
|
|
Reland "Add Vulkan backend support for texture labels"
This is a reland of commit 1afb80587e302e2ce9a901a69fd66e5ef98a73b6
Added check to ensure vkSetDebugUtilsObjectName fcn ptr is valid
before use. Fixes failures on mac-swangle-chromium-try-x64.
Original change's description:
> Add Vulkan backend support for texture labels
>
> Add onLableUpdate support for textures in the Vulkan backend.
>
> Bug: b/229105865
> Change-Id: Id9e5b2b81352e97b7843a63f27709739005dc2f3
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645854
> Reviewed-by: Ian Elliott <ianelliott@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Ian Elliott <ianelliott@google.com>
Bug: b/229105865
Change-Id: I994da6db2771671c204e4ab01c69912c1be4a48f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3674296
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
d655ad29
|
2022-05-31T14:20:16
|
|
Vulkan: Add tests for FramebufferCache growth bugs
When texture attached to FBO gets respecified, we shouldn't keep growing
FramebufferCache.
When texture attached to fbo get glTexParameteri(GL_TEXTURE_SWIZZLE_R)
call with the same value, we should also not destroy/recreate
framebuffers (in fact should not recreate VkImageView). We ran into
this usage pattern on surfaceflinger.
When texture attached to fbo get glTexParameteri(GL_TEXTURE_SWIZZLE_R)
call with different value, we should also not destroy/recreate
framebuffers (in fact should not recreate VkImageView). We ran into
this usage pattern on surfaceflinger.
Bug: b/234769934
Bug: b/234602034
Change-Id: I9fc881486f95cc3da843f50fa0a8cdcbfd4fc625
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3681081
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
28b4c378
|
2022-05-27T15:45:59
|
|
Vulkan: Pipeline creation feedback in perf counters
Bug: angleproject:5881
Change-Id: I42917cab3c97abb50a14035972a96728dcb990b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3672851
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
b0d75fb5
|
2022-05-31T16:55:23
|
|
Vulkan: Use 64-bit counters
Some upcoming counters don't fit in 32 bits.
Bug: angleproject:5881
Change-Id: I2de8a603cabdb5f7417c29d5f37a50899485d6d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3679488
Commit-Queue: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
1ce69722
|
2022-05-18T13:05:22
|
|
Vulkan: Track used command buffers in ResourceUse.
The list of command buffers to ResourceUse will replace tracking
resources in a CommandBufferHelper. Currently the two tracking
methods live side-by-side, and the old method will be removed in
a future CL.
Bug: angleproject:5664
Change-Id: Ia04d77e72c508e10b549db8c8dd5f0472e4edc83
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3656069
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b267c009
|
2022-05-26T16:36:31
|
|
Add support for comparison operator in FlatUnorderedSet
Overload operator== so FlatUnorderedSet objects can be used as
values in a hashmap.
Tests: FlatUnorderedSet.Comparison*
Bug: angleproject:5033
Change-Id: Ica746adf87f7c603789593e726051e4562d6a931
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3671826
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7ad48b84
|
2022-05-26T00:23:35
|
|
Revert "Add Vulkan backend support for texture labels"
This reverts commit 1afb80587e302e2ce9a901a69fd66e5ef98a73b6.
Reason for revert: Null-dereference crash starting here:
https://ci.chromium.org/ui/p/chromium/builders/ci/mac-swangle-chromium-x64/26323/blamelist
(see angle blamelist)
Crash reason: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS
Crash address: 0x0
Process uptime: 24 seconds
Thread 0 (crashed)
0 0x0
rax = 0x0000011c0113c000 rdx = 0x0000011c09094590
rcx = 0x0000000000000006 rbx = 0x0000011c0e2a0000
rsi = 0x00007ffedfc11500 rdi = 0x0000011c01378010
rbp = 0x00007ffedfc11540 rsp = 0x00007ffedfc114f8
r8 = 0x0000000000000006 r9 = 0x0000000123a6ccc4
r10 = 0x0000011c011018d0 r11 = 0x00007ffdbc1a4834
r12 = 0x0000000000000006 r13 = 0x0000011c090944b0
r14 = 0x0000011c0e34c000 r15 = 0x00007ffedfc11550
rip = 0x0000000000000000
Found by: given as instruction pointer in context
1 libGLESv2.dylib!gl::Context::objectLabel(unsigned int, unsigned int, int, char const*) + 0x156
rbp = 0x00007ffedfc116a0 rsp = 0x00007ffedfc11550
rip = 0x00000001357b38e6
Found by: previous frame's frame pointer
2 libGLESv2.dylib!_GL_ObjectLabelKHR + 0xa5
rbp = 0x00007ffedfc116f0 rsp = 0x00007ffedfc116b0
rip = 0x000000013578e7e5
Found by: previous frame's frame pointer
3 Chromium Framework!gpu::gles2::GLES2DecoderPassthroughImpl::DoBindTexture(unsigned int, unsigned int) + 0x1ea
rbp = 0x00007ffedfc11780 rsp = 0x00007ffedfc11700
rip = 0x000000011e7dcd4a
Found by: previous frame's frame pointer
Original change's description:
> Add Vulkan backend support for texture labels
>
> Add onLableUpdate support for textures in the Vulkan backend.
>
> Bug: b/229105865
> Change-Id: Id9e5b2b81352e97b7843a63f27709739005dc2f3
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645854
> Reviewed-by: Ian Elliott <ianelliott@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Ian Elliott <ianelliott@google.com>
Bug: b/229105865
Change-Id: I5a5e00084e1320a486c43fec9d41b9ae6cb2b1db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3669657
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
|
|
c608df69
|
2022-05-23T17:19:02
|
|
Code Cleanup
In Debug.h, we unconditionally set UNREACHABLE_IS_NORETURN to 0.
Since UNREACHABLE_IS_NORETURN is only used in #if directives
and it is always false, we can remove all uses of
UNREACHABLE_IS_NORETURN.
Bug: angleproject:6134
Change-Id: I3aa88d802099d70990eae697d4f056a3f650b48d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3661376
Commit-Queue: Faye Zhang <ffz@google.com>
Auto-Submit: Faye Zhang <ffz@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Faye Zhang <ffz@google.com>
|
|
84a0b462
|
2022-05-20T15:51:11
|
|
Vulkan: Bug fix in GL_QCOM_shading_rate
A default value of _1x1 for mShadingRate interacts badly with sample
shading state on some vendors. Instead set the default to Undefined
and return early in such cases.
Bug: angleproject:7172
Change-Id: If0a280090e6611817d2f5d75929ef2b654ddb186
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3658245
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
1afb8058
|
2022-05-12T16:19:14
|
|
Add Vulkan backend support for texture labels
Add onLableUpdate support for textures in the Vulkan backend.
Bug: b/229105865
Change-Id: Id9e5b2b81352e97b7843a63f27709739005dc2f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645854
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
7c83a363
|
2022-05-16T22:22:44
|
|
Vulkan: Dynamic state for rasterizer discard enable
Interaction with primitives generated query are tested by those tests
added in
https://chromium-review.googlesource.com/c/angle/angle/+/2976181
Bug: angleproject:5906
Change-Id: I0ab9f54995504be770a93bf13337a5ffe20bf7eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3651582
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b7474d0a
|
2022-04-28T14:44:54
|
|
D3D11: Add GL_EXT_texture_buffer support
tested: deqp-gles31.exe --deqp-gl-context-type=egl
--deqp-case=dEQP-GLES31.functional.texture.texture_buffer.* passed
Bug: b/206367167
Change-Id: I31a6f84bd701a737735a6bac2f4eef780c24a979
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3639722
Commit-Queue: Hailin Zhang <hailinzhang@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
20820bb4
|
2022-05-13T10:50:47
|
|
Make BitSetArray constexpr
Bug: angleproject:5906
Change-Id: If1ccacfc81e3e01b4bdbd10d47cf4ec860e3fe0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645494
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
36f5e6ce
|
2022-05-03T12:08:35
|
|
Vulkan: Fix DRM to GL format conversion
Do not ignore unused alpha channel for a proper conversion from DRM to
GL to Vulkan format.
Bug: angleproject:7217
Change-Id: I598ae030005e7375b36c6456864150aa8aaf50c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3624139
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4e5da2d2
|
2022-05-11T13:58:07
|
|
Vulkan: Dynamic state for cull mode
Bug: angleproject:5906
Change-Id: I3d7b888e7999d4892ff71d636ea16a2edcf7a27f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3642800
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
03ccd9cc
|
2022-05-13T16:12:11
|
|
Revert "Vulkan: Flush texture updates more often"
This reverts commit 8bb7c35c2159de2fa9e9a008679c692edd4402a6.
Reason for revert: crashes tests in linux-rel
Example: https://ci.chromium.org/ui/p/chromium/builders/try/linux-rel/1012030/overview
Also possible flakiness https://anglebug.com/7308
Repro:
out/Debug/bin/run_blink_web_tests fast/canvas/OffscreenCanvas-2d-drawImage.html
Original change's description:
> Vulkan: Flush texture updates more often
>
> * Added a pointer to the previous texture in ShareGroupVk so we can
> flush the texture updates once we switch to a new texture.
>
> * We check if mip levels 0 and 1 are conformant in terms of
> size, format and number of samples.
>
> * As a part of size check, we also check depths if the texture
> target is either 3D, 2D array, or cube map array. For the former
> two, they have to conform to mip scaling similar to width and
> height. For the latter, the depth represents layer-faces and does
> not change for mipmaps.
>
> * Added a test to ensure the pointer to the previous texture is
> deleted when the corresponding texture is deleted, so the old value
> is not accessed by a future mutable texture.
>
> * Added tests to make sure the mutable texture is uploaded with
> the appropriate mip level attributes, and not uploaded in cases of
> size/format inconsistencies, incompleteness, and no base level.
>
> Bug: b/202744914
> Change-Id: I9c2c1af87a8a49e75d3ad25523436b0cd51a7e81
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3606329
> Reviewed-by: Charlie Lao <cclao@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Bug: b/202744914
Change-Id: Id51fd4c76d058aa5100ec58ba618098c8f614253
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645493
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Lingfeng Yang <lfy@google.com>
|
|
8bb7c35c
|
2022-03-23T19:14:54
|
|
Vulkan: Flush texture updates more often
* Added a pointer to the previous texture in ShareGroupVk so we can
flush the texture updates once we switch to a new texture.
* We check if mip levels 0 and 1 are conformant in terms of
size, format and number of samples.
* As a part of size check, we also check depths if the texture
target is either 3D, 2D array, or cube map array. For the former
two, they have to conform to mip scaling similar to width and
height. For the latter, the depth represents layer-faces and does
not change for mipmaps.
* Added a test to ensure the pointer to the previous texture is
deleted when the corresponding texture is deleted, so the old value
is not accessed by a future mutable texture.
* Added tests to make sure the mutable texture is uploaded with
the appropriate mip level attributes, and not uploaded in cases of
size/format inconsistencies, incompleteness, and no base level.
Bug: b/202744914
Change-Id: I9c2c1af87a8a49e75d3ad25523436b0cd51a7e81
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3606329
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
2fb58a95
|
2022-02-15T15:40:23
|
|
Re-land: "Vulkan: GBM platform"
Add support for GBM platform by implementing a Display with no WSI
extension.
Re-land fixes build script, including GBM Vulkan backend whenever ozone
platform GBM is enabled.
Bug: angleproject:7217
Change-Id: Icbf2d034b700e22ab4c351e479f472d65d832ebe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3637562
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0db4c39b
|
2022-05-09T20:02:58
|
|
Revert "Vulkan: GBM platform"
This reverts commit 825d5b2c59b463253c82262a0c50f75d28860db4.
Reason for revert: Fails link rolling into Chrome crrev.com/c/3635013
https://ci.chromium.org/ui/p/chromium/builders/try/chromeos-amd64-generic-rel/1149608/overview
https://ci.chromium.org/ui/p/chromium/builders/try/linux-chromeos-compile-dbg/1013047/overview
https://ci.chromium.org/ui/p/chromium/builders/try/linux-chromeos-rel/1189185/overview
Original change's description:
> Vulkan: GBM platform
>
> Add support for GBM platform by implementing a Display with no WSI
> extension.
>
> Bug: angleproject:7217
> Change-Id: Ia9089131c5984dfdd926d2f85f1c218df1e84d9a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3596042
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:7217
Change-Id: Ia8a4ca753a8f18d6a2c607010b5afabf6a78fe9a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3636059
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
825d5b2c
|
2022-02-15T15:40:23
|
|
Vulkan: GBM platform
Add support for GBM platform by implementing a Display with no WSI
extension.
Bug: angleproject:7217
Change-Id: Ia9089131c5984dfdd926d2f85f1c218df1e84d9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3596042
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2ce60b52
|
2022-05-05T08:23:07
|
|
Fixes for C++20 support.
* The compiler grew smart enough to warn about value changes due to
casting to float inside floatToNormalized(). Make it smart enough to
realize this isn't a problem by using constexpr if.
* Types on both sides of a comparison operator should be the same.
* Structs with user-declared constructors are no longer aggregates.
Provide a constructor and call it.
* std::result_of<F(x)> is gone, use std::invoke_result<F, x> instead.
Bug: chromium:1284275
Change-Id: I6487bb18c65837a6d7d2661f65e097dc6a7605b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3630478
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Peter Kasting <pkasting@chromium.org>
|
|
e6662832
|
2022-04-28T17:30:41
|
|
Re-land fixing of commit ID for Android builds.
Android infra does not store the .git directory alongside the
checked out code, instead using a gitdir directive to point
elsewhere. This caused the commit_id script to fail, which
could cause issues with disk-backed program caches on updates
when the serialization format changes.
Tested:
1) Verified that cached binaries do not load when the ANGLE hash
is "unknown hash". This fixes a bug where the serialization format
could change but we are unaware of a change because the hash is technically
the same.
2) Verified that Android infra correctly generates the git hash.
Bug: b/206109660
Test: Run script on Android infra, verify hash is gathered properly.
Change-Id: I114fc8edb9459592cab45c6726f9d946cf6d17d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3615014
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Doug Horn <doughorn@google.com>
|
|
f9729598
|
2022-04-28T16:36:50
|
|
Revert "Fix commit ID gathering on Android builds."
This reverts commit 1835e5d895f7f75435c2eddf3f87a88ef534c237.
Reason for revert: Breaks Skia integration in linkImpl.
Original change's description:
> Fix commit ID gathering on Android builds.
>
> Android infra does not store the .git directory alongside the
> checked out code, instead using a gitdir directive to point
> elsewhere. This caused the commit_id script to fail, which
> could cause issues with disk-backed program caches on updates
> when the serialization format changes.
>
> This CL also makes it a build failure to fail to get the commit id,
> and removes the ANGLE_DISABLE_PROGRAM_BINARY_LOAD fallback (which
> was broken anyway due to not being used anywhere).
>
> Bug: b/206109660
> Test: Run script on Android infra, verify hash is gathered properly.
> Change-Id: Ie28dc9278b6fbd3dd4f09232c0a88d602fca6980
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3604710
> Commit-Queue: Doug Horn <doughorn@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: b/206109660
Change-Id: I64ac0831a46b9e1ff2e2738624650d67d0609f3c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3615009
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Doug Horn <doughorn@google.com>
|
|
1835e5d8
|
2022-04-25T14:42:31
|
|
Fix commit ID gathering on Android builds.
Android infra does not store the .git directory alongside the
checked out code, instead using a gitdir directive to point
elsewhere. This caused the commit_id script to fail, which
could cause issues with disk-backed program caches on updates
when the serialization format changes.
This CL also makes it a build failure to fail to get the commit id,
and removes the ANGLE_DISABLE_PROGRAM_BINARY_LOAD fallback (which
was broken anyway due to not being used anywhere).
Bug: b/206109660
Test: Run script on Android infra, verify hash is gathered properly.
Change-Id: Ie28dc9278b6fbd3dd4f09232c0a88d602fca6980
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3604710
Commit-Queue: Doug Horn <doughorn@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4aae5815
|
2022-04-22T13:21:03
|
|
Vulkan: Overlay widgets for submission statistics
Bug: angleproject:7084
Change-Id: I68e69bda43862f9f2711c25a28dbe4745c19a45c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3602832
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
02b96848
|
2022-04-21T16:32:31
|
|
Vulkan: Add support for GL_QCOM_shading_rate
Layer GL_QCOM_shading_rate over VK_KHR_fragment_shading_rate
Test: ShadingRateQcomTest*
Bug: angleproject:7172
Change-Id: I3f040dbfad3906facd4349937fed2ce9a464b824
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3599874
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
ea76cb0f
|
2022-04-21T15:52:39
|
|
Vulkan: Add entry points for GL_QCOM_shading_rate
Bug: angleproject:7172
Change-Id: I837d2697d95c44f47a2fab7411cfd87a4ec65e90
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3599873
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
2db718ed
|
2022-04-21T23:13:02
|
|
Vulkan: Skip empty submissions
A number of places in ANGLE perform an implicit flush; eglSwapBuffers(),
glFenceSync() etc. Sometimes these flushes are unnecessary because
there is nothing to submit. Additionally, an application may
unnecessarily issue glFlush() with nothing recorded.
In this change, empty command buffers are automatically not submitted,
optimizing these unnecessary flushes away.
Bug: angleproject:7084
Change-Id: Iecb865b6b9ef8045dfecda7b5221874f7031b42e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3600837
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dc1b7029
|
2022-04-20T15:41:40
|
|
Disable MSAN in the Vulkan loader
When trying to reproduce MSAN errors locally, a number of MSAN errors
pop up inside the Vulkan loader. This CL disables MSAN checks around
function calls which end up inside the Vulkan loader, which similarly
had been done for LSAN before, and allows local MSAN builds to reach
actual MSAN errors inside SwANGLE.
Bug: chromium:1313907
Change-Id: I8c0b841f03ce57cecb01e34b4f6edab398d2924e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3598011
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
ff8a9f6a
|
2022-04-14T15:15:16
|
|
Vulkan: Renaming "ShaderBuffers" to "ShaderResources".
This will match the functionality as we expand the descriptor set
cache to non-buffer resources.
Bug: angleproject:6776
Change-Id: I5597d074beea7d3b464802a2db9bcc2fcf84ca6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3583359
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fcec6904
|
2022-04-13T14:18:06
|
|
Generate feature variable names from display names
The json file now only contains the feature display name. The variable
name is automaticaly derived.
For consistence with Chromium and other Chromium-based projects, the
display name is now always snake_case, and that's what's specified in
the json files. This also makes camelCase variable name generation
trivial (as opposed to the other way around).
Feature overrides now accept both snake_case and camelCase names to
ensure compatibility with existing scripts. This is done by removing _
and comparing override names with feature names in lower case.
Bug: angleproject:6435
Change-Id: I0b6ed2bbf5c312bc4f4be7b3c7d55dbaca2a9886
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3584630
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c82513af
|
2022-04-14T05:04:11
|
|
Add FastMap class.
We can use this class in a few cases where we can know
that the integer key index won't exceed a fixed small
boundary.
Bug: angleproject:4524
Bug: angleproject:6776
Change-Id: Ic380e1ce8f4dc591504603ade376d9b1e8a3c1c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3579865
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1b94c585
|
2022-04-10T15:09:38
|
|
Revert "Vulkan: Switch loader to new driver files env var."
This reverts commit 1f6123d55467c2af7c67405c0101a6f327b76225.
Reason for revert: Seems to break ANGLE on fuchsia loader:
https://ci.chromium.org/ui/p/chromium/builders/try/fuchsia_arm64/1123629/overview
Original change's description:
> Vulkan: Switch loader to new driver files env var.
>
> VK_DRIVER_FILES replaces VK_ICD_FILENAMES.
>
> Bug: angleproject:7095
> Change-Id: I949ac9a8f375240b6c6068825eccc645f81b0185
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3522821
> Reviewed-by: Ian Elliott <ianelliott@google.com>
> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:7095
Change-Id: I5b7e094b08d76b9c14adb4acb3b59e4cfb7a28fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3580980
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3cea7fcc
|
2022-03-16T16:33:43
|
|
Split Context ResourceUseList to RP Commandbuffers
* Added mResourceUseList to each command buffer helper in an
effort to move mResourceUseList away from ContextVk.
* submitFrameImpl() renamed to submitCommands()
* Moved the functions acquireResourceUseList() and
onRenderPassFinished() in submitCommands() to the submitFrame
functions calling it.
Bug: angleproject:7103
Change-Id: I2487d5b86ea0a4d504f283aa7128501651317fe0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3531368
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
1f6123d5
|
2022-03-14T11:40:05
|
|
Vulkan: Switch loader to new driver files env var.
VK_DRIVER_FILES replaces VK_ICD_FILENAMES.
Bug: angleproject:7095
Change-Id: I949ac9a8f375240b6c6068825eccc645f81b0185
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3522821
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
607d398e
|
2022-03-14T16:32:21
|
|
Vulkan: Optimize resolve of multisample swapchains
* Resolves the multisampled image if the last render pass
draws into the default framebuffer.
* Added test to check the number of resolves in the optimization
subpass (credit: Xinyi He)
* Added test to check the number of resolves outside the subpass.
* Added disabled test to see if the subpass resolve works.
Bug: angleproject:6762
Change-Id: I86a8db3387851ab97d5f7a3d8a0ff26961254c14
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3523062
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
7b0f6318
|
2022-03-30T14:16:02
|
|
Vulkan: Wayland include directories
Add wayland include directories from vulkan headers build overrides to
those vulkan dependent targets.
Bug: angleproject:6902
Change-Id: I8699fdf18e9b44b04a580b6ea31493d740756cf0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3568377
Auto-Submit: Antonio Caggiano <antonio.caggiano@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3bdbfbf8
|
2022-03-25T16:34:51
|
|
Vulkan: Adjust border color
Some border color tests used to fail due to either unclamped color
values or not accounting for depth, stencil or luma formats. We now
adjust the border color value according to the sampler's format.
Test: dEQP-GLES31.functional.texture.border_clamp.*
Bug: angleproject:3577
Bug: angleproject:6213
Change-Id: Ib38ce2374622bfafde69fe3fa2d7227d60043954
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3551895
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
36a051d8
|
2022-03-28T22:53:38
|
|
Vulkan: Move mid-RP color clear to loadOp if content undefined
Instead of using vkCmdClearAttachments, if the color attachment has not
been written to, modify the loadOp of the currently open renderpass to
CLEAR.
This is an adaptation of
commit cfe5a1735a934cc83133bb6c69d19aa27278a270
The difference with that commit is that, with the prior changes that
added tracking of color attachment access in the render pass, this
change is greatly simplified by being able to immediately know if clear
can be moved to the beginning of the render pass.
Bug: angleproject:5048
Change-Id: I72b3613ad08ff869b71aced7e1f4e9be916d7b49
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3557815
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
53e432fe
|
2022-03-28T15:18:51
|
|
Vulkan: Track LOAD/STORE_OP_NONE in perf counters
Bug: angleproject:5048
Change-Id: I52ed67e7a5c173dd1a7202fd6d4a1c484e79ea75
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3556367
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7a85d114
|
2022-03-25T15:01:17
|
|
Use [[nodiscard]] on RAII classes
Scoped* classes provide an RAII way of adding cleanup/restore state/etc
in a robust way. Unfortunatley, it's very easy to mistakenly leave the
variable name, leading to the destructor being called immediately
instead of at the end of the scope:
{
ScopedX(parameters); // instead of ScopedX x(parameters);
// Code here is run after destructor
}
The [[nodiscard]] attribute, if specified on the ScopedX class would
lead to a warning (turned to error with -Werror). This change does
that for classes named *Scoped* in ANGLE.
Bug: chromium:1103817
Change-Id: I65c9922c9b4eba1f9c033e093fe8fe534648ab62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3552092
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e3c44919
|
2022-03-24T11:32:10
|
|
Debug: Add angle_enable_trace_events
Include the following GN arg to print all GLES and EGL commands:
angle_enable_trace_events = true
Bug: angleproject:7126
Change-Id: I78eb061c10ed519d6a0b0357eea11567d1cfb518
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3551656
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
04680183
|
2022-03-24T11:09:39
|
|
Capture/Replay: Fixes for Car Chase
This CL contains two fixes:
* Add GL_PATCHES to list of PrimitiveMode names
* Use FramebufferTextureLayer for 3D and Cube textures
Bug: angleproject:3662
Bug: angleproject:7125
Bug: b/218314686
Change-Id: Ia97d8221cb78ef6e895156b5a474483d570d6ab5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3551096
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
c8f86c21
|
2022-03-22T17:40:43
|
|
A handful of clear-related tests
Credit Tim Van Patten <timvp@google.com>
Bug: angleproject:5048
Bug: angleproject:5194
Change-Id: I00eccf1049118c3fba3c2c560c781cf09cf23362
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3543732
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
730c1271
|
2022-01-07T13:41:08
|
|
Vulkan: Submit queue more often for texture data
Outside command buffers should be flushed more often in order
to prevent the texture data accumulation just before the first
render pass when they are referenced.
* Added a tracker next to copyBufferToImage() for texture size
(in ContextVk). When its value passes kMaxBufferToImageCopySize,
the outside command buffer operations should be submitted and
the tracker would be reset. Currently, the threshold value is
set to 1 << 28 = 256M.
* Added a variation of submitFrame() to be used in outside
command buffer submission. The main difference is that it
copies mResourceUseList into GetShareGroupVk() rather than
move it.
* Refactored the two functions into submitFrameImpl().
* Added a helper function to submit the outside command
buffer.
* Added explicit copy functions for ResourceUseList and
SharedResourceUse. The counter in the copied object is
incremented by 1.
* Added a test to make sure submitting the outside command
buffer does not break the render pass.
Bug: angleproject:6354
Change-Id: Ia1d4f857fcbd06934609c94622ccbf675b3b1c72
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3379231
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
01be7a83
|
2022-03-21T21:20:54
|
|
Fix Skia build
Missing include in crrev.com/c/3191194
Bug: angleproject:6440
Change-Id: I77c08a60fb42026104b75044187f681a30c0d42a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3537513
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
b2c01ac4
|
2021-09-28T12:57:45
|
|
Report process memory in perf tests.
Bug: angleproject:6440
Change-Id: Ifdd4389266e3ac55963a3069d437c631bf73f72a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3191194
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9637185c
|
2022-03-10T15:38:13
|
|
Add ForceGPUSwitch to EGL_ANGLE_power_preference
eglHandleGPUSwitch() does not work with WebKit sandbox profile.
The root cause is that we do not know the
primary display, and as such we do not know which GPU drives this.
Add eglForceGPUSwitchANGLE(display, gpuIDHigh, gpuIDLow).
This lets the caller figure out the GPU in another process. Then
the caller can just set the GPU in the sandboxed process.
Add tests that are disabled by default until the runner and the
infrastructure supports running the tests with automatic switching
enabled.
Bug: angleproject:7092
Change-Id: I316ee431156596effbdb89659a5e24291719a204
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3516274
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
e8ee847d
|
2022-02-23T12:25:39
|
|
Vulkan: Add UpdateDescriptorSetsBuilder.
This helper class encapsulates the vkUpdateDescriptorSets caching.
As part of the refactor, we switch passing a ContextVk to passing
a vk::Context with some mutable variables. This helps encapsulate
ContextVk. Since we use the perf counters in many places, this CL
moves the perf counters to vk::Context, so we can access them
everywhere.
Refactoring change only.
Bug: angleproject:6776
Change-Id: Id529962b2f425bece6f9b3bd0cd1698c692e58cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3484980
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|