|
0cbfa586
|
2018-02-15T14:45:41
|
|
Vulkan: Implement basic Renderbuffer attachments.
Creating an ImageView for color Renderbuffers allows us to render to
them in a RenderPass. We will also need additional functionality to
support depth/stencil Renderbuffers.
Bug: angleproject:2347
Change-Id: I5d4f7d8242ad4fbca38cb08c0cf6b43edca57c8f
Reviewed-on: https://chromium-review.googlesource.com/922456
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
e80825ef
|
2018-02-16T10:24:53
|
|
Simplify built-in function node initialization
Built-ins with no math op associated with them now have the op code
EOpCallBuiltInFunction set. This makes initializing built-in function
nodes simpler, since they can always get the op code from the function
symbol.
We also no longer look for functions in inner scopes, only from the
global scope and from built-in functions.
BUG=angleproject:2267
TEST=angle_unittests
Change-Id: I55a2642f34bb3c8b8f13183c95fa509ec3b9cfdb
Reviewed-on: https://chromium-review.googlesource.com/923724
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
17448956
|
2017-01-05T15:48:26
|
|
Vulkan: vertex attributes in client memory.
Support vertex data stored in client memory passed to glVertexAttribPointer.
Only GL_FLOAT data is supported at this time. Includes a simple test.
BUG=angleproject:1683
Change-Id: I3bc0cdefe02b02c046b0e85822019a0f1762235e
Reviewed-on: https://chromium-review.googlesource.com/425137
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b66de58f
|
2018-02-15T14:02:33
|
|
Mark third-party code in ANGLE as no_chromium_code.
That way, we don't have to explicitly disable Wimplicit-fallthrough
for these targets, and when we add new warnings to chromium_code in
the future, these targets won't need any special attention.
Like https://chromium-review.googlesource.com/c/chromium/src/+/905222
Bug: 807632
Change-Id: I3a605dd3ef9ed7d8cfe9e36964c3433040bfc330
Reviewed-on: https://chromium-review.googlesource.com/922503
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
|
|
d7ebfb92
|
2018-02-15T16:34:29
|
|
Add missing is_fuchsia to system_utils selection.
This fixes a build break because of 046fa0efc44d3ac5d.
See: https://crrev.com/c/898591
Bug: angleproject:2333
Change-Id: I6a4cb60dd2d2958ea71aaa27f1429233c2787fb4
Reviewed-on: https://chromium-review.googlesource.com/922878
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
4edce336
|
2018-02-14T19:01:31
|
|
GLES1: macOS: Add rpath to libGLESv1_CM.dylib
This is to fix error messages when running GLES1 samples (and probably
other apps) from different directories than the same one as where
libGLESv1_CM.dylib is located.
BUG=angleproject:2306
Change-Id: I24ab33eb1bc805c1e64efab9a0acbfcf10480d94
Reviewed-on: https://chromium-review.googlesource.com/920926
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
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>
|
|
26403533
|
2018-02-14T14:19:13
|
|
Revert "Vulkan: Add glslang validator to build."
This reverts commit 560bfbcb7860267888db2e8933c187710f4e1512.
Reason for revert:
Appears to be causing a compile error on the ANGLE roll.
https://chromium-review.googlesource.com/c/chromium/src/+/914429
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_compile_dbg_ng/11598
/b/swarming/w/ir/cache/builder/linux/src/out/Debug/../../third_party/llvm-build/Release+Asserts/bin/ld.lld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::compare(unsigned long, unsigned long, char const*) const
>>> referenced by StandAlone.cpp
Original change's description:
> Vulkan: Add glslang validator to build.
>
> This binary will be used to generate internal shaders for
> clearing/blit/etc.
>
> Bug: angleproject:2339
> Change-Id: I13db7d7a4f5a0155798c9b9a6d2972dd69a680ef
> Reviewed-on: https://chromium-review.googlesource.com/904683
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:2339
Change-Id: I7bcedf27831648d4c659294d12cab50f6ef9f33f
Reviewed-on: https://chromium-review.googlesource.com/919141
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Commit-Queue: Jamie Madill <jmadill@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>
|
|
d9ed9c1a
|
2018-02-12T14:50:10
|
|
Put Vulkan mock ICD json file in separate dir
Create "icd" subdir in angledata directory where the Vulkan mock ICD
json file is stored. This prevents potential loader conflicts with the
layer json files. This change means that when running with the mock
ICD a user will need to set their VK_ICD_FILENAMES env variable to now
point to "<build_out_dir>/angledata/icd/VkICD_mock_icd.json" and make
sure that the built mock icd library resides in the system's shared
object search path.
Bug: angleproject:2159
Change-Id: I802bb61a06a2f370bb1fa7a28d9c3548e5f94ecf
Reviewed-on: https://chromium-review.googlesource.com/914819
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
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>
|
|
560bfbcb
|
2018-02-12T10:08:25
|
|
Vulkan: Add glslang validator to build.
This binary will be used to generate internal shaders for
clearing/blit/etc.
Bug: angleproject:2339
Change-Id: I13db7d7a4f5a0155798c9b9a6d2972dd69a680ef
Reviewed-on: https://chromium-review.googlesource.com/904683
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: 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>
|
|
8f27b050
|
2018-02-08T16:18:37
|
|
Update Android build instructions
Build flags to enable Vulkan backend and some small updates.
BUG=angleproject:2314
Change-Id: Ia99cc5a4b326a4cab115652cb12b3fb61033eeee
Reviewed-on: https://chromium-review.googlesource.com/909723
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
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>
|
|
e051ea72
|
2018-02-08T12:04:06
|
|
Vulkan: Update .gitignore with repo change.
This was missing from a prior commit which moved the Vulkan DEPS.
Bug: angleproject:2339
Change-Id: I16c2918af9396b5b935993d08d8f2ff925f3cb01
Reviewed-on: https://chromium-review.googlesource.com/909228
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bac02d76
|
2018-02-07T20:36:07
|
|
Vulkan: Fix data_deps on layers
Was broken by https://chromium-review.googlesource.com/900096
BUG=angleproject:2339
Change-Id: I3c28a38619d83e7dcbb2349565517feb1758976c
Reviewed-on: https://chromium-review.googlesource.com/907959
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@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>
|
|
a1134ba8
|
2018-02-07T15:24:47
|
|
Vulkan: Relocate third-party libraries. (2/2)
This makes the BUILD.gn source lists a lot simpler, since they no
longer need to use a special path variable, but instead can use the
correct relative paths.
This will lead to further simplifications so we can hopefully upstream
the Vulkan tools BUILD.gn files.
Second part updates the build files and removes the old repositories.
Bug: angleproject:2339
Change-Id: I37f5b42a0854ca49448ecbbb32c19c24df57f452
Reviewed-on: https://chromium-review.googlesource.com/905894
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: 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>
|
|
b9d1daa0
|
2018-01-04T08:30:26
|
|
Add Vulkan mock_icd to the build
Bug: angleproject:2159
Add Vulkan mock_icd from validation layer source to the standard Vulkan
build. This can act as a NULL driver for Vulkan. Once the mock is built
set VK_ICD_FILENAMES env variable to
"<build_out_dir>/angledata/VkICD_mock_icd.json" to point loader to the
mock driver and make sure the built mock icd library resides in the
system's shared object search path.
Change-Id: Iea86325cf076df75fa82a4974c8a3a6249cdf8e0
Reviewed-on: https://chromium-review.googlesource.com/850892
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
fd66b81e
|
2018-02-06T16:08:14
|
|
Vulkan: Relocate third-party libraries. (1/2)
This makes the BUILD.gn source lists a lot simpler, since they no
longer need to use a special path variable, but instead can use the
correct relative paths.
This will lead to further simplifications so we can hopefully upstream
the Vulkan tools BUILD.gn files.
First part duplicates the repositories in the new locations.
Bug: angleproject:2339
Change-Id: I98d4711b6f0451372476c8089af2d044bf1f65d6
Reviewed-on: https://chromium-review.googlesource.com/902422
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: 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>
|
|
d775684a
|
2017-12-22T16:06:09
|
|
Added Documentation for running dEQP tests
Old targets do not accept --deqp-case=<test>
As they are written using google test
To run individual dEQP test we need to use *_no_gtest targets
angle_deqp_egl_no_gtest
angle_deqp_gles2_no_gtest
angle_deqp_gles31_no_gtest
angle_deqp_gles3_no_gtest
above targets accept -deqp-case=<test> wildcard
Bug: angleproject:1944
Change-Id: I307a60c0cc41c446013bda42ccf0f909000f1ec8
Reviewed-on: https://chromium-review.googlesource.com/842284
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@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>
|
|
7b7ada6a
|
2018-02-05T14:49:15
|
|
Add a dotfile_settings GN config file.
This file will be imported into both ANGLE's and Chrome's .gn files so
we can share some of the same settings. This will mean we no longer
have to patch Chromium to make changes to the exec script whitelist.
Bug: angleproject:2339
Change-Id: I2d7dd4237488ffecf5376643447ad95a0c1dbf98
Reviewed-on: https://chromium-review.googlesource.com/902324
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@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>
|