|
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>
|
|
558882a1
|
2020-05-28T15:26:37
|
|
Vulkan: Pass vk::Context to BufferHelper::init.
This is necessary so we can initialize a "null" BufferHelper in
RendererVk which does not have access to the ContextVk. This in
turn will allow us to use a single global "null" Buffer instead
of instantiating them all over ANGLE.
Also removes a TODO that was sticking in the code.
Bug: angleproject:2162
Bug: chromium:1086532
Change-Id: Ica48d5b886e885ebfe0f8e3abfbe8169a8eaa5b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219139
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
c0c938af
|
2020-05-11T00:50:00
|
|
Metal: draw 1 triangle instead of 2 for fullscreen shaders.
Reference article in favour of one big triangle instead of 2:
https://michaldrobot.com/2014/04/01/gcn-execution-patterns-in-full-screen-passes/
According to this article, the performance could be increased by ~10% for fullscreen shaders.
Bug: angleproject:2634
Change-Id: Ia5b04c40f0587e3cb8680c0f30f7b68d9d7a3efe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2193192
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8470b533
|
2020-05-28T15:14:38
|
|
Set gl::Buffer to zero size when allocations fail.
It's undefined what happens if we run into OOM errors when allocating
new resources. To guard against fuzzer issues we can set the buffer
size internally to zero when an allocation fails. This should prevent
GL APIs from reading from the buffer when the contents are internally
inconsistent.
Bug: chromium:1086532
Change-Id: I9ac4becf977bf0521208b2220caba788c21c93f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219137
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3c00eee2
|
2020-05-11T00:50:00
|
|
Metal: Use bit fields for state descriptor caching.
This reduces size of state descriptors and increase hashing performance.
Bug: angleproject:2634
Change-Id: Ida1a17a4fb30a053dafc82a3f7501b448e16e818
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2192570
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3e1e1087
|
2020-05-11T00:50:00
|
|
Metal: Use 2d array for caching index conversion's pipeline state.
For index conversion utils, use 2d array for caching compute pipeline
state based on DrawElementsType & source offset is aligned or not,
instead of using std::map as previously.
Also moved default shader's initialization to DisplayMtl.
New test added: IndexBufferOffsetTest.DrawAtDifferentOffsetAlignments
Bug: angleproject:2634
Change-Id: I1bd77aca88e03229ef8053e32add66733e33b06e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2192569
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
9905f7f5
|
2020-05-29T11:25:33
|
|
Fix CopyTextureTestES3.ES3FloatFormats for VK
When enabled, this would crash in debug because mFormat would be nullptr
on the target VkTexture, and the ASSERT would access mFormat via
getAspectFlags(). Fixed this by only calling getAspectFlags() if mFormat
is valid. I'm not sure this was the original reason this test was
disabled, but they pass now on SwiftShader.
Bug: angleproject:4092
Change-Id: I9b04bbc61dde14f722d3a510f3d38776f4f6c7ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2221420
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
|
|
56a4cc12
|
2020-05-21T13:17:21
|
|
Rename DisplayOzone to DisplayGbm.
DisplayOzone doesn't really have anything related to Ozone.
Instead, it's the gbm platform that is used there. Thus,
rename it to DisplayGbm.
Bug: chromium:1084458
Change-Id: I4d974f6afbf0daa28fc3e83943b35814dca203fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211763
Reviewed-by: Michael Spang <spang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9bb7dd8a
|
2020-05-28T14:55:06
|
|
Create a pre-rotation test for dFdx() & dFdy()
This end2end test makes it easier to create/debug pre-rotation
support for dFdx() & dFdy().
Bug: b/157476241
Change-Id: I6e6cc3a86c84d252a326a776d6b589662b08d1ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2220311
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
6185d42e
|
2020-05-28T15:12:09
|
|
Capture/Replay: Update MEC for Subway Surfer
Implement some missing entry points, including sync objects.
Bug: b/150458446
Bug: angleproject:3662
Change-Id: I0e9e7926e1a13bd9b0e83900ea19d2fbef9a284f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2220312
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
98496cab
|
2020-05-28T15:02:43
|
|
Fix float to int copy in VK backend
This fixes WebGL tests on Vulkan (e.g. SwiftShaderVK) that copy from the
canvas (GL_RGBA8) to an integer format target texture, such as:
conformance2/textures/canvas_sub_rectangle/tex-2d-rg8ui-rg_integer-unsigned_byte.html
The sampled normalized value needs to be scaled up by 255.
Also fixes angle_end2end test CopyTextureTestES3.ES3UintFormats on
Vulkan.
Bug: b/156399229
Bug: angleproject:4092
Change-Id: I18d46bc4453fdc500caca96ca3a12fe93290b10c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219142
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
|
|
29bb612e
|
2020-05-28T10:32:26
|
|
Add egl::ShareGroup class to abstract the share context group
Vulkan backend has a barrier tracker that tracks memory barrier needs of
all shared resources. Because the buffer/texture objects are shared
resources within a shared group, the tracker can not live in a context.
Putting it in a device/renderer requires locks. It fits perfectly in a
shareGroup object. The work is already done at API level to handle the
mutex lock for shared context access so that no extra lock needs to be
taken in the backend. This CL adds egl::ShareGroup class that represents
the object that are shared among all share context group. At the front
end this usually will include all the shared resource managers (not done
in this CL). The ShareGroup object is accessible from gl::State object.
This CL also adds ability for backend driver to allocate implementation
specific ShareGroupImpl object. Vulkan backend will then use it to keeps
the barrier tracker and other things that naturally fits the share group
concept.
Bug: angleproject:4664
Change-Id: Ifcd975cbdf5130022e21c41397894afc28f572e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2217252
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
209cf8fa
|
2020-05-27T16:23:57
|
|
GGP: Check and enable VK_GGP_frame_token
Bug: angleproject:4668
Change-Id: I9ecbdf37e206cb6eb93699091bbff70ad898040f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219032
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2383f344
|
2020-05-28T12:32:21
|
|
Port disable_timestamp_queries GPU workaround to ANGLE
There is a driver bug in VMWare drivers related to timer queries.
This driver is already disabled in Chrome, this CL ports the
workaround to ANGLE.
Bug: chromium:1075876
Bug: chromium:811661
Change-Id: I87ab28b803191884658d0c1ad4bfdfdd1b727fd0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219420
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
4d7a3993
|
2020-05-27T14:08:20
|
|
Vulkan: Rotate gl_PointCoord for Android pre-rotation
This extends the current y-flip that's done for gl_PointCoord.
Now, gl_PointCoord is rotated and then flips both the x and y-axis
(similar to gl_FragCoord). The tests used to reproduce the
problem and the fix are:
angle_deqp_gles2_tests --local-output --gtest_filter=dEQP.GLES2/functional_shaders_builtin_variable_pointcoord* --use-angle=vulkan
angle_end2end_tests --local-output --gtest_filter=*GLSLTest.PointCoordConsistency*Vulkan*
Bug: b/157476696
Change-Id: Iada8680eda8322f7382ff242e4a9422a66114f07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216700
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6a184fe9
|
2020-05-27T20:51:52
|
|
Fix use_libfuzzer build
Broken by https://chromium-review.googlesource.com/c/angle/angle/+/2174719
Failed during roll in
https://ci.chromium.org/p/chromium/builders/try/linux-libfuzzer-asan-rel/466117
https://ci.chromium.org/p/chromium/builders/try/win-libfuzzer-asan-rel/437044
Bug: b/154030730
Change-Id: Ia1672b9ae8c86e9da135285101ca2d7f31301c2c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219044
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
c8bfefac
|
2020-05-22T14:54:47
|
|
Emulate unsized depth/stencil textures on ES 3.0 without OES_depth_texture.
Use sized internal formats for unsized depth/stencil textures on ES
3.0 devices that don't advertise the GL_OES_depth_texture extension.
This CL makes the webgl-depth-texture.html conformance test pass on
WebKit's ANGLE backend on iOS.
Bug: angleproject:4591
Change-Id: Ifc45e74258ecf2e6433662bb10b081f1f94bded9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213678
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
02fa7313
|
2020-05-05T17:01:18
|
|
Vulkan:Initial worker thread disabled by default
Created new CommandProcessor class that can be run as a worker thread.
Running CommandProcessor within RendererVk as a worker thread that
takes a CommmandBufferHelper (CBH) ptr as the interface and processes
that CBH into a primary command buffer.
Main thread has a queue of CBH to draw from. After submitting a CBH to
the worker, it pulls next CBH from the queue. Worker thread releases CBH
back to the main thread queue when done.
Synchronization goes two ways:
1. Work submitted to worker thread is managaed with a mutex and
condition variable based around the work queue.
2. Available CBH ptrs for the main thread have a mutex and condition
variable that manages the CBH queue.
The worker thread is disabled by default, and, when enabled, it will
currently behave and perform as the non-threaded code. This is because
the kNumCommandBuffers const in ContextVk.h is set to 2. With only 2
command buffers, they will be assigned to the inside and outside
RenderPass command buffers respectively. Then, as soon as one is
submitted, the main thread will stall waiting for it to be completed
and put back into the queue mentioned in #2 above.
The next step is to move command submission to the worker thread and
update the number of command buffers so that processing/submission
will occur in parallel with the main thread. Right now there is a
race condition issue when attempting to run in parallel because the
main thread updates and submits the same primary command buffers
that are used in the worker thread, which is in violation of the
Vulkan spec.
The follow-on CL will fix this issue as the main thread will only
touch SecondaryCommandBuffers and the worker thread will be the
only thread touching the primary command buffers.
Bug: b/154030730
Change-Id: Ib0c518bbd7ca9a3a7e789f4e1f2f7131ddc0509e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174719
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f5dace0f
|
2020-05-22T19:02:49
|
|
Vulkan: Increase GLES support to 3.1
Update getMaxConformantESVersion() to support GLES 3.1.
This requires skipping some tests on Nvidia due to XFB failures.
dEQP-GLES3.functional.transform_feedback.array_element.interleaved.*
dEQP-GLES3.functional.transform_feedback.array_element.separate.*
dEQP-GLES3.functional.transform_feedback.array.interleaved.*
dEQP-GLES3.functional.transform_feedback.array.separate.*
dEQP-GLES3.functional.transform_feedback.random.*
Bug: angleproject:3520
Test: CQ
Change-Id: I3de0e8f7a9e9c6e800be9eb2c04e713e1f88fc08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213810
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
eadc387c
|
2020-04-01T16:53:31
|
|
GL: Support GL_OES_texture_cube_map_array in shader translator
GL_OES_texture_cube_map_array is core in 3.2. This CL adds support
for this extension in the shader translator.
Now passes dEQP.KHR_GLES31/core_texture_cube_map_array.*,
dEQP.GLES31/functional_fbo_color_texcubearray_*, and
dEQP.GLES31/functional_opaque_type_indexing*samplercubearray* with GL backend.
Bug: angleproject:3584
Change-Id: I1a8485c7d9d3fffb9b5109d292b35b0c56a3c665
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2133086
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
7fde3673
|
2020-05-25T15:48:06
|
|
GL: Support GL_OES_texture_cube_map_array in frontend/GL backend
GL_OES_texture_cube_map_array is core in 3.2. This CL adds the
necessary validation for the frontend, as well as support for this
extension on the GL backend. The next step is to add the changes
to the translator.
Bug: angleproject:3584
Change-Id: I751a9c9f71a553b05fdf6673250290806d8cfbff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215306
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|