|
e8247a57
|
2019-04-25T18:54:24
|
|
Add scripts/export_targets.py.
$ export_targets.py <out_dir> <targets...>
Flattens all library targets under <targets...> and checks that all
includes in 'sources' are known to the build.
Firefox can use this as the first half of our ANGLE vendoring process.
Included additions to src/libGLESv2.gni were found with:
$ export_targets.py out //:libEGL
Eventually, it would be nice to have this as a presubmit check.
Bug: angleproject:3403
Change-Id: I0f455e8c37c4b0a9e17e9f843843422b6a32f588
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584652
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
08146a27
|
2019-05-17T10:40:44
|
|
Remove non-source sources from binary targets
No behavior changes.
BUG=chromium:964411
Change-Id: I843757e65f110882c01514fe6bf4aed28e07dd21
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1617011
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7a026133
|
2019-05-20T10:34:08
|
|
Fix Android data dir for KHR dEQP tests.
Also includes a fix for case list paths on developer machines. Also
includes a test expectation update for GLES2.
Bug: angleproject:3353
Change-Id: Idb01eb8d806067739253a6676a6d2d8ee1199929
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1616853
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
70958d15
|
2019-04-17T13:59:45
|
|
Let attribute aliasing logic detect overflow
Checking against the max attribute count is not needed
as aliasing is implemented correctly below. If not enough
locations are available, linking will fail.
This works for backends that support aliasing (Vulkan, GLES),
but not for D3D11, which asserts. To handle this, add a
limitation that informs the frontend of aliased attribute support.
Bug: angleproject:3252
Bug: chromium:964404
Change-Id: Ib9ae5d381bbb2e6bf496272fc3d9e88467c17290
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1572817
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b16d69c3
|
2019-05-13T16:28:27
|
|
Vulkan: Add support for surface multisampling
A multisample image is created for the surface if multisampling is
enabled. Prior to present, this multisample image is resolved into the
swapchain image.
FramebufferVk::readPixelsImpl similarly has got the ability to resolve
the region of interest into a temporary image prior to readback.
Tests are added to render a point, line and a triangle on a 4x
multisampled surface.
Bug: angleproject:3204
Change-Id: I34aca502fa1918b5cbf000ff11521c350372e051
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610188
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6a4cad87
|
2019-05-01T13:04:00
|
|
Vulkan: Tighten descriptor stage usage hints
Per-stage uniform buffers are marked with the specific stage. Program
uniform buffers and images are specified to be used in all graphics
stages. Descriptors used in internal shaders are marked for use in
either compute or fragment stages.
Bug: angleproject:3220
Change-Id: Ifcac36a1224f0392ba5fba50660514e498256401
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595439
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
09eabed9
|
2019-04-03T19:20:21
|
|
Allow attribute linking for ES2
* Pipe webGL compatibility down to allow attribute aliasing.
* Reject aliasing if shader level is too high, or webGL is in use.
Bug: angleproject:3252
Change-Id: I3378fe707e3795a4b8a424989afccff42bc84344
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1556538
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
cafd7736
|
2019-05-17T09:33:41
|
|
Fix KHR-GLES dEQP test paths.
Our GN was using the incorrect path for the new test sets. This was
showing up as an isolate_tests failure when running the new tests.
Also fixes incorrect search paths for the case list directory when used
in a Chromium checkout. And adds a few other missing data dependencies.
Bug: angleproject:3353
Change-Id: I602db1e5debdad88b6eace76416fc2c10c059f8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1616021
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
06de90c6
|
2019-05-16T12:46:54
|
|
Vulkan: Re-enable a handful of suppressed ES3 tests
Few features are already implemented but the suppressions were not
removed.
Bug: angleproject:2392
Bug: angleproject:2394
Bug: angleproject:3199
Bug: angleproject:3219
Bug: angleproject:3423
Change-Id: Iefd6c10f5ec774e174901114b35410c0d397085f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1614428
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
0febee5b
|
2019-05-15T17:03:52
|
|
Break debugger on assertion failure.
This adds a few simple system utility functions. We can check if a
debugger is attached and break into the debugger.
Most of the code is adapted from Chromium's base/debug.
Bug: angleproject:3162
Change-Id: I9cb39d42865a543fbf3201222dd8227318b32ad5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1615353
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aefbea29
|
2019-05-16T13:33:27
|
|
Fix Clang warning in dEQP-KHR tests.
Due to complex and slow process of upstreaming it's easier to disable
this warning than to fix it upstream. Only happens in a Chromium build
because Chromium uses a specialized standard library.
Bug: angleproject:3353
Change-Id: I01607a00e469110c87458458d3b205fd59ea3db3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1614426
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cfffc138
|
2019-05-16T11:35:01
|
|
Add KHR-GLES dEQP tests.
This reorganizes the dEQP build targets to allow for better reuse with
the new KHR test set. It also adds a single new test target called
"angle_deqp_khr_tests" that houses all the new test sets.
The new test targets can be compiled now but cannot yet be executed.
That new functionality will follow in a subsequent CL. Along with test
expectations and integration.
Uses a new template type in the build to conslidate GN customization.
Adds the GLES 2.0 and 3.0 tests for now. We can follow up with
additional work for the GLES 3.1+ tests. Also adds test expectations.
Bug: angleproject:3353
Change-Id: Ib0673e97f679c8aa46e27dfa616845a2014a75fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1604070
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
04e389d1
|
2019-05-14T07:14:25
|
|
Vulkan: make sure default uniforms are in std140
Bug: angleproject:3199
Change-Id: I29fdf33ea5af37a66c2cfd5b3355d7ff32105d63
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1614781
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
60cc751a
|
2019-05-06T09:25:27
|
|
Use D3D11 GetDimensions driver workaround for integer cube maps
Some NVIDIA D3D11 drivers are buggy and interprets the level passed to
GetDimensions as being relative to 0, rather than the SRV's MostDetailedMip.
This affects integer cube maps because the dimensions are used for sample
position calculations, which leads to sampling outside the cube side textures
when the base level is non-zero.
Bug: angleproject:3441
Change-Id: I151f9336b9c6d8ec7012bf5010a2d45fb2951e73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595688
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
311e8086
|
2019-05-15T13:25:56
|
|
Do struct mapping under conditions
Struct mapping consumes lots of time when the array lengh is very large.
And it's done unconditionally. This CL does struct mapping only if it's
a struct assignment or passing the struct to a function.
In the next step, we can use a function to do struct mapping instead of
struct array initialization.
Bug: angleproject:2967
Change-Id: Ie5a74fa05dbc0255ad664d6265dbb880a624f01e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1612978
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
6ddb7768
|
2019-05-15T15:25:36
|
|
Remove angle:: prefix in angle_deqp_gtest.
Refactor and cleanup only.
Bug: angleproject:3353
Change-Id: I2a01ddf71ba44b8f1a1fc2c4ccbac9edc7c80174
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1613893
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b4ca09ac
|
2019-05-15T15:23:12
|
|
Add IsDirectory helper function to system_utils.
This was previously a method in dEQP only. Cleanup change only.
Bug: angleproject:3353
Change-Id: I9ac58ab52516f75efbb08bddb39466a40c07cbb8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1613892
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
38ff3c70
|
2019-05-15T10:07:09
|
|
Vulkan:Allow same-named var in nested scope
ESSL 1.00 spec allows for variable with same name to override outer variable
inside of a nested scope. This change adds new scope to symbol table inside
of a function defintion, but after function parameters for ESSL 1.00
shaders (but not webGL). This prevents an error while parsing.
This also includes some new code in translator to rename any vars that are
redefined between the function body and the function parameters. This
prevents an error later on when the translated shader is then parsed as
a desktop GLSL version.
Bug: angleproject:3287
Change-Id: I3f025805cf8d65bf912283bb15e6dad6e5e9b967
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601553
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|