|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
e02ad4d3
|
2019-04-16T14:12:37
|
|
Suppress tests crashing on teardown on Win Intel D3D11
BUG=angleproject:3349
Change-Id: Ib86f8b87d719919c980240d3220521a3c7f8a942
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1569466
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
e7da32f1
|
2018-12-27T15:31:47
|
|
Fix the failure in UpdateImageTextureInUse
If we update the texture data between two dispatch calls, ReadPixels can't
get right result after the second dispatch call. The failure reason is
that after the first dispatch, ReadPixels will sync framebufer state which
will update color render target. Finally, TextureD3D::ensureRenderTarget
is reached. However, we are in compute pipeline.
mTexStorage->isRenderTarget() will be false. That results the current
texture will create a new render target storage. But the UAV is still
bound with the previous texture storage. If there is no texture dirty bit
between these two dispatch calls, applyTexturesForCompute won't be called.
After the second dispatch, readPixels will read data from the new texture
storage which is not updated.
Bug: angleproject:3015
Change-Id: Ib2494ab8bf6e12faefc0a7370719d383526c36ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1390710
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
ccd91316
|
2019-04-12T14:13:22
|
|
Use primaryGPUIndex over activeGPUIndex when determining the system GPU.
Mac OPENGL/AMD dEQP test suppressions were being ignored because in
SystemInfo the activeGPUIndex was used when the primaryGPUIndex should
have been used.
Bug: angleproject:3373
Change-Id: I2664049b956bf8903c6d7094ec27646766e7ce16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565056
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
d3ec341d
|
2019-04-10T11:37:07
|
|
Fix LineLoopStateChangeTest to actually draw square and hourglass
The test claimed to be drawing an hourglass followed by a square. That
is:
----
\/
/\
----
followed by:
----
| |
| |
----
With the end result being:
----
|\/|
|/\|
----
However, in reality it was drawing two hour glasses with the same
result. That is:
----
\/
/\
----
followed by:
|\/|
|/\|
Bug: angleproject:3361
Change-Id: I59a2930f78e6e448b6ccb2e5f70c73ff0f15a2ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1561650
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5646a7cc
|
2019-04-12T16:42:56
|
|
Uniform buffers not dirtied for gl_VertexID workaround on D3D11.
Related to:
https://chromium-review.googlesource.com/c/angle/angle/+/1520988
The program uniform buffers were dirtied for this edge case, but it
should have been the driver uniform buffers. This CL fixes this and adds
a tests case which catches this.
Bug: 945903
Change-Id: I6142771e200513ed0251fc97cec68d371d39ec1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565059
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shrek Shao <shrekshao@google.com>
|
|
8f0210f7
|
2019-04-10T10:44:10
|
|
Always enable NPOT for Vulkan backend
Vulkan natively supports non power-of-two textures so indicate
that support for front-end.
Bug: angle-project:3239
Test: angle_deqp_gles2_tests --gtest_filter=dEQP.GLES2/functional_texture_completeness_2d_npot_t_repeat --use-angle=vulkan
Change-Id: Id9058b6e9afd1d43e5d74612f808ce39beafd35f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1561963
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
23667b7e
|
2019-04-10T12:49:56
|
|
Update test result output from ANGLE dEQP gtests.
* prints lines for total, passed, failed, not supported, skipped, and
exception results.
* prints unexpected passed and failed tests each individually using the
dEQP name of the test.
* moves skipped test detection into the test loop. skipped tests will
now print a message that they've been skipped.
Bug: angleproject:3369
Change-Id: Idbfc0154a658eda3f52b5bfd30fbff0860a00133
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1561970
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4877ef35
|
2019-04-12T10:36:00
|
|
Ensure deleteTexture preserves correct texture cache.
Also adds a test contributed by jgilbert@mozilla.com.
Bug: angleproject:3375
Change-Id: Ibd52daa074bf53b2b213193ccf5a612705a89c67
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565052
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a95940c6
|
2019-04-12T10:54:05
|
|
Suppress flaky dEQP 3.1 test
functional.shaders.builtin_functions.uniform.findLSBMinusOne.highp_compute
on D3D11
Bug: angleproject:2619
Change-Id: Ia7a83429d03b871967d2d6c5ecd3ce82111b98fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565427
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
9af10e8a
|
2019-04-11T16:20:57
|
|
Incorrectly placed extension directive is an error
The ESSL 1.00 spec states "...the extension directives must occur before
any non-preprocessor tokens." This change makes the occurance of an
extension directive after non-preprocessor tokens a compilation error.
Bug: angleproject:3285
Change-Id: I9f8631366151c92fb6d8b4408596917012d9a3e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565411
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
e29b61e6
|
2019-04-11T17:02:42
|
|
Skip ParallelShaderCompileTestES31.LinkAndDispatchManyPrograms
Flaky on Win NVIDIA D3D11
Bug: angleproject:3359
Change-Id: I56a0e4266f1cd0913852a43852666dee055a8e00
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1564562
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
2249d4a7
|
2019-04-05T16:48:55
|
|
Vulkan: remove clear depth ability from clearWithDraw
This partially reverts the following change:
60ec8f576 Vulkan: break dependency to the depthClamp feature
The feature is no longer necessary, and simplifies the usage of
utility shaders.
Bug: angleproject:2361
Change-Id: I1e87ac8d2517c5a3b50e3d0cddd55c852e0e3e7d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1555313
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
127990f9
|
2019-04-04T13:52:04
|
|
Vulkan: Use render pass loadOp for scissored clears
At this point, every clear is done through render pass loadOp, except
masked color or stencil clears. The only fallback is clearWithDraw,
that can clear both color and stencil at the same time.
Bug: angleproject:2361
Change-Id: I805fc12475e832ad2f573f665cdfeb766e61a6d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553740
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
d581f918
|
2019-04-11T10:21:05
|
|
Vulkan: few more EGL dEQP suppressions on Android
Follow up to c02ef98fb199341d644e4751ac682d858595420e.
Bug: angleproject:2546
Change-Id: Ibad7befc5bed95544c0cf15a79d25b47ec8a00bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1564710
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e6b23e45
|
2019-04-10T17:19:15
|
|
Skip Texture2DTestES3.TextureImplPropogatesDirtyBits on Win AMD GL
Bug: angleproject:3371
Change-Id: I7601e6b658835b9c948acab98491f5bd01ea9497
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1562517
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
34cbc544
|
2019-04-05T11:30:10
|
|
Use ANGLE's gpu_info_util libraries for test expectations
3. Remove gpu_info.h and gpu_info.cc and use ANGLE's own gpu_info_util to to
gather device info instead.
- Support collecting info for and parsing expectations of specific Android
devices such as Nexus 5X and Pixel 2.
- Change parser behavior to more closely follow:
bit.ly/chromium-test-list-format
Bug: angleproject:2677
Change-Id: I4c0b9342142b718e884484a6bcaac2dff3ac575a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553822
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
893ccb48
|
2019-04-09T16:19:20
|
|
Skip EGLSurfaceTest.SwapInterval on Nexus 5X and 6P GLES
Bug: angleproject:3364
Change-Id: I51dd45cfcd1c548266712b71eac0dca60574e69e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558960
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c02ef98f
|
2019-04-09T16:09:44
|
|
Vulkan: update GLES3 and EGL expectations
Few GLES3 expectations were updated in preparation for running those
tests on the bots (one change on Linux, a handful on Android).
A number of EGL tests were discovered to crash on Android. They are
suppressed as well. Note that most of these tests were previously
marked as failing or flaky on the GLES backend as well, and they are
marked as SKIP everywhere instead.
Bug: angleproject:2341
Bug: angleproject:2546
Bug: angleproject:2950
Bug: angleproject:3186
Change-Id: If52d5faeea994c8b6200b713b3c2f1b1a1aeff92
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1560251
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a0b00e97
|
2019-04-09T18:45:22
|
|
Vulkan: Expose GL_EXT_memory_object_fd & GL_EXT_semaphore_fd
If the vulkan driver has support for VK_KHR_external_memory_fd or
VK_KHR_external_semaphore_fd, add the GL versions of these to the vulkan
renderer's extensions.
Bug: angleproject:3289
Change-Id: I7f04b5cf883f93f6ccd579c2b75d6831b854bfd0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552027
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f39b4f02
|
2019-04-09T12:04:51
|
|
Vulkan Android: Remove workaround to clamp the point size
This is to remove the workaround introduced by anglebug.com/2599 since
Nexus 5x devices aren't in the farm anymore and the tests pass on Pixel
devices.
Bug: angleproject:2599
Test: angle_deqp_gles2_tests
Test: angle_end2end_tests
Change-Id: I14f724494909486a2164ddd734a95b6980429f29
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1559202
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e4458b7b
|
2019-04-08T16:26:50
|
|
Fix glCopyTexSubImage3D.
Two bugs were present in our implementation. We were using the y offset
for z in ensureSubImageInitialized. And for our D3D back-end we were
potentially reading from the wrong image index.
Bug: chromium:947342
Change-Id: If39671a911e08fcc641b9ba6f5910e3a2c16eb5d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558671
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
3702d8c9
|
2019-04-08T13:44:06
|
|
Propogate dirty bit signals from TextureImpl to Texture up to Context.
If TextureImpl sets a local dirty bit and signals gl::Texture of it, the
dirtyness is not propogated to context. This can result in draw calls
with textures that are not synchronized
BUG=949985
Change-Id: I9baf82c96598265a6a4850f1fd48e213b5e98ab5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1556699
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
7d689863
|
2019-04-08T12:31:33
|
|
Re-Enable MipmapTest.TextureCubeGeneralLevelZero/ES2_VULKAN
The test MipmapTest.TextureCubeGeneralLevelZero/ES2_VULKAN was disabled
for Vulkan Android due to Nexus 5x and Pixel 2 issues. The Nexus 5x
has been removed from the test infrastructure and the Pixel 2 issue
seems to have sorted itself out.
Bug: angleproject:2817
Test: angle_end2end_tests MipmapTest.TextureCubeGeneralLevelZero/ES2_VULKAN
Change-Id: I85bb56707def2906194c34942fcd74a811255abc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558293
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
0086a8ac
|
2019-04-09T09:15:59
|
|
Skip LineLoopStateChangeTest.DrawElementsThenDrawArrays on Win Vulkan AMD
Bug: angleproject:3361
Change-Id: I39c595e1b8ab73520422e2dd3433cd007a1415a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1559789
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
65d10f3b
|
2019-03-21T16:30:31
|
|
Vulkan: Implement robust resource initialization
If a texture or renderbuffer needs to be cleared for robust access or
due to having emulated channels, it is immediately cleared. The former
relies on a front-end feature that optimizes robust access clears only
to levels and layers that are not fully initialized through data upload.
Bug: angleproject:2722
Change-Id: Icdab856eb4ffe963f78569b6d80d9ff5cb27ff9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535056
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8413faba
|
2019-04-04T17:13:18
|
|
Fix formsRenderingFeedbackLoopWith check
To make it pass the following webgl conformance test
https://github.com/KhronosGroup/WebGL/blob/master/sdk/tests/conformance/rendering/rendering-sampling-feedback-loop.html
It used to fail due to
1. Didn't check if texture unit is sampler complete
2. Only checked active drawbuffers. But drawbuffer settings shouldn't be
taken into account when checking drawing feedback loop.
On top of applying these 2 functional fixes, I also tried to do some
optimization by unwrapping the nested for loop for program sampler
bindings and texture unit in `Program::samplesFromTexture` and putting
them outside of the draw buffer loop according to the old comment by
Antonie @piman.
https://codereview.chromium.org/2461973002/
> ... turning it around (for each texture check if it's
also an attachment, instead of for each attachment check if it's a bound
texture). In particular, we have an upper bound on the number of
attachments, so we can look them up outside the loop into a fixed size
buffer on the stack - and the very common case will be to only have 1 of
them making the inner loop cheap.
But this unwraps sort of breaks the code structure. An alternative way
would be passed in a framebuffer pointer into `Program::samplesFromTexture`
but that would ends up in tight class coupling. I am a bit unsure here.
Would like to hear if think this change is okay in terms of code style.
In addition to further speed up this check (as it runs for every draw
validation) I added a cache mLastColorAttachmentId indicating the last i
of GL_COLORATTACHMENTi that is not GL_NONE to shorten this inner loop.
In most scenario we won't have up to max number of color attachments.
A side note: this is still failing
https://github.com/KhronosGroup/WebGL/blob/master/sdk/tests/conformance2/rendering/depth-stencil-feedback-loop.html
But it's because the test case doesn't fit the spec at this moment.
I will update this test later.
Bug: chromium:660844
Change-Id: I6d718dada71a5d989caac04de03f2454f2377612
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553963
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
bfc5df16
|
2019-04-08T12:54:56
|
|
Remove function pointers in CopyTexture3DTest.
No longer needed with the ANGLE loader.
Bug: None
Change-Id: If206c529efaee5b81b68059341dcc6e841126842
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1556698
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
efec568b
|
2019-04-03T15:19:26
|
|
Expand clear tests for more mask combinations
The test was previously either masking every three aspect (color, depth
and stencil) or none. This was not exercising every clear path in the
Vulkan backend.
Bug: angleproject:3241
Change-Id: Ief4085ea302ec17bffe30b1f8510ae357fd01290
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1551523
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
f6c937f8
|
2019-04-02T17:04:08
|
|
Vulkan: fix masked stencil clear
Previously, masked stencil clear was done by clearing every stencil bit
to the ClearValue & Mask. The correct behavior as implemented in this
change is to clear only the bits that are set in Mask. This can only be
done through a draw call, with ClearValue as the stencil reference, and
Mask as the stencil write mask.
Note: this change relies on the depthClamp Vulkan feature which is not
available on ARM.
Bug: angleproject:3241
Change-Id: I0a181c32f881ee813f144e7bdd6f42c8ea6f1966
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1548442
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
5f388c24
|
2019-03-14T09:54:23
|
|
Vulkan: dEQP-EGL.functional.image.modify.*
Determine the destination internalFormat correctly.
dEQP-EGL.functional.image.modify.renderbuffer_rgb565_tex_subimage_rgb8
dEQP-EGL.functional.image.modify.renderbuffer_rgba4_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.tex_rgb565_tex_subimage_rgb8
dEQP-EGL.functional.image.modify.tex_rgba4_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.tex_rgba8_tex_subimage_rgba5_a1
dEQP-EGL.functional.image.modify.tex_rgba8_tex_subimage_rgba4
dEQP-EGL.functional.image.modify.tex_rgba5_a1_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.tex_rgba5_a1_tex_subimage_rgba4
dEQP-EGL.functional.image.modify.tex_rgba4_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.tex_rgba4_tex_subimage_rgba5_a1
dEQP-EGL.functional.image.modify.renderbuffer_rgba4_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.renderbuffer_rgba4_tex_subimage_rgba5_a1
dEQP-EGL.functional.image.modify.renderbuffer_rgb5_a1_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.renderbuffer_rgb5_a1_tex_subimage_rgba4
Bug: angleproject:3170
Change-Id: Ic9870390b2d4a0dcbe561efd3fb1597faadb7d79
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524404
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fb201c5e
|
2019-04-03T14:57:35
|
|
Implement resource management for GL_EXT_memory_object
This implements glCreateMemoryObjectsEXT, glDeleteMemoryObjectsEXT, and
glIsMemoryObjectEXT. It's not possible to do anything useful with them
yet.
Bug: angleproject:3289
Change-Id: I8882b657e9de564b5f97f8dea87838f67b1928f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552025
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
43997017
|
2019-03-30T23:24:01
|
|
Vulkan: fix non-float clear with draw
Instead of using one draw call that clears all attachments, multiple
draw calls are issued that clear a single attachment each. This allows
us to have a manageable number of variations for the ImageClear.frag
shader, now that non-float format support is introduced.
Bug: angleproject:3187
Change-Id: Ic0c1067a396250bd80f31d00cad5a272acff8be8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545523
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f9f18ef0
|
2019-04-03T10:07:18
|
|
Vulkan: Allow vertex-only pipelines
This allows issuing draw calls which only manipulate depth/stencil.
Bug: angleproject:3241
Change-Id: I62ab18a185ea5b234d3559f30c5b2b8ecb317bbb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1550900
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0719a88e
|
2019-04-03T13:15:17
|
|
Fix OOB access for dynamic attribs with offsets.
We were not properly adding the offset to compute the right bounds.
Bug: chromium:943709
Change-Id: I93e714b46dd366d5833fffa858ea3ab0322ffa92
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1548441
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
91524d8c
|
2019-04-02T15:31:30
|
|
Disable Clear and TextureUpload perf tests on D3D11
The tests crash on Nvidia in the driver.
Bug: 945415
Change-Id: I0f635eb5d99ecaeeaff055793b1b5fd3a314b055
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1548440
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
24980278
|
2019-04-03T09:03:51
|
|
D3D11: Skip DepthTexturesWithMipmaps on AMD/D3D11.
Possible driver bug.
Bug: angleproject:3342
Change-Id: Ia171a7ac0d764859c4440b1fe2986aa931ff75c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1550799
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
89899748
|
2019-01-16T08:32:25
|
|
ParallelCompile: D3D compute
This parallelizes the compiling and linking for compute shaders on
the D3D backend.
Bug: chromium:849576
Change-Id: Idd6b418cb9c2448209c15eab2756599f8ff7af4c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1415725
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
|
|
2889dff6
|
2019-03-27T16:25:11
|
|
Mac: Support using an IOSurface as the default framebuffer
Bug: angleproject:2764
Change-Id: I3fdab330b59ed996f68e3063debca29323a66cf0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542599
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
db4ed317
|
2019-03-29T00:32:45
|
|
Vulkan: glClearBuffer* implementation
Refactors FramebufferVk::clear such that specific render targets could
be cleared, with clear values not necessarily set through glClearColor
etc.
FramebufferVk::clearWithRenderPassOp is modified so that loadOp and
clear values are set after the render pass has been registered in the
graph. This allows multiple glClearBuffer calls to coalesce into the
same render pass.
glClearBuffer calls are then implemented simply as calls to the
refactored clear function with the appropriate parameters.
Bug: angleproject:3187
Change-Id: I2fdfcbea5bf244f63ec981b91caca47f5ee3cd3a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545204
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
750935f4
|
2019-04-02T11:27:19
|
|
Ignore flaky dEQP failures on Windows
More flaky failures that were being hidden by test retries. Might take a
few more patches in order to disable test retries.
Bug: angleproject:3271
Bug: angleproject:1729
Change-Id: I97eb02d6e93892a04db8b09992f32c4c20dbd49b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1549314
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
d3fd67e0
|
2019-03-29T23:22:34
|
|
Add a test for glClearBuffers of render targets of same FBO
This test is to ensure the upcoming Vulkan implementation can coalesce
all the calls into a single render pass clear.
Bug: angleproject:2361
Change-Id: I816907b3512715c1d3217689413b6c8e9842a37a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1544973
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
1d72f658
|
2019-03-29T22:42:45
|
|
Add a test for glClearColor followed by glClearBuffer
This test is to ensure the upcoming Vulkan implementation uses the right
colors for each render target.
Bug: angleproject:2361
Change-Id: Ibc6f8b474ac598a20d8cc9ac1c7fd18667370cbf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1544972
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6cb0cff5
|
2019-03-28T11:01:22
|
|
Add a test for masked/scissored multi-attachment clear
Done after noticing a bug in the Vulkan backend where masked (and
possibly scissored) color clears were only clearing the first
attachment.
Bug: angleproject:2361
Change-Id: I471d337b1c3a3a5e17748690ae2222a6351773ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1544971
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3b14b786
|
2019-03-28T12:12:24
|
|
Ignore flaky failures from ANGLE's dEQP deps on Win/Linux/Mac.
Flaky failures were being hidden by test retries. Should be ignored so
we can disable test retries.
Bug: angleproject:3271
Change-Id: I17708f96e2299b9828f5f979f68187b3cd99ecb3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542259
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
d02c17f9
|
2019-03-28T16:49:39
|
|
Mark vertex attributes dirty during context switches
gl::State::mDirtyCurrentValues is a second tier of
gl::State::DIRTY_BIT_CURRENT_VALUES bit.
Marking mDirtyCurrentValues dirty during context switches
treats them in the same way as other gl::State::mDirtyBits are treated.
This has regressed in
https://chromium-review.googlesource.com/c/angle/angle/+/722423
where individual current values bits were squashed into one.
Bug: chromium:920033
Change-Id: I778515f11c975f8d88bd2d8c08c49160fd011497
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545009
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
9cce3cd9
|
2019-03-27T15:24:12
|
|
Update texure cache after teleting bound texture.
The texture cache could become out of sync. And we could end up
dereferencing an invalid pointer.
Bug: chromium:943538
Change-Id: I6a99a04e80fc551b6177e25b7bee09c6ae226340
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541718
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
345cb856
|
2019-03-28T10:04:24
|
|
Vulkan:Clamp stencil ref value
We were casting stencil ref value instead of clamping it as the spec
requires. Fixing that which allows a number of new dEQP tests to pass.
Bug: angleproject:3244
Bug: angleproject:3245
Bug: angleproject:3247
Bug: angleproject:3248
Change-Id: I59242d59982b990e82395f5a1e77b9a54254dc2b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541751
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
5a604a5f
|
2019-03-27T14:22:50
|
|
Ensure framebuffer is up-to-date before drawing
The dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d*
test was failing because a TexSubImage call modifying the framebuffer
wasn't being applied before a subsequent DrawElements call and thus
getting an incorrect result.
Bug: angleproject:3249
Test: angle_deqp_gles2_tests --gtest_filter=dEQP.GLES2/functional_fbo_render_texsubimage_between_render_tex2d_rgb --use-angle=vulkan
Change-Id: I90f791957e6536c5c62fb731d52cd486ab5c05c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542361
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0c128e15
|
2019-03-25T23:50:14
|
|
Vulkan: Use render pass ops to clear images when possible
On tiling GPUs, render pass loadOp and stencilLoadOp can be used to very
cheaply clear an image as it is being render to. This change uses this
feature to clear render targets when possible.
Bug: angleproject:2361
Change-Id: Ic4bdc908873f4802760d549f4893f84a47beac0f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1500576
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2e5afde1
|
2019-03-28T09:39:49
|
|
Add suppressions for Mac dEQP [Part 3].
Bug: angleproject:3317
Change-Id: Ie60ad9670d19d0eae9926bcf14f65fc2e84215d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542602
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5fd08af4
|
2019-03-13T19:35:36
|
|
Sampler state overrides texture state if set
The new validation added in http://crbug.com/809237 failed to consider
that sampler object state overrides texture object state if a sampler
object is bound. State caching makes this complicated to fix.
Fixes WebGL conformance test incompatible-texture-type-for-sampler.html
https://github.com/KhronosGroup/WebGL/pull/2823
Bug: 940080, 809237
Change-Id: I26b0fb35c5630c36248edae80f0298a0cb7e14b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1522364
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
198de612
|
2019-03-27T14:26:51
|
|
Remove EGLThreadTest to fix angle_end2end_tests failures on Android.
EGLThreadTest doesn't clean up well and the test framework can't handle
it well. It caused test failures related to eglMakeCurrent (ELG_BAD_ACCESS)
on Android that were masked by retries.
Calling eglGetDisplay within a test can cause it to return a cached
display from the test runner. The test is unable to know if it should
terminate this display.
bug: angleproject:3321
Change-Id: I14a539a00acaed4ee71622e7416a6c7a75596606
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541717
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|