|
af6a51e0
|
2019-05-15T15:08:00
|
|
dEQP: Make deqp_path GN variable public.
This allows us to reuse it in our other BUILD.gn files.
Bug: angleproject:3353
Change-Id: Ic88f7781010d7319dfe3bb8f2f942fa08d37e4dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1614097
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
36f47169
|
2019-05-15T15:36:06
|
|
Suppress flaky OpenGL ES3 test.
Texture2DIntegerTestES3.IntegerTextureNonZeroBaseLevel/ES3_OpenGL
Bug: chromium:963595
Change-Id: I6cdd845a5b7bc1a4b5a16029eaf170db40f1787c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1613894
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
32a1b0f7
|
2019-05-15T15:00:20
|
|
Update dEQP build config to use GN templates.
Templates make it easier to override parts of test configs. Instead
of if statements we can use forwarded variables to override specific
settings. This refactor makes it easier to integrate the "KHR" tests.
Bug: angleproject:3353
Change-Id: Ia6e9c6d01864e5253db5d28dc087bf954aee226c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1612297
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e77f63a2
|
2019-05-09T10:37:42
|
|
Use clamp cast for stencil mask in all versions.
dEQP only covers this behaviour in ES2.0 tests and they fail when running with
an ES3.1 context.
BUG=angleproject:3425
Change-Id: I339b83901434da92ae6dd6273460b0725644cdf5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1602177
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
eaf2d928
|
2019-04-18T16:31:25
|
|
Add support for OES_depth_texture
Note: Includes workaround for http://anglebug.com/3452 - some Android
devices do not indicate filtering support on VK_FORMAT_D16_UNORM.
Bug: angleproject:3103
Test: angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.DepthTexture/*
angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.PackedDepthStencil/*
angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.DepthTextureRender/ES2_VULKAN
Change-Id: Ic325fb94ab0e619a17c2e149e0e0865fa4142f3a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575426
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
bff32703
|
2019-05-14T18:08:50
|
|
D3D11: Disable B5G6R5 on AMD drivers.
Texture data corruption has been seen with this format, specifically
on AMD Radeon R7 240 cards with the 15.201.1301.0 driver.
BUG=941620
Change-Id: I42d0d86a8319afdfaf17b44e142c6414092c647d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610681
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b783fbc7
|
2019-05-10T23:16:17
|
|
Vulkan: Fix matrix uniforms
A piece of code shared with d3d was used to implement this feature.
However, we store the uniform data transposed and row-major in d3d to
accomodate the fact that matrix indexing in HLSL is the opposite of GLSL
(mat[row][col] in HLSL as opposed to mat[col][row] in GLSL).
There were two functions that copied the source matrix fields either as
column-major or source-major (corresponding to `transpose` false or true
respectively in glUniformMatrix*) into a row-major destination. These
functions are refactored into one, which copies from any-major source to
any-major destination. The HLSL backend uses the "to row-major" variant
and the Vulkan backend uses the "to column-major" variant.
Bug: angleproject:3198
Change-Id: I7254da4fbe6916af78c5906abcb82ca01674ab9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1607541
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f7033c55
|
2019-05-13T09:48:06
|
|
Vulkan: Request at least 3 images for MAILBOX.
The glmark2 benchmark score went down (on Android with Pixel devices)
when ANGLE changed VkSwapchainCreateInfoKHR::minImageCount from 3 down
to 2, when using VK_PRESENT_MODE_MAILBOX_KHR. In experimenting, this
was confirmed. This CL changes minImageCount back to 3.
Vulkan spec issue #1671 was filed in order to understand whether this
is a good/bad approach for other drivers/platforms.
Test: glmark2 on Pixel2.
Bug: angleproject: 3400
Change-Id: Ia4a72733eb648e4f53feeb8833b174d653fa5766
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610242
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7d798558
|
2019-05-13T13:40:09
|
|
Skip validating draw buffers when RASTERIZER_DISCARD is enabled.
Bug: 962555, 962636
Change-Id: I4a22f83689252b7b7e51bbb3fc80e8f0d601a43f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610701
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
0a1eeb80
|
2019-05-13T13:53:18
|
|
Call robust resource init before object sync.
This should let the Vulkan back-end only need to sync the Image data
once before we use them.
Bug: angleproject:3427
Change-Id: I8c6e8794e861f855bddbf651997351e8415e3479
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1602912
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
cc5199af
|
2019-05-13T09:44:40
|
|
Roll dEQP (May 2019)
Removes the EGL 1.5 overrides now that they are upstreamed.
Bug: angleproject:3446
Change-Id: I4b17354518534ea821bba83a4b1e00f83f80ac37
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1605786
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9d519ab1
|
2019-05-09T23:09:46
|
|
Vulkan: Rework layout block storage conversion
Previously, a pass over the shader was made, converting shared and
packed interface blocks with block storage to std140. This resulted in
link success between interface blocks with different storage as they
were all translated to std140.
With this change, this pass is removed. The link step proceeds with the
block storage specifiers as seen by GLES, and only upon Vulkan GLSL
shader generation "shared" and "packed" are converted to std140.
Bug: angleproject:3199
Change-Id: I069415ab9c9b4e1034bc00f64cd2d9e2d73f5956
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1605262
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0ae59f2a
|
2019-05-10T15:45:27
|
|
Add test to verify uniform matrix upload
Bug: angleproject:3198
Change-Id: Icb63d036a756b849c44d36342c7ba2fc2db0f910
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1604069
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
e1de1ab3
|
2019-05-13T10:53:47
|
|
D3D: Store error message by std::string instead of const char*.
These error strings are stored for recording later we can't depend on them
still being alive so make a copy.
BUG=962439
Change-Id: Ie9156c99b9ce79df4a11087bdcab92d980e959a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610078
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3dbe480b
|
2019-05-06T15:59:07
|
|
Validating draw buffers now also considers color mask settings
It will always return true if all 4 channels of color mask are set
to false.
This should only apply to WebGL. Will fix this in a later patch.
Bug: chromium:958374
Change-Id: I46befaf3ae1b63027dfbb309ac32724c616025d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1594629
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e4faae21
|
2019-05-10T08:27:00
|
|
Rename state change notification messages.
This makes the style use CamelCase instead of ALL_CAPS. It also cleans
up some of the naming. It also changes some uses of the messages in
some of the objects to hopefully be more consistent. See the comments
added to the enum SubjectMessage in Observer.h for more details.
Bug: angleproject:3427
Change-Id: I6dff4f6d335ecf1a27e48df65743b1490bd3025a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600411
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fdbece20
|
2019-05-09T18:06:34
|
|
Vulkan: Support unsigned int uniform types
Bug: angleproject:3198
Change-Id: Iac5d1389f4f466b7886246d8ca529e8f26a6a5bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1603629
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7b08d381
|
2019-05-09T00:52:04
|
|
Vulkan: Enable EXT_frag_depth
Natively supported with GLES3 dEQP tests already enabled and passing.
Bug: angleproject:3218
Change-Id: I5ff94e3b16d2025a58d5a448383049f9330dd46f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600864
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7ef73a52
|
2019-05-08T10:48:15
|
|
Vulkan: Support flat and centroid qualifiers
Bug: angleproject:3219
Change-Id: I2e0b60bda9c3af2b9eadf2efd3899250925897f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600335
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5517ce95
|
2019-05-07T00:27:06
|
|
Vulkan: fix qualifier erase for unused vertex attributes
Bug: angleproject:3219
Change-Id: I8f8f5572eed5126ab03702953883b313f022a264
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1598548
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9fa248e1
|
2019-05-06T14:55:18
|
|
Vulkan: Implement EXT_draw_buffers
In GLES, color attachments are referenced by their indices. These
indices match between the API and GLSL. For example, if a shader has:
layout(location=0) out color;
layout(location=3) out roughness;
Then GLES would bind and enable GL_COLOR_ATTACHMENT0 and
GL_COLOR_ATTACHMENT3.
In Vulkan, the framebuffer object and the corresponding renderpass
define the color attachments, and they don't allow gaps in color
attachments as GLES does. A render subpass creates the mapping between
the color attachments as defined in the framebuffer and the attachments
used by the shader (with possible gaps).
This change packs the enabled GL color attachments for the sake of the
framebuffer, and sets the subpass up in such a way that the shaders
continue to use the same color output indices as GLES.
In the example above, we have the attachment indices as follows:
Status | GLES | GLSL | RenderPass | Subpass
enabled 0 0 0 0
disabled 1 - VK_ATTACHMENT_UNUSED
disabled 2 - VK_ATTACHMENT_UNUSED
enabled 3 3 1 1
That is, the array of color attachments in the Vulkan
framebuffer/renderpass is:
[0] = GL color attachment 0
[1] = GL color attachment 3
And the array of color attachment references in the Vulkan render
subpass is:
[0] = 0 (index 0 of the renderpass attachment array)
[1] = VK_ATTACHMENT_UNUSED
[2] = VK_ATTACHMENT_UNUSED
[3] = 1 (index 1 of the renderpass attachment array)
Bug: angleproject:2394
Change-Id: Ib6cd2b60882643ea152986eee453270d09cd4aed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595442
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
776694cd
|
2019-05-08T10:28:55
|
|
Change all ANGLE workarounds to use struct definition with info.
Change each workaround from a simple bool to a struct with info
including name, workaround set, description, and bug IDs. This will help
with future workaround integration with Chrome.
Bug: angleproject:1621
Change-Id: Ia27c180abaf845e280060c803e5994cc3152a057
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593917
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cd078c33
|
2019-05-01T10:36:11
|
|
Allow mis-matched Android Context versions
Remove the EGL validation related to context version numbers since a
backwards compatible context could be created and shared, causing a
version mis-match.
Test: angle_deqp_egl_tests
Bug: angleproject:3243
Change-Id: Iae818433fea1b230b50aa47c14f084e9079c3583
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592133
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
85da00fd
|
2019-05-09T09:02:34
|
|
Remove dontRemoveInvariantForFragmentInput WA
Previously removed supporting code for the workaround
"dontRemoveInvariantForFragmentInput" but missed this declaration.
Bug: angleproject:3285
Change-Id: Ia23b424f2ccbdfe98b7cec79e4290b3621e44238
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601945
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
cf4c6b70
|
2019-05-09T11:33:39
|
|
Print current file in ASSERT macro failures.
Bug: angleproject:3436
Change-Id: If912ae75c96c34b27967f592910c2ee3403b24cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1602178
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ebab670c
|
2019-04-19T14:36:45
|
|
Adding new extension GL_OVR_multiview
GL_OVR_multiview functions exactly the same as GL_OVR_multiview2.
All GL_OVR_multiview2 tests now also repeat the same test using GL_OVR_multiview
Bug: angleproject:3341
Change-Id: I7e5294fb6bbf7692535174a15da6a42e1b5fc4e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575904
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
52e0e65a
|
2019-05-08T12:54:41
|
|
Vulkan:Exclude pragma_vertex test on MAC
With recent pragma invariant(all) fix the pragma_vertex test is failing
on MAC so excluding it from testing.
Bug: angleproject:3285
Bug: angleproject:3433
Bug: angleproject:3434
Change-Id: I59079afdbef2d23a593fe0fe061997624fea5cde
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601364
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5cbaa3f8
|
2019-05-07T15:49:22
|
|
Don't inherit ANGLETest SetUp and TearDown.
Instead of inheriting from testing::Test's SetUp and TearDown we add
new methods 'testSetUp' and 'testTearDown'. This helps prevent a common
error of forgetting to call the base class method.
Also add a check in the ANGLETest destructor that SetUp and TearDown
have been called.
Bug: angleproject:3393
Change-Id: Iab211305cc06ffea9ca649e864ddc9b180f2cba0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593960
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8fb00484
|
2019-05-08T12:24:41
|
|
fix a freeze when returning from fullscreen to maximized (nvidia only)
freeze happens after repetitive enter & exit full screen mode
Bug: angleproject:3431
Change-Id: Iea4cd75dc30cd17e53c0a7f1174e39b24d878d4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1599617
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0412d9e1
|
2019-05-01T12:56:40
|
|
Remove SystemInfo::primaryGPUIndex
primaryGPUIndex is being deprecated in favor of activeGPUIndex, which
represends the expected index of the GPU used for graphics.
Bug: angleproject:3383
Change-Id: I37f992adaf3716fc11e7f34b897c51c0148719cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592055
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
b76bf1b9
|
2019-04-18T16:00:22
|
|
Refactor in preparation of adding OES_depth_texture
Rename existing depthTexture extension flag to depthTextureANGLE to
distinguish it from OES depth texture extension to be added.
Bug: angleproject:3103
Test: angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.DepthTexture
Change-Id: I44c69a69b925a84f931518e0374e662893813061
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575425
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f5115ed4
|
2019-05-07T14:50:50
|
|
Vulkan: Enable standard derivatives extension
Enable standard derivatives by default for Vulkan.
Bug: angleproject:2903
Test: Validate Skia doesn't generate errors.
Test: CQ Runs
Change-Id: I7f180d4ca03c154db3e9562213127eca1ce65562
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1599857
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
19905aea
|
2019-04-26T01:48:31
|
|
Vulkan: Set the Vulkan scissor to the GLES viewport
Some Vulkan drivers are not clipping rendering that is outside of the viewport,
and the Vulkan spec has some language that indicates that ANGLE should set the
scissor:
The application must ensure (using scissor if necessary) that all rendering
is contained within the render area.
In this case, ANGLE is "the application".
Bug: angleproject:3253
Bug: angleproject:3254
Change-Id: I6885a3aa6daed57f6ae1c3d974663d763cad10c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553973
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
e9421b2c
|
2019-04-08T15:16:56
|
|
Vulkan:Only apply invariant pragma to output vars
The "#pragma STDGL invariant(all)" directive should only be applied to
shader output vars. This change also removes the workaround
SH_DONT_REMOVE_INVARIANT_FOR_FRAGMENT_INPUT which is no longer needed.
This change fixes two tests that were incorrectly assuming that the
pragma would be applied to inputs: GLSLTest.InvariantAll[Both|In].
Bug: angleproject:1293
Bug: angleproject:3285
Change-Id: I4eb03fa89fbc7c560150ee0cc32382024b0cb3e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558678
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
e4e3b322
|
2019-05-06T15:34:38
|
|
Add using-declaration to support Googletest roll.
Without this change, rolling Googletest results in compilation errors:
https://crrev.com/c/1594628/2.
Change-Id: I85e122ad449a3d8fb155b07f64d69022294ab6cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1598309
Reviewed-by: Victor Costan <pwnall@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
|
|
216f73d0
|
2019-04-12T13:32:30
|
|
Vulkan: add uniform buffer object support
Support for layout qualifiers in interface blocks are added. All
interface blocks are adjusted to either be in std140 or std430.
In the Vulkan backend, a new descriptor set is added for UBOs. A dirty
bit is added for UBO updating and pipeline layouts and descriptor
bindings are updated.
Bug: angleproject:3199, angleproject:3220
Change-Id: I271fc34ac2e1e8b76dee75e54a7cff0fe15fe4ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565061
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e76c5c3c
|
2019-05-03T15:51:30
|
|
Vulkan: Enable drawRangeElements()
Enable drawRangeElements() for the Vulkan backend and the associated
tests.
Test: angle_deqp_gles3_tests
Bug: angleproject:3420
Change-Id: I98770631ce1387131bb45e2c1e9df24e911bc692
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595101
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f6cbe44a
|
2019-04-18T15:32:07
|
|
Use D3D11 GetDimensions driver workaround for 2D integer textures
Some NVIDIA D3D11 drivers are buggy and interprets the level passed to
GetDimensions as being relative to 0, rather than the SRV's MostDetailedMip.
A test is added which reads from non-zero base level integer texture. When the
workaround is not being used, reads outside the first quadrant return black.
Bug: chromium:679639
Change-Id: I5282a1ba207b2d553d1836f9460ec09cb5590ea6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591594
Commit-Queue: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
Reviewed-by: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
|
|
0f4d72e6
|
2019-05-06T10:27:34
|
|
Add makeCurrent and unMakeCurrent to SurfaceImpl.
SurfaceGL had these methods already so they are just moving up the inheritance
hierarchy. This ends up simplifying some state tracking we had in our surface
implementations.
BUG=angleproject:2464
Change-Id: I480588ca8470d9ef507f95e0c0297fe126b3abfb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595434
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
e755a537
|
2019-04-10T09:58:21
|
|
Vulkan: Add a new garbage type gated by fences.
This allows Vulkan EGL objects such as EGL Syncs and EGL Images to give their
garbage to the renderer before destroying.
BUG=angleproject:2464
Change-Id: I59b8e1080e4292bd0856e59a928750c7e77a372e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1562522
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d7d42395
|
2019-05-06T13:15:35
|
|
Format all of ANGLE's python code.
BUG=angleproject:3421
Change-Id: I1d7282ac513c046de5d8ed87f7789290780d30a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595440
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
8ba78da0
|
2019-04-30T23:42:31
|
|
add support for EXT_blend_func_extended to D3D11
Change-Id: Id66868851a490d0a68a7e76280720825c4844a45
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591192
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3e62561c
|
2019-05-06T11:48:52
|
|
Suppress test hitting Nvidia shield driver bug
The same test was hitting a bug with the Nvidia driver on windows+gles.
Bug: angleproject:3413, angleproject:3417
Change-Id: I39426291eac731bcda068829686e09cf406ff661
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595438
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
66e4850d
|
2019-04-25T10:49:05
|
|
Use EnumAdapters to properly detect primary GPU on Win
EnumDisplayDevicesA returns the card that's connected to the display,
but EnumAdapters return the adapter which the desktop primary is
displayed at index 0. We can use this to determine the device used for
graphics.
Also cleans up the discrepancy between platforms on finding "primary" vs
"active" GPU. Asserts that the GPU expected to run ANGLE commands is the
active GPU, and deprecates the primary GPU to be equal to the active
GPU.
Bug: angleproject:3383
Change-Id: I422fba1bbe47d85b7c09e378d559eaebf89e2625
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584360
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c22ef61f
|
2019-04-09T09:55:14
|
|
Vulkan: Store fences instead of serials in SurfaceVK::SwapHistory
Previous swaps may not have been submitted by the same context as the current
swap and we can't safely wait on serials submitted by other contexts.
BUG=angleproject:2464
Change-Id: Ibcb23171feae038fd45abdefb80c4e8a373744e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1562521
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
6f0c5b8d
|
2019-05-04T10:00:02
|
|
D3D11: Fix potential invalid VAO access in dispatch.
In some instances running a dispatch call could lead to accessing an
invalid VAO pointer. This seemed to be tied to switching Contexts.
Fix the bug by invalidating the cache pointers on Context switch. Note
that it seems this bug can only affect ES 3.1+ Contexts.
Bug: angleproject:3349
Change-Id: Ib712bcc29215b3fd1c8b7eb0cbd70dea649b3cfc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1594289
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
62742f9e
|
2019-05-01T16:14:50
|
|
Vulkan: Optimize shader source macro replacement
@@ LAYOUT-xx @@ and @@ QUALIFIER-xx @@ macros are generated by the
compiler when emitting Vulkan GLSL. These macros are replaced at link
time in the Vulkan backend.
Previously, this replacement was done through calls to
angle::ReplaceSubstring, reiterating over the whole source on every
replacement. This CL does a prepass on the input source and chunks it
up in blocks. Search is optimized as only blocks of a certain type are
string-compared (skipping large chunks of shader text). Replace is
optimized as the whole shader is not shifted left or right on every
replacement.
Additionally, this CL modifies the layout macro to the following format:
@@ LAYOUT-xx(extra, args) @@
This is used in a follow up CL to have the compiler provide additional
layout qualifiers.
Bug: angleproject:3220
Change-Id: I6367e781c3304d5f2e0a406e4fb4e6feb4c45f1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592070
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
be394bad
|
2019-05-02T13:41:19
|
|
Vulkan: Reset swap chain image dependency information when aquiring.
If an image was used by a different context previously, it's stored serial
is not relevent. We always know that any work involving the swap chain image
has been completed by the time we aquire a new one.
BUG=angleproject:2464
Change-Id: I0b12b9ff4b9a68593d661344d2d1e2c9d94e4755
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592043
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
e25ff9d8
|
2019-05-01T00:02:05
|
|
Vulkan: Fix qualifiers for varyings
`out` variables in the vertex shader and `in` variables in the fragment
shader were not decorated with `layout(location=?)` as they should
according to the Vulkan GLSL spec. This change makes sure these
decorations are present regardless of whether the compiler sees these
variables as EvqVaryingIn/Out or EvqVertexOut/FragmentIn.
Bug: angleproject:3412
Change-Id: I66473e876cb989a60b0c6d6a5850a8b2c763d8e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1590694
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
58957f3d
|
2019-05-03T12:52:22
|
|
Add option to run each test config in a separate process.
This CL adds a command line option to angle_end2end_tests that will
iterate over all test configs. For each config it'll fork a new child
process that will run only a single config. This will allow us to
isolate each config to a specific child process. Hopefully this will
reduce test flakiness due to driver issues with multiple configs.
The command line option is "--separate-process-per-config".
Note that there are about 25 configs right now.
Bug: angleproject:3393
Change-Id: Ia117b371bbe159c1b0d28d82befffeb0f40467a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591428
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
80147d11
|
2019-04-30T16:21:24
|
|
Add support for dynamically allocate initial stack for Angle
By updating YYLTYPE_IS_TRIVIAL to true, YYSTACK_RELOCATE can be enabled, so
we can dynamically allocate stack size based on needs.
BUG=angleproject:3028
Change-Id: I1b9cc0768cd0c6955589695e703595c56d43f24a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593954
Commit-Queue: Yi Xu <yiyix@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
467f174f
|
2019-05-03T12:52:21
|
|
Remove EGLTest.
Consolidate these tests into ANGLETest. Add a new parameter to
PlatformParameters that lets us skip normal test setup.
This removes the last 'configless' tests from angle_end2end_tests.
Bug: angleproject:3393
Change-Id: I87186698ade90f95577534eb8ed1dfd4245f740e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1590467
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
97f0affb
|
2019-05-03T12:52:21
|
|
Add command line option to filter by test config.
This allows us to run angle_end2end_tests with a single config without
using gtest_filter. It will also allow us to run each test config in
a separate process.
Bug: angleproject:3393
Change-Id: I09aaf9cfe55a117b0af8d79ecfd129f3d0f1d7c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591427
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
051b0896
|
2019-04-15T15:39:39
|
|
Vulkan: Fix layout substitution for struct varyings
If the shader contains code such as the following:
struct S {
vec4 field;
};
out S varStruct;
The layout qualifier macro is defined as @@ LAYOUT-varStruct @@.
However, the Vulkan backend was replacing @@ LAYOUT-field @@.
Bug: angleproject:3220
Change-Id: Iae15003867e0bed2cc939159a6653429c7a431e0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1571389
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
989bc9a3
|
2019-05-02T13:31:24
|
|
Move ANGLE Platform Methods init to GetDisplay.
Moving the Platform Methods init to GetDisplay allows us to override
the platform methods as soon as possible. This lets Chromium override
the methods via ANGLEGetDisplayPlatform. It also lets us reset the
platform methods when making a new display. Note that because the
methods pointer is global it's a bit tricky to manage between swapping
configs in ANGLE tests. Using a separate test process for each config
should help.
Bug: angleproject:3393
Change-Id: I351f86422e53075563f6d8fce32efbd40023cd23
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592045
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
3e251337
|
2019-05-02T16:12:54
|
|
Removed SizedFloat helper class from upload tests.
This helper was redundant with the image utils library. Switch the test
to use the existing methods. Doesn't affect test correctness.
This removes more 'configless' tests from angle_end2end_tests.
Bug: angleproject:3393
Change-Id: I49cfbd95c3713b2b4b25c4716a7a279d84ddf994
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591426
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
926f1caa
|
2019-05-01T14:03:05
|
|
Add support for GCC Compilers
Add support for GCC Compilers, so it can be build on Ubuntu.
BUG=angleproject:3392
Change-Id: I2f5ac7355a40f52123bd465f86b1e966c59c943d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592062
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yi Xu <yiyix@chromium.org>
|
|
69f72b41
|
2019-05-02T16:12:54
|
|
Simplify ANGLE test config names.
We don't need to use upper case. Lower case can be more readable.
Skip a test on Linux/NV/Vulkan that became flaky after changing
the test order.
Bug: angleproject:3393
Change-Id: Ie027e08ddc9d47b9484cf5b1aaca72a05dd60517
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574676
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ddc4d33a
|
2019-05-01T15:11:46
|
|
Remove several underused platform configs.
* Removes D3D11 Warp and Reference configs from tests.
* Removes several permutations of OpenGL back-end specific configs.
* Removes FL 9_3 since it is no longer supported.
* Removes present path "Copy" since it's redundant with normal D3D11.
Reduces number of configs from over 60 to 25.
Bug: angleproject:3393
Change-Id: Ia5a23de3c4865b17ee50673a4066757b901a4b5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574675
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3089f92e
|
2019-05-01T15:11:46
|
|
Move EGL Display config into EGLPlatformParameters.
This CL moves all of the EGLDisplay configuration into an EGL platform
struct. Consolidating display configuration in the struct allows us to
move configuration out of the test constructor. Then when we filter
test configs we don't need to wait for the individual test setup.
Bug: angleproject:3393
Change-Id: I5bd06dcdc9f2867ebc43c1d4984077ada35cafc8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574674
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
ca49e6dc
|
2019-05-01T14:20:36
|
|
Reset the default framebuffer if ContextImpl::onMakeCurrent fails.
Context has the invariant that if it is not current anywhere, mCurrentSuface is
null. If makeCurrent fails in ContextImpl::onMakeCurrent, the surface is not
reset, breaking this invariant.
BUG=angleproject:3414
Change-Id: Icb13c8e2d1edd98d87a8af091a3fbacebadb395c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592064
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
fc0be049
|
2019-04-18T09:44:06
|
|
Fix GL_MAX_COMBINED_UNIFORM_BLOCKS query
This was previously returning maxCombinedTextureImageUnits instead of
maxCombinedUniformBlocks. Fixing that exposed a bug in the GL backend
where the combined values were sometimes capped to vertex+fragment
values and sometimes not capped at all.
The reasoning for such capping was that the combined limits as queried
from GL contains stages not available in GLES (such as tessellation).
However, the capping failed to take geometry shader limits into account.
This change adjusts such capping to vertex+fragment+geometry. It also
applies the cappping to all combined limits, rather than a select few.
Bug: angleproject:2099
Change-Id: I7231058b5d7f80b1b2452d9f87d4b0ab6e1cdb17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1572487
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b8149075
|
2019-04-30T16:14:44
|
|
Clean up ANGLE test extension functions.
None of these functions needed to be member functions. Also make the
naming more consistent.
Bug: angleproject:3393
Change-Id: I7aafe2269a48af703a87bd9a8cf4cfab9e177dd3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574673
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0659c991
|
2019-04-30T16:14:43
|
|
Set swap interval explicitly.
The swap interval can be changed independent of the Surface config.
Thus it makes more sense to set it explicitly in test setup. This
simplifies the test config.
Also updates some of the API for GLWindowBase. Return an explicit
error from makeCurrent.
Bug: angleproject:3393
Change-Id: Ic62b33018e872bc0e38f2848e2427ed898b60749
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574672
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8f39cd83
|
2019-04-10T13:58:08
|
|
Roll Chromium DEPS (April 30, 2019).
Required a few build tweaks because GN check does not understand
#ifdef includes.
Bug: angleproject:3411
Change-Id: I1aa7b97626767e3dc973bfa55f5b2a511c806ec9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1589148
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0f861bd8
|
2019-04-26T16:00:23
|
|
Vulkan: Don't present on surface destruction.
The the user hasn't called SwapBuffers explicitly, we should not write to
the window surface. This is especially a problem when the native window has
already been destroyed.
BUG=angleproject:2464
Change-Id: Ib4289de471ba2ad10e5cc21a8c2af946642f138c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1586355
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
15ce8227
|
2019-03-18T19:25:21
|
|
Fix error report when active color buffer has no fs output
Also modify or remove some tests to sync up with the expected behavior
stated in spec.
Related to https://github.com/KhronosGroup/WebGL/pull/2780
If any draw buffer with an attachment does not have a defined fragment shader output,
draws generate INVALID_OPERATION.
Also remove Framebuffer masking for inactive outputs.
This workaround is no longer necessary as the WebGL spec has changed.
It also was never fully working and had bugs with certain orders of
calls.
Bug: angleproject:2872
Bug: chromium:927908
Bug: chromium:943538
Change-Id: I73715a6ab851ae3db7096f49ea0a9fdd6f576703
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1530018
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
28383fb2
|
2019-04-26T16:00:06
|
|
Vulkan: Wrap aquire semaphore in a vk::Scoped
If vkAcquireNextImageKHR fails, the aquireImageSemaphore would be leaked,
wrap it in a vk::Scoped so it is always cleaned up.
BUG=angleproject:2464
Change-Id: Ic4a0e16c89ea7c35cf060e5601760422e673c080
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1585318
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
82133763
|
2019-04-02T16:58:37
|
|
Vulkan: Add an unMakeCurrent for contexts.
This allows contexts to flush and update state when they are no longer
going to be current.
BUG=angleproject:2464
Change-Id: Ie577475a94090631a0208542b32a12a239bdeb75
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553824
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1ad7a072
|
2019-04-26T14:05:25
|
|
Clean up unexpected passed/failed test behavior for generate_stats
The lists of tests can't be added to the sheets if more than 50,000
lines. Since the goal is to get rid of all unexpected passes/failures,
it's reasonable to clip the lists by length. Other formatting changes
too.
Bug: angleproject:3398
Change-Id: Ice461862fb4266e0ad1280f20de85224fc6d7e97
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1585612
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
6f691fbb
|
2019-04-25T11:01:52
|
|
Port the WebGL2 framebuffer-texture-changing-base-level test to native
A nearly direct port of the https://www.khronos.org/registry/webgl/sdk/tests/conformance2/rendering/framebuffer-texture-changing-base-level.html
test for easier debugging.
BUG=angleproject:2291
Change-Id: Ibc8a7e77629f1ea3f15e92ea93f1210fa850c524
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584361
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shrek Shao <shrekshao@google.com>
|
|
51ac37ee
|
2019-04-25T13:32:16
|
|
Print unexpected passed/failed tests with formatting for generate_stats
The stats generation should pick up a list of unexpected failed/passed
tests, so the tests should be printed with the format used by this
script.
Bug: angleproject:3398
Change-Id: I96a8eba6c2e294f64ca59ec60042cc688d1133c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584363
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
fb6fbdbc
|
2019-04-12T15:16:30
|
|
Return that polling queries have completed after context loss.
KHR_robustness says that certain queries that poll such as GetSynciv with
SYNC_STATUS should still generate errors after context loss but also return
that the result is available.
BUG=angleproject:3379
Change-Id: Ibf61f8481bc7c3d1b4fa8979dc404d0ca3952fcd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1566142
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5a0f64b6
|
2019-04-23T16:06:47
|
|
D3D: Require cube completeness to create render targets
TextureD3D_Cube::isFaceLevelComplete skips checks for the base level
because it assumes that isCubeComplete has already been called to
verify the base level. This assumption is not correct for some cases
like glCopyTextureCHROMIUM which attempts to create a render target
from cube maps that may not be complete.
This caused us to create render targets from incomplete cube maps and
then fail to upload data to the cube faces because the sizes or formats
did not match between the images and render target.
TEST=conformance/more/conformance/quickCheckAPI-S_V.html
BUG=angleproject:3384
Change-Id: Iceb9415debfa07436fea1eb4bc23d0ec05679839
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1578957
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
1b0acbb5
|
2019-04-23T15:17:56
|
|
Add cases with multiple draws and dispatches
D3D11 cannot allow the same (sub)-resource bound as both
a SRV and an UAV at the same time. If render pipline and
compute pipeline access the same texture, must unset
conflicting SRVs and UAVs before drawing and dispatching
on D3D backend. Currently, these cases could not pass
on D3D11 backend.
Bug: angleproject:3152
TEST=angle_end2end_tests.ComputeShaderTest.*
Change-Id: I3ed19d7586625aac7fe9f46f86341d136d148019
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1578131
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
|
|
47b5b1c2
|
2019-04-22T13:32:31
|
|
Vulkan:Improve white box test documentation
Add target for angle_white_box_perftests to DevSetup.md Android build
instructions. Generously comment the test source to clarify various
tests and how to run them.
Bug: angleproject:3136
Change-Id: Ie4f0ec6951d354ebac861f727c9d550a93ad48c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1577740
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
1f6eb0cd
|
2019-04-24T16:32:00
|
|
D3D: Re-mark StreamDraw buffers as dynamic.
The StreamDraw usage flag was changed to a static type in
http://crrev.com/50eb1e6f77b3b0ad89d2cd00efc0d1d673365296 but it appears to
have regressed performance in several Chrome benchmarks because
Skia uses it as a usage flag for buffers that change data frequently.
BUG=angleproject:3366
BUG=953788
BUG=954028
Change-Id: Ib6805d94714bcd1679f3c9c49f1b70574f0b658a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1582786
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
8cbd321c
|
2019-04-23T13:25:20
|
|
Android: Clean up the ANGLE APK
* Rename the APK package name to reflect that it is from Chromium build.
* Rename the application to reflect it is no longer used on Android system image.
* Remove code supporting multiple APKs, since we only have one now.
* Remove the placeholder icon, which is no longer needed.
* Remove the ANGLE_FOR_ANDROID intent, since this APK is not built in.
* Remove the java code since since it was only in support of the intent.
* Remove most apps from the rules file.
Bug: angleproject:3396
Change-Id: Ic6a2fd03e5686026ab4650fc0c25adb298af03c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579389
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
c9a9cfcc
|
2019-04-23T16:25:18
|
|
`environ` needs to be declared for (at least) FreeBSD.
Declaring it unconditionally seems to build fine on all other platforms.
Change-Id: I4c587d6ec47989f0d22588aca8883c4ef68f91c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579917
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
83740f97
|
2019-04-22T11:56:56
|
|
Android: Add ANGLE version to logcat
We need addtional info in logcat to diagnose ANGLE issues.
Before this, only Vulkan version and hardware details are reported:
ANGLE : Vulkan 1.1.87(Adreno (TM) 540 (0x05040001))
After this, we also get the ANGLE version:
ANGLE : Version (2.1.0.bc20af89d498), Renderer (Vulkan 1.1.87(Adreno (TM) 540 (0x05040001)))
Bug: angleproject:3395
Change-Id: I4b67fe5ce389d3d2d641a4cc8b2e0b67649dc70d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579044
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
c467f7b5
|
2019-04-17T20:20:30
|
|
Compute usage from format properties cache in glTexStorageMem2DEXT
Per issue 13 in the EXT_external_objects spec, we should request all of
the usage flags that are supported for the format.
Bug: angleproject:3289, angleproject:3389
Change-Id: I5ef9906061af0fd619f580a9f603dd43be162932
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1573218
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
51386f4a
|
2019-04-11T21:55:20
|
|
Reland "Define and expose EGL_ANGLE_power_preference extension."
This is a reland of ac58e63295f093b7518535bdd060ff832025b0c5
The original CL was reverted in a rush because I thought there was an
uninitialized variable bug, but upon later re-review this turned out to
not be the case.
Original change's description:
> Define and expose EGL_ANGLE_power_preference extension.
>
> Allows application to select the integrated or discrete GPU on
> dual-GPU macOS systems.
>
> Tested by modifying the example program at:
> https://github.com/grorg/ANGLEIOSurfaceTest
>
> and verifying that both integrated and discrete GPUs can be selected.
> (The changes to that program will be upstreamed once some build issues
> are resolved.)
>
> Bug: 2813
> Change-Id: Ibeb17778512896456d220e9bc4cf8f222aa57057
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570081
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Bug: 2813
Tbr: geofflang@chromium.org
Tbr: cwallez@chromium.org
Change-Id: Iea000dd718f4f4b4f57237adb1dc44381b10106b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575419
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
145ec7fa
|
2019-04-19T01:50:34
|
|
Revert "Define and expose EGL_ANGLE_power_preference extension."
This reverts commit ac58e63295f093b7518535bdd060ff832025b0c5.
Reason for revert: Revert on kbr's request: "has an uninitialized variable bug"
Original change's description:
> Define and expose EGL_ANGLE_power_preference extension.
>
> Allows application to select the integrated or discrete GPU on
> dual-GPU macOS systems.
>
> Tested by modifying the example program at:
> https://github.com/grorg/ANGLEIOSurfaceTest
>
> and verifying that both integrated and discrete GPUs can be selected.
> (The changes to that program will be upstreamed once some build issues
> are resolved.)
>
> Bug: 2813
> Change-Id: Ibeb17778512896456d220e9bc4cf8f222aa57057
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570081
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,kbr@chromium.org,cwallez@chromium.org
Change-Id: Icb936d91eec70deb825585da3ff8835ca2794736
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 2813
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575134
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
|
|
ac58e632
|
2019-04-11T21:55:20
|
|
Define and expose EGL_ANGLE_power_preference extension.
Allows application to select the integrated or discrete GPU on
dual-GPU macOS systems.
Tested by modifying the example program at:
https://github.com/grorg/ANGLEIOSurfaceTest
and verifying that both integrated and discrete GPUs can be selected.
(The changes to that program will be upstreamed once some build issues
are resolved.)
Bug: 2813
Change-Id: Ibeb17778512896456d220e9bc4cf8f222aa57057
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570081
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
85a239d0
|
2019-04-18T15:47:52
|
|
Vulkan: Write docs on format tables.
Bug: angleproject:3372
Change-Id: Ib6cae7975484f4789f3d244adcb158e49892a246
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574619
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0631e19b
|
2019-04-18T16:09:12
|
|
Vulkan: Rename Vulkan "Texture" format to "Image"
Also adds some comments to vk_format_utils.h.
Bug: angleproject:3372
Change-Id: I529b9b189e4cdfd400c3c981a47139727d9954ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565062
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3b775865
|
2019-04-18T15:59:15
|
|
Skipped tests not accumulated in dEQP stats output.
The sSkippedTests is not incremented in the kGpuTestSkip check in
runTest, when it should be.
Bug: angleproject:3390
Change-Id: I4aca73ba1bbe3060fc3c0cd27679c2276a30a741
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574620
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
d18c048a
|
2019-04-04T19:56:43
|
|
Remove Nexus 5X Vulkan test suppressions.
SimpleStateChangeTest.DrawArraysThenDrawElements
TextureUploadFormatTest.All
VertexAttributeTest.UnsignedByteNormalized
VertexAttributeTest.ByteNormalized
EXTMultisampleCompatibilityTest.DrawAlphaOneAndResolve
was skipped on all Android for unspecified reason in
https://chromium-review.googlesource.com/c/angle/angle/+/451877
seems to be passing now.
Make some suppressions OpenGL ES specific:
MultisampleCompatibilityTest.DrawCoverageAndResolve
RobustResourceInitTest.TexImageThenSubImage
RobustResourceInitTest.ReadingPartiallyInitializedTexture
RobustResourceInitTestES3.MultisampledDepthInitializedCorrectly
RobustResourceInitTest.MaskedDepthClear
RobustResourceInitTestES3.MaskedDepthClearBuffer
RobustResourceInitTest.MaskedStencilClear
RobustResourceInitTestES3.MaskedStencilClearBuffer
TransformFeedbackTest.OffsetResetOnBeginTransformFeedback
Bug: angleproject:3262
Bug: angleproject:3124, angleproject:2657, angleproject:2797
Change-Id: I3ed7a3f0ebbb4598bff75e2b3bd8b3b0630779f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1572484
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
f02a767d
|
2019-04-09T18:45:23
|
|
Vulkan: Implement glTexStorageMem2DEXT
This implements support for creating textures that alias vulkan images
allocated inside external memory.
Bug: angleproject:3289
Change-Id: Iad071f353a217793102ae737647c7cd572f7b0ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552029
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
422c94bd
|
2019-04-12T13:37:19
|
|
Vulkan: Enable ES3 fragment output attribute locations
GLSLTest_ES3 end2end tests are enabled for Vulkan, though with
suppressions for other features that are missing.
Bug: angleproject:3199
Change-Id: Ie744e160eab2df9a5a4f2c67ea5acf4b865ea5bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565058
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
82bcffa7
|
2019-04-17T10:45:25
|
|
Disable parallel compile for d3d11 compute
To observe whether the flaky issues still show up with the feature
disabled.
Bug: angleproject:3349
Change-Id: I0eae861ad76212fb4a65b57c1e1b5e8c583d6a3b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1571027
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
|
|
0f7a2330
|
2019-04-17T11:13:41
|
|
Modify test result output from dEQP tests for visualization script.
Test results will now be prepended with [TESTSTATS], and there are two
new outputs added for unexpected passes and unexpected failures.
Bug: angleproject:3369
Change-Id: Iec4dafe695531dcf56d496083036ccf1e286ead7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1571388
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
057b76e1
|
2019-04-12T14:48:59
|
|
Implement GL_CHROMIUM_lose_context.
This is useful for testing context lost behaviour.
BUG=angleproject:3379
Change-Id: If0e1538553b1761e313fc36ccde5138cd495200f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1566141
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
95c0fae6
|
2019-04-16T22:46:08
|
|
Vulkan: Clear surface images if emulated format
This was done for renderbuffers but was missing for surfaces.
Bug: angleproject:2722
Change-Id: I019805d6ca43eef86d2d46e7c72c1013803f2139
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570149
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3b2c6bfd
|
2019-04-16T17:19:50
|
|
Vulkan: Implement glImportMemoryFdEXT
Allow importing opaque file descriptors into memory objects on linux.
Currently this just holds onto the file descriptor rather than calling
vkAllocateMemory immediately. The latter will be easier once we have
support for suballocation (anglebug.com/2162).
Bug: angleproject:3289
Change-Id: Ia80ce07b2a9ec95b9063feb9bfeb24ffe77fa40e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552028
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c832cdd7
|
2019-04-15T14:53:01
|
|
dEQP test_expectations parser should output an error on unused lines.
dEQP test_expectations parser should allow nested overrides.
When an expectation line is not used for any test, it's likely
duplicated or misspelled, or the test was removed. The parser should
output these errors to make it easier to keep the expectations up to
date.
Also necessary to allow longer/more specific expectations to override
shorter ones, so the scenario where you FAIL one set of tests across
platforms, and SKIP a subset of that group on one platform will still be
allowed.
Bug: angleproject:3368
Change-Id: If0470cb6fb12f8d3daa97df0c701185fa086668c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1564725
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b8a8ffd3
|
2019-04-11T21:09:37
|
|
Add support for RGB10A2 in eglCreatePbufferFromClientBuffer
Bug: chromium:937108
Change-Id: I689562ebff9f9f85ecb8af918bbb788b16b0f91b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565420
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e0da9cef
|
2019-04-16T14:34:51
|
|
Pack handle type enum for glImportMemoryFd & glImportSemaphoreFd
Bug: angleproject:3289
Change-Id: Ic20b1d55641494b46622e1e28d93e2ca30655ea6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1566143
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
50eb1e6f
|
2019-04-16T12:18:35
|
|
D3D: Update dynamic BufferUsage flags.
Changed the mapping between gl::BufferUsage flags
and D3DBufferUsage flags. Only gl::BufferUsage::DynamicDraw
gets mapped to D3DBufferUsage::DYNAMIC now. This reflects
a better mapping between GL and D3D.
BUG=angleproject:3366
Change-Id: I5062f91fdb3664339e2c259b399d5f47401675d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1569465
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7d64c486
|
2019-03-12T14:27:40
|
|
GL_ANGLE_multiview has been renamed to GL_OVR_multiview2.
changes include:
1) GL_OVR_multiview to GL_OVR_multiview2 extension directive change
2) Removal of all references to side by side. We no longer support multiple views in a single 2DTexture. Only 2DTextureArray's are supported
3) WebGL 2 (ES3) is required for multiview
Bug: angleproject:3341
Change-Id: Ie0c1d21d7610f8feebdb2e4d01c6947f57e69328
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552023
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|