|
92ffd40e
|
2020-07-08T18:25:55
|
|
Vulkan: Disable GL_EXT_robustness extension on Mali
Vulkan doesn't have a mapping extension to
GL_EXT_robustness, so we need to disable it.
Bug: angleproject:4823
Change-Id: If7b66c0eb7ba14b9349925af64ec2efcec9985a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2287092
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7d82d293
|
2020-07-02T15:15:54
|
|
Refactor DisplayGbm::generateConfigs
Bug: angleproject:4809
Change-Id: I5f352f737bbd53c78d9e01055c17eabd17d5fb8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2278667
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
120e1d66
|
2020-07-09T17:56:54
|
|
Vulkan: Set the wideLines features when available
Bug: angleproject:4827
Change-Id: I40fc893fdaf7135e2ad782a489b59c518346db9c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2290582
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
73b6b3a8
|
2020-06-03T14:38:34
|
|
Vulkan: Fully enable pre-rotation for Android
Bug: b/157667116
Change-Id: I3e5d41eed9b27eb2b49db853d85ec5c867dd2409
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2228366
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
2a2b4b13
|
2020-07-09T13:15:13
|
|
Vulkan: Force flush staged updates for external textures
For textures that are backed by external memory,
immediately flush sub image updates instead of
staging them.
Bug: angleproject:4828
Tests: angle_end2end_tests --gtest_filter=ImageTest.UpdatedExternalTexture*
Change-Id: I51e5bd0cb5df7df3af21f0cdb3007eebc1be29cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2290490
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
fe36a647
|
2020-07-08T18:27:21
|
|
Vulkan: Add driverUniform's buffer to mResourceUseList
There is a bug with mDriverUniforms' dynamicBuffer that we never add it
to context's mResourceUseList to let it hold onto it until GPU
completes. This causes old buffer gets recycled prematurely and gets
overwritten, result in rendering corruption. This CL adds current buffer
to the mResourceUseList so that it will be waited properly before gets
recycled.
Bug: b/160777679
Change-Id: I7707442e0f5ba408f5f28337422274e0c23b6bfb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2288325
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
f61272fb
|
2020-06-17T11:38:37
|
|
Add support for VK_KHR_sampler_ycbcr_conversion
This adds ability for applications to import Android Hardware Buffers
(AHBs) as OpenGL images which in turn can be sampled from and/or
written.
This was specifically tested with the common use case of importing a
buffer created by an media decoder and using that as a texture source to
include that video content on the screen. Tested with:
- Angry Birds 2 video player (for ads) requires YUV conversion.
- Basic Media Decoder example:
https://github.com/android/media-samples/tree/master/BasicMediaDecoder
Bug: b/155487768
Change-Id: I9255450f81aa4daa2aace7205d4f6c3f225abcca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2175103
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b549be96
|
2020-07-02T16:17:10
|
|
Vulkan: Warm up glslang on startup
As soon as glslang is initialized (which is done when EGL is
initialized), try to compile a simple shader. This will warm up
glslang's internals to avoid hitches on first shader compilation when a
WebGL application starts.
Potential future optimization is to use a worker thread to do this.
Bug: chromium:1091440
Change-Id: I6ac22e982d748af52a6e8b61239889425edc2edb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2280401
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fac68170
|
2020-07-08T22:19:43
|
|
Don't build vulkan_validation_layers on macOS.
angle_enable_vulkan_validation_layers is false on is_mac,
so it looks like they were built by accident. Guard the dep
on $angle_root/src/common/vulkan:vulkan_validation_layers by
angle_enable_vulkan_validation_layers instead of angle_enable_vulkan,
and only define the target if angle_enable_vulkan_validation_layers
is true (because src/common/vulkan/BUILD.gn gets loaded due to deps
on other targets in it, and when a .gn file is loaded all the
targets in it get defined).
Since vulkan_validation_layers doesn't currently build on
arm macs, this happens to fix a build problem there, but it
also makes the build on intel macs a bit smaller.
This sidesteps comment 13 on the bug. If we ever want to use
the validation layers on mac, we'll have to do a real fix then.
Bug: chromium:1098741
Change-Id: I8164ff13de98d34ed875c6e6d0550eae64b2d0dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2289042
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a740b193
|
2020-07-08T16:58:46
|
|
Vulkan: Rotate damage rects for 90/270 rotation
ANGLE supports the EGL_KHR_swap_buffers_with_damage extension by using
the Vulkan-equivalent VK_KHR_incremental_present extension. The
damage rectangles need to be rotated for 90/270-degree rotations.
Test: Aztec Ruins with VVL
Bug: b/157667116
Change-Id: I9a43594b30bc67ca80aeff7705b4350659207d09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2289035
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
13859945
|
2020-06-26T13:21:35
|
|
Capture/Replay: Fix default uniform array capture
The pointer from vector::data() already reflects the size of the
underlying type, so no need to include sizeof. This caused us to
write beyond the vector bounds when reading multiple values.
We were also missing component count.
Test: MEC of NBA2K20
Bug: b/160014453
Change-Id: I51fc3f5f80c732221d6ea4b4bd1afde635e410a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270909
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
900c7e87
|
2020-07-07T14:20:36
|
|
Serialize d/s buffers + use color buffers' impl format for readPixels
Adds serialization of depth/stencil buffer contents
Currently, readPixels on color buffers uses the gles front-end format,
which can be different from the implementation format used in the
backend. This can cause seg fault crashes when the number of bytes in
a pixel differs between the two format. Changes so that readPixels for
color buffers always use the backend format.
Bug: angleproject:4817
Change-Id: I62d5deb1320ea38ee46143b2aa97f372ba01baeb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2284451
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
|
|
514c8f64
|
2020-07-08T13:48:54
|
|
Skip MultithreadingTest.MultiCreateContext on Ozone
This tests crashes on Ozone, skip for now.
Bug: chromium:1103009
Change-Id: Ie686e69d937710b43b615372251801e83b7bde20
TBR=geofflang@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2288334
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
3688cb36
|
2020-06-28T15:28:10
|
|
Fix bugs in angle_end2end_tests and frame capture
1. CaptureGetShaderInfoLog_infoLog method should not require shader
object to be compiled
2. glCompressedTexImage3D's parameter locations are off by 1
3. EGLContextSharingTest.DisplayShareGroupObjectSharing test should not
delete buffers it has no access to since it will crash when running
capture replay
Bug: angleproject:4801
Change-Id: I0d407cdb44eb41eea4209eebab0996d3dd8ae5f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2272862
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
6fc53fdb
|
2020-06-30T18:08:21
|
|
Fix typos in comment
This CL fix typo in a comment introduced recently.
There is no functional change.
Bug: chromium:1091259
Change-Id: I56f1963514b87b2a93859a6db707be093e865e28
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2276748
Commit-Queue: Etienne Bergeron <etienneb@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8b80e852
|
2020-06-25T09:43:01
|
|
Remove debug info from SPIR-V
When dcheck_always_on=false, the SPIR-V transformer will strip all debug
information to reduce the SPIR-V binary size.
Running T-Rex shows about 27% reduction in the SPIR-V binary size.
Bug: angleproject:4680
Test: CQ
Change-Id: Id9d0189cdc9c12fa5a1741cf62ef549a533cdf93
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267358
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b291ad09
|
2020-07-03T23:53:10
|
|
Build specialized version of glslang
Bug: angleproject:4763
Change-Id: Ibb98c872a1283b9d6acde958a7c5212cf79e72df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2281618
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
36a97db1
|
2020-07-02T23:29:45
|
|
Vulkan: Compress internal shaders
Shaves ~200KB in binary size. The compressed SPIR-V blobs are in most
cases a little smaller than 1/3 of the original size.
The internal shader blobs at this point take ~100KB.
Bug: angleproject:2022
Change-Id: I1a2cec073cb1f330632c8dce7a550a0cca1e373d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2280945
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9349e262
|
2020-06-25T14:28:17
|
|
Fix multiDraw* with DYNAMIC_DRAW buffer usage
Specialized Context11 impl to prevent promote Dynamic during MultiDraw.
Add different buffer usage to MultiDraw and BaseVertexBaseInstance
tests.
Bug: angleproject:3402, angleproject:4754
Change-Id: I50e1a6fd6c8b6fd48f130c43545b895335d2e55b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2268581
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
796df76c
|
2020-06-25T11:49:12
|
|
MultiDraw Refactor
Refactor MultiDraw* from general Context to different ContextImpl.
Move general multiDraw code to renderer_utils.cpp.
Bug: angleproject:3402
Change-Id: I85cb4b781afa2b3a8beb382a9c735910057f2ebe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2268580
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
69fa4d23
|
2020-06-30T09:06:33
|
|
Vulkan: Query aspect flag from the image
When transferring images across queues we need
to query the aspect of the image instead of
hardcoding it to VK_IMAGE_ASPECT_COLOR_BIT
Bug: angleproject:4791
Bug: angleproject:4818
Tests: angle_end2end_tests --gtest_filter=ImageTest.SourceAHBTarget2DDepth*
Change-Id: Ia43a00262085dab492935c0c299635f3af468b50
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2274868
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3c8f6094
|
2020-06-26T12:42:37
|
|
EGL: Add basic multithreading support
Adds first step to allowing multithreaded contexts: letting multiple
threads use ANGLE as long as only one thread has a current context at
a time.
Bug: angleproject:4724
Bug: angleproject:4725
Change-Id: I4f606bdb15386cff9e3cb84d4120781e24e15fe4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2269864
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
acbe145c
|
2020-07-02T14:59:55
|
|
Test Runner: Batch tests by config.
This CL sorts tests into subprocesses organized by a single config.
It will allow for the test runner to use a single EGL display per
process in most cases. It doesn't implement the display sharing right
now, that'll be in a forthcoming CL. It assumes test configs are split
between / and (optional ending) __ characters.
Bug: angleproject:3162
Change-Id: I28e8b4687640da6e501f08b8b9347185c99ce30f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2280403
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d38c75c5
|
2020-07-02T22:12:19
|
|
Vulkan: Remove BufferUtils shader
This was the first internal shader written for prototyping UtilsVk. It
ended up never having a user.
Bug: angleproject:2022
Change-Id: I846dcc216c4c018f5bda16ad67463f698b8e1c56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2280944
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dd2316df
|
2020-07-02T14:20:05
|
|
EGL: Add image test for AHB based EGLImages
Add new end2end test where the source for EGL images
is an Android Hardware Buffer
Bug: angleproject:4810
Tests: angle_end2end_tests --gtest_filter=ImageTest.SourceAHBTarget*
Change-Id: I20f303c6ad839ac2e65d407cfe3813a8be4c1cfa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231884
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
05e2fe78
|
2020-07-03T12:25:01
|
|
Remove class size static_asserts from serialize methods
Right now, the static_asserts will fail on certain platforms with
certain configurations as the class sizes differ between platforms.
Bug: angleproject:4779
Change-Id: I92f61393b2e9e5b7d6dc9085b1a42cb377143469
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2280987
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ad782a84
|
2020-07-02T16:21:59
|
|
Tests: Use "__" to delineate test config names.
This will allow the ANGLE test runner to identify test configs
for tests that use parameterization to break up different test
permutations with the same config. Note that GoogleTest doesn't
allow for anything other than alphanumeric characters or "_" in
test names.
Bug: angleproject:3162
Change-Id: Iee215fbd8c397eef04dce0269da9b58ec568fce7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2280402
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0757a61a
|
2020-07-03T10:03:08
|
|
Remove suppression of passing test
Bug: angleproject:4698
Change-Id: I1c97f27534f25e1b63b1e07a82ffade353f805d2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2280983
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bae95f81
|
2020-07-02T17:19:14
|
|
Convert GN libs lists to frameworks
GN recently added support for Apple frameworks to link, rather than
overloading the libs lists. This pulls .frameworks out of the libs
lists, so that GN can stop supporting .frameworks in libs in the
future.
Bug: chromium:1052560
Change-Id: I3aed298db01bdb5f6e7f37a74c1bbc06f99d760c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2279931
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
cbdb76b0
|
2020-07-02T10:09:34
|
|
Vulkan: Create sRGB views only when needed
Creating sRGB views was conditioned to
VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT being necessary, but that flag can be
set for reasons other than sRGB override, such as when recreating the
image to be used as a storage image.
Bug: angleproject:4551
Change-Id: I6f94a1c898b599d4333d74608c7451b4ce4f71f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2279134
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a86c8547
|
2020-07-02T12:57:52
|
|
Add missing data deps to angle test executables.
Currently the Chromium build defines some wrapper test
targets for ANGLE (//chrome/test:angle_perftests
and //chrome/test:standalone_angle_unittests) that seem to
exist only to specify some extra data dependencies. By moving
those data dependencies into angle, this removes a couple of
targets in Chromium that are otherwise problematic for
my planned changes for crbug.com/816629.
Bug: chromium:816629
Change-Id: Ic0d50132f102f39749c92b062eec38a529db2c1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2280255
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@google.com>
|
|
89c88559
|
2020-06-20T11:13:57
|
|
Add end2end test for readonly feedbackloop
Bug: angleproject:4778
Test: ./angle_end2end_tests --gtest_filter=ReadOnlyFeedbackLoopTest*
Change-Id: I1c2500395d261c1686e5d325aad173462311c8c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2252543
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
dce37b7d
|
2020-06-21T22:27:06
|
|
Serialize framebuffers + compare contexts for CaptureReplayTests
Adds to frame capture the ability to serialize a frame's pre-swap
GL state and store it in the binary data file
Adds to CaptureReplayTests the ability to compare its serialized GL
state with the serialized state pulled from the binary data file
Adds a serialization module that serializes framebuffers' GL states
and the contents of their color attachments
Adds checks to automation script so that it would skips tests that
do not produce the expected trace files
Adds exception handling to automation script so that it will not crash
when a replay build crashes
Bug: angleproject:4779
Change-Id: I40a02e018073749e79f0ddbfd3d4065745548f46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2258295
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
5fec8ecf
|
2020-07-02T11:14:30
|
|
Fix CopyTexture3D test to remove Nvidia workaround
Bug: angleproject:4748
Change-Id: I8e66fda3c9fd234451ad765c8777cd75b4fc44fc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2279136
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
65f7ab79
|
2020-07-02T10:04:48
|
|
Vulkan: Cleanup extension properties and features
Bug: angleproject:4551
Change-Id: Iae6b94027cfaca6c72318203a286865c2e3b19a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2279133
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
62ff54eb
|
2020-05-12T13:27:21
|
|
Vulkan: Featurize shadow buffers
Shadow buffers help reduce the latency of glMap* operations
at the cost of CPU overhead. It might not be desirable to
incur such an overhead for all usecases. Featurize it but
enable it by default.
Bug: angleproject:4339
Change-Id: I6374618bf99677eef55fd50a139fb86f5ea70791
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2278102
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
cf63d872
|
2020-07-02T09:59:58
|
|
Vulkan: Use mipmap hint when generating mipmaps
If the application asks for GL_FASTEST, this uses VK_FILTER_NEAREST
instead of VK_FILTER_LINEAR.
Bug: angleproject:4551
Change-Id: I6c10758104bd63dd477ea853a3b0464665f371ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2279132
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cbcc500f
|
2020-06-26T14:10:37
|
|
Broaden EGLFeatureControlTest Linux AMD suppression
After the initial suppression the bot started failing on the next test.
Use GTEST_SKIP in testSetUp to make all tests using the fixture skipped.
Bug: chromium:1097750
Change-Id: Ic993d7cd274e1328684571c5ba1a1520b9cb80d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270020
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
1265dbe6
|
2020-06-24T15:12:17
|
|
Update JsonCpp usage
This patch updates usages of the JsonCpp library, including the
following changes:
1. Removed unused version variable from the DEPS file.
2. Removed deprecated writer and reader usages, in favor of the new
builder pattern inside JsonCpp.
3. Modernized usage of the Json::Value types, including some rewrites to
avoid unnecessary heap allocations, and using the new foreach
iterators.
Bug: chromium:983223
Change-Id: If26abc8be677d905183a23498fbb81256854525c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2265093
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
d2ca995f
|
2020-06-30T16:33:11
|
|
Vulkan: Update "fragment_ops" failures on Android
A Qualcomm driver bug causes certain
"dEQP-GLES3.functional.fragment_ops*" tests to fail. On Pixel 4 XL,
this only occurs when the device is rotated 90 or 270 degrees.
Bug: angleproject:4344
Bug: b/157933198
Change-Id: Iedb7e8c76fbe55795537cab3e821a410899fdea3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2277103
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
1ae8d2dd
|
2020-04-29T09:47:01
|
|
Fix blendable FP32 texture caps on ES2 contexts
Although the EXT_float_blend extension is defined only for ES 3.0+,
ANGLE exposes it on ES 2.0 client contexts.
Bug: angleproject:4595
Change-Id: I7451062ed8b1ab4eb18a8c7c1d37ee7383c8ea4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2172738
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
28300e6f
|
2020-06-30T10:41:27
|
|
Vulkan: Fix off-by-1 180/270-rotated CopyTexImage
The rotation calculations are a little different for this code (that
uses a special shader) than for other pre-rotation cases. I also
modified the CopyTexImageTestES3.2DArraySubImage test to make future
bugs a little easier to diagnose.
Test: Test: angle_end2end_tests --gtest_filter=*CopyTexImageTestES3.2DArraySubImage*Vulkan*
Test: Test: angle_end2end_tests --gtest_filter=*WebGLReadOutsideFramebufferTest.CopyTexSubImage2D*Vulkan*
Bug: b/158245571
Change-Id: I497ec541cae5cd4085c3e9d596ee20943f5510f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2275733
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
68e60a92
|
2020-06-26T11:10:07
|
|
Vulkan: Don't store transformed SPIR-V
Since the original SPIR-V is never store after being modified, we don't
need to keep the transformed SPIR-V either.
Bug: angleproject:4513
Test: CQ
Change-Id: I4b70cfa355a08107e6a27377f6258cbf9e4072be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270718
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
34eb401b
|
2020-06-19T15:36:18
|
|
Vulkan: Skip repeated VkCmdClear call with the same value
Some apps actually do this. One of them is gfxbench. This helps
performance by dropping the redundant clear calls.
Bug: b/159489614
Change-Id: Ib7958042f081b8fd58c5bc912fbb45bb223aec0f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2255643
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
d1bf23d7
|
2020-06-23T16:57:05
|
|
Restrict member types for StructuredBuffer
Std140 storage layout has some rules for uniform block, must
pad StructuredBuffer element type explicitly to match std140
layout rules when translating std140 uniform block to
StructuredBuffer. In this CL, restrict member types which are
not needed to add paddings according std140 layout rules.
Bug: angleproject:4783
Change-Id: I50130da64ad6865083849bf55b76525f3d2835a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2259226
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
|
|
774cd1b2
|
2020-06-25T09:15:24
|
|
Vulkan: Only transform SPIR-V once
Prior to this change, the SPIR-V would be transformed as part of
GlslangGetShaderSpirvCode() and then possibly another time afterward to
disable the early fragment test optmization (for monolithic programs) or
to update the descriptor set/binding values (for PPOs). By storing the
original SPIR-V in the ProgramVk and the transformed SPIR-V in the
ProgramExecutableVk, we can now remove the SPIR-V transformation from
GlslangGetShaderSpirvCode() and only perform it once in
ProgramInfo::initProgram() for monolithic programs and PPOs.
Bug: angleproject:4513
Test: CQ
Change-Id: I4e7240b2abe7c796c46cf531948dad0e37c1419a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267537
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8ea72e86
|
2020-06-29T23:42:42
|
|
Skip failing test on NVIDIA Shield
Bug: chromium:1100613
Change-Id: I1e05b2b7829ee790f878bf99976310c8a697faa2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2274520
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
06462add
|
2020-06-04T16:14:18
|
|
Add a test for copying from one mip to another
Bug: angleproject:2914
Change-Id: Ib39f8599a613cbb85688c230cf8a72e23d8e1c1c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231618
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
7993f34d
|
2020-06-24T18:39:08
|
|
Vulkan: Store transformed SPIR-V in ProgramExecutableVk
The original SPIR-V is specific to a ProgramVk while the transformed
SPIR-V is specific to a ProgramExecutableVk. This CL keeps the original
SPIR-V in the ProgramVk::mOriginalShaderInfo and the transformed SPIR-V
in ProgramExecutableVk::mTransformedShaderInfo. This allows us to skip
an extra copy that was occurring during PPO link().
Bug: angleproject:4513
Test: CQ
Change-Id: I796dcd6bcfb2df08d9b8f1a5295b2821a4096f16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2265484
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e2de2c1c
|
2020-06-25T11:59:14
|
|
Fix disable_native_parallel_compile workaround condition.
This workaround should only be enabled when ANGLE is built with TSAN
on.
Bug: chromium:1094869
Change-Id: If527457c11ce744b543ac69761cc64235d2f1dd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267420
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
bdf91e5f
|
2020-06-29T13:47:13
|
|
Refactor frame_capture_utils.h to frame_capture_test_utils.h
frame_capture_utils.h is only used in tests so changing the name to be
frame_capture_test_utils.h is more appropriate. Also
frame_capture_utils.h will now be a file in libANGLE_with_capture
library where serialization code is stored.
Bug: angleproject:4806
Change-Id: I7482693a75b2d0edda7e84ae9b777fd3f46f1855
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2273917
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
58ff77a8
|
2020-06-27T09:30:00
|
|
Vulkan: Set new layout based on VkImageUsageFlags
When transferring vkImages between queues, the new layout
needs to be set based on the usage flags of the vkImage
instead of hardcoding it to AllGraphicsShadersReadWrite
Bug: angleproject:4791
Change-Id: I3b543a6280e6c2317cc11bf65dc4c337bc5f90b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2271563
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b31a1939
|
2020-06-25T08:13:20
|
|
Vulkan: Implement invalidate for color buffers
This will set the color buffer load_op to DONT_CARE if the application
has invalidated the color buffers prior to drawing.
Will also set load_op to DONT_CARE for depth & stencil, though this
isn't likely a common use case.
Tests:
angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_fbo_invalidate_* --use-angle=vulkan
angle_end2end_tests --use-angle=vulkan --gtest_filter=StateChangeRenderTestES3.InvalidateNonCurrentFramebuffer/ES3_Vulkan
Bug: b/150458520
Bug: angleproject:4444
Change-Id: I6ce3d20fc1e9f4ab7ba3af9755c5ddc544f58ddd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267057
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
b0245f68
|
2020-06-23T22:38:12
|
|
Vulkan: Remove superseded updates when flushing to image
Especially with emulated formats and robust resource init, a clear is
staged that's often superseded by a data upload to the same subresource.
This change ensures that superseded updates are dropped to avoid
unnecessary GPU work.
Bug: angleproject:4691
Change-Id: I697ccd438b92fd2fff17a5800550694658c95c54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2262574
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
7538f91e
|
2020-06-29T10:17:09
|
|
Vulkan: Skip *functional.attribute_location.bind* tests
Bug: angleproject:4249
Change-Id: I980054c374f43596050a3387d1d6c3e71b5efed9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2273697
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
e5839678
|
2020-06-29T09:49:15
|
|
Vulkan: Remove suppression of fixed dEQP tests
Bug: angleproject:4675
Change-Id: I543f1d3872c89a78c377a309048d1f5df8c67395
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2272863
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a935c65a
|
2020-06-24T00:09:45
|
|
Fix delegate Worker Thread Pool creation
This error was introduced while fixing nits in the
previous CL.
The Delegate Pool was not created at all and always
fallback to the Async thread pool instead.
Bug: chromium:1091259
Change-Id: I5036836b5d792372636f21e936a03906eb587f67
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2262573
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Etienne Bergeron <etienneb@chromium.org>
|
|
69c011ef
|
2020-06-25T23:51:42
|
|
Assert no undefined behavior with left shift in angle::Bit
(uintN_t)1 << M has undefined behavior when M >= N. For example, the
following:
shift = 64;
value = 1 << shift;
Gives a value of 1 (instead of the arithmetically expected 0) on (some?)
Intel CPUs.
Bug: None
Change-Id: I5fbb01eff812a62eb778474cec25a25b80052bac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2269857
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e69298d1
|
2020-06-26T08:20:47
|
|
Vulkan: External image layout needs to be ReadWrite
Textures specified through external images need to
transition to a ReadWrite layout and not ReadOnly.
Bug: angleproject:4791
Change-Id: I8c0d5999d65499de6a36725ed1cc9c390c479c8c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270513
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
da3e6451
|
2020-06-25T23:49:22
|
|
Vulkan: Fix fbo_invalidate tests for pre-rotation
The BlitFramebuffer path wasn't properly supporting stencil and MSAA
paths for pre-rotation:
1) The stencil path on Android isn't going through
UtilsVk::blitResolveImpl, but requires changing
UtilsVk::stencilBlitResolveNoShaderExport for rotation.
2) MSAA resolves requires rotating clippedSourceArea.
Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_fbo_invalidate_\*
Bug: b/158337857
Change-Id: I092cab302c247ff9b2e262b12de3d1a56a257f8e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2269499
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
d4874cb3
|
2020-06-25T10:49:32
|
|
Reformat Framebuffer::readPixels
Reformat Framebuffer::readPixels and its overriding methods
to the following method signature
angle::Result readPixels(const Context *context,
const Rectangle &area,
GLenum format,
GLenum type,
const PixelPackState &pack,
Buffer *packBuffer
void *pixels);
This will allow capture replay tool to use its own PixelPackState
to read pixels from framebuffer without having to set the global states
Bug: angleproject:4787
Change-Id: Idc64179d8e8f6b5163ef0747f239cd5172a2491b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267417
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b067db75
|
2020-06-25T23:47:09
|
|
Vulkan: Fix copySubImageImplWithDraw() for pre-rotation
This involves cases of copying from a rotated default framebuffer.
Various adjustments are needed for where the source is and its
relationship to gl_FragCoord in the custom ImageCopy fragment
shaders. Various tests are affected, including the following:
Test: angle_deqp_gles2_tests --gtest_filter=dEQP.GLES2/functional_texture_specification_basic_copy*teximage2d_*
Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_texture_specification_basic_copy*teximage2d_*
Bug: b/158245571
Bug: b/157933235
Change-Id: Id9ec56d849cd2268954dd82623a7632a10fb8e8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2248204
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
6b49449d
|
2020-06-25T12:25:33
|
|
Vulkan: Fix mipmap generation and level redefinition
When generating mipmaps, the non-base levels are redefined to be
compatible. mRedefinedLevels was not updated to take this into account,
resulting in invalid copies to the image.
Additionally, noted a few spots where ImageDesc is used to respecify the
image, but those are not up-to-date when the backend functions are
called. Changed those to directly get the necessary information from
the allocated image.
Bug: chromium:1094644
Bug: chromium:1094599
Change-Id: I2afc9e5a53f24ef56836c5d7eec2e3e11df0ef61
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267423
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
77c062aa
|
2020-06-24T01:34:28
|
|
Vulkan: Remove emulated clears before mipmap generation
If the image is recreated for mipmap generation, and if the format used
is emulated, clears are automatically staged for all levels of the
image. Since non-base levels will be completely rendered to (using
blit, so not through the staging buffer), there is no point in
performing these clears for non-base levels. This change drops those
clears.
Note that another change will drop the clear for base level if detecting
that a future update will supersede it, for example because the base
level is being copied from the old image.
Bug: angleproject:4551
Change-Id: If2f10cf67e24b44243b29d22bfcf1cb933895cd7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2262575
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5046324e
|
2020-06-26T14:16:56
|
|
Skip MultithreadingTest.MultiCreateContext on Ozone
On Linux this test is supported with GLX but not EGL, so Ozone (which
uses EGL) fails. Update the test suppression to avoid Linux Ozone.
TBR=geofflang@chromium.org
Bug: angleproject:4725
Change-Id: I9e85b51a01ab5b25c6cbbdbcdbbfb4b21b7a6152
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270021
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
769b5eac
|
2020-06-26T14:05:28
|
|
Suppress dEQP GLES3 attribute aliasing on Vulkan
Newly added spirv-val validation is triggered by these test cases.
Suppress failing tests to let the roll go through and investigate later.
TBR=jmadill@chromium.org
Bug: angleproject:4790
Change-Id: I3cbb2fb13889e83caea9ff69272b615cec47041f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270019
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
c81da1c8
|
2020-06-19T22:05:38
|
|
Vulkan: Avoid double-copy when generating mipmap
If the image needs to be redefined with mips, level 0 was copied to a
buffer which was then copied to the new image. This change instead
stages the old image directly for copy to the new image.
Bug: angleproject:4551
Change-Id: I7625f140ddadde0a2b439c5e91c519ad49ae2fd7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2257264
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6ee18c2d
|
2020-06-17T12:54:52
|
|
Vulkan: Remove debug symbols from internal shaders
Shaves ~47KB on binary size.
Bug: angleproject:2022
Change-Id: Ifc861c4308a806d17f499bf2126009a59125b9f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2249566
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
69a78e6d
|
2020-06-22T13:52:54
|
|
CGL: Add basic multithreading support
Adds first step to allowing multithreaded contexts: letting multiple
threads use ANGLE as long as only one thread has a current context at
a time.
Bug: angleproject:4724
Bug: angleproject:4725
Bug: chromium:1087084
Change-Id: Ia6ca48c5fa838b93e49fc9ea259d626029439ca3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2257273
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4eb2f6dc
|
2020-06-11T11:30:14
|
|
Add basic multithreading support to GLX
The first step for true multithreading support is allowing multiple
threads to use ANGLE as long as only one thread has a current context
at a time.
Added a test to MultithreadingTests to reproduce this behavior and
implemented it in GLX.
Bug: angleproject:4724
Bug: angleproject:4725
Bug: chromium:1087084
Change-Id: I908d3f02f34a681f1c9d0919dd17aee1a489173c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2241616
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5474304a
|
2020-06-24T11:29:58
|
|
Vulkan: Handle overflow in maxCombinedUniformComponents computation
Certain vendors support large number of uniform buffer components.
The calculation of maxCombinedUniformComponents overflows when
captured in a 32bit lvalue. Update it to a 64bit variable.
Bug: angleproject:4788
Tests: dEQP-GLES3.functional.state_query.integers64.max_combined*
Change-Id: I355910218c56347c98a5dfa7359b00be7b40871a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2264849
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ea706304
|
2020-06-24T16:35:10
|
|
Capture/Replay: Fixups for draw surface
Ran into these two problems while capturing gfxbench and
trying to replay in the sample.
Test: Capture and replay sample of gfxbench
Bug: b/159238311
Change-Id: I1c873cbf2e297b5299581a7ffc2b1273e2d4c18a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2265287
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
259221d5
|
2020-06-25T11:15:04
|
|
Suppress EGLFeatureControlTest on Linux AMD
TBR=geofflang@chromium.org
Bug: chromium:1097750
Change-Id: I69b6bc5ac920d839507f94097fa169d458275b38
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2264421
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
d6293293
|
2020-06-25T10:54:16
|
|
Suppress MipmapTest failure on NVIDIA Shield.
MipmapTestES3.GenerateMipmapPreservesOutOfRangeMips/ES3_OpenGLES started
failing on NVIDIA Shield right after it was introduced.
TBR=syoussefi@chromium.org
Bug: angleproject:4551
Bug: angleproject:4786
Change-Id: Id6b258a09d33783faf34f867523da31995cee4e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2264102
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
86ae16b6
|
2020-06-23T01:03:00
|
|
Vulkan: Fix CPU path copy of 2D array textures
Bug: angleproject:4744
Change-Id: I88d997c39a7d5f8fa9609c43c2cd192b237611e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2259202
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6ef0387d
|
2020-06-16T23:32:47
|
|
Vulkan: Fix mipmap generation discarding levels above max
Bug: angleproject:4551
Change-Id: I1f65e41049b8cc8065ff988bb708cb44acfdb98b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2257263
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
18d412cb
|
2020-06-18T11:57:53
|
|
Fix readBuffer validation
The argument to glReadBuffer should be validated against
GL_MAX_COLOR_ATTACHMENTS, not GL_MAX_DRAW_BUFFERS.
Bug: angleproject:4766
Change-Id: Ic184934bd01e68b936266eae69543ae66fd68ea3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2252978
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
054aeeed
|
2020-06-12T11:49:03
|
|
Vulkan: Batch vkUpdateDescriptorSets calls
Right now we are making this calls multiple times as we loop through
each shader stage. Qualcomm performance validation layer warns about
this. This change will aggregate the calls into one call per dispatch.
Bug: b/158787299
Change-Id: I48aa3752f708c26ffbca2fb7947cb8bbc0f76dcd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2243321
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
70e706f4
|
2020-06-22T18:14:44
|
|
Vulkan: Fix glBlitFramebuffer() for pre-rotation
This involves cases of blitting to/from a rotated default framebuffer,
potentially with scaling in one or both dimensions. Various
adjustments are needed at different times in the stack, including in
the custom BlitResolve fragment shaders. Various tests are affected,
including the following:
Test: angle_end2end_tests --gtest_filter=*EGLPreRotationLargeSurfaceTest.OrientedWindowWithBlitFramebuffer
Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_fbo_invalidate_\*
Bug: b/158337857
Change-Id: Ibb176e4215784e85c0f34e6e1c22ba662517fed2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2242359
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
89001914
|
2020-06-24T14:56:15
|
|
Suppress TextureTest failure on NVIDIA Shield.
Texture2DTestES3.IncompatibleMipsButNoMipmapFiltering/ES3_OpenGL started
failing on NVIDIA Shield right after it was introduced.
TBR=syoussefi@chromium.org
Bug: angleproject:4786
Change-Id: I9805e4d22a01395a8b0eb47243b07fbf2abd6f4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2264092
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
62a2f513
|
2020-06-23T13:16:19
|
|
Vulkan: Remove DispatchHelper
This class is no longer used.
Bug: angleproject:4029
Change-Id: I2758b286ae10856a5dff3decbb1cf9c58b44e354
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2260936
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cf11beed
|
2020-06-22T15:51:51
|
|
Add mip-related corner-case tests
Bug: angleproject:4780
Bug: angleproject:4781
Change-Id: Iaf8e1df576c3676249751413a646244da41a0eaf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2258476
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ce3d3413
|
2020-06-23T09:29:05
|
|
Update glslang_validator binary for Linux.
This binary was updated using update_glslang_binary.py.
Please see instructions in tools/glslang/README.md.
Bug: None
Change-Id: Ib1c3ae292a90ec6aabc79b9396ca2e35007edc16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2260573
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b47cc50a
|
2020-06-22T10:59:09
|
|
Enable validation layer custom extensions
With this change, Vulkan-ValidationLayers will allow the specified
extensions to pass through, instead of being nulled out:
* VK_STRUCTURE_TYPE_SAMPLER_FILTERING_PRECISION_GOOGLE
* VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
Bug: b/159027603
Bug: b/154620295
Change-Id: I0ace3acdac06a6c115834ef88b0c883fa2dd4744
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246304
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ea15439b
|
2020-06-23T00:17:52
|
|
Add mipmap generation perf test for emulated formats
Add a variation to mipmap generation perf test to measure performance
when given a format that requires emulation in the Vulkan backend, in
this case GL_RGB.
Bug: angleproject:4551
Change-Id: I4c533d13e35279fec9e007691fb64353735040d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2259199
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7db2dcec
|
2020-06-19T07:01:08
|
|
Roll Vulkan-ValidationLayers from 04f0b691eb4c to 74ed6cfd05c1 (20 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/04f0b691eb4c..74ed6cfd05c1
2020-06-18 tony@lunarg.com layers: Remove leading comma in lists
2020-06-18 mark@lunarg.com corechecks: Fix DrawIndexedIndirect VUID name
2020-06-18 jeremyk@lunarg.com tests: Add combined image sampler test
2020-06-18 jeremyk@lunarg.com layers: Add combined image sampler check
2020-06-18 jeremyk@lunarg.com layers: Add CMD_TYPE parameter to pipeline binding
2020-06-18 tony@lunarg.com layers: Add is_khr to acceleration_structure_state
2020-06-17 mark@lunarg.com tests: Don't run ManySmallIndexedDrawCall test on shieldTV
2020-06-17 s.fricke@samsung.com tests: Add export handleType VUIDs
2020-06-17 s.fricke@samsung.com layers: Add export handleType VUIDs
2020-06-17 s.fricke@samsung.com layers: Wrap non external AHB logic together
2020-06-17 s.fricke@samsung.com tests: Validate maxSamplerAllocationCount
2020-06-17 s.fricke@samsung.com layers: Validate maxSamplerAllocationCount
2020-06-17 s.fricke@samsung.com layers: Add function calls to error log messages
2020-06-17 mark@lunarg.com tests: Add filters for BP Android test failures
2020-06-17 mark@lunarg.com tests: Compile best practices tests for Android
2020-06-17 mark@lunarg.com tests: Replace setenv with private settings extension
2020-06-17 mark@lunarg.com layers: Add private settings extension and write support
2020-06-17 s.fricke@samsung.com layers: Remove invalid check for AHB format
2020-06-17 szilard.papp@arm.com tests: Adding test for triple buffering
2020-06-17 szilard.papp@arm.com practices: Adding checks for triple buffering
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
Please CC courtneygo@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
Bug: None
Tbr: courtneygo@google.com
Change-Id: I8c35e56e998560c53e8b54bfd26749d334172b30
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2254490
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cfbf769d
|
2020-06-22T10:14:02
|
|
Vulkan:Level/Layer hash fix-up
Simplify has function for level/layer of imageView and add
asserts to make sure that there won't be hash collisions.
Bug: angleproject:4651
Change-Id: I8ab86a4f3d7aa668ad2c08e61bd5fd57744fcd12
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2257265
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
113c5e29
|
2020-05-11T22:49:03
|
|
Metal: deferred render command encoder creation.
MTLRenderCommandEncoder creation will be deferred until a render pass
ends.
Commands will be stored into a back-end owned buffer during render pass.
At the end of the render pass, those commands will be re-encoded into an
actual MTLRenderCommandEncoder.
Benefits:
- Useful for future implementation of occlusion query buffer where it
could be allocated right before the end of a render pass to be big
enough to store all queries within the render pass.
- It's possible to change load option (deferred clear) as long as there
is no draw call issued yet. This is not implemented yet.
- Possibility of commands' re-ordering.
Bug: angleproject:2634
Change-Id: I1348716aa882c0540d9120bf175d8dac13fb58bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2193196
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a7587fcf
|
2020-06-22T14:59:30
|
|
Vulkan: Skip Texture2DArrayCopy.SnormFormats on Mali GPU.
Bug: angleproject:4744
Change-Id: I911b184daffde616d874af8cd698f1f796a9cfcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2257120
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
47ad6801
|
2020-06-22T14:27:28
|
|
Suppress TransformFeedbackTest failure on Mac AMD.
TBR=jmadill@chromium.org
Bug: angleproject:4775
Change-Id: I22e8c0c42e48c4c2d0527b39ec740497083656c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2256208
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
b772a955
|
2020-06-16T23:32:47
|
|
Vulkan: Make texture syncState aware of upcoming generateMipmap
By letting TextureVk::syncState know it's being called for
generateMipmap, it can make a better decision to initialize the image:
- Staged updates to mips that are going to be overwritten are dropped
- The image is created with full mipchain to avoid a redefine in the
following generateMipmap() call.
Bug: angleproject:4551
Change-Id: Ic70ee6c0a0b29c7bd62beaff612b2f2d5276defb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2249340
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
2919dc6e
|
2020-06-15T18:39:39
|
|
Add immutable samplers to descriptor set layout
To support YUV conversion we need to track the use of immutable samplers
in the descriptor set layout.
Bug: b/155487768
Change-Id: Ic7dc6a08551f5125c4a519b5cfada312f95ab914
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2225423
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
f56ba018
|
2020-06-19T11:30:59
|
|
Fix TSAN build error
This typo was hidden behind a THREAD_SANITIZER flag so it was uncaught
by the CQ. I verified this fix locally.
Bug: chromium:1097082
Change-Id: I4e31d1d1253cbcaf292c9a588bcd54fc298e85b6
TBR=jmadill@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2254558
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
34ca1ac7
|
2020-06-16T12:05:12
|
|
Vulkan: Fix FramebufferVk cache
Migrate Serial from Image to ImageView.
Imageviews are what are utimately used in FramebufferVk, so move
the Serials into the ImageViewHelper class. Since that class also
knows the level/layer of the imageView, we can revert to using a
single Serial per ImageView instead of the AttachmentSerial that
included the layer and level.
ImageViewHelper caches Serials per layer/level combo.
Bug: angleproject:4651
Change-Id: I3741d7d03523eada84295cb712c1cc1e6e3c3867
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2248203
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fe902f4b
|
2020-06-19T14:28:36
|
|
Test Runner: Stub histogram writer.
The Android tests require a valid output for the perf test
results. The smallest valid output is an empty array.
Bug: angleproject:3162
Change-Id: I1bf7602b02358d634347d587b406c0c2d7c838a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2254088
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
b11af52f
|
2020-06-19T14:39:29
|
|
Suppress failing XFB tests on Intel/Win/Vulkan.
Bug: angleproject:4533
Bug: angleproject:4767
Change-Id: I34973d4160df993f2b1ed4d97d5d9f3871ecb9f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2254090
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9dee8e3f
|
2020-06-15T10:59:18
|
|
Automate testing of capture_replay
automation script will:
1. compile all tests in angle_end2end with framecapture enabled
2. run each test with frame capture
3. compile CaptureReplayTest with cpp trace files
4. Run CaptureReplayTest
Test: run_tests_with_framecapture.py
Bug: angleproject:4749
Change-Id: Ieb21c6137653632d73beedea48712e46fc15a0f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246321
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
|
|
f16e94cd
|
2020-06-17T10:43:19
|
|
Prefer retrieval of TLS values through ASM code on Android
On the Android platform prefer using the ASM code to retrieve
TLS context object even for single threaded apps. This helps
get rid of a branch in GetGlobalContext() and GetValidGlobalContext()
further improving the CPU perf of TLS operations.
Bug: angleproject:4717
Change-Id: I58d3d3b7061d613b24f945c07bed497c7c4be25c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2250318
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
c028fc73
|
2020-06-19T09:06:03
|
|
Tests: Update traces to include draw surface width/height
The traces now contain the original resolution they ran with,
so we can set that based on testID.
This fixes correctness problems on Android, where only a fraction
of the screen could be seen during replay.
Bug: b/159238311
Test: angle_perftests --gtest_filter="*Trace*"
Change-Id: I47b92ee31681998260bad059cde0856a25ae0fc6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2250863
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e474cc9e
|
2020-06-18T16:03:30
|
|
Download restricted trace data
To ensure that things are built we need to update the modification time
on the files we download. This adds a script to download the requested
files and then touch everything that was downloaded in the traces
folders.
Bug: chromium:1096577
Change-Id: Idce6abb6100e7c662429a9db71b1a44a78dd88a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2252544
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|