|
f618c9e5
|
2018-02-15T14:45:40
|
|
Vulkan: Add depth/stencil surfaces.
This change lets us create egl::Surfaces from a D24S8 config. This is
a bit hacky, because the spec only mandates 24 -or- 32 bit depth
support, but not both or either individually. Will need follow-up work
for proper EGL config setup.
A single depth buffer is allocated for the entire set of swapchain
images and is used with each. This also might be a problem if we're
rendering to multiple frames at the same time. We'll likely have to
revisit this in the future as well.
This adds a new RenderTargetVk to the SurfaceVk class which points to
the Depth/Stencil image. Since ImageViews must refer to either the
depth or stencil, but not both, we'll need to address this when we
get to implementing depth/stencil texture reads in shaders.
Bug: angleproject:2357
Change-Id: Ibed0eed7e1d0efb272758dbfc79fa2c5aa93997f
Reviewed-on: https://chromium-review.googlesource.com/919761
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b92f92a7
|
2018-02-15T19:14:59
|
|
Clean up dead insertion of unmangled symbols
Unmangled names of built-ins are not inserted to the symbol table in
a normal way, so the function to do that is not needed.
BUG=angleproject:2267
TEST=compile ANGLE
Change-Id: I68bae9a1f762ecc69ab31f04458a38c941b9d74c
Reviewed-on: https://chromium-review.googlesource.com/922202
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
b5db2b49
|
2018-02-12T15:31:56
|
|
Enable -Wimplicit-fallthrough for ANGLE.
Also teach MSVC that ANGLE_CRASH() can't return.
Also fix instances of the warning in build configurations where
UNREACHABLE() can return (e.g. release without dcheck_always_on
or debug).
If the UNREACHABLE()s are truly unreachable, this change has
no behavior change.
Bug: chromium:810767
Change-Id: I68f3587cf3e268c3ef634dce7ae3d70399859d0f
Reviewed-on: https://chromium-review.googlesource.com/914842
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
|
|
0bc6024a
|
2018-02-09T22:03:49
|
|
Fix mingw compile.
Adjust a compile guard around posix_memalign.
Bug: angleproject:2163
Change-Id: I1d2dca24b8a2b8e549df411b1611e9fe0ac9082d
Reviewed-on: https://chromium-review.googlesource.com/920748
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
710aa5c7
|
2018-02-08T10:57:55
|
|
GLES1: Mat4 transform library
GLES1 has functions like glFrustum / glTranslatef which are baked 4x4
matrix operations. The purpose of this CL is to add those operations as
library functions in ANGLE, to make it convenient later on.
This is inspired by GLM and tested against GLM-generated numbers.
BUG=angleproject:2306
Change-Id: I3b428a115a935ee4f0d00585ad38745a38cc128c
Reviewed-on: https://chromium-review.googlesource.com/909578
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f3803d4f
|
2018-02-14T18:29:27
|
|
Fix standalone Linux build
Need to include gtest before X11 to avoid defines conflict
BUG=angleproject:2348
Change-Id: If758c53fb5ef010506f13165186110f00c099e07
Reviewed-on: https://chromium-review.googlesource.com/919687
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
809b13ed
|
2017-11-07T15:33:46
|
|
StateManagerGL: Use dirty bits for framebuffer bindings.
BUG=angleproject:2188
Change-Id: Icbe78f645b693a5b2ef555feffda0f618209e867
Reviewed-on: https://chromium-review.googlesource.com/757092
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
|
|
f4d693c0
|
2018-02-14T16:38:16
|
|
Vulkan: Cache clear color in ContextVk.
This makes the current clear color a bit more accessible than using
the current GL state clear color directly. It is stored in the Context
using the Vulkan clear color struct.
This also cleans up the attachment clear values in FramebufferVk and
paves the way for depth/stencil clear when support for depth/stencil
exists.
Bug: angleproject:2357
Change-Id: I0553e4447249325115625a44e9f4b1623c7cb0bc
Reviewed-on: https://chromium-review.googlesource.com/919550
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
57fbfd80
|
2018-02-14T12:45:34
|
|
Vulkan: Pass RendererVk to Allocate helpers.
Passing the Renderer pointer instead of the Context pointer makes
these methods a bit easier to work with from the "EGL" sections of
the code. This is a refactoring-only change to aid the Depth/Stencil
implementation.
Bug: angleproject:2357
Change-Id: Icbcc72a1daff4edd947a21672744498781cfc064
Reviewed-on: https://chromium-review.googlesource.com/919523
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
12eb3d74
|
2018-02-14T12:34:45
|
|
Vulkan: Implement basic Renderbuffer creation.
Bug: angleproject:2347
Change-Id: I56edfde2dbc020d5c792cc4f107aa4b9d6b71840
Reviewed-on: https://chromium-review.googlesource.com/905895
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ee305913
|
2018-02-14T13:50:38
|
|
AngleWrangle: Suppress newly introduced flakyness
Flakyness noticed there:
https://ci.chromium.org/buildbot/tryserver.chromium.angle/mac_angle_rel_ng/
https://ci.chromium.org/buildbot/chromium.gpu.fyi/Mac%20FYI%20Release%20%28Intel%29/
Introduced in:
https://chromium-review.googlesource.com/c/angle/angle/+/913108
Change-Id: I9cbd76c0472d023005ded9f957b304a4a769c619
Reviewed-on: https://chromium-review.googlesource.com/919547
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0aa1ffe3
|
2018-02-08T13:42:36
|
|
Vulkan: Autogen mandatory texture caps
* This commit includes a JS file to execute on the spec and
generate the JSON output of all the mandatory texture caps.
Bug: angleproject:2348
Change-Id: I57e969915bdd0e7104e00a73fd3743ff1ecf0a6d
Reviewed-on: https://chromium-review.googlesource.com/911615
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8170eab7
|
2017-09-21T13:59:04
|
|
D3D: Implement robust resource init for Surfaces.
BUG=angleproject:2107
BUG=angleproject:2317
Change-Id: I22260e1093dc6c09e4627c62a95ca4088c99e951
Reviewed-on: https://chromium-review.googlesource.com/678480
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
9550c603
|
2018-02-13T14:47:05
|
|
Code refactoring for end2end tests.
This change:
1) uses the new style ANGLE_SKIP_TEST_IF to skip tests.
2) replaces compile-time definition for OSX to skip tests by run-time
function IsOSX() to skip tests, in order to align with ANGLE_SKIP_TEST_IF.
3) fixes a couple of typos.
BUG=angleproject:2005
Change-Id: I5af77d82257536b9eb79e26afa502f5b91ff6d31
Reviewed-on: https://chromium-review.googlesource.com/915861
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
2900c3be
|
2018-02-09T16:02:41
|
|
Vulkan: Add culling rasterization states tests and invert front face
Bug: angleproject:2352
Change-Id: I0ac83f3173d22a2ee8bc98d2fd7bfa1875d46b8c
Reviewed-on: https://chromium-review.googlesource.com/912358
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
d50537a7
|
2018-02-07T17:02:08
|
|
Vulkan: Texture caps map
We are generating the caps map using various bits from the results of
vkGetPhysicalDeviceFormatProperties. This contains all the information
required to fill out "renderable", "texturable" and "filterable".
Later we'll need to read from vkGetPhysicalDeviceImageFormatProperties as
well to get the sampleCounts.
The tests for now are not very meaningful since they use the same logic
as the caps code to build the expected results, however as soon as we'll
add the hard-coded list of mandatory texture caps, the test will be a good
validator that we are not breaking anything.
We only check the optimal set of flags since it is the most restrictive
set.
isTexturable = flags contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
isFilterable = flags contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
isRenderable = flags contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT OR
VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
Bug: angleproject:2348
Change-Id: I9da0712190d2678d7e377d6fcd4ca83d23eefd38
Reviewed-on: https://chromium-review.googlesource.com/908712
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
defe3937
|
2018-02-13T11:56:09
|
|
Store invariant varying names as ImmutableString
This gets rid of a few extra ImmutableString to std::string
conversions which makes the code clearer. There doesn't seem to be any
significant effect on performance.
BUG=angleproject:2267
TEST=angle_unittests
Change-Id: I36ebbc8a4130ab8f9d6194feca83ec5dcbc95f78
Reviewed-on: https://chromium-review.googlesource.com/916141
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
bf107be4
|
2018-02-08T18:43:03
|
|
Don't search for nonexistent brackets in InitializeVariables
Array brackets are not included in ShaderVariable::name, so they
don't need to be pruned from there either when using the name to
look up the variable.
BUG=angleproject:2267
TEST=angle_unittests --gtest_filter=*InitOutput*Array*
Change-Id: I2b80a88c1d67f7f0dde12880bcfb35fb6d861cd0
Reviewed-on: https://chromium-review.googlesource.com/909109
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
7b17fa18
|
2018-01-29T11:12:57
|
|
Add a constexpr constructor for TVariable
BUG=angleproject:2267
TEST=angle_unittests
Change-Id: I9b7e01801caa7235ac5e2d4212ea92e38c1f774d
Reviewed-on: https://chromium-review.googlesource.com/908752
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
34a06269
|
2018-02-12T16:30:43
|
|
Remove usage of ANGLE_FALLTHROUGH in EmulatePrecision.cpp
BUG=chromium:810767
Change-Id: Ic0dafc9038b14093fdb799fe382ba8275195c0cc
Reviewed-on: https://chromium-review.googlesource.com/914804
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b79f0351
|
2018-02-12T13:13:53
|
|
Add test for scissored clear.
This simple test will be used to debug the Vulkan back-end's basic
scissored clear functionality.
Bug: angleproject:2356
Change-Id: I4bed68740ac57b3cc61f2dfe9164081b05bc31b3
Reviewed-on: https://chromium-review.googlesource.com/914230
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f0d3b901
|
2018-02-08T08:57:14
|
|
Enable Multisample Sources in copyImageInternal For D3D11
This enables the copyTexImage2D and copyTexSubImage2D to handle
multisampled source through through the blit path. We attempt to use a
cached texture as an intermediate to resolve to, or create a new texture
if there's a mismatch. The resolved texture is sent through
blit11::copyTexture as normal.
BUG:angleproject:2316
Change-Id: Ie3490b45b1a368300ee13fe5a0b35dc3920364ff
Reviewed-on: https://chromium-review.googlesource.com/911889
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
4ed05da2
|
2018-02-02T14:26:15
|
|
ES31: Add link validation on geometry shader itself
This patch intends to support program link validation on geometry
shader itself. A link error should occur when linking a program with
a geometry shader that lacks input primitive or output primitive or
the declaration of 'max_vertices'.
This patch also adds the support of linking a program with geometry
shader in angle_end2end_tests.
BUG=angleproject:1941
TEST=angle_end2end_tests
dEQP-GLES31.functional.shaders.linkage.es31.geometry.varying.rules.unspecified_*
Change-Id: I25fb08514753102f5dd3ab86211c05d2ca4fd185
Reviewed-on: https://chromium-review.googlesource.com/898842
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
30414789
|
2018-02-12T15:16:02
|
|
Revert "GLES1: Link against angle_util_static instead of angle_util."
This reverts commit da91c9a6d86c9ecd21c6ac724cf9576d7ee310d2.
Reason for revert: Causes undefined behaviour in linker.
Original change's description:
> GLES1: Link against angle_util_static instead of angle_util.
>
> Attempting to work around missing .so on linux bots.
>
> BUG=angleproject:2303
>
> Change-Id: I7fabad308afd420987369b460c13c00781113605
> Reviewed-on: https://chromium-review.googlesource.com/909028
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,lfy@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:2303
Change-Id: I8d3f3d9bd618d9604cec0f02424f788cab25b3f9
Reviewed-on: https://chromium-review.googlesource.com/913550
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Lingfeng Yang <lfy@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
046fa0ef
|
2018-02-02T14:51:36
|
|
Vulkan: Prepend layer path to VK_LAYER_PATH
Directly setting this variable overwrites old value, as might be
unexpected. Instead the path can be prepended to it, so that old
value can still work.
This is needed in order to use additional debugging layers, like
the "api_dump" layer. See https://github.com/LunarG/VulkanTools
for more.
BUG=angleproject:2333
Change-Id: I5338a5b928ffa792cc9b6db5b69713320b5b0842
Reviewed-on: https://chromium-review.googlesource.com/898591
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2f23f35a
|
2018-02-11T22:11:37
|
|
Clean up end2end tests for Intel OSX.
BUG=angleproject:2205
BUG=angleproject:2041
BUG=angleproject:2155
Change-Id: I26bcbb63e147787cd342ec80a86d60cf230be4c9
Reviewed-on: https://chromium-review.googlesource.com/913108
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e5fe7aad
|
2018-01-29T12:06:11
|
|
Store builtin symbols as const pointers
To do this we need two types of symbol table levels: A level for
built-ins and a level for user-defined symbols. User-defined symbols
are non-const because function symbols created based on function
prototypes are changed when the function definition is parsed. On the
other hand, we want to make built-in symbols constexpr, so we should
only handle them through const pointers.
This also gets rid of extra empty precision stack levels. Only one
level is needed to store predefined precisions.
BUG=angleproject:2267
TEST=angle_unittests
Change-Id: I9f14b24c2cfce272f22c16e7a8dfb653b849cbeb
Reviewed-on: https://chromium-review.googlesource.com/892879
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6108b766
|
2018-02-08T18:17:43
|
|
Remove angle::Library and its usages
No longer needed after https://chromium-review.googlesource.com/513519
Loading libGLESv2 interferes with API tracing tools
BUG=angleproject:1892,angleproject:2343
Change-Id: I2ccbc99377d75d107fd644301402c52466dded21
Reviewed-on: https://chromium-review.googlesource.com/910094
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
41b072b6
|
2018-02-09T10:01:32
|
|
Prepare for -Wimplicit-fallthrough in ANGLE.
Disable the warning for flex-generated output, which contains
lots of intentional fallthrough.
Fixes a bug where GL_SAMPLE_ALPHA_TO_ONE_EXT would fall through
to GL_COVERAGE_MODULATION_CHROMIUM and hence behave like that.
Fixes a bug in the D3D9 state management where invalidating
DIRTY_BIT_POLYGON_OFFSET would also invalidate the stencil bits.
One somewhat common incorrect pattern in ANGLE is nested switch
statements that look like so:
switch (a) {
case a1:
switch (b) {
case b1:
...
break;
}
case a2:
...
}
The assumption here seems to be that the breakk exits the outer
case (here a1), while it in fact only exits the inner switch,
so that we fall through to a2. In most places, I fixed this
by adding an explicit `break` after the inner switch.
This fixes a bug wher GL_PATH_JOIN_STYLE_CHROMIUM would fall through to
GL_PATH_MITER_LIMIT_CHROMIUM in validation (but since the join style
enum is always > 0, this happened to not have an effect in practice).
This also fixes 87 bugs in GetLoadFunctionsMap() where invalid
values would previously return an unrelated function map instead
of the empty load function map.
Bug: chromium:810767
Change-Id: Ib51388c73fbfc229160e2c10f8fb9364cc7c996c
Reviewed-on: https://chromium-review.googlesource.com/911529
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
61773640
|
2018-02-09T10:12:21
|
|
Skip PostSubBuffer calls that have zero size.
BUG=810411
Change-Id: I8770b69fe4ab8a8f9bacd141c89e7f83f67f15fb
Reviewed-on: https://chromium-review.googlesource.com/911589
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f8be756e
|
2018-02-06T15:59:11
|
|
Vulkan: Implement blend states and add a simple test for it
Bug: angleproject:2346
Change-Id: I462a2cb29ceda5563f48b4a3cc1d0aa20f4a49fc
Reviewed-on: https://chromium-review.googlesource.com/907169
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3e520b6f
|
2018-02-08T16:26:30
|
|
OpenGL: Disable forwarding debug groups and messages all the way to the driver.
Because of virtualized contexts, the debug groups are not always popped
in the same order that they are pushed leading to inconsistant state and
sometimes GL_STACK_OVERFLOW errors from the driver.
BUG=angleproject:2354
Change-Id: I0a001002149184dd882c3b17e8451bcd694608ba
Reviewed-on: https://chromium-review.googlesource.com/909794
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ed04619a
|
2018-02-08T14:57:14
|
|
Fix typo in bug link.
BUG=angleproject:2205
Change-Id: I7ff1c3d0bb380c73c07dad0a30a4a4a19c17e397
Reviewed-on: https://chromium-review.googlesource.com/909577
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
bb514004
|
2017-04-28T14:08:38
|
|
Request RGBA8 configs by default for gtest dEQP.
Previously, dEQP would just use the first config returned which was
RGBA4 which is not very representitive of what our users would request.
BUG=angleproject:2337
BUG=angleproject:1095
BUG=angleproject:2222
Change-Id: I5c9defc7ce1feaa49407557b88d9bb6b98571771
Reviewed-on: https://chromium-review.googlesource.com/490726
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
06b95582
|
2018-02-08T13:48:44
|
|
Re-supress VerifyMax*UniformVectors on Ozone Intel.
BUG=angleproject:2205
Change-Id: Icff414dc7a521205fd3e39af4652b0fdef1cb900
Reviewed-on: https://chromium-review.googlesource.com/909291
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
da91c9a6
|
2018-02-08T11:46:39
|
|
GLES1: Link against angle_util_static instead of angle_util.
Attempting to work around missing .so on linux bots.
BUG=angleproject:2303
Change-Id: I7fabad308afd420987369b460c13c00781113605
Reviewed-on: https://chromium-review.googlesource.com/909028
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
8e5ba8bb
|
2018-02-05T17:52:27
|
|
Clean up end2end tests for Intel Linux platform.
Removed tests can pass on Intel Linux Desktop (Intel KabyLake, Ubuntu 17.04)
with system default mesa and latest upstream mesa.
BUG=angleproject:2205
BUG=chromium:680631
Change-Id: Ie3f0f34b9708a7dab81f66d9ec83a469658deee7
Reviewed-on: https://chromium-review.googlesource.com/901382
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
5420cb2a
|
2018-01-24T10:09:22
|
|
Suppress Intel specific deqp test cases
Test deqp cases on Windows D3D and Linux on Intel HD 630.
Add failed or crashed test cases to expectation files.
BUG=801323
BUG=angleproject:2349
Change-Id: I495874f5e1841f6c7ce0f59224ed0da9465546ce
Reviewed-on: https://chromium-review.googlesource.com/900708
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0e65454d
|
2018-02-07T14:50:06
|
|
Vulkan: Fix circular dependency with resource updates.
The old implementation would try to keep recording draw commands to
the same framebuffer write operation even if the vertex array buffer
data changed. This would lead to a broken dependency graph. Fix this
by forcing any current render operations to create a new node in this
case, giving a correct command graph.
Old design:
- render (creates a CommandBufferNode A)
- update buffer (creates a CommandBufferNode B which happens after A)
- render (to CommandBuffer A, and gives a circular dependency with B)
New design
- render (CommandBufferNode A)
- update buffer (CommandBufferNode B, happens after A)
- render (CommandBufferNode C, happens after B)
This also renames some methods to try to clarify them.
Bug: angleproject:2350
Change-Id: I6559bed4ed3f58f68771662422c5bef6a505282b
Reviewed-on: https://chromium-review.googlesource.com/907416
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
469708e7
|
2018-02-07T16:54:15
|
|
Add expectations for gles1 conformance tests.
Mark all tests as failing until they are running on the bots.
BUG=angleproject:2303
Change-Id: If9dfccd4a433ab039a1993c8e5a351b55532a0c8
Reviewed-on: https://chromium-review.googlesource.com/907630
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
00155d58
|
2018-02-06T10:48:47
|
|
Vulkan: Implement scissor test and add a simple test for it
Bug: angleproject:2338
Change-Id: I699189fcd41feca1656c8553fdf4c1078421524d
Reviewed-on: https://chromium-review.googlesource.com/904861
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b4cc49fb
|
2018-01-25T14:37:06
|
|
Use only ImmutableString in TextureFunctionHLSL
BUG=angleproject:2267
TEST=angle_unittests, angle_end2end_tests
Change-Id: I344ca0098762fcf665365c79d1f8fb04cb1b03f6
Reviewed-on: https://chromium-review.googlesource.com/887067
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
29bda815
|
2018-01-26T17:37:36
|
|
Move symbol table initialization to SymbolTable.cpp
This is needed in order to make symbol table symbols statically
allocated.
BUG=angleproject:2267
TEST=angle_unittests
Change-Id: Ia2d44fb30d49dc5d5c67643fe01280c89127a3c3
Reviewed-on: https://chromium-review.googlesource.com/889299
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
57dd97aa
|
2018-02-06T17:10:49
|
|
Vulkan: Add helper for allocating image memory.
Also refactors some memory index searching code that was duplicated.
This will lead the way to having more code reuse for our Renderbuffers
implementation in Vulkan, and for other types of Texture.
Bug: angleproject:2347
Change-Id: I49cbd77328c01f945d66f92e6ec4ba7c552abeff
Reviewed-on: https://chromium-review.googlesource.com/904684
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
fbb1c792
|
2018-01-19T16:26:59
|
|
Store symbol names as a ImmutableString
This will enable compile-time initialization of built-in symbols as
well as reducing copying strings.
Most of the code that deals with names is changed to use
ImmutableString where it makes sense to avoid conversions.
The lexer/parser now allocate const char pointers into pool memory
instead of allocating TStrings. These are then converted to
ImmutableString upon entering TParseContext.
BUG=angleproject:2267
TEST=angle_unittests, angle_end2end_tests
Change-Id: I244d6271ea1ecf7150d4f89dfa388a7745a1150c
Reviewed-on: https://chromium-review.googlesource.com/881561
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
b62a1c2a
|
2018-02-06T09:54:02
|
|
Vulkan: Reorganize BUILD.gn files.
This moves the SPIRV-Tools and glslang and Validation layers build
files into the root of the dep folder.
Requires an upstream Chrome change to allow for a different path
to execute scrips in GN.
Also removes the vulkan_support subdirectory.
Bug: angleproject:2339
Change-Id: I457b5b05547c092a1e7fef6dd0aaadd8068e2143
Reviewed-on: https://chromium-review.googlesource.com/900096
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
ceb7190b
|
2018-02-05T15:18:47
|
|
Vulkan: Fix bug in reuse of vertex input bindings
Fix bug that used previously used vertex bindings. Now we
use the current program mask to only initialize the vulkan
pipeline with the active vertex input bindings.
+ adjust dEQP expectations
Bug: angleproject:2334
Change-Id: Ie6176eee99f87dc7a95f664d28e8312b9cb274bc
Reviewed-on: https://chromium-review.googlesource.com/902434
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
ca5c1059
|
2018-02-05T19:21:11
|
|
Replace a POSIX API call not supported by Fuchsia.
Bug: chromium:809201
Change-Id: Iafc2e7efe92bcb977e5185901c073e499114a9f4
Reviewed-on: https://chromium-review.googlesource.com/903261
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bfeed4dd
|
2018-02-06T16:39:29
|
|
Add a compiler perf test shader to stress traversers
Add a compiler perf test that's targeted at AST traversers. It
triggers many traversers that mutate the AST and run multiple
iterations particularly on the HLSL backend.
BUG=angleproject:827
TEST=angle_perftests
Change-Id: I75d89e8ae0fd7959f2c7fbb133c13ccde22abc37
Reviewed-on: https://chromium-review.googlesource.com/904622
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
2d1c0a2b
|
2018-02-02T09:50:57
|
|
Vulkan: Fix gcc compile error
Add 'no-unused-function' to compile glslang
BUG=angleproject:2301
Change-Id: Iac741e007873fb718527514210649e6b658a63b8
Reviewed-on: https://chromium-review.googlesource.com/898394
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
44dcb911
|
2018-02-02T12:51:41
|
|
Decode R11 and RG11 EAC formats into 16-bit textures.
8-bit textures are not precise enough but no tests were failing because
dEQP was using 4-bit backbuffers.
Preserve the old decode-to-8-bits paths because they are still used by
Chrome.
BUG=angleproject:2336
Change-Id: Ieb651325e2a05c85bcc97f8e6d868afaf37aff0d
Reviewed-on: https://chromium-review.googlesource.com/899701
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
bcb4c68d
|
2018-02-05T14:56:54
|
|
StateManagerGL: Rework query tracking (again)
* Put the temporarily paused queries into a separate map, this should
be separate functionality from the regular query tracking.
* Pair down the number of functions that modify the current begin/end
state.
* Always pause all old queries and resume all new queries on context
switch.
BUG=805233
Change-Id: If37a9947b50feaa4e627070ce2a7895aa5034c0e
Reviewed-on: https://chromium-review.googlesource.com/902426
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
a8fe18fc
|
2018-02-05T13:46:05
|
|
GL: Fix usage of glGetInternalFormativ.
The Target was being passed cube map faces for cube map textures.
The return value is an enum, not a bool.
BUG=angleproject:1932
Change-Id: I975f510fc0f6bc4d29adcbb152b0329ecbcdfa92
Reviewed-on: https://chromium-review.googlesource.com/902192
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b5420664
|
2018-02-02T10:03:22
|
|
Add end2end test for GL_TRIANGLE_FAN in SimpleOperationTest
Bug: angleproject:2334
Change-Id: Idb4d651ade139372f40d690e523c43b20e859a5e
Reviewed-on: https://chromium-review.googlesource.com/899024
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
22294b04
|
2018-02-02T10:03:22
|
|
Add end2end tests for GL_LINES and GL_LINE_STRIP
+ Small refactoring in SimpleOperationTest.cpp to share
the vertex/fragment shaders for all the tests.
+ Adjust deqp gles2 expectations to include
dEQP-GLES2.functional.draw.draw_arrays.lines.single_attribute
Bug: angleproject:2328
Change-Id: I7cab84b7914f503537eb5bfabb7ed58002e19846
Reviewed-on: https://chromium-review.googlesource.com/899046
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
338abb46
|
2018-01-30T18:16:30
|
|
Fix invalid heap exception in angle
Running angle deqp test case, an invalid heap exception is thrown in
angle on both linux and windows platforms.
If build a nonsequential heap, and then erase any node of the heap,
the heap is no longer valid. If using std::push_heap or std::pop_heap
method next, this exception will be thrown out. So we should use
std::make_heap after modifying the heap.
TEST=angle_deqp_gles2_tests
TEST=angle_deqp_gles3_tests
TEST=HandleAllocatorTest.ReserveAfterReleaseBug
BUG=angleproject:2326
Change-Id: I123fc81b3365c93081d0042c69b4e5114956fe0d
Reviewed-on: https://chromium-review.googlesource.com/892961
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
14cb42c0
|
2018-01-24T14:11:19
|
|
Clean up passed end2end tests on Intel Linux platforms.
Only one end2end test still fail for ANGLE issue 1346.
BUG=angleproject:1346
Change-Id: Ibeefe600b21b6ae2056e304d18a8fc4071a48cbe
Reviewed-on: https://chromium-review.googlesource.com/882294
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
64d065e2
|
2018-02-03T12:26:19
|
|
Update dEQP expectations.
BUG=angleproject:1487
BUG=angleproject:1442
Change-Id: Ib0913eb446a903199dafcd379c8dc0b9b969b8c0
Reviewed-on: https://chromium-review.googlesource.com/900555
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
edcd1134
|
2018-02-03T10:28:52
|
|
Update dEQP expectations.
BUG=angleproject:2341
BUG=angleproject:1442
BUG=angleproject:2324
BUG=angleproject:1941
BUG=angleproject:2342
BUG=angleproject:2137
Change-Id: I9e8fc45d6f3eb8cfc02513602898583af3f79eba
Reviewed-on: https://chromium-review.googlesource.com/900547
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
23c107e8
|
2018-01-30T09:54:39
|
|
Roll dEQP 455d82c60b0...5bc346ba2.
Inclues several new ES 3.1 and EGL test sets.
https://android.googlesource.com/platform/external/deqp/+log/455d82c60b0..5bc346ba2d5
Bug: angleproject:2319
Bug: angleproject:1961
Bug: angleproject:1028
Bug: angleproject:2320
Bug: angleproject:2321
Bug: angleproject:2329
Bug: angleproject:2330
Change-Id: I26bfb11a41073e94ecc75d20b07055eb4e946d43
Reviewed-on: https://chromium-review.googlesource.com/703159
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9a608c0e
|
2018-02-02T16:21:01
|
|
Vulkan: request coherent memory for StagingImage
Otherwise vkInvalidateMappedMemoryRanges is needed,
if allocated memory is not coherent,
which was happening on Nexus 5X and was caught by validation layers.
BUG=angleproject:2314
TEST=all angle_end2end_tests pass on Nexus 5X
Change-Id: I008aae45b99c6ca87029ff1614913fae32f66ec3
Reviewed-on: https://chromium-review.googlesource.com/900203
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
df9ad2be
|
2018-02-02T12:40:01
|
|
Vulkan: Minor refactor to RendererVk::initialize.
Bug: angleproject:2314
Change-Id: Ic3fa5f8ff5a0933e22b9fd5803b7ab3fbbfd449f
Reviewed-on: https://chromium-review.googlesource.com/899686
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c7295f4d
|
2018-02-01T13:05:25
|
|
Vulkan: Add dEQP ES2 expectations.
Only run the info tests for now, skip everything else.
Rename angle-vk config to angle-vulkan
BUG=angleproject:2161
Change-Id: I0a57f1f8fbfa9d27c2c376d38685184622f0779b
Reviewed-on: https://chromium-review.googlesource.com/896552
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
95ed1947
|
2018-02-01T14:01:19
|
|
Add a class for function lookups
Using a purpose-built class for function lookups instead of using
a combination of TFunction and a struct container for the this node
and arguments makes the code clearer.
BUG=angleproject:2267
TEST=angle_unittests
Change-Id: I3f345d836abeaa7f84cc46b4b840fd06c7e2e1a7
Reviewed-on: https://chromium-review.googlesource.com/897363
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
5c5d7dee
|
2018-02-01T14:45:54
|
|
Remove test restrictions on dEQP gles3 texture.compressedtexsubimage* tests
Bug: angleproject:2327
Change-Id: I60ab5ba9d356e2720102c2166e2446002a8b674b
Reviewed-on: https://chromium-review.googlesource.com/898066
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
9dbaeba8
|
2018-02-01T07:26:59
|
|
Validation layer fixes for compressedtexsubimage* dEQP tests
* Change order of validation in ValidateCompressedTexSubImage3D
to get the errors in the same order as the dEQP tests are
expecting them.
* ES 3.1: Section 8.7, page 169: If the internal format is ETC2/EAC,
the target must be a GL_TEXTURE_2D_ARRAY.
* ES 3.1: Section 8.7, page 171: For sub textures, ET2/EAC formats
also requires exact size to be validated.
Bug: angleproject:2327
Change-Id: Ib049c70a52ed5683885a73fb06503898a85786d1
Reviewed-on: https://chromium-review.googlesource.com/897726
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c0db9add
|
2018-01-29T13:52:42
|
|
Fix dEQP renderbuffer unspecified attachment test.
Full test name: dEQP-GLES3.functional.state_query.fbo.framebuffer_unspecified_attachment_x_size_rbo
Bug: angleproject:2321
Change-Id: I086aefe23a3141f58cc33149c9cd7bdc5eb98dba
Reviewed-on: https://chromium-review.googlesource.com/891662
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f70e0237
|
2018-01-29T10:32:47
|
|
Vulkan: Finish implementing caps limitations for ES 2.0 support
Bug: angleproject:1577
Change-Id: Id22af039109b175f60f11cea1d6b8b2308c5cfff
Reviewed-on: https://chromium-review.googlesource.com/891420
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8efd1268
|
2017-12-19T09:32:55
|
|
ES31: Add max combined interface blocks validation
BUG=angleproject:1951
Change-Id: I9223964fa84cee3888fb7f5949c3e098fe2aa2b0
Reviewed-on: https://chromium-review.googlesource.com/890818
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1776fd08
|
2018-01-31T11:46:52
|
|
Make use of CreateBoolNode in traversers
This is just refactoring to clean up some duplicate code. A new test
is added to make sure this doesn't break UnfoldShortCircuitAST.
BUG=angleproject:1490
TEST=angle_unittests
Change-Id: I108e646f71ba631cbd5dad2055b64e6a30159742
Reviewed-on: https://chromium-review.googlesource.com/894207
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
15443eba
|
2018-01-31T16:41:53
|
|
Fix angle_gles1_conformance_tests compilation in Chromium.
BUG=angleproject:2303
Change-Id: If22dd174d2a7b50b1416fa760494e99bbc813985
Reviewed-on: https://chromium-review.googlesource.com/894839
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
61d5325e
|
2018-01-31T14:49:24
|
|
D3D9: Improve varying packing failure mode.
D3D9 has a special limitation on varying packing, where each
variable takes up a full register width, and cannot share space
with other packed varyings.
A bug was counting registers incorrectly on D3D9. Fix this by
introducing a new limitation exposed to the ANGLE front-end via
the gl::Limitations structure. Now varying packing will fail
correctly in the ANGLE linking front-end with a more descriptive
error message, as such:
"Could not pack varying blah"
"Note: Additional non-conformant packing restrictions are enforced on D3D9."
Also change the packing so that input built-in variables are
counted towards varying limits (e.g. gl_PointSize), except for
gl_Position. On D3D9 we don't pack gl_PointSize, since it is
used in a special extra PSIZE register.
Also update some tests to be more robust.
Bug: chromium:804799
Change-Id: I9027266a8b66a28626f038f259bff42ebf09dcd2
Reviewed-on: https://chromium-review.googlesource.com/889898
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
191a84a8
|
2018-01-31T16:09:45
|
|
Fix VK_NOT_READY for vkAcquireNextImageKHR
The error was not handled, as is the cause for the bug. So far we'd
better wait until a valid image index is ready.
BUG=angleproject:2301
Change-Id: I49a5545d0f2e0cf6cfbb3f604ab0602f8a131d12
Reviewed-on: https://chromium-review.googlesource.com/895402
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
9bf55527
|
2018-01-29T13:56:23
|
|
Fix the incorrect calculation for MAX_NAME_LENGTH
The old implementation forgot to consider the instance array situation.
This change will use unified method to calculate the interface block's
MAX_NAME_LENGTH. It also removes some cases which have already passed
from expectation files.
BUG=angleproject:1920
TEST=angle_end2end_tests
*program_interface_query.uniform_block.resource_list.block_array*
*program_interface_query.shader_storage_block.resource_list.block_array*
Change-Id: I6ef53951487e6366d69ecaa43e4df6824baad042
Reviewed-on: https://chromium-review.googlesource.com/890386
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
79de62c6
|
2018-01-31T10:47:14
|
|
Explicitly suppress -Wimplicit-fallthrough for angle and its deps.
No behavior change since that warning isn't enabled anywhere yet, and
it's opt-in. This is a prerequisite for
https://chromium-review.googlesource.com/c/chromium/src/+/895726
Bug: chromium:177475
Change-Id: Ie5ffccd240a65646fe07e7d4475f63c4e8620746
Reviewed-on: https://chromium-review.googlesource.com/895728
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
|
|
e13f7ebe
|
2018-01-26T17:08:49
|
|
Make NVIDIA constant register zero skip specific to VS
It was found that the driver issue only affects vertex
shaders, so the workaround can be simplified to affect only
vertex shaders.
BUG=angleproject:2294
TEST=WebGL conformance tests on passthrough command buffer,
angle_end2end_tests
Change-Id: Ie7fb4e75a3999e1de3d5c20d3de21e7ebb08f148
Reviewed-on: https://chromium-review.googlesource.com/889099
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
199f4294
|
2018-01-19T19:04:05
|
|
Vulkan: Enable on Android
Add Android DisplayVk and WindowSurfaceVk variants.
Build Vulkan backend and validation layers on Android
if toolchain uses required NDK API level.
Fix validation layers discovery to work on Android.
BUG=angleproject:2314
TEST=angle_end2end_tests builds and runs on Nexus 5X, 12 VULKAN tests pass
Change-Id: Iac2ec4ecd6470a7552f9f60c023ba1760aa090c5
Reviewed-on: https://chromium-review.googlesource.com/887797
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
bd6ae4aa
|
2018-01-29T15:51:18
|
|
Vulkan: Don't create zero-sized textures.
Make sure the old resources are deleted but do not create new resources.
BUG=angleproject:2161
Change-Id: Ia6685e5c67b160d9bcd503983aee9607b2bd402c
Reviewed-on: https://chromium-review.googlesource.com/891644
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
513bc77d
|
2018-01-29T15:50:24
|
|
Vulkan: Allow dEQP to create Vulkan displays.
BUG=angleproject:2161
Change-Id: Ia2d4b4edcf9a40621573f124d14147224bbd8431
Reviewed-on: https://chromium-review.googlesource.com/891803
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
13fd988c
|
2018-01-29T15:47:38
|
|
Vulkan: Add the Vulkan API to gpu_test_expectations.
BUG=angleproject:2161
Change-Id: I7eda4d654cd0c0bc55ff344c5927d738ce592fe4
Reviewed-on: https://chromium-review.googlesource.com/891839
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6969132c
|
2018-01-30T10:40:08
|
|
ES31: update deqp tests for renderbuffer integer formats.
These deqp tests were fixed by this change:
https://chromium-review.googlesource.com/c/angle/angle/+/878021.
BUG=angleproject:2315
Change-Id: Ib0c73bdd3cc1dde554c8e30286c08f92d4f90fd2
Reviewed-on: https://chromium-review.googlesource.com/892402
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
efb5a5c8
|
2018-01-29T15:56:59
|
|
Vulkan: Fix swaps done right after a clear.
We were missing a dependency insertion between the Framebuffer and
its attachments, only during clear operations. Also renames a few
methods to make them more consistent.
Bug: angleproject:2264
Change-Id: Ic3af5b34b6de900ea2cc1b765f8d3d69f7f9a131
Reviewed-on: https://chromium-review.googlesource.com/891985
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5dd4ad89
|
2018-01-29T13:53:43
|
|
Vulkan: Add a perf test for the Pipeline cache.
This micro-benchmark can be used to measure the performance impact
of changing the Pipeline cache. For instance, we can check if changing
the size of the hash key affects performance significantly.
Also updates the build files so angle_perftests can see vulkan.h, and
makes the Vulkan headers an explicit source set.
This test currently shows that a lot of time is spent in PMurmurHash,
with some time also spent in memcmp.
Bug: angleproject:2163
Change-Id: Ie8bb3e31d58590f373d28cbbb59f7e372b80cc29
Reviewed-on: https://chromium-review.googlesource.com/884882
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
12c03761
|
2018-01-25T12:22:33
|
|
Resubmit: Use ImmutableString for HLSL texture references
This fixes an issue in the original revision of this patch by adding
a operator<< to TInfoSinkBase that takes ImmutableString as a
parameter.
This also adds ImmutableStringBuilder class, which can be used to
build ImmutableStrings in place without extra allocations if the
maximum length is known in advance.
BUG=angleproject:2267
TEST=angle_unittests
Change-Id: I52e984657a3aba3e6fe67a82b401c6b8de557d18
Reviewed-on: https://chromium-review.googlesource.com/890522
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
37b697ed
|
2018-01-29T12:19:27
|
|
Only return symbol from TSymbolTable::find
Whether the symbol is built-in can be easily determined from the
SymbolType stored in the symbol, it doesn't need to be returned
separately. The sameScope value that could be returned from
TSymbolTable::find was never used, so that can be removed as well.
BUG=angleproject:2267
TEST=angle_unittests
Change-Id: I06958741ebec67d496f830a83b4f6f1359632f45
Reviewed-on: https://chromium-review.googlesource.com/891021
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
e4741fd0
|
2018-01-25T13:25:27
|
|
Vulkan: Begin implementing caps mappings
Bug: angleproject:1577
Change-Id: Ibed36dee9120e9182362bc9858cf513f798079cf
Reviewed-on: https://chromium-review.googlesource.com/887225
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d1434c04
|
2018-01-29T02:29:53
|
|
Revert "Use ImmutableString for HLSL texture references"
This reverts commit c13bda8678e86ff75a4acfc94f7a45e58224926d.
Reason for revert: May have broken LibFuzzer and AFL builds:
https://ci.chromium.org/buildbot/chromium.fyi/Afl%20Upload%20Linux%20ASan/7718
https://build.chromium.org/deprecated/chromium.fyi/builders/Libfuzzer%20Upload%20Linux%20ASan/builds/8691
In file included from ../../third_party/angle/src/compiler/translator/TextureFunctionHLSL.cpp:12:
In file included from ../../third_party/angle/src/compiler/translator/TextureFunctionHLSL.h:19:
../../third_party/angle/src/compiler/translator/InfoSink.h:40:16: error: call to function 'operator<<' that is neither visible in the template definition nor found by argument-dependent lookup
stream << t;
^
../../third_party/angle/src/compiler/translator/TextureFunctionHLSL.cpp:111:9: note: in instantiation of function template specialization 'sh::TInfoSinkBase::operator<<<sh::ImmutableString>' requested here
out << textureReference;
^
../../third_party/angle/src/compiler/translator/ImmutableString.h:76:15: note: 'operator<<' should be declared prior to the call site or in namespace 'sh'
std::ostream &operator<<(std::ostream &os, const sh::ImmutableString &str);
^
1 error generated.
Bug: chromium:806619
Original change's description:
> Use ImmutableString for HLSL texture references
>
> This also adds ImmutableStringBuilder class, which can be used to
> build ImmutableStrings in place without extra allocations if the
> maximum length is known in advance.
>
> BUG=angleproject:2267
> TEST=angle_unittests
>
> Change-Id: I4dfb78adeb0cffcfad0d25753fb8063466012c92
> Reviewed-on: https://chromium-review.googlesource.com/886362
> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=jmadill@chromium.org,cwallez@chromium.org,oetuaho@nvidia.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:2267
Change-Id: I445f5a786f8b16c3f40f28df09d45fcb215a9c88
Reviewed-on: https://chromium-review.googlesource.com/890542
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fad40f09
|
2018-01-26T16:52:31
|
|
Entry Points: Expose glTexStorage3DEXT.
The new dEQP takes advantage of the EXT entry point. If it is
missing, dEQP will trigger an unexpected crash.
Bug: angleproject:2319
Change-Id: Ib9a32931cd50bc96d9918662f16262772afbe36a
Reviewed-on: https://chromium-review.googlesource.com/889695
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6807f826
|
2018-01-25T20:19:27
|
|
Print more logs when using default Platform
Some logs prior to Test Platform initialization were getting lost.
1. Also print WARN() to stdout
2. Use Android specific logging facilities
BUG=angleproject:1660
Change-Id: I8424958426809567396ef24cedc2d427a3a21959
Reviewed-on: https://chromium-review.googlesource.com/887944
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
881b7bfa
|
2017-12-25T11:18:37
|
|
ES31: Refactor link mismatch error log
This patch intends to refactor the structure of logging link mismatch
errors to meet the new GLES 3.1 program link requirements and support
linking program with geometry shader.
This patch is mainly focusing on the following 4 issues:
1. There are totally 14 places that log the link mismatch errors
in almost same format.
2. A temporary string is created (STRUCT_NAME.FIELD_NAME) before
checking a field of a block, which is of no use if link succeeds.
3. LinkValidateVariablesBase needs to know "shaderTypes" if we support
geometry shader based on current structure. Since uniforms are
checked in the range of the whole program, it is unnecessary to
know in which shader a uniform is defined if link succeeds.
4. GLES 3.1 regards varyings with same location but different names
as matched, so it isn't enough to log errors only by one name.
This patch can solve all these issues by the following 3 changes:
1. Replace "infoLog" and "variableNames" by "mismatchedFieldName" (the
complete field name if the mismatch occurs on a field of a struct
or block).
2. Use enum LinkMismatchError as the return value of all linkValidate*
functions to reflect the detail of the link mismatch error.
3. Log all the link mismatch errors by InfoLog::logLinkMismatch where
we can get shader types instead of passing them into linkValidate*
functions.
BUG=angleproject:1941, angleproject:2144
TEST=angle_end2end_tests
Change-Id: I3ed876d61f812cc7a45a6a3c5fec0b4a88b9cc2c
Reviewed-on: https://chromium-review.googlesource.com/844215
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
c13bda86
|
2018-01-25T12:22:33
|
|
Use ImmutableString for HLSL texture references
This also adds ImmutableStringBuilder class, which can be used to
build ImmutableStrings in place without extra allocations if the
maximum length is known in advance.
BUG=angleproject:2267
TEST=angle_unittests
Change-Id: I4dfb78adeb0cffcfad0d25753fb8063466012c92
Reviewed-on: https://chromium-review.googlesource.com/886362
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ffa4cbb6
|
2018-01-23T13:04:07
|
|
Vulkan: Implement the Pipeline cache.
This currently keeps a cache of every PSO compiled and does not trim
the cache or evict old members on memory pressure. This will be done
as a follow-up.
Improves the speed of the Draw Call microbenchmark 50x when using a
single state change.
Bug: angleproject:2163
Change-Id: I2cceb38ca57ae639f36a944f4571b627481b92da
Reviewed-on: https://chromium-review.googlesource.com/876954
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1436d434
|
2018-01-24T14:38:22
|
|
Add a simple compiler perf test
The perf test initializes the compiler once and then translates the
same shader to HLSL, GLSL or ESSL repeatedly.
There are three variations of the test compiling different shaders.
One is a real-world shader.
BUG=angleproject:2267
TEST=angle_perftests
Change-Id: Ie07b67d7548d105c4c93dff3b6196233d83b5b8c
Reviewed-on: https://chromium-review.googlesource.com/883784
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
17e3d2d5
|
2018-01-24T16:07:48
|
|
Vulkan: Add draw call perf test with a state change.
Bug: angleproject:2163
Change-Id: I3976af162ee669d0c98625fc69efb7fbd02c7e45
Reviewed-on: https://chromium-review.googlesource.com/883611
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aba14ff5
|
2018-01-15T14:55:03
|
|
Add GLES1 conformance tests.
BUG=angleproject:2303
Change-Id: I5955485e2392c573125bd8785ece103a9607f7d1
Reviewed-on: https://chromium-review.googlesource.com/867311
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Lingfeng Yang <lfy@google.com>
|
|
2d8e432a
|
2018-01-22T14:12:46
|
|
Add ImmutableString to encapsulate some compiler strings
The new ImmutableString class is intended to be used instead of plain
const char pointers to pool-allocated or static memory.
It has the following advantages over using plain const char pointers:
1. It makes it clear when a string is guaranteed to be safe to pass
around inside the compiler.
2. It can be compared with a comparison operator rather than using
strcmp, which is easier to read.
3. It records the length of the stored string, which enables faster
copies and comparisons in some cases.
4. ImmutableStrings could be implicitly converted from std::strings
when a pool-allocated string is required. This is robust and
convenient.
C++17 has a similar class std::string_view, but our code style doesn't
allow it yet. We also couldn't use it as is if we require properties
1 and 4 from above, but would rather need to inherit or wrap it in a
custom class.
Eventually all current usage of TString could be replaced with
ImmutableString. For now, use it for unmangled built-in names.
TEST=angle_unittests
BUG=angleproject:2267
Change-Id: Id60c7b544032e06460e1b99837e429bc84dc4367
Reviewed-on: https://chromium-review.googlesource.com/881020
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2e551f6b
|
2018-01-24T21:45:34
|
|
Vulkan: Fix DebugReportCallback definition
Fixes 32bit Android build
BUG=angleproject:2314
Change-Id: I55e8fc8ee3ffa6397e6612ccf43c67e4a7a9dc75
Reviewed-on: https://chromium-review.googlesource.com/885504
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
68981eb5
|
2018-01-23T17:46:12
|
|
Track parameter qualifiers of functions in call nodes
We now add a reference to TFunction to all TIntermAggregate nodes
where it is possible, including built-in ops. We also make sure
that internal TFunctions added in traversers have correct parameter
qualifiers.
This makes TLValueTrackingTraverser much simpler. Instead of storing
traversed functions or looking up builtin functions from the symbol
table, determining which function parameters are out parameters can
now be done simply by looking it up from the function symbol
associated with the aggregate node.
Symbol instances are no longer deleted when a symbol table level goes
out of scope, and TFunction destructor no longer clears the
parameters. They're all either statically allocated or pool allocated,
so this does not result in leaks.
TEST=angle_unittests
BUG=angleproject:2267
Change-Id: I57e5570da5b5a69a98a8778da3c2dc82b6284738
Reviewed-on: https://chromium-review.googlesource.com/881324
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
12da5e75
|
2018-01-23T18:34:53
|
|
Vulkan: use supported composite alpha
Try VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR first,
if not supported, try VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR.
Fail if it is not supported either.
BUG=angleproject:2314
Change-Id: I875a60f7b51b9880da2d2916d602a6e7e8ca479f
Reviewed-on: https://chromium-review.googlesource.com/882320
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
01b21b19
|
2018-01-23T15:46:28
|
|
Vulkan: get render target format from config
Instead of hardcoded GL_BGRA8_EXT.
Also change renderTargetFormat to GL_BGRA8_EXT in
DisplayVk::generateConfigs()
BUG=angleproject:2314
Change-Id: I47471add4e681fd0b8101d475c4a33ab59920c5c
Reviewed-on: https://chromium-review.googlesource.com/881952
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|