|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
901045cc
|
2020-05-26T10:41:18
|
|
Vulkan: Rotate gl_FragCoord for Android pre-rotation
This extends the current y-flip that's done for gl_FragCoord.
Now, gl_FragCoord is rotated and then flips both the x and y-axis.
Bug: angleproject:4643
Bug: b/156395519
Change-Id: Iada8680eda8322f7382ff242e4a9422a66114f05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210936
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
218a6835
|
2020-05-26T13:51:34
|
|
Store non-string, non-enum data in binary file.
Before, non-string, non-enum data smaller than a size threshold will be inlined in the cpp files.
Now, they will be stored in binary file regardless of size.
Bug: angleproject:4661
Change-Id: Id71cd22c97d26c9b9afaf5b26f7a327b998cb858
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216306
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
|
|
a24be8c3
|
2020-05-26T16:45:29
|
|
Don't allow glReadPixels of depth buffers with ES3.1.
The ES3.1 spec does not appear to include these formats as valid
glReadPixels formats.
Test=KHR-GLES3.packed_pixels.rectangle.depth24_stencil8
BUG=angleproject:3520
Change-Id: I6ccd5a7fc49c2e16885cfaace56efce1d96e937a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216713
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
3d5f0c82
|
2020-05-19T20:05:57
|
|
Use surface texture offset for clears and blits
https://chromium-review.googlesource.com/c/angle/angle/+/2186176 added
surface texture offset attributes for D3D11 pbuffer surfaces, but the
implementation didn't apply the offset to blits or clears. This CL fixes
that and includes a unit test for blit, clear, and draw.
Also renames textureOffset to surfaceTextureOffset throughout since it's
clearer, and fixes the dcomp surface test to specify the update offset
returned by dcomp BeginDraw().
Bug: angleproject:2997
Change-Id: I9298ccf55cbb2d04c3b8f78e12f9d07dc8fa54b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210967
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
05f11a3b
|
2020-05-21T14:33:42
|
|
Remove requirement of OES_texture_half_float for EXT_color_buffer_half_float.
Some OpenGL ES 3.0 devices don't advertise OES_texture_half_float, but
do advertise EXT_color_buffer_half_float. For this reason, stop
requiring OES_texture_half_float when determining renderability of
GL_RGBA16F textures.
Bug: angleproject:4649
Change-Id: I657011fcc3bb35909760a57e8ad53cfbbc61c67a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2212434
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
68f92942
|
2020-05-22T18:32:52
|
|
Emulate GL_EXT_sRGB on ES 3.0 devices without native support.
Translate the extension's internal formats and formats to values valid
in core ES 3.0.
Bug: angleproject:4655
Change-Id: Ie47d01fb2ebca7bab5058812c9f4217523f784a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213262
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9047ce5b
|
2020-05-26T11:23:35
|
|
Vulkan: Fix bad delete of swapchain.
We could end up deleting a dirty pointer if the driver set an
output value during a call to vkCreateSwapchainKHR that generates
an error. In practice this turned up in some edge cases with
SwiftShader. Fix this by using a temporary variable.
Bug: chromium:1079475
Change-Id: Ia40e1fac94cbd56fd3bb800a179bb38b7f11fa26
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216292
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
30298dc2
|
2020-05-15T15:21:04
|
|
Vulkan: Optimize out barrier needs for transition between shaderReadOnly
If we are transition between different kind of shaderReadOnly, there is
no actual layout change or accessType change. Instead of always insert a
barrier, this will track what shaderStage has made read access and only
insert barrier if the read is from new shader stage. The barrier
inserted will be always from last non-ShaderReadOnly transition. There
is no read to read barrier generated.
Bug: angleproject:4550
Change-Id: I4aeb7d4bddf2d072b60839f98e7af1aa23f977b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2204480
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
6de7ee52
|
2020-05-25T17:00:01
|
|
Clean up overlay RenderPass count reporting.
This fixes the trace perf test to accurately report how many
RPs in each frame. Instead of counting the RPs on a flush we now
count only on a swap call. This won't work for offscreen surfaces
which is fine - the overlay doesn't really have the same use for
offscreen rendering. Also ignores the first frame in graph data so
we can ignore the first setup frame in the trace tests.
Also skips the redundant extra "flush" call that would generate an
empty space in the RP graph.
Gives a cleaner measurement for optimizing the XFB RP count.
Bug: angleproject:4622
Change-Id: I5762c500cdb216700247095984ae62b4f8741602
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215309
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
27ceed38
|
2020-05-25T13:06:53
|
|
Fix replay crash when captured sample doesn't create binary data
Ensure samples without binary data like hello_triangle can be replayed
Bug: angleproject:4658
Change-Id: I6da29a05335abe93666b6c19fa769e84c42a9fa8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2212499
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ba4e2b94
|
2020-05-21T09:40:37
|
|
Type cast EGLNativeDisplayType to _XDisplay* in xcb and glx
As we are approaching the point when DisplayGLX will be compiled
in Ozone/X11 configuration, we need to resolve compilation errors.
Ozone has intptr_t EGLNativeDisplayType whereas X11 requires
Display* aka _XDisplay*. We've already done so in Chromium, and
it's time to do the same cast in angle.
Bug: chromium:1084458
Change-Id: I11b5ae2e10bfa316cbaa882be86af6894cfdbbf2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211761
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
31fbf981
|
2020-05-25T15:33:44
|
|
GL: Entry points for GL_OES_texture_cube_map_array
This extension is made core in GLES3.2. This CL adds the necessary
entry points to the frontend.
Bug: angleproject:3584
Change-Id: Icaaa0b298898f3360819966a7f67b5feaf05124b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215305
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6789018a
|
2020-05-25T11:54:24
|
|
Context: init impl before creating objects.
This eliminates a potential invalid access that would turn up
in the Vulkan back-end. Also init a couple uninitialized variables.
Should fix an ASSERT in the Vulkan back-end when running WebGL tests.
Bug: chromium:1085627
Change-Id: I153f8dd83f567345b964b68784940d11712e7804
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2212498
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
c746ac65
|
2020-04-27T03:55:20
|
|
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>
|
|
d3d7b95b
|
2020-05-19T17:27:50
|
|
Vulkan:Migrate timer sync functions to one-off cmd buffer
ContextVk's getTimestamp() and synchronizeCpuGpuTime() were the two
places that mCommandQueue was used outside of processing
SecondaryCommandBuffers. Migrating those functions to use the one-
off command buffer instead. This will allow for the removal of
mCommandQueue from ContextVk as we migrate it to RendererVk
instead for threading phase2 development.
Bug: b/154030730
Change-Id: Ic00ce56739dadcdc4b5a1b1839e0e18603bfe0eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2209312
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
96a80283
|
2020-05-20T16:48:54
|
|
Advertise filtering support for FP16 luminance/alpha formats on ES 3.0.
Now that these formats are emulated if necessary on ES 3.0 contexts,
advertise filtering support as well. This enables
OES_texture_half_float_linear on mobile devices which support ES 3.0
but don't advertise this extension.
Bug: angleproject:4648
Change-Id: I09f00fbb1454b2cfa72295254fbc45c872f4919c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210701
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
93fc7d71
|
2020-05-19T14:03:42
|
|
Add error-handling when getting Xcb window size
We can't trust the reply from Xcb if an error has been flagged.
This was causing a crash in SwANGLE.
Bug: chromium:1080984
Change-Id: Icaf58197869b563e4193efcf4e70646d519210cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2209255
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
22aba328
|
2020-05-20T10:59:56
|
|
Don't write alpha when blitting to a framebuffer with emulated alpha.
Emulated alpha framebuffers should never modify the alpha channel. Our
blitting code didn't take this property into account.
TEST=conformance2/rendering/blitframebuffer-resolve-to-back-buffer.html
BUG=angleproject:4645
Change-Id: I1797934df7e7aa520bacfba8a379f6545e38753e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210023
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: James Darpinian <jdarpinian@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
585e3555
|
2020-05-14T10:49:48
|
|
Vulkan: Remove GL_BGRX8_ANGLEX from configurations
It doesn't need to expose an emulated RGB format any
longer. Skip ClearTestRGB.DefaultFramebufferRGB test
if GPUs don't support RGB format back buffer.
Bug: angleproject:4631
Change-Id: Ifa2d2ed6f863dcb698f7eea3e752a8cd5d5e0ced
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2198888
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
33cf03cd
|
2020-05-20T20:45:34
|
|
Vulkan: change preferAggregateBarrierCalls to accomodate ARM on linux
Bug: angleproject:4633
Change-Id: Ic198cef1afbad7dc96cead690daa46f07a653e96
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211321
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Sunny Sun <sunny.sun@arm.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
1a4f6e1f
|
2020-05-20T10:37:24
|
|
Vulkan:Migrate command buffers to pointers
This is an intermediate CL as we move to a worker thread.
With the worker thread there will be a pool of more than 2 command
buffers so the current command buffers in use on the main thread
will be pointers that are assigned from that pool.
This CL isolates the command buffers as pointers to make review
simpler.
Bug: b/154030730
Change-Id: I3fc91222b07d5f3bf60f92a4c01b0910daad7df6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2207812
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
e8b8b816
|
2020-05-19T18:58:55
|
|
Eliminate Program::mLinkResolved boolean
Since mLinkResolved boolean is always kept in sync with the presence
of mLinkingState structure, we can remove the former and replace
access with checks for the latter being nullptr.
Bug: angleproject:4644
Change-Id: Ib385b5c3881946d762ad48e6534c84d15e50f673
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2209319
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
651378b2
|
2020-05-14T20:44:54
|
|
Support OES_texture_{half_}float on ES 3.0 without these extensions.
Emulate the LUMINANCE, ALPHA and LUMINANCE_ALPHA formats with
GL_RED/GL_RG textures on platforms that don't support the
OES_texture_{half_}float extensions. Fix a preexisting bug in
TextureGL's luminance/alpha emulation where it would use desktop
GL functionality on GLES.
This change makes WebKit on iOS pass WebGL's
conformance/extensions/oes-texture-{half-}float tests per
https://bugs.webkit.org/show_bug.cgi?id=210524 .
Bug: angleproject:4636
Change-Id: I6c158058e4b170b16ece578a3930c230de16a9ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2203283
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
4c974793
|
2020-05-15T15:52:04
|
|
Vulkan: Don't invalidate XFB buffers on FBO switch.
This shouldn't need to change when the FBO changes.
Bug: angleproject:4622
Change-Id: I4b06a0f02e8dd16d50aaf5ac5fe4bcb81fc76c8c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2204597
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
d10ba166
|
2020-05-19T18:00:38
|
|
Rename ProgramState::getProgramExecutable() to getExecutable()
The "Program" part of ProgramState::getProgramExecutable() is already
implied by being part of a ProgramState, so it can be removed.
Bug: angleproject:3570
Change-Id: I35ffb2af81196fa7f189f7d3a37158f5f1951141
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2209317
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
d45b30b5
|
2020-05-15T14:45:51
|
|
Enable allowClearForRobustResourceInit for AMD drivers
AMD drivers that have trouble clearing textures have been
blocklisted by Chromium.
Since Intel and NVidia drivers were already been allowed to
clear for robust resource init, we're good to enable it for all IHVs.
Bug: angleproject:4460
Change-Id: If71d01a91806ffc0a78c30f0cc393e105a6c9c74
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2204698
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
cf8422c2
|
2020-05-19T10:14:02
|
|
Vulkan: Acquire a new BufferHelper from the pool based on a threshold
We acquire a new BufferHelper from the pool when the app updates the
data of the entire buffer. In scenarios where the app updates say, 60%
of the buffer it would still be benificial to acquire a new buffer and
copy over the remaining 40% of data from the old buffer to the new one.
This reduces the transfer workload from 60% to 40% of buffer size.
Currently the threshold is set to 50% of buffer size.
Bug: angleproject:4380
Change-Id: I12576c585230e771d4c1a4352fab93dd3db2ecef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2204655
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
258d94f6
|
2020-05-18T16:21:50
|
|
Vulkan: Add workaround for nvidia to always merge barriers into one
vkCmdPipelineBarrier call
Nvidia preferes one barrier call than multiple calls with fine grained
stage dependency information. They do not care much about stage
dependency. This adds a feature flag that sets to true on nvidia and
will merge all barriers into one call.
Bug: angleproject:4633
Change-Id: I204484aa4c5989655f74d70a0eaa235c3c83f548
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2207635
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
779a25a8
|
2020-04-27T02:11:58
|
|
D3D11: Migrate to the new blend state tracking
Migrate D3D ClearParameters struct to the new color mask storage
Bug: angleproject:4394
Change-Id: Ibeb64e4bbb2758b9c8271fc3c59d2d675850b0a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165886
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
78ef4133
|
2020-05-15T23:24:18
|
|
Fix invalid enums for OES_draw_buffers_indexed
Make sure the new enums are invalid before the extension is enabled.
Add a angle_end2end_test for that.
Bug: angleproject:4394, chromium:1058744
Change-Id: Ib88f6159294dab2eb7d3662b96c44424ab132782
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2205179
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
ab851162
|
2020-05-18T17:35:10
|
|
Enable regenerateStructNames workaround on iOS
In https://bugs.webkit.org/show_bug.cgi?id=207858, the WebGL conformance
test conformance/glsl/misc/shader-struct-scope.html was failing. The
workaround that fixes this test was enabled only on desktop GL, but it's
necessary for iOS as well.
Bug: angleproject:4642
Change-Id: I29b96f16dd0608bb9597a4a9903e375a64dadf3d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2207636
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
|
|
4f343f3e
|
2020-05-13T14:11:51
|
|
Reland "Add support for GL_CHROMIUM_texture_filtering"
This is a reland of 38780ae3921d2570316119a881adfb9520e7e296 modulo the
changes to disable VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT, as
this was causing problems. With this landed, the extension will not work
on SwiftShader until we find a way to allow this extension through the
validation layers.
Bug: b/146423360
Bug: b/154620295
Change-Id: Ie09fc507c01a47be3bb227bc78771660170ba5d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2199639
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8a90905c
|
2020-05-16T17:35:03
|
|
Revert "Vulkan: Try to merge barriers if possible"
This reverts commit 153c14cbd6e9f095c09dc1e6c938b1656bc56159.
Reason for revert: The dependencyStrongerThan logic is incorrect and causing perf regression on ARM.
Original change's description:
> Vulkan: Try to merge barriers if possible
>
> This is try to reduce the number of vkCmdPipelineBarrier API calls into
> driver. It should not affect the actual barriers.
>
> Bug: b/155341891
> Change-Id: I57b8b8cdad50d494c76a008006bd54961170c8bc
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2194841
> Commit-Queue: Charlie Lao <cclao@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
TBR=courtneygo@google.com,timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: b/155341891
Change-Id: I8ebe7481b299af446dfd488874e64e6e60b4f764
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I8ebe7481b299af446dfd488874e64e6e60b4f764
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2205433
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
d34ab323
|
2020-05-04T10:48:48
|
|
Vulkan: Save linked ProgramExecutable data
PPOs need to support drawing with Programs that failed their last
linkProgram() if they had previously successfully linked. This requires
saving the ProgramExecutable when linkProgram() succeeds, and not
overwriting it with subsequent linkProgram() calls unil the next
successful one.
To achieve this, the new member ProgramState::mLinkedExecutable will
point to the last successfully linked ProgramExecutable and
ProgramState::mExecutable will point to a new ProgramExecutable when the
next linkProgram() is attempted. If the link fails, the newly allocated
ProgramExecutable will be delete()'ed and mExecutable will point to the
previous 'good' ProgramExecutable still being tracked by
mLinkedExecutable. If it succeeds, the old mLinkedExecutable will be
delete()'ed and mLinkedExecutable will be updated to point to the ne
one.
Bug: angleproject:4514
Test: KHR-GLES31.core.sepshaderobjs.StateInteraction
Change-Id: I0677602a6d652a055404667ec9e9305fed5b4177
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2181450
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5d01d538
|
2020-05-12T18:13:52
|
|
Resolve Bad Binary Link Failures
When ANGLE_PROGRAM_BINARY_LOAD is enabled, Program::loadBinary
unconditionally returns angle::Result::Continue to the caller. The
caller, gl::Program::link, postpones the resolution of the link
until resolveLinkImpl.
Unfortunately, resolveLinkImpl is not able to tell whether the link
failed because the shader from the developer is bad or because the
loaded binary is not compatible with the backend. The former case
should fail link. In the latter case, we should fallback to linking
the program from the original shader sources. The loaded binary could
be read from the on-disk shader cache and be corrupted or serialized
with different revision and subsystem id than the currently loaded
ANGLE backend.
This fix adjusts Program::loadBinary and ProgramD3D::load so that
angle::Result::Incomplete is returned to gl::Program::link when the
binary is incompatible with the backend. gl::Program:link falls back
to compilation from original shader sources.
Since no code checks the return value of SizedMRUCache::eraseByKey,
modified it to now return void.
Bug: chromium:1079497
Change-Id: Id5271d7badad8627563e87859d1c9fdb81de5785
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197944
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
c55d2b41
|
2020-05-04T17:06:38
|
|
Respect IOSurface stride
In the iOS simulator we use glReadPixels to transfer rendered pixels to
the IOSurface. We need to account for the possibility of the row stride
not being equal to the width, because that happens sometimes. It's
currently causing corrupt rendering in Google Maps on WebKit.
Bug: angleproject:4611
Change-Id: I553d65cb0d0bf922e855ea50089904807dd39118
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2181676
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
|
|
8270ebbd
|
2020-05-08T14:00:18
|
|
Vulkan: Refactor and clean up XFB code.
This is a refactor-only change mostly. It makes the classes work
more similarly to how the other classes in the Vk back-end work. Also
removes some redundant code. Moves the buffer caching into begin for a
more dirty-bits like approach.
Bug: angleproject:4622
Change-Id: I34ac13e1d05b48e3267937c760d195493a76ed02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2191172
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
ab8d424a
|
2020-05-13T16:34:05
|
|
Vulkan: Remove unused onExternalLayoutChange declaration
This function is no longer defined or implemented, but forgot to remove
the declaration.
Bug: angleproject:4229
Change-Id: Ifedcbe09fde56bc46d18ea5e87cf4a4ad51b85fc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2199645
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
85c86567
|
2020-05-12T18:43:16
|
|
Handle null ProgramExecutable in ValidateDrawInstancedANGLE()
It's possible for a user to call glDrawArraysInstancedANGLE() without a
Program or PPO bound, which would lead to no ProgramExecutable being
active and causes a null pointer to be returned in
ValidateDrawInstancedANGLE(). To handle this,
ValidateDrawInstancedANGLE() should return 'true' and not signal an
error since it's undefined behavior to draw without a Program/PPO bound,
but it's not an error.
Bug: chromium:1079336
Test: gpu_angle_passthrough_fuzzer
Change-Id: I90d9e99c63411d8388f4d8cf57ed46aec605ee68
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197943
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
66d7490c
|
2020-05-12T15:09:29
|
|
Vulkan:Add trace marker in finishToSerial()
Bug: b/156403378
Change-Id: Ibd50bc0448ba15af14191c3bc735782ab0741abf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197615
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
99db3471
|
2020-05-13T18:50:51
|
|
Unset the ActiveTextureCache entry if the program does not reference it
When changing uniforms of a program, State::onActiveTextureChange is
called to update the ActiveTextureCache. If the sampler uniform type
changes to TextureType::InvalidEnum, the entry in ActiveTextureCache was
not cleared. This causes stale entries in ActiveTextureCache because the
cache no longer matches what textures are bound and the cache does not
add references to the textures in it.
BUG=chromium:1078375
BUG=chromium:1072406
BUG=chromium:1078866
Change-Id: If9719dcd4fc865b2301db450eb8115e7cfe46c4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2199654
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
8f6d1af9
|
2020-03-19T14:35:48
|
|
Vulkan: Implement EXT_texture_format_sRGB_override
Implemented support for EXT_texture_format_sRGB_override
This is done by creating new imageviews for textures with sRGB
overridden that reinterpret the format to its sRGB counterpart.
As preparation for this, textures that use this feature are
reallocated with VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT. This will
have a performance cost for textures that use this feature, but
should have no performance cost for regular textures, since they
will not have this bit set.
Bug: angleproject:4561
Test: angle_end2end_tests --gtest_filter=SRGBTextureTest.*Vulkan*
Change-Id: Iba25f1f2b0a7227959c1cb4ba6e3ca8311c20d06
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2152145
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
24268826
|
2020-05-04T10:48:48
|
|
Vulkan: Pass Input/Output Varying lists during linking
When linking program varyings, the necessary functions need the
following:
- Lists of Input and Output varyings
- Shader versions
- Shader types
Rather than the full Shader itself, just this information will be
passed around to the functions. This allows us to limit how much data
is saved for each Program when linkProgram() succeeds, so PPos can link
the attached Programs at draw time.
Bug: angleproject:4514
Test: CQ
Change-Id: I27b639cae9a153d0d3f5efab3b38550f09f4f49b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2181449
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
11f9c56c
|
2020-05-11T22:56:18
|
|
Vulkan: Tighten up asserts for resource ownership
We're not permitted to make accesses to a resource while it's owned by an
external instance or API. Add some asserts to verify this.
Exempt images on platforms that don't implement external memory barriers.
Bug: angleproject:3289
Change-Id: I1de929f6a412bfe5c1b798eaa1dc401bbceb5b7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195685
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
153c14cb
|
2020-05-11T14:45:35
|
|
Vulkan: Try to merge barriers if possible
This is try to reduce the number of vkCmdPipelineBarrier API calls into
driver. It should not affect the actual barriers.
Bug: b/155341891
Change-Id: I57b8b8cdad50d494c76a008006bd54961170c8bc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2194841
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e8d71eb3
|
2020-05-12T14:40:44
|
|
Vulkan: Fix ANGLE_ENABLE_VULKAN_VALIDATION_LAYERS_BY_DEFAULT
Unfortunately this was broken by 605af42e1 ("Vulkan: Move ICD overrides
to a common place").
This adds an unconditional dependency on the layers to tests. Tests
don't respect angle_enable_vulkan_validation_layers, so we need to ship
the layers irrespective of that setting.
Bug: angleproject:4634
Change-Id: Ided291ea645a72e6c3bdb960e55d15013aa20a3a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197279
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4b225c70
|
2020-05-06T15:38:12
|
|
Add texture offset attributess for D3D texture pbuffer surfaces
Add EGL_TEXTURE_OFFSET_X_ANGLE and EGL_TEXTURE_OFFSET_Y_ANGLE attributes
to EGL_ANGLE_d3d_texture_client_buffer which are used to specify offsets
used for rendering into the pbuffer surface backed by a D3D11 texture.
Rendering with the correct offset is needed when Chrome gets a texture
and offset from an external source e.g. when calling BeginDraw() on
IDCompositionSurface.
Bug: angleproject:2997
Change-Id: I363f739f3f05c38720f385e34c91e98fc6a622a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2186176
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
|
|
fecd1afc
|
2020-05-04T10:24:57
|
|
Vulkan: Move necessary members from ProgramState to ProgramExecutable
ProgramPipeline's need to be able to link Programs before drawing, even
if the Program's previous linkProgram() failed. To work towards this,
some ProgramState members are being moved to ProgramExecutable so they
can be saved when linkProgram() succeeds and not overwritten by any
subsequent linkProgram() attempts that may fail.
This also allows the second half of this change, which is to pass in the
Program's ProgramExecutable to GlslangAssignLocations() and
GlslangWrapperVk::TransformSpirV() so the values saved from the last
successful linkProgram() are used.
Bug: angleproject:4514
Test: CQ
Change-Id: I68aa429be76c0c6e1b886be09a12200217fcc7ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2181448
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
39d187b8
|
2020-04-23T19:30:12
|
|
Update Program[Pipeline]State to hold a ProgramExecutable Pointer
This is a refactor CL to convert mExecutable in ProgramState and
ProgramPipelineState to a pointer, so it can be changed to point to a
different ProgramExecutable in a future CL.
Bug: angleproject:4514
Test: end2end
Change-Id: Id8ee9e5f2d1b02313973519cb2b4b0d5f7533b09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2181447
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
664376e2
|
2020-05-09T10:47:48
|
|
Vulkan: Fix performance issue
c9e0edc2 changed the layerCount in SubresourceUpdate to
VK_REMAINING_ARRAY_LAYERS in some cases. So that the deferred
clear logic cannot work correctly.
Bug: angleproject:4617
Change-Id: Idedada085c618ff900538094412c752522594684
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2191551
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
c4832968
|
2020-05-12T19:12:16
|
|
Check noopDraw() before prepareForDraw()
To support drawing without a Program or PPO bound, ANGLE needs to
check noopDraw() as early as possible to prevent accessing null
pointers while attempting to draw.
Bug: chromium:1079312
Test: gpu_swangle_passthrough_fuzzer
Change-Id: I85d6cab923ce42d93fa93e1792f342ce3c5baa8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197946
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
6067c7d8
|
2020-05-12T18:18:47
|
|
Reland "Vulkan: Add semaphores test to VulkanExternalImageTest"
This is a reland of 69e46942563b30be8a79512252e92fcf00c1a522
Original change's description:
> Vulkan: Add semaphores test to VulkanExternalImageTest
>
> Add a more substantial test that uses semaphores to
> VulkanExternalImageTest.
>
> It's still just a clear in GL, which exposed a bug that a staged clear
> wasn't be flushed by a call to glSignalSemaphoreEXT.
>
> Bug: angleproject:3289
> Change-Id: Id938eaf2c8c20cb0ae9fb948fbfcf3448980b577
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195684
> Commit-Queue: Michael Spang <spang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Bug: angleproject:3289
Change-Id: Idce1e8944b72445c92be9ad08d8c5869ca0b7df2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197735
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
fcfe7fad
|
2020-05-11T17:20:26
|
|
Capture/Replay: Fix MEC crash with Temple Run
CaptureMidExecutionSetup was accidentally creating a copy of a
vector, rather than using a const reference.
Test: Temple Run MEC on Android
Bug: b/152512564
Change-Id: Ia5eaa87235785eba7f10244d0ac7a831de0bcb0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197282
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
3b82fdcf
|
2020-05-12T23:44:07
|
|
Revert "Add support for GL_CHROMIUM_texture_filtering"
This reverts commit 38780ae3921d2570316119a881adfb9520e7e296.
Reason for revert:
Breaks SWANGLE-VK:
05-12 23:42:28.612 22836 22861 D libEGL : dlopen_ext from APK (libEGL_angle.so) success at 0x79f4485a10
05-12 23:42:28.617 22836 22861 D libEGL : dlopen_ext from APK (libGLESv1_CM_angle.so) success at 0x79f4485eb0
05-12 23:42:28.619 22836 22861 D libEGL : dlopen_ext from APK (libGLESv2_angle.so) success at 0x79f4485c60
05-12 23:42:28.624 14223 14223 D StatusBar: disable<e i a s b h r c s > disable2<q i n >
05-12 23:42:28.633 14014 14057 V DisplayPowerController: Brightness [0.19986142] reason changing to: 'automatic', previous reason: 'automatic [ dim ]'.
05-12 23:42:28.635 22836 22861 D vulkan : searching for layers in '/data/app/~~0AfWfBsFEO78tqKlnanevg==/org.khronos.gl_cts-NOs3SGclHqlbcqe-08gHrw==/lib/arm64'
05-12 23:42:28.635 22836 22861 D vulkan : searching for layers in '/data/app/~~0AfWfBsFEO78tqKlnanevg==/org.khronos.gl_cts-NOs3SGclHqlbcqe-08gHrw==/base.apk!/lib/arm64-v8a'
05-12 23:42:28.632 22836 22836 W .khronos.gl_cts: type=1400 audit(0.0:218): avc: denied { ptrace } for scontext=u:r:zygote:s0 tcontext=u:r:untrusted_app_25:s0:c512,c768 tclass=process permissive=0 b/77925912 app=org.khronos.gl_cts
05-12 23:42:28.636 14014 14034 I EventSequenceValidator: Transition from ACTIVITY_LAUNCHED to ACTIVITY_FINISHED
05-12 23:42:28.637 22836 22861 F SwiftShader: external/swiftshader/src/Vulkan/libVulkan.cpp:425 vkCreateInstance TRACE_ASSERT: pCreateInfo->pNext sType = 1000247000
--------- beginning of crash
05-12 23:42:28.637 22836 22861 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 22861 (.khronos.gl_cts), pid 22836 (.khronos.gl_cts)
Original change's description:
> Add support for GL_CHROMIUM_texture_filtering
>
> Chromium enables a custom extension, GL_CHROMIUM_texture_filtering, when
> using SwiftShaderGL, to enable high precision filtering. This change
> makes it so ANGLE also handles this same extension when using the
> SwiftShaderVK backend, by enabling the new
> VK_GOOGLE_sampler_filtering_precision custom extension.
>
> Bug: b/146423360
> Bug: b/154620295
> Change-Id: I69cafc1ccf5970a3d220ac7e13ec3c8fdd4a9643
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2185822
> Commit-Queue: Antonio Maiorano <amaiorano@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=geofflang@chromium.org,jmadill@chromium.org,amaiorano@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: b/146423360, b/154620295
Change-Id: I803d7a7baac81cf178b59c4bf2789346ec1d3f87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197168
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
d0146e07
|
2020-05-12T14:47:11
|
|
Vulkan: Rename SurfaceRotationType to SurfaceRotation
Follow-on CL per request in
https://chromium-review.googlesource.com/c/angle/angle/+/2191425/3/src/libANGLE/renderer/renderer_utils.h#48
Bug: angleproject:4436
Change-Id: I2ee8c65a0dbcf2eee4c9c7f4252abf16a578cad3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197614
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c4734bf6
|
2020-05-12T22:15:02
|
|
Revert "Vulkan: Add semaphores test to VulkanExternalImageTest"
This reverts commit 69e46942563b30be8a79512252e92fcf00c1a522.
Reason for revert: Broke the build due to VulkanExternalHelper API change
Original change's description:
> Vulkan: Add semaphores test to VulkanExternalImageTest
>
> Add a more substantial test that uses semaphores to
> VulkanExternalImageTest.
>
> It's still just a clear in GL, which exposed a bug that a staged clear
> wasn't be flushed by a call to glSignalSemaphoreEXT.
>
> Bug: angleproject:3289
> Change-Id: Id938eaf2c8c20cb0ae9fb948fbfcf3448980b577
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195684
> Commit-Queue: Michael Spang <spang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=spang@chromium.org,geofflang@chromium.org,jmadill@chromium.org
Change-Id: I50b2af80cd0214bd3c317eb5ba211ddc66803d74
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3289
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197193
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
d705f18f
|
2020-05-11T13:53:13
|
|
Vulkan: Add immediate scissored clears.
This allows us to avoid using draw commands with pipelines for
scissored clears. This prevents some tests from generating
large numbers of VkPipelines.
Bug: angleproject:4517
Bug: angleproject:4617
Change-Id: Id4a44000078098a60aa89233cfef30b75727d108
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2194473
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
69e46942
|
2020-05-12T01:46:50
|
|
Vulkan: Add semaphores test to VulkanExternalImageTest
Add a more substantial test that uses semaphores to
VulkanExternalImageTest.
It's still just a clear in GL, which exposed a bug that a staged clear
wasn't be flushed by a call to glSignalSemaphoreEXT.
Bug: angleproject:3289
Change-Id: Id938eaf2c8c20cb0ae9fb948fbfcf3448980b577
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195684
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
204720bd
|
2020-05-08T18:08:37
|
|
Fix GetBooleani_v validation and params length for WebGL OES_draw_buffers_indexed
WebGL 2 seems to be ES300 context and will fail the
ValidateGetBooleani_v at context->getClientVersion() >= ES_3_1.
Also for getIndexedParameter pname==GL_COLOR_WRITEMASK, the length
shall be 4.
Bug: angleproject:4394, chromium:1058744
Change-Id: Ia60506b6b1f120ed06acbcea0cb1f4581c70b32b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2191424
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
a2ece533
|
2020-05-12T12:20:00
|
|
GL: Use a valid internal format for CopyTexImage in BlitGL::blitColorBufferWithShader
The frontend format is not always valid to use for glCopyTexImage.
Translate it to a valid format for the current driver.
TEST=deqp/functional/gles3/framebufferblit/default_framebuffer_00.html
BUG=angleproject:4632
Change-Id: I838a1b27b528f074f440575adb88357a910f596a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2196842
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|