|
ce29916b
|
2020-06-12T14:40:22
|
|
Remove mProgramState from ProgramExecutable::isCompute()
ProgramExecutable::isCompute() is being updated to no longer use
mProgramState or mProgramPipelineState, as part of the effort to remove
those members from ProgramExecutable. Functionally, things are the same
for PPOs, but Programs are being updated to use the boolean
ProgramExecutable::mIsCompute rather than checking the linked shader
stages to determine draw vs compute.
Slightly unrelated, but this CL also removes the unused function
ProgramPipeline::hasImages() which was missed in one of the earlier CLs
in this relation chain.
Bug: angleproject:4520
Test: Build/CQ
Change-Id: Ief28021310d6d0b1be5b7608a59deb87b0cf591d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2243326
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a28efb2f
|
2020-06-12T13:14:48
|
|
Remove mProgramState from ProgramExecutable::updateActiveImages()
Use of the member variable mProgramState is being removed to reduce the
circular coupling of ProgramExecutable and ProgramState.
Bug: angleproject:4520
Test: Build/CQ
Change-Id: I31d7e607fb06a374a0b0e1d35eb2a092614badf5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2243323
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
bc8199fa
|
2020-06-15T10:00:01
|
|
Vulkan: Ensure tiling mode compatibility while deciding copy path
When decided whether to use transfer or the draw path to perform
an image to image copy make sure to account for compatibility in
tiling modes.
Bug: angleproject:4743
Change-Id: I757aab0ac8628f08092dc2dfc39f06d112db5089
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246527
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
959037e0
|
2020-05-25T15:40:38
|
|
Vulkan: Preserve RPs on XFB changes when possible.
Instead of unconditonally ending the RenderPass we keep a set of
active XFB buffers in the ContextVk. This lets us re-use RPs when
we don't write to the same buffer repeatedly.
Reduces the RenderPass count in our Manhattan capture from 29->23.
Bug: angleproject:4622
Change-Id: I28c2d4d3db1490e5d07be3c48d21fd2cc6ff85d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2196957
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d2d8282a
|
2020-06-14T04:50:22
|
|
Refactor 3D/2DArray copy texture tests
The test methods were duplicated between 3d and 2d array tests. This
change creates common methods that can be called by the two test sets.
Additionally:
- Input colors are symbolized as they are repeated multiple times.
- The color used for unmultiply-alpha test is slightly tweaked to avoid
generating exactly x.5 values with undefined rounding.
Bug: None
Change-Id: If0cf694017724a72976d3d5cb0f54f8c49a0502a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246319
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
7005248b
|
2020-06-11T16:00:23
|
|
Vulkan: Fix glCopyTextureCHROMIUM if source is swizzled
A no-swizzle view is added for this use-case.
Bug: angleproject:4004
Change-Id: Id654af9a4f520357c91bf2b06501c9e1ea169f11
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2241623
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1a455f4e
|
2020-06-12T15:49:46
|
|
Vulkan: Set external image's usage flags based on AHB usage flags
For vkImages that are backed by external memory we need to derive
the VkImageUsageFlags based on the usage flags of the AHB.
Bug: angleproject:4739
Change-Id: I92bee943c66f7eadd9b63bb9bf1b59ffe5bc5a37
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2243765
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
e6124500
|
2020-06-02T12:02:55
|
|
Fix baseVertex and baseInstance with streaming attributes
baseInstance: Fixed by adding the intial offset to each copy for
streaming attributes
baseVertex: make sure mShaderConstants.onFirstVertexChange takes
in correct firstVertex value for dynamic attribs (where firstVertex
passed to StateManager11::updateState already include baseVertex)
Bug: chromium:1078330, angleproject:3402
Change-Id: I289c4e3733fdf6f78af8c3adee84112c05a5abce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227022
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
ec010006
|
2020-06-15T16:36:05
|
|
Revert "Remove redundant BlendStateArray tracking"
This reverts commit c746ac65e9d64aa74065ee30d7e7e810088c429c.
Reason for revert: Possible performance regression
BUG=chromium:1085996
Original change's description:
> Remove redundant BlendStateArray tracking
>
> Keep legacy BlendState for now.
>
> Bug: angleproject:4394
> Change-Id: Icba2b2f3a071d0f838a5480ff94869d35b776d94
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2169093
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
TBR=geofflang@chromium.org,kbr@chromium.org,jonahr@google.com,jmadill@chromium.org,lexa.knyazev@gmail.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:4394
Change-Id: Id05b382e951a7256805cffe696325b6b6d940e96
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246719
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
59656899
|
2020-06-15T12:48:23
|
|
Don't expose pixmap support from DisplayEGL.
BUG=angleproject:4560
BUG=chromium:1094634
Change-Id: Iebab16207eb21175b6d2f1236502bb8a26c43d90
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246322
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
20dbfdd9
|
2020-06-15T11:29:05
|
|
Vulkan: Addition of ImageRespecificationTest
There is a bug in the way the Vulkan backend handles
image respecification. Add 2 tests that expose this bug -
1. When texture format is swizzled it needs to destroy
only the read image views
2. When texture is respecified using external images the
FramebufferVk cache has a bug where it doesn't invalidate
the object with the orphaned attachment
Bug: angleproject:4651
Test: angle_end2end_tests.exe --gtest_filter=ImageRespecificationTest*
Change-Id: Id564a700ea44eb4f804694613f597320ea811c07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246532
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
46594c96
|
2020-06-11T15:20:10
|
|
Fill in missing GL methods for TextureTest
Bug: angleproject:4732
Change-Id: Ic475e29b6ca641029243712115d6a578a48c85f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2241624
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
09be185d
|
2020-06-05T13:30:18
|
|
Fill in missing GL methods and fix crashes for MultiviewDrawTest
Implements the capture of the following methods
1.glDrawArraysIndirect
2.glDrawElementsIndirect
3.glGetQueryObjectuivEXT
Fix glVertexAttribPointer replay compilation error
Bug: angleproject:4692
Bug: angleproject:4693
Change-Id: Id8b10354bad6b90beeb93837dcdb602ba8292659
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233398
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
98d0f30c
|
2020-06-10T22:04:03
|
|
Add to names map even if it's a prefixed name
Previously, we skipped adding to the names map if it was a prefixed
name. This prevents the mapping of glsl es to glsl names from being
accessible by an outside client.
Bug: b/158533223
Change-Id: Ib1d1e229ceb6d836df8dd0c30ea848b081a40cad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2240637
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Lingfeng Yang <lfy@google.com>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
af727792
|
2020-06-10T21:55:43
|
|
Improve EGL_ANGLE_power_preference on dual-GPU MacBook Pros.
Add the ability to release and reacquire the high-power GPU, and to
respond to changes in the active GPU. In Chromium, the GPU process can
not access the WindowServer. An external process must inform ANGLE
that the active GPU has changed, and that ANGLE should switch its
internal context to the new GPU.
Incorporates a couple of functions from WebKit, used with permission,
to effect this GPU switch.
A follow-on change in Chromium which uses these new APIs will make the
existing dual-GPU tests pass with ANGLE and the passthrough command
decoder.
Carry forward Chromium's workaround of disabling GPU switching on
older MacBook Pros to ensure stability.
Document the process of adding new EGL extensions to ANGLE.
Bug: chromium:1091824
Change-Id: I499739156e851b493555d4d6e4aef87d8b97fa31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2240638
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0bd0a913
|
2020-06-12T15:24:55
|
|
Skip FramebufferTest_ES3. TextureAttachmentMipLevelsReadBack on Mac ASAN.
Reporting out-of-range accesses in the OpenGL driver.
Bug: angleproject:4737
Tbr: syoussefi@chromium.org
Change-Id: Ib2598ba569c395ec39687fd1395149be5110f37f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2243757
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
c5014259
|
2020-06-11T23:30:47
|
|
Move ProgramState::mImageBindings to ProgramExecutable
The member ProgramState::mImageBindings is being moved to
ProgramExecutable to allow ProgramExecutable::getImageBindings() to
answer the query without relying on the Program[Pipeline]State.
Bug: angleproject:4520
Test: Build/CQ
Change-Id: Ia4934c8e57b5ba49b0a399dcad7c1b324c43385d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2241750
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
4e6f6545
|
2020-04-16T16:31:24
|
|
GLX: Support X11 pixmaps
Add support for creating EGL pixmaps from X11 pixmaps using GLX.
Pixmaps are needed for various external APIs such as VAAPI.
Add support for EGL_NOK_texture_from_pixmap to allow binding
pixmaps to textures.
BUG=angleproject:4560
Change-Id: I4a6d3ad7e87151ff5317bbdaaf093ac1b46daf5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2153805
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0eae0d6c
|
2020-06-11T08:53:39
|
|
Vulkan: Set external image's tiling mode based on AHB usage flags
For external images which can be accessed by CPU,
the tiling mode should be linear. So, query the usage
of the Android Hardware Buffer and derive the tiling
mode based on AHB usage flags.
Bug: angleproject:4735
Change-Id: I1b91c6800d414d73091032e40d8e4f1e8f6c101b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2241780
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c117e360
|
2020-06-05T15:48:36
|
|
Move ProgramState::mSamplerBindings to ProgramExecutable
The member ProgramState::mSamplerBindings is being moved to
ProgramExecutable to allow ProgramExecutable::getSamplerBindings() to
answer the query without relying on the Program[Pipeline]State.
Bug: angleproject:4520
Test: Build/CQ
Change-Id: I0daa997424d6e2aa5172e0731da221db72063435
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233363
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
11e26fa0
|
2020-06-11T13:32:10
|
|
Allow running Samples against native GL.
Useful for perf testing/comparison.
Bug: angleproject:4729
Change-Id: Ic46424570dcef0a30d506962f546910ba7440595
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2241620
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
12ed3b6e
|
2020-06-11T14:16:25
|
|
Vulkan: Create a pre-rotation BlitFramebuffer test
This test creates a predictable 256x256 pattern in an FBO (i.e. x-axis
is red and y-axis is green), and then uses glBlitFramebuffer() to blit
all or different halves of that FBO to the default framebuffer
(i.e. the Vulkan swapchain). When run on a rotated Android device,
the predictable pattern helps to determine if/how anything is wrong.
Bug: b/158337857
Change-Id: I858964fcb34b8ee5fbdbeade0e1dacaafaea7fa3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2236994
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
b55f0f78
|
2020-06-02T18:01:24
|
|
Compress Program binaries saved in blob cache
The Android blob cache has a limit of 2MB, so ANGLE should compress the
Program binaries that are saved into it to maximize its effectiveness.
ANGLE will gzip the program binaries before being stored in the blob
cache and then uncompress them when retrieved. Using gzip, the binaries
are compressed to ~25% of their size when running the T-Rex benchmark.
Some examples (in bytes):
Uncompressed: 20193, Compressed: 4455
Uncompressed: 8767, Compressed: 2369
Uncompressed: 11144, Compressed: 2927
This doesn't appear to affect the T-Rex benchmark since all of the
programs are loaded/decompressed as part of the benchmark
initialization, and the programs are small enough to all fit in the
blob cache without compression.
Bug: b/155184635
Test: T-Rex, CQ
Change-Id: Ie6a101c32ab5fd49baae1cb7aecdd26a934e15af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227529
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
ff2ebce4
|
2020-06-10T22:46:17
|
|
Vulkan: allow texture copies from one mip to another
As a first implementation, this makes the copy go through the staging
buffer. Once anglebug.com/4719 is implemented, this can be optimized to
perform the copy directly.
Bug: angleproject:2914
Bug: angleproject:4274
Change-Id: I2c9863381f54c3467ca939d049336960c21f60b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2240671
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ac44f8c5
|
2020-06-05T23:30:53
|
|
Vulkan: Apply SPIR-V optimization to internal shaders
Shaves about 40KB from binary size.
Bug: angleproject:2022
Bug: angleproject:3432
Change-Id: I008c18e0040b1bafe022087113681e2ace6eb7b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1616963
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
15cff312
|
2020-06-10T22:44:22
|
|
Move lod-sampling shaders to shader utils
Will be reused in a test in a following change.
Bug: angleproject:2914
Change-Id: I4e255d5c762f2a6c064b06c558519d82ec6ead5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2239085
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
000a79f1
|
2020-06-04T23:06:58
|
|
Vulkan: Better handling of texture level redefinition
If a texture level is being redefined, there are two scenarios to
consider:
1. The level is outside the base/max level, for which the image was
allocated.
2. The level is within the base/max level, but it's being redefined to a
different size or format.
In the former case, we simply don't need to release the image.
The latter case itself has two possibilities:
2.1. There is only one level in the image.
2.2. There are multiple levels in the image.
In case 2.1, the whole image is being redefined (as it has only a single
level), so the image can (and should) be released. Prior to this
change, this behavior was adopted for all cases. This change retains
this behavior for this case only.
In case 2.2, the texture is becoming incomplete. However, the image
shouldn't yet be released because another one of its mips may be bound
to a framebuffer. In such cases as glCopyTexImage2D(), that framebuffer
may in fact be the source of the copy operation (which would be
destroyed if the image is released). If the base/max level of the
texture doesn't change, redefining the level and making the texture
incomplete doesn't make the framebuffer incomplete; this is achieved at
the same time by not releasing the image.
This change ensures that updates to the redefined level are staged in
cases 1 and 2.2.
Bug: angleproject:4274
Change-Id: I3fac3203c2fbbc16e8e4a35b1334b767120b2dcf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2230853
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
aad69df9
|
2020-06-11T13:27:52
|
|
Run TracePerfTests in WGL configs.
Uses the "native" naming pattern.
Bug: angleproject:4728
Change-Id: I28cafcdb8c5c1fb48bba51adeca641e88bfe3446
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2241619
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c39d25ae
|
2020-06-01T12:42:33
|
|
Update State to check mExecutable
A user may be using Program Pipelines, rather than monolithic Programs,
so State should check if mExecutable is valid, rather than mProgram,
since that indicates the presence of either a PPO or a Program.
Exercising these paths requires additional tests:
SimpleStateChangeTestComputeES31PPO::DeleteImageTextureInUse()
Texture2DTestES31PPO::TexStorage()
Texture2DTestES31PPO::SingleTextureMultipleSamplers()
These new tests exposed bugs in the PPO implementation where updates to
the active Program's ProgramExecutable were not being propagated to the
Executables of the PPO's containing that Program. In these particular
cases, updates to the active samplers/images/textures were not being
copied to the PPO's Executable.
Bug: angleproject:3570
Test: end2end tests listed above
Change-Id: I297cac2d0367f180dd7fa01a1ee7ba53996867c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2225417
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
707868ae
|
2020-06-04T19:46:08
|
|
Implement a WorkerPool delegate to execute background task (1/3)
This CL is adding a WorkerPool delegate to allow an embedder
to post task on a custom thread pool. The target for this code
is Chromium.
The plan is to post tasks into the Chromium ThreadPool.
Related CLs:
1) [this]
2) https://chromium-review.googlesource.com/c/chromium/src/+/2231864
3) https://chromium-review.googlesource.com/c/angle/angle/+/2231710
Bug: chromium:1091259
Change-Id: Ib990b06d4672b6f859d04b97ac4311a7a80ef7a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231708
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d87927c1
|
2020-06-10T17:40:28
|
|
Vulkan: Initialize stencil ops with DontCare for color attachments
Even though they shouldn't matter for color attachment, but Qualcomm's
performance validation layer is producing tons of this warning message.
This basically always set to DontCare even for color attachment.
Bug: b/158708100
Change-Id: Iaba39e099c9cc4716548f337ded74fa5f29bb654
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2240498
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
555e11e3
|
2020-06-04T13:02:31
|
|
Add android:exported to AndroidManifest.xml
Any app that targets S+ will need to have an explicit android:exported
defined if intent filters are present for an activity/service/receiver.
Apps failing this requirement will fail to install.
While ANGLE doesn't explicitly target S, to prevent hitting this in the
future we should add android:exported to its AndroidManifest.xml since
we use several receiver intent-filters.
Bug: b/158221251
Test: CQ
Change-Id: I565c6ff5aaf25380d7e6ad2418612ab10f4c185f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231249
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
da980b40
|
2020-06-10T23:19:40
|
|
Vulkan: Reduce ConvertVertex.comp variations
Handling RGB10A2 and A2BGR10 formats are made through dynamic flags.
One or two `if` checks (based on format) is not worth doubling the
number of shaders.
Shaves about 50KB from binary size.
Bug: angleproject:2022
Bug: chromium:1084580
Change-Id: Ia603a935b66d002dbacdee9342950ceed4042f86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2240672
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b50541b2
|
2020-01-14T09:07:03
|
|
Vulkan:Adding key perf trace markers
Adding trace markers in performance-critical functions.
Primary areas of interest are command buffer processing
and cleanup and memory mapping.
Bug: b/156403378
Change-Id: Icba53024771711d79f7eee7085bf4dae0e033e63
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2002689
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
d8074714
|
2020-06-08T13:41:40
|
|
Vulkan: add autogen dependency to shader variations files
Bug: angleproject:3432
Change-Id: If16e5264d539c6a3944a60f4d28f4e6aa5420fe3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2235353
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
db3ef872
|
2020-05-28T20:04:06
|
|
Move ProgramState::mDefaultUniformRange to ProgramExecutable
The member ProgramState::mDefaultUniformRange is being moved to
ProgramExecutable to allow ProgramExecutable::hasDefaultUniforms() to
answer the query without relying on the Program[Pipeline]State.
Bug: angleproject:4520
Test: Build/CQ
Change-Id: Ic0d78b7193a28962b7ab6480964f8920a23bb7be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2220776
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
53c3ea8f
|
2020-06-05T17:21:44
|
|
Perf: Add a trace of Angry Birds 2
Test: angle_perftests --gtest_filter="*Trace*"
Bug: b/157672184
Change-Id: If4885398aff73ce774987fbeefb63d140f7fab1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233367
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a6c8e1c0
|
2020-06-04T17:01:22
|
|
Capture/Replay: Fix default uniform matrix capture
We were only reading back a single location, rather than multiple
locations required for arrayed types.
Test: Angry Birds 2 MEC
Bug: b/157672184
Change-Id: I8029dc5ece3b9dbff7c3c84c188996e622362767
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231804
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3d2de99e
|
2020-06-09T01:14:42
|
|
Vulkan: Fix RTs attached to textures with non-0 mip
Cleared confusion between GL level indices and VK level indices by
adding the corresponding suffix to variables and function arguments. A
handful of places that sent one index and expected the other are fixed.
The conversion between the two is given by:
levelIndexGL = levelIndexVk + baseLevel;
Bug: angleproject:4695
Change-Id: I84ecbaf867d00a40fb39b6db7ad79658016f4d9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2235362
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d80d9044
|
2020-06-08T14:56:14
|
|
Reland "Add trace event to angle Program compilation API"
This reverts commit be04c04729df41e359ebce625690af4368f12142.
Reason for revert: The appropriate fix for ASAN is landed here:
https://chromium-review.googlesource.com/
c/angle/angle/+/2233410
Original change's description:
> Revert "Add trace event to angle Program compilation API"
>
> This reverts commit 7685a79eb4a38c212b67d4a830958d69b409bc4c.
>
> Reason for revert: Causing TSAN failures, see issue.
>
> Bug: chromium:1091723
>
> Original change's description:
> > Add trace event to angle Program compilation API
> >
> > Bug: chromium:1064662
> > Change-Id: I2ee48718ff3946ab9307ba27177a02858bf436b0
> > Reviewed-on: https://chromium-review.googlesource.com/
c/angle/angle/+/2230789
> > Commit-Queue: Etienne Bergeron <etienneb@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
>
> TBR=etienneb@chromium.org,jmadill@chromium.org
>
> Change-Id: I92148677ac53c1ff7a9bc880e0a0834a03fc92ea
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1064662
> Reviewed-on: https://chromium-review.googlesource.com/
c/angle/angle/+/2231870
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=etienneb@chromium.org,jmadill@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:1091723, chromium:1064662
Change-Id: I6e2ccfcb29fcddc5e0bffee43d3a737c8a6a75ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2235915
Commit-Queue: Etienne Bergeron <etienneb@chromium.org>
Reviewed-by: Etienne Bergeron <etienneb@chromium.org>
|
|
f8fd9cfb
|
2020-06-09T10:52:57
|
|
Fix racy GetCategory with trace_event
See racy trace_event:
http://crbug.com/1091723
The trace event macros were racy because of this code:
INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(...)
The macro is using a static variable which is not thread-safe.
The design of tracing was racy (by design) and rely on
the fact that addTraceEvent(...) is threadsafe internally via
TraceLog::lock_
This CL is replacing the static variable with a scope (C++11)
pattern. The static variable is guaranted (C++) to be atomic
and it is implemented efficiently.
see: ยง6.7 [stmt.dcl] p4
" If control enters the declaration concurrently while the
variable is being initialized, the concurrent execution
shall wait for completion of the initialization. "
Bug to track follow-up migration:
http://anglebug.com/4702
Bug: chromium:1091259, chromium:1091723
Change-Id: If67b501e6e826ccf603eb2349c3f0aa6272c9a52
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233410
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
22c95964
|
2020-06-04T17:00:52
|
|
Capture/Replay: Support buffer map/unmap state during MEC
Angry Birds 2 is the first app we've targeted that maps buffers
across frame boundaries. This exposed some gaps and assumptions
we had in the code, and required additional support for MEC.
To support this, we track each buffer's starting map/unmap state
and how it changes throughout the trace. Then during Reset, we emit
calls to return them to the correct state:
void ResetContext3Replay()
{
...
glBindBuffer(GL_ARRAY_BUFFER, gBufferMap[546]);
glUnmapBuffer(GL_ARRAY_BUFFER);
glBindBuffer(GL_ARRAY_BUFFER, gBufferMap[550]);
gMappedBufferData[gBufferMap[550]] =
glMapBufferRange(GL_ARRAY_BUFFER, 0, 8192, GL_MAP_WRITE_BIT);
...
}
Test: MEC of Angry Birds 2
Bug: angleproject:4599
Bug: b/157672184
Change-Id: I5c73ca4d4eba7f1ecea01467ae887bae7f2d27fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231803
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5abc0c56
|
2020-06-09T14:32:28
|
|
Fix failures that alpha channel is not correct
Previously, the alpha channel was not set which resulted the intended
swapchain buffer format is B8G8R8X8_UNORM. It means that the format
supports 8 bits for each color channel and 8 bits unused. However, in
our test case, we expect to compare the alpha channel. So we should
set alpha channel explicitly.
Bug: angleproject:4575
Bug: angleproject:4576
Change-Id: Ic26ee81a6a34dc44d0ae32e3dc463e9afa16e05c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2237189
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8a7b3d61
|
2020-06-08T23:23:56
|
|
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: I1aed97de25baa3cb47ae81b63a70339a962d957d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2235361
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dbb18b53
|
2020-06-05T15:23:17
|
|
Add texture base-level related tests
Bug: angleproject:4695
Bug: angleproject:4696
Bug: angleproject:4698
Bug: angleproject:4699
Bug: angleproject:4701
Change-Id: Ia49e2100851c029b1ae05bc1398528170d71c3cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233402
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
5d7014e4
|
2020-06-05T15:38:47
|
|
Unmap buffers targeted by glBufferData
When glBufferData is called on a mapped buffer, per the OpenGL ES 3.0
spec it is implicitly unmapped. Later calls to glMapBufferRange should
not throw an error.
This CL unmaps the buffer in BufferData if it is already mapped.
Also adds a new test that verfies the behavior.
Test: angle_end2end_tests --gtest_filter=BufferDataTestES3.BufferDataUnmap/*
Test: Angry Birds 2 MEC
Bug: angleproject:4599
Bug: b/157672184
Change-Id: I1a1e458aa5f50da4dfde9f6847f71cd5b6f6c08a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233365
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
|
|
15328f69
|
2020-06-04T16:59:22
|
|
Capture/Replay: Don't assert when reading combined depth/stencil
We can't actually read them back at the moment, so this needs a proper
fix. In the meantime, the apps we are tracking don't need this value at
the beginning of the trace.
Test: Angry Birds 2 MEC
Bug: angleproject:3662
Bug: angleproject:4688
Bug: b/157672184
Change-Id: I67190092bcce7080edc69714f1ca1194c37d54fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231802
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
4360c6b9
|
2020-06-04T16:58:16
|
|
Perf: Ensure last frame is replayed for traces
This is now required for upcoming buffer mapping resets.
Test: Angry Birds 2 MEC
Bug: b/157672184
Change-Id: I6358acf42ca9b92bfff621f12f207be7c3655e52
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231801
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
66ec30a7
|
2020-06-03T10:45:34
|
|
Fix ExceedMaxVertexAtomicCounters test crash with FrameCapture
The AtomicCounterBufferTest31.ExceedMaxVertexAtomicCounters crash is
because when program linking fails, as it should for this test, the
code tries to get the info log by calling glGetProgramInfoLog. The
FrameCapture capturing this call currently tries to make sure that the
program is linked. However, glGetProgramInfoLog does not require the
program to be linked to execute.
Bug: angleproject:4679
Change-Id: Ibbb87d6437152e9eb225e411100b1729e56e4c4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227857
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
|
|
97bb5a64
|
2020-06-04T12:30:52
|
|
Implement EGL_CreatePlatformWindowSurface()
The function EGL_CreatePlatformWindowSurface() was introduced by EGL
1.5 and is required by dEQP starting with 3.2.6. ANGLE has worked
around EGL_CreatePlatformWindowSurface() being unimplemented by
submitting conformance on 3.2.5, but Android's internal master uses
ToT dEQP so we need to implement this to pass CTS and enable SWANGLE
on CuttleFish.
Bug: b/157670307
Test: Android CtsDeqpTestCases, CQ
Change-Id: Ib21929701c7881a7dc3a22196e48139a5c8e2ddf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231247
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
111a4d97
|
2020-06-05T16:56:45
|
|
Fix copy texture to sRGB in ANGLE/VK
Like the GL backend, use the CPU copy path rather than the draw path
when the target is sRGB.
Fixes the following WebGL tests:
conformance2/textures/canvas/tex-2d-srgb8_alpha8-rgba-unsigned_byte.html
conformance2/textures/canvas/tex-2d-srgb8-rgb-unsigned_byte.html
conformance2/textures/image_bitmap_from_canvas/tex-2d-srgb8_alpha8-rgba-unsigned_byte.html
conformance2/textures/image_bitmap_from_canvas/tex-2d-srgb8-rgb-unsigned_byte.html
Re-enable CopyTextureTestES3.ES3UnormFormats for Vulkan as they now pass
with this change.
Bug: b/157934810
Bug: angleproject:4092
Change-Id: I6b76e5f4345d204a084f5483e206c5bb4ff2f139
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233405
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
|
|
336e8915
|
2020-05-29T16:09:47
|
|
Workaround broken copyTexImage2D on iOS
Use BlitGL to reimplement copyTex[Sub]Image2D on iOS.
Bug: angleproject:4674
Change-Id: Ie3018d6d33da57797162922410f76557124df4b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2222718
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4038679a
|
2020-06-05T16:15:01
|
|
Vulkan: Don't invalidate index buffers on vertex change.
The vertex state should not affect index state changes. Split off
from a larger CL.
Bug: angleproject:4622
Change-Id: Ie7c3148a16b5da89b79d95e1de130a1ff0e6c634
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233404
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e9a0cb87
|
2020-05-18T17:45:52
|
|
Fix assertion when running tests without suffix on Windows
On Windows, we may omit suffix ".exe" when running an executable.
However, this will trigger an assertion failure in current code and this
CL is to fix this issue.
Bug: angleproject:4640
Change-Id: I7edfdc0b4a7c590c874817530b19a812018b9288
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2206425
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d80adf4e
|
2020-06-03T11:50:04
|
|
Vulkan: Remove non-triggering validation error suppression
Bug: angleproject:4510
Change-Id: I04f989943ec2abe17cfe90f32a276e20c5a42cea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227811
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6fad384b
|
2020-06-04T15:36:17
|
|
Vulkan: Add test for RT created from mip-incomplete texture
The Vulkan backend creates an image with 3 mips, while it should only
create one with a single mip.
Bug: angleproject:4686
Change-Id: Ide7f9612c9440bfb9d9650637f6a1ad42be61208
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2230797
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6b946a7b
|
2020-06-05T16:04:34
|
|
Vulkan: Zero-init ContextVk dirty bit handlers.
This allows for a better debugging experience and can solve some
potential invalid ASSERTs due to some dirty bit handlers not being
initialized.
Bug: angleproject:4622
Change-Id: Ib34e35dea6c6c7de250ae6600576f0324c150ae6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233403
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
60803838
|
2020-05-20T17:24:49
|
|
GL: Work around drivers that generate mipmaps in linear color space
Mac drivers generate mipmaps in linear color space. To work around
this, copy the sRGB texture to a linear texture, generate mipmaps
and then copy back.
TEST=conformance2/textures/misc/tex-srgb-mipmap.html
BUG=angleproject:4646
Change-Id: I8675d0ab004bcd2985f685d64cbb84deff5f1c86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211083
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9fa671d5
|
2020-06-05T14:19:18
|
|
Make GLES 1 tests use ANGLE EGL headers.
This will allow us to more easily support a different test target
topology for the standalone test harness that uses an intermediate
source_set. Also it's better in the long run to only have to worry
about one set of EGL headers.
Bug: angleproject:3162
Change-Id: I738dbb68df1abc0c0569748e18d6826914d90a52
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233399
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
925d1e7b
|
2020-06-05T14:37:03
|
|
Skip MultisampledBGRAToRGBA, MultisampledRGBAToBGRA tests on Vulkan
VVL report VUID-vkCmdResolveImage-srcImage-01386 in these two.
Bug: angleproject:4694
Change-Id: I4a4af598cfa77af18ccf6e322cde92749cb9ad70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233401
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
17b4a877
|
2020-05-26T17:02:48
|
|
Vulkan: Pass API version to VMA.
This apparently can save on memory usage in the allocator.
Reported by penghuang@chromium.org.
Bug: angleproject:4685
Change-Id: I6f29280e3fe16f3388c4f8412e0acb09d7f16e58
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216714
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a91dcb62
|
2020-06-05T09:46:56
|
|
Fix FramebufferVk::getScissoredRenderArea() for pre-rotation
This fixes cases where pre-rotation wasn't occuring for small scissors
used with glClear(). There are around 1000 tests that do this.
Test: angle_deqp_gles2_tests --gtest_filter=dEQP.GLES2/functional_fragment_ops_depth_stencil_*
Bug: angleproject:4431
Bug: b/157933235
Bug: b/157933198
Change-Id: I469d51975e3bc3a7bfc9521a3817c919e809f7dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2228211
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
77851053
|
2020-05-26T18:14:56
|
|
Reduce dependency on ProgramExecutable::mProgram[Pipeline]State
Remove the dependency on mProgramState/mProgramPipelineState for the
following functions in ProgramExecutable:
hasUniformBuffers()
hasStorageBuffers()
hasAtomicCounterBuffers()
hasTransformFeedbackOutput()
getTransformFeedbackBufferCount()
The data structures those function were querying were recently moved
into the ProgramExecutable, so the call stack was:
ProgramExecutable -> ProgramState -> ProgramExecutable
This change updates the functions to return the results immediately.
Remaining functions to be cleaned up in later CLs:
hasDefaultUniforms()
hasTextures()
hasImages()
Bug: angleproject:4520
Test: Build/CQ
Change-Id: Ieaa041ff128e389f322745d55f688d4b07a5a23d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216764
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
550bc069
|
2020-06-03T18:24:17
|
|
Fill in missing GL methods for MemorySizeTest
Implements captures of glGetRenderbufferParameteriv,
glGetBufferParameteriv, and glgetAttachedShader. Fix FrameCapture and
CaptureReplay sample so that it has single-frame capture and replay
capabilities.
Bug: angleproject:4681
Bug: angleproject:4682
Change-Id: I12c25a3857a88f2f40b3c3e8624da1379a950339
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2229069
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
|
|
be04c047
|
2020-06-05T15:15:26
|
|
Revert "Add trace event to angle Program compilation API"
This reverts commit 7685a79eb4a38c212b67d4a830958d69b409bc4c.
Reason for revert: Causing TSAN failures, see issue.
Bug: chromium:1091723
Original change's description:
> Add trace event to angle Program compilation API
>
> Bug: chromium:1064662
> Change-Id: I2ee48718ff3946ab9307ba27177a02858bf436b0
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2230789
> Commit-Queue: Etienne Bergeron <etienneb@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=etienneb@chromium.org,jmadill@chromium.org
Change-Id: I92148677ac53c1ff7a9bc880e0a0834a03fc92ea
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1064662
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231870
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ae9d1227
|
2020-06-04T16:41:40
|
|
Fix UtilsVk::clearFramebuffer() for pre-rotation
This fixes cases where pre-rotation wasn't occuring when glClear() was
implemented by a small shader. A specialized viewport was generated
(thus, not with ContextVk::updateViewport()) for the entire
framebuffer. However, the framebuffer width and height were not
swapped for 90/270-degree rotation cases, and so the wrong viewport.y
value was calculated.
Test: angle_deqp_gles2_tests --gtest_filter=dEQP.GLES2/functional_color_clear*
Bug: b/157933235
Bug: b/157933198
Change-Id: I1ac158c84ef812c8863dee01c6c8bfe9295b900e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231597
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
57f7b690
|
2020-06-05T00:45:01
|
|
Vulkan: Enable passing tests
Bug: angleproject:3950
Change-Id: I091d99951772479ef2fbdb2ac51e5bf52a263da7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231983
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
da958a59
|
2020-06-04T13:56:47
|
|
Vulkan: Fix clear of non-zero-base-level images
The staged resource updates adjusted their level to take base level into
account, but clear updates used a cached unadjusted value.
Bug: angleproject:3148
Change-Id: I9a49d5341083b2f870baa1ee6053e54baef35086
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2230786
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
7685a79e
|
2020-06-04T14:16:05
|
|
Add trace event to angle Program compilation API
Bug: chromium:1064662
Change-Id: I2ee48718ff3946ab9307ba27177a02858bf436b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2230789
Commit-Queue: Etienne Bergeron <etienneb@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0df92012
|
2020-06-03T17:08:43
|
|
Rename Platform.h to PlatformMethods.h.
"platform.h" is too common a name and causes headers to be
included incorrectly. Disambiguate the header using a more
specific name.
Solves a problem that came up with the GLES 1 tests and the
standalone test harness.
Bug: angleproject:3162
Change-Id: I88229a2c9407e0db57f5beee44daa11a4075f700
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2229065
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
0117ba26
|
2020-06-03T17:44:39
|
|
Re-enable ShouldClearOpaqueFdRGBA8 on Pixel2 Vulkan
Bug: angleproject:4630
Change-Id: Ib1e7ecd9bedf6841489f7fb5bba9cae8881aa33e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2229067
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3afad5b7
|
2020-05-26T16:45:44
|
|
Vulkan: Cleanup unused variable in submitFrame()
Bug: angleproject:2046
Change-Id: I9cc7c2cbb0bf9535885cc909a046d36691b8fcc8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2230385
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
989c790d
|
2020-06-03T14:32:43
|
|
Remove workaround for fixed compiler bug
Bug: chromium:951458
Change-Id: If55b10fb2db12fe37b9475d78266b7e6b92fcca7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227816
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fabecfa7
|
2020-06-03T14:29:07
|
|
Update and de-duplicate expectations file format comment
Bug: angleproject:4675
Change-Id: Ieff7a4eae22a6d802c1fca6010cb74627d6e5777
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227815
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8ba5cf99
|
2020-05-28T13:57:07
|
|
Add EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE
This CL adds a new attribute that helps to identify
lower platform angle should use. We identified
several different use cases that ANGLE must
comply with when choose a display implementation.
Please refer to the
Support Matrix for EGL_ANGLE_platform_angle table
Bug: chromium:1084458
Change-Id: I6ea3d5081012ddf450f1c641343d1ba1a673483b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210151
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Michael Spang <spang@chromium.org>
|
|
98865915
|
2020-06-02T14:56:24
|
|
No-op incomplete framebuffer invalidation.
It's always legal in GL to no-op framebuffer invalidation. When the
FBO is incomplete we can't pull RTs safely so no-oping incomplete
invalidate calls saves us from fuzzer bugs and crashes.
Bug: angleproject:3971
Change-Id: Ide550a22e6c17a28e5042165831dd684567d81fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227038
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
3ecaa283
|
2020-05-22T13:52:41
|
|
Fix validation of PVRTC compressed texture sizes.
The PVRTC format, as pointed out by Le Hoang Quyen and Geoff Lang,
uses 4x4 or 8x4 blocks, but due to sampling from adjacent blocks,
requires a minimum size of 2x2 blocks per the OpenGL extension:
https://www.khronos.org/registry/OpenGL/extensions/IMG/IMG_texture_compression_pvrtc.txt
. Thanks to Quyen and Geoff for pointing out the intricacies.
Add a helper function to formatutils.cpp which returns the minimum
number of blocks (width and height) for a given compressed texture
format, and incorporate this into the compressed texture size
computation.
This patch makes WebKit on ANGLE pass WebGL's PVRTC compressed texture
test on iOS hardware.
Bug: angleproject:4652
No-Presubmit: True
Change-Id: I1046a091321b7948d712d16686ee0cb8795b8c99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213676
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f2d4abb2
|
2020-05-25T16:10:07
|
|
Vulkan: Correct the viewport before intersecting it with the scissor.
Eliminate the potential for integer overflow when clippling a large
viewport rectangle by first limiting it to the Vulkan viewport size
limits.
BUG=chromium:1078378
Change-Id: I2648c6136d2d27d67a3fc5dae2de821279d70d81
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215308
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b131d25f
|
2020-06-03T10:53:39
|
|
Vulkan: Remove validation error suppressions for VVL bug
These warnings were generated due to a validation layer bug, which is
presumably fixed now.
Bug: angleproject:4572
Bug: angleproject:4577
Bug: angleproject:4578
Bug: angleproject:4579
Bug: angleproject:4580
Bug: angleproject:4583
Change-Id: I8799c4e33bc38f83e0fdd364cf6e7eb607c39890
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227810
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8f3aa154
|
2020-06-03T10:29:21
|
|
Vulkan: Remove validation error suppression for fixed issue
Bug: angleproject:3450
Change-Id: Ie88aedae6e4573b2c31e389f7d0ff5c8d1059647
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227856
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
11d7b952
|
2020-06-02T16:58:26
|
|
Vulkan: Pre-rotate dFdx() & dFdy() for Android
Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_shaders_derivate
Test: angle_end2end_tests --gtest_filter=*EGLPreRotationSurfaceTest.OrientedWindow
Bug: b/157476241
Change-Id: I7b60b7a33313ba91731755d289792bd0968515c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2222825
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6c158164
|
2020-05-28T15:19:51
|
|
Vulkan: Fix XFB invalid accesses in buffer OOM.
This uses the "null" buffer in the Renderer to bind an empty
buffer handle so ANGLE can maintain a consistent state.
Bug: chromium:1086532
Change-Id: I1912a1d1cb64433a285fcfced80a675619690a0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219140
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
3c4d7ab0
|
2020-06-01T17:14:28
|
|
Fix copy subtexture to GL_RGB9_E5 in ANGLE/VK
When copying via glTexSubImage2D to a non-renderable format, GL_RGB9_E5,
ANGLE's TextureVk::copySubTextureImpl will use the read-back and copy
method. This path was ignoring the source offset in the source area
computation.
Fixes the following WebGL tests:
conformance2/textures/canvas_sub_rectangle/tex-2d-rgb9_e5-rgb-float.html
conformance2/textures/canvas_sub_rectangle/tex-2d-rgb9_e5-rgb-half_float.html
Bug: b/157744725
Change-Id: I714f8d3b8f1490edab5e7578445e9623215ce229
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2225611
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
|
|
fcd3140a
|
2020-06-02T14:52:34
|
|
Roll third_party/VK-GL-CTS/src/ 60972ed7f..80dc8399b (67 commits)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS/+log/60972ed7fa8f..80dc8399b063
$ git log 60972ed7f..80dc8399b --date=short --no-merges --format='%ad %ae %s'
2018-03-16 capn Add texture specification test for GL_OES_texture_half_float.
2020-06-01 alexander.galazin Update KC CTS
2020-05-15 rgarcia Add SampleMask write tests
2020-05-29 ynovikov Fix Windows build
2019-03-08 lionel.g.landwerlin Add drm format modifiers tests
2020-05-21 piotr.byszewski Correct few pipeline_barrier tests
2020-05-22 slawomir.cygan Do not use 2D array d/s attachment created from 3D texture
2019-04-03 mika.vainola Update Android API levels and grant permissions
2020-05-18 basni Fix overflow in VK_EXT_subgroup_size_control tests.
2019-11-21 courtneygo Fix uninitialized index array
2020-02-24 jdrouan Add conformance tests for new buffer offset rules
2020-03-03 tomek.bury Improve Wayland protocol version selection.
2020-04-30 tarceri Fix broken layout binding tests
2020-05-06 gleese Remove non-compute variants of common function tests
2020-04-17 Kyle.Griffiths Allow RTZ rounding in spv_assembly*writes_two_buffers* tests
2020-05-04 alexander.galazin Update glslang
2020-05-24 alexander.galazin Force Popen to text mode
2020-05-07 alexander.galazin Ensure alphabetical order of xml attributes
2020-05-24 alexander.galazin Force Popen to text mode
2020-05-06 james.glanville Limit dimensionality of arrays-of-arrays in random SSBO tests
2020-05-07 alexander.galazin Fix Fedora 32 gcc/clang warnings
2020-05-07 alexander.galazin Fix Fedora 32 gcc/clang warnings
2019-11-18 mike.byrne Split spirv_assembly tests workload
2020-05-12 rgarcia Add --deqp-print-validation-errors cmd line option
2020-04-29 rgarcia Test using ViewportIndex from frag shaders only
2020-05-07 ari.suonpaa Test OpArrayLength with stride larger than element size
2020-05-08 bwatling Add an Amber test which uses textureOffset()
2020-05-09 ari.suonpaa Test negative value conversion to b10g11r11 float format.
2020-05-03 tarceri Fix some egl robustness tests
2020-04-28 aleksy.sokolowski Fix epsilon calculation for RGB10_A2 pixel format
2020-05-14 piotr.byszewski Fix warnings found by compiling with MS VC++ 2019
2020-05-13 piotr.byszewski Correct few tests from indirect_dispatch group
2020-05-12 piotr.byszewski Correct sparse_image_format_properties2 tests
2020-05-12 piotr.byszewski Clarify integer formats conversions in blit_image tests
2020-05-11 piotr.byszewski Correct external_memory_host tests
2020-05-11 piotr.byszewski Correct opatomic_storage_buffer_volatile tests
2020-05-15 alexander.galazin Update Vulkan headers
2020-05-13 alexander.galazin Whitelist Vulkan CTS 1.2.2.1
2020-05-07 slawomir.cygan Add missing barrier to HOST in memory_barrier test
2020-05-04 quic_mnetsch Fix wide line rasterization tests
2019-12-04 courtneygo GLES 3.1 negative framebuffer texture2D test fails
2019-12-17 courtneygo OpenGL ES: Use shader storage alignment
2019-07-31 courtneygo Remove illegal parameter use in fbo.completeness
2019-09-11 courtneygo Fix use of invalid HALF_FLOAT enum
2018-08-28 james.hauxwell Fix invalid combinations for texture/copy on ES2 driver
2019-08-28 timvp Use unsized internal format in KHR-GLES2.texture_3d.[copy_sub_image|framebuffer_texture].rgba8
2019-07-30 courtneygo Fix invalid parameter for GLES 2.0
2018-07-13 james.hauxwell Fix invalid combinations for texture/copy on ES2 driver
2019-12-20 courtneygo Migrate deRoundUp32 to deInt32.h
2020-04-22 alex.walters Non-strict line interpolation and rasterization
2020-05-01 zzyiwei Suppress -Werror=array-bounds for latest GCC
2020-03-13 rosen.zhelev Extend Android Hardware Buffer external memory format tests
2020-05-07 alexander.galazin Ensure alphabetical order of xml attributes
2020-05-07 alexander.galazin Ensure alphabetical order of xml attributes
2020-05-04 cwabbott0 fix input dependency for renderpass depth/stencil format tests
2020-04-27 slawomir.cygan Avoid exceeding maxPerStageResources in descriptor_indexing tests
2020-04-27 ari.suonpaa Split subgroupBroadcast tests
2020-04-03 rgarcia Test variableMultisampleRate with non-empty framebuffer
2020-04-29 ari.suonpaa Added a fourth batch of coverage tests found by GraphicsFuzz
2020-04-17 joshua Make ImageSamplingInstance loop over pNexts
2020-02-26 yevhenii.kolesnikov Add tests for usage of pixel storage modes
2020-04-29 luwang Fix of a build failure on QNX
2020-05-05 alexander.galazin Update SPIR-V Tools
2019-08-28 quic_mnetsch Adds geometry shader check for test
2020-04-17 james.glanville Stop 10bit formats requiring GL_SRGB encoding
2017-12-21 mnetsch Fixes pixelformat utils for RGB10_A2
2018-08-31 yabin.zheng Add specific RGB10A2 data for BlendHSLHue and BlendHSLSaturation
Created with:
roll-dep third_party/VK-GL-CTS/src
Bug: angleproject:4675
Change-Id: Id9b92e3ce400bf2c4669be845d3f6b5a12b5886f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227039
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
e0b8c74e
|
2020-06-02T10:42:42
|
|
EGL: EGL_CreateSync validation bug fix
EGL_CreateSync was calling into ValidateCreateSyncKHR
instead of ValidateCreateSync. This ended up returning
the incorrect enum for a negative test in deqp.
Bug: angleproject:2466
Test: angle_deqp_egl_no_gtest.exe --deqp-case=dEQP-EGL.functional.fence_sync.invalid.create_invalid_type
Change-Id: I476d533049c2499705b783293cb6bde311f48a65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2226932
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2611f98b
|
2020-06-02T09:52:27
|
|
Vulkan: Add IMAGE_USE_STORAGE bit only if necessary.
The VK_IMAGE_USAGE_STORAGE_BIT has negative performance impact. Right
now we needed for overlay widgets. This CL will only add the bit if we
actually have widget enabled.
Bug: b/157774833
Change-Id: I3027df886c9b34ccfd667152fa4fb090dfadb45b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2225810
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
1df70f03
|
2020-06-01T16:32:41
|
|
Vulkan: Swap RenderArea coords for pre-rotation
Fixes Vulkan validation-layer errors. Found by dEQP tests that
use small viewports and/or scissors (see Buganizer bugs for
details).
Bug: angleproject:4431
Bug: b/157933235
Bug: b/157933198
Change-Id: I83966906d70c30a4b50209cf1a33649bf69e3dd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2225607
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
ab372311
|
2020-05-14T23:27:06
|
|
Metal: refactor RenderUtils to split into multiple util classes.
This is useful for later modifications where blit/clear could be further
categorized based on texture format type (float/integer).
Bug: angleproject:2634
Change-Id: I877abd21761af9e91657686a60e189a43a33e3f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2193195
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
957a2359
|
2020-06-02T11:09:18
|
|
Skip VulkanBarriersPerfBenchmark on NV/Win.
This test is failing because our out-of-date Windows 7 NV bots
can't create a GLES 3.0 context. Skip this test until the machines
are updated.
Also updates our wrapper classes to check for an empty handle
before calling delete. Prevents a crash trying to call null functions.
Bug: chromium:1090139
Change-Id: I0bb58f8bd167691cd241fb0df30cdf4b2f6adf5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2225447
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5891b091
|
2020-06-01T11:24:37
|
|
Vulkan: acquire swapchain image should use COLOR_ATTACHMENT_OUTPUT_BIT
The mAcquireImageSemaphore is for achieving the maximum overlap between
display engine and rendering engine. We should only need to block when
we write to the swapchain image. Work that doesn't touch the visible
buffer can proceed.
Bug: b/157916459
Change-Id: Ic9a9a1f2a7648ef7f50f99578a0f0d674ae5e66c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2223826
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1e9097f5
|
2020-05-29T11:58:10
|
|
Enable CopyTextureVariationsTest.CopyTexture on VK
These do not fail on SwiftShaderVK. Root problem was fixed at some point
so we can re-enable these.
Bug: angleproject:4092
Change-Id: I8a0e03eaf438b61d31a2c6461e581445d0378645
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2221424
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
93577b20
|
2020-05-28T15:16:46
|
|
Vulkan: Move "null" buffer to RendererVk.
This will allow the TransformFeedback and other classes to share
the same buffer. Also should save a bit of memory.
Bug: chromium:1086532
Change-Id: I198170b4e09165a4770b68af6df9aa7b690e8d66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219138
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
5e13757b
|
2020-05-11T00:50:00
|
|
Metal: Fix array of structs containing array of samplers bug.
Previously ProgramMtl could try to bind fixed slots to samplers based on
layout (set=..., binding=...). However, GLSL layout model is different
from Metal slots assignment. For example, The following is valid layout
in GLSL:
- array samplers A[2] is bound to index 0.
- array samplers B[2] is bound to index 1.
It is invalid to do so in Metal, since A occupies 2 slots, thus samplers
B[2] must be bound to slots starting from 2.
New binding method: let spirv-cross auto assigns the texture slots and
retrieve them after compilation.
Incomplete textures moved to ContextMtl using IncompleteTextureSet.
New test added: GLSLTest.ArrayOfStructContainingArrayOfSamplers.
Bug: angleproject:2634
Change-Id: Ib0edaaf8b20512e1272c37c1d4b16a88a5b35e75
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2193193
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
4b2a9cbc
|
2020-05-21T08:57:02
|
|
move duplicated SwapControlData to rendergl_utils.
Both DisplayOzone and DisplayGLX have SwapControlData declared and
defined. In the future, when both of them will be compiled
(DisplayGLX will be required for Ozone/X11), they will result
in a compilation error stating about multiple definitions of the
struct.
Thus, move that rendergl_utils.
Bug: chromium:1084458
Change-Id: Ib174d0e8de1ac4773c841fe286175358acb15d79
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210702
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9515707b
|
2020-05-29T11:23:44
|
|
Move ShaderVariable utility function from utilities.cpp ShaderVars.cpp.
Fixes an implied dependency cycle between translator and angle_common. This will also allow us to be more strict about declaring dependencies on GLSLANG headers.
Tested by building and running angle_unit_tests on Linux.
Bug: angleproject:4672
Change-Id: I331230d2cf179ccea140ee7a0d5a3c8768c58cb1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2222682
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b3693762
|
2020-05-22T14:44:48
|
|
Vulkan: Enhance VulkanBarriersPerfBenchmark
1. Request a GLES3.0 context
2. Create 2 uniform buffers to be used in the new test case
3. Increase the size of the viewport
4. Add a new test case where we issue draw and buffer
copy commands. The expectation is that the draw to
FBO and the copy between the 2 buffers happen in
parallel.
Bug: angleproject:4633
Test: angle_perftest --gtest_filter=VulkanBarriersPerfBenchmark.Run/vulkan_buffer_copy
Change-Id: I3c5d287c05451f77053962371a96e2de6a8ea00d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215139
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
48102b2b
|
2020-05-29T10:28:18
|
|
Perf: Add Candy Crush trace
TBR: jmadill@chromium.org,nguyenmh@google.com,tobine@google.com
Test: angle_perftest --gtest_filter="*candy*"
Bug: b/150458396
Change-Id: I79c86b8d111ef55528da2ec5f0ac3a39428a1667
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2223658
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
b59db10a
|
2020-05-28T16:24:11
|
|
Perf: Add Subway Surfer trace
TBR: jmadill@chromium.org,nguyenmh@google.com,tobine@google.com
Test: angle_perftests --gtest_filter="*Trace*"
Bug: b/150458446
Change-Id: Ie47dfa7208db0fb1f2449b758df9d2b73bbfe974
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2220766
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
860af7a2
|
2020-05-29T15:34:27
|
|
Capture/Replay: Use aligned offsets for binary data
Traces that populate data by reading from unaligned memory addresses can
crash. This CL ensures each offset is 16-byte aligned.
TBR: jmadill@chromium.org,nguyenmh@google.com
Test: angle_perftests --gtest_filter="*Trace*"
Bug: b/150458446
Change-Id: I721999426772fa2f94fe39600d330a15eacc2794
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2222847
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
b947498b
|
2020-05-28T13:06:13
|
|
Vulkan: Clean up VMA wrapper classes.
Make these more consistent with the rest of the wrapper classes.
Also handle some VkResult errors that were being ignored.
Will pave the way for better handling of buffer allocation error
conditions.
Bug: chromium:1086532
Change-Id: Idc5b3f0e2945b1f44f152d33e8cc572f83a6b658
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219136
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
|