|
2e60034b
|
2016-09-19T13:56:40
|
|
D3D11: Store Buffer SRVs in native storage.
This allows us to not store std::pairs to identify SRVs. Instead
we can release the cached SRVs directly when we re-create the
native buffer.
BUG=angleproject:1513
Change-Id: I6f6d5edc659aa843c9439b97661073415f1a772b
Reviewed-on: https://chromium-review.googlesource.com/385818
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
30e11ab2
|
2016-09-16T10:29:54
|
|
BUILD.gn: make the translator fuzzer a source set
When we want to use GN standalone, the fuzzer_test template won't exist.
Instead make the fuzzer a source set that is used by a target in Chrome.
BUG=angleproject:1522
Change-Id: I347e633448d508eb124d0861b0fb28315923016c
Reviewed-on: https://chromium-review.googlesource.com/386636
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
8fcdf6ee
|
2016-09-16T10:45:30
|
|
Supress failures in end2end tests for new Intel OpenGL driver.
Change-Id: I442eac44212406b0fd9fb64b2e4e914bf61f8503
Reviewed-on: https://chromium-review.googlesource.com/386280
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8b28a8b0
|
2016-09-15T19:47:56
|
|
translator/Compiler.cpp: fixup includes
A stray iostream got introduced in
28b6528ca2119d6715bb5e9eafa5a2dc8c968361
BUG=angleproject:1522
Change-Id: Ib0b14b47d4786309ec2d39acb5531f3772b91f20
Reviewed-on: https://chromium-review.googlesource.com/386256
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
415f29e0
|
2016-09-07T16:37:38
|
|
Disallow layout+invariant combo on ESSL 3.00 variable declarations
This combination is not allowed by the formal grammar in the ESSL 3.00
spec, and should still be disallowed in ESSL 3.00 shaders even though
the shader parser now implements the more flexible ESSL 3.10 grammar.
BUG=angleproject:1507
TEST=angle_unittests
Change-Id: I766a468fd7314c7e60e020b5b204aa6950263633
Reviewed-on: https://chromium-review.googlesource.com/381933
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
5796127e
|
2016-09-14T13:57:46
|
|
Rename TIntermSelection to TIntermIfElse
Now that ternary nodes are not represented by TIntermSelection any
more, TIntermIfElse is an easier name to understand for newcomers to
the code.
BUG=angleproject:1490
TEST=angle_unittests
Change-Id: Ia1e04e356ab93409400245092a84533d7dfd129d
Reviewed-on: https://chromium-review.googlesource.com/385416
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
28b6528c
|
2016-06-16T07:24:50
|
|
Add a fuzzer for the shader translator.
BUG=angleproject:1522
Change-Id: Idbe8194ba478366e99c7460d403d03fe27dd89d0
Reviewed-on: https://chromium-review.googlesource.com/353153
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
09cfac60
|
2016-09-06T17:25:16
|
|
Work around For and While loop bugs on Intel Mac OSX
Condition calculation in for and while loops has bug on Intel Mac. Work
around it by converting "CONDITION" to "CONDITION && true".
This CL also adds previous SH_EMULATE_ABS_INT_FUNCTION workaround to
the ANGLE GL back-end on OSX
BUG=chromium:644669
TEST=deqp/functional/gles3/shaderloop_for/while.html
Change-Id: I910f662b054f259fcb601b9938841b3a2d066840
Reviewed-on: https://chromium-review.googlesource.com/381678
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Qiankun Miao <qiankun.miao@intel.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
930fefca
|
2016-09-14T15:54:18
|
|
RendererGL: enable GL_DEBUG_OUTPUT on Debug builds
The intent was already to enable it but without glEnable(GL_DEBUG_OUTPUT)
the Linux NVIDIA driver doesn't output anything.
BUG=
Change-Id: Ia9a500c2e792ee7c4e2a7be60d478419eda617e1
Reviewed-on: https://chromium-review.googlesource.com/385278
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fcb79357
|
2016-09-13T15:13:15
|
|
D3D11: Detect driver version before workaround init.
This is order-sensitive. The workarounds need the driver version to
properly determine if workarounds should be used.
This fixes the WebGL 2 test invalidate/sub on NVIDIA.
BUG=angleproject:1246
Change-Id: I7ca4f44ec2874553f167214e937e918b49e69567
Reviewed-on: https://chromium-review.googlesource.com/385077
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
adaeb85f
|
2016-09-14T10:54:24
|
|
Fix standalone tests failing to find angle_util.dylib on Mac
BUG=
Change-Id: I69bddf27c1b019f71382d69c03eba94a268d2025
Reviewed-on: https://chromium-review.googlesource.com/385497
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7ebb97fc
|
2016-09-08T18:01:50
|
|
Use 64-bits compile options
BUG=chromium:645071
Change-Id: I31825123bf4cb45fb37a93f538e8936487beb5ff
Reviewed-on: https://chromium-review.googlesource.com/382712
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
47cb73ab
|
2016-09-09T11:41:44
|
|
Refactor TConstantUnion.
In preparation for constant folding fixes.
BUG=chromium:637050
Change-Id: I9ea49ce96b34c6ac3d2f0478b8fc6732c59e28be
Reviewed-on: https://chromium-review.googlesource.com/373741
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d0bad2c7
|
2016-09-09T18:01:16
|
|
Split ternary node class from TIntermSelection
Ternary operator nodes are typed parts of expressions, they always
have two children and the children are also guaranteed to be
TIntermTyped. "If" selection nodes can't be a part of an expression,
they can have either one or two children and the children are code
blocks. Due to all of these differences it makes sense to store these
using two different AST node classes.
BUG=angleproject:1490
TEST=angle_unittests
Change-Id: I913ab1d806e3cdb5c21106f078cc9c0b6c72ac54
Reviewed-on: https://chromium-review.googlesource.com/384512
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
95738972
|
2016-09-13T10:30:57
|
|
Specialize GLTypeToGLEnum in headers
BUG=angleproject:1514
Change-Id: I1f95e985471ea7a2ea0242d8b48ceccca68edf42
Reviewed-on: https://chromium-review.googlesource.com/384891
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
966456de
|
2016-09-12T11:42:44
|
|
Remove SH_TIMING_RESTRICTIONS compiler flag
The timing restrictions code is not in use and not updated for ESSL3,
so it is better to remove it to make refactoring the AST easier.
It can also be argued that perfect prevention of shader timing attacks
is not feasible due to factors that are not under control of ANGLE,
such as fixed function color compression in GPUs. Such color
compression may make the use of texture bandwidth and thus performance
dependent on the content of a texture regardless of whether a
compressed format is chosen through the API.
SH_DEPENDENCY_GRAPH flag that could only be active together with the
timing restrictions flag is also removed, along with all the code that
was supporting it. The newer CallDAG code is used for different
purposes and is kept.
BUG=angleproject:1490
TEST=angle_unittests
Change-Id: I2cd10e18df366e8e43f7c3af1ca12d2a4bfb2007
Reviewed-on: https://chromium-review.googlesource.com/384511
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
e79c2d1f
|
2016-09-09T16:33:09
|
|
Add newlines to error messages.
Looks like this breaks parsing tests list in gtest runner,
which causes deqp_gles2 to fail on Nexus 5X swarmed bot.
Driveby fix of HowToMakeChanges md format.
BUG=angleproject:1471
Change-Id: I6cfa2d9287385aabf2aee47521e5e55e309831c0
Reviewed-on: https://chromium-review.googlesource.com/383813
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
87d410c8
|
2016-09-05T13:33:26
|
|
Disallow multiple locations on output variables
GLSL ES specs from version 3.00 to 3.20 all mention that output layout
location qualifier may appear at most once within a declaration.
Enforce this rule when parsing shaders.
Also set max draw buffers to 8 when compiling GLSL ES >= 3.00 in the
qualification order tests and shader translator sample, so that
parsing locations > 0 will succeed.
BUG=angleproject:1505
TEST=angle_unittests
Change-Id: I50fe409041385f5e10e695f43dc3a572433e9772
Reviewed-on: https://chromium-review.googlesource.com/381211
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
a223430c
|
2016-08-31T12:05:39
|
|
Promote unary nodes automatically
Unary nodes now get their type set automatically based on the
operation and operand. The operand should only be changed to another
of the same type after the node is constructed. The operation can't
be changed on unary and binary nodes after they've been constructed.
BUG=angleproject:1490
TEST=angle_unittests
Change-Id: Ib1ea3dcb1162261966c02d5f03d8091cf647fac1
Reviewed-on: https://chromium-review.googlesource.com/378935
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
3272a6d3
|
2016-08-29T17:54:50
|
|
Promote and fold indexing nodes similarly to other binary ops
Indexing nodes now get their type set in TIntermBinary::promote, same
as math and logic ops. They are also constant folded through
TIntermBinary::fold() instead of having special functions for constant
folding them in ParseContext.
Index nodes for struct and interface block member access now always
have integer type, instead of sometimes having the type of the field
they were used to access.
Usage of TIntermBinary constructor is cleaned up so only the
constructor that takes in left and right operands is used. The type
of TIntermBinary nodes is always determined automatically.
Together these changes make the code considerably cleaner.
Note that the code for constant folding for array indexing is actually
never hit because constant folding array constructors is still
intentionally disabled in the code.
BUG=angleproject:1490
TEST=angle_unittests
Change-Id: Ifcec45257476cdb0d495c7d72e3cf2f83388e8c5
Reviewed-on: https://chromium-review.googlesource.com/377961
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
57b9424f
|
2016-09-09T12:48:00
|
|
D3D11: Release SRV cache in Buffer11 destructor.
This was leading to a resouce leak with fast unpack.
BUG=angleproject:1513
Change-Id: I4ff6c6e3c889392e314654d63f2db8f671b6913c
Reviewed-on: https://chromium-review.googlesource.com/383711
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
2c07eb21
|
2016-09-02T13:06:43
|
|
Add workaround for B5G6R5 format in Intel driver
In Intel driver, the data with format DXGI_FORMAT_B5G6R5_UNORM will be
parsed incorrectly. According to
https://msdn.microsoft.com/en-us/library/windows/desktop/ff471324(v=vs.85).aspx
DXGI_FORMAT_B5G6R5_UNORM should be equivalent to D3DFMT_R5G6B5. However,
the data will be treated as B5G6R5 not R5G6B5.
This workaroud will disable B5G6R5 support when it's Intel driver.
By default, it will use R8G8B8A8 format.
BUG=chromium:644610
TEST=dEQP-GLES3.functional.fbo.blit.default_framebuffer.rgb565*
Change-Id: I9d64a9bcedf9247de6950d345ed2d3fb00170d30
Reviewed-on: https://chromium-review.googlesource.com/380421
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7ffdda9a
|
2016-09-08T13:26:51
|
|
D3D11: Don't allow fast unpack from GL_ALPHA8.
This format is one that doesn't support buffer SRV creation. It seems
like there is no equivalent dEQP test for this format.
BUG=angleproject:1503
Change-Id: I9ecdb9406ca0b62dd54b450d2b50341d76584b2b
Reviewed-on: https://chromium-review.googlesource.com/381435
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
65d17e56
|
2016-09-08T09:52:58
|
|
Generate OUT_OF_MEMORY when compiler initialization fails.
INVALID_OPERATION implies that the error is recoverable.
Change-Id: Iaa13293168f66f46864e5e4c0ab7d7c53c97e8fd
Reviewed-on: https://chromium-review.googlesource.com/383131
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c955058b
|
2016-08-29T17:56:22
|
|
Constant-qualify nodes in a consistent way
Rely on that constant qualification of binary and unary nodes comes
from promote().
BUG=angleproject:1490
TEST=angle_unittests
Change-Id: Ie8d1d4df3c82ae5a2de8cc536e47016d13a4fd3d
Reviewed-on: https://chromium-review.googlesource.com/377960
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
588e2085
|
2016-09-08T11:23:30
|
|
Update dEQP test expectations with passing tests
BUG=angleproject:1017
BUG=angleproject:1097
BUG=angleproject:1323
Change-Id: I67754700c27041c99428857c48697fa11c0d34ab
Reviewed-on: https://chromium-review.googlesource.com/382860
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
d13ca30d
|
2016-09-08T09:35:57
|
|
Fix incorrect compressed internal format enum.
This error was not exposed since compressed formats use different validation
paths. Fixed for completeness.
BUG=angleproject:1511
Change-Id: I9b44a795b1e43f52555440f776e00bb4b92354ef
Reviewed-on: https://chromium-review.googlesource.com/382653
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
f119a263
|
2016-08-19T15:54:22
|
|
Clean up unary and aggregate math folding
Prefer asserts instead of adding internal errors to the compiler log
when types of arguments are not as expected or the folding function
runs into an operation it can't handle. Neither of these cases should
be possible, the checks for correct argument types are solid at this
point.
In the future, when new built-in functions are added, constant folding
support for them should be added as well.
foldUnaryWithDifferentReturnType and foldUnaryWithSameReturnType are
renamed to foldUnaryNonComponentWise and foldUnaryComponentWise
respectively. These names better reflect what these functions are
doing.
The info sink member is removed from TIntermediate, since TDiagnostics
is now passed into the functions that may generate warnings instead.
BUG=angleproject:1490
TEST=angle_unittests
Change-Id: I6a08abbe29cf23f3a318032fdc46dd3dbaf4410e
Reviewed-on: https://chromium-review.googlesource.com/377959
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
9df01f8a
|
2016-09-07T17:33:41
|
|
Fix overflow in ImageIndexIterator::done.
The maxLayer() method was reading out of range for 2D arrays.
BUG=644846,614178
BUG=angleproject:1493
Change-Id: I7cc4773d1ee9ff2d0a18cb0a8e916cf3687446db
Reviewed-on: https://chromium-review.googlesource.com/382332
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
b6c3e77b
|
2016-09-07T11:10:13
|
|
StateManagerGL: handle GL_DITHER
DITHER is on by default and dEQP precision tests turn this off, to avoid
dithering messing with the precision. The OpenGL backend didn't handle
glDisable(GL_DITHER) causing precision to be wrong on RGB565 on Linux
Intel.
BUG=angleproject:1492
Change-Id: I5e750fbe9df397e8b9a826979b14c84a2d72a00d
Reviewed-on: https://chromium-review.googlesource.com/382111
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
e731d8aa
|
2016-09-07T10:56:25
|
|
TextureTest: suppress failure for newly added test.
BUG=angleproject:1493
BUG=chromium:638323
Change-Id: I5cab149c735158fe810f002e47cc3c5c75bc503b
Reviewed-on: https://chromium-review.googlesource.com/381951
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
5a7e20ed
|
2016-09-06T18:07:22
|
|
Fix compiler allocations accidentally done outside memory pool
Qualifier data structures were being accidentally allocated on the
regular heap and never being freed inside the compiler due to missing
POOL_ALLOCATOR_NEW_DELETE macros. Add in the macros where needed.
Also fix up include directives in QualifierTypes.h/.cpp to use the
full path of files from ANGLE.
BUG=angleproject:1442
TEST=angle_unittests
Change-Id: Ib54f3cd3ab0f768fed9f0215d795ff493be513e0
Reviewed-on: https://chromium-review.googlesource.com/380538
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
14718767
|
2016-09-06T15:56:54
|
|
Remove usage of std::log2 in tests.
For some reason, this was giving a link error on Android.
Change it to use the mathutil version to be sure.
BUG=angleproject:1493
BUG=chromium:638323
Change-Id: I454ba4609d7818f50c668bb7c1a3b684f9ca8444
Reviewed-on: https://chromium-review.googlesource.com/381671
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
509e4560
|
2016-08-25T14:55:44
|
|
compiler: Work around a HLSL compiler aliasing opt bug.
BUG=angleproject:1448
Change-Id: I7d5bcbd100069152cea0cb03bc4fa6af1044460b
Reviewed-on: https://chromium-review.googlesource.com/376020
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9e3d7aa0
|
2016-09-02T15:19:43
|
|
D3D11: Work around small mipped stencil textures.
AMD has a bug with 2x2 and 1x1 mips of depth/stencil textures. Formats
D24S8 and D32FS8 both seem to render black for the very small mips.
We can work around this by selectively caching a copy of the texture
data that only has depth information, since stencil isn't filterable
in OpenGL ES.
BUG=angleproject:1493
BUG=chromium:638323
Change-Id: Iebef42c4680018d9854dbe789d677823167213dd
Reviewed-on: https://chromium-review.googlesource.com/380037
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6a25746c
|
2016-09-06T08:56:08
|
|
Generate uniqueId for all TStructure
If not present, ASSERT error may happen in debug build.
BUG=chromium:643075
Change-Id: Ia57e3771ab4d2861aefc04287fbbce85232f1f4d
Reviewed-on: https://chromium-review.googlesource.com/381315
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dea2777c
|
2016-09-02T15:09:09
|
|
D3D11: Rename TextureStorage swizzle invalidation.
Since we'll also be storing a cache of depth textures as well as
swizzle info, generalize the invalidation methods.
BUG=angleproject:1493
BUG=chromium:638323
Change-Id: I8fef049b01c81483fcf28196866a22d5cfed32a1
Reviewed-on: https://chromium-review.googlesource.com/380036
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
96f4f45e
|
2016-09-02T16:20:11
|
|
Fix ImageIndexIterator termination.
There was an off-by-one error preventing proper iteration.
BUG=angleproject:1493
BUG=chromium:638323
Change-Id: I8a3907620a1503d16b039606a67fe3471f88e165
Reviewed-on: https://chromium-review.googlesource.com/380325
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3af2b3b0
|
2016-09-06T09:47:56
|
|
UniformBufferTest: add back suppressions for failing tests
296398571213608b99d12266d0ba218f99c87abf fixes most but not all
UniformBuffer Wintel failures of the waterfall, add back suppressions
needed to make the waterfall green.
BUG=chromium:593024
Change-Id: I124666853e9943bcb71083e5563d02e65551f916
Reviewed-on: https://chromium-review.googlesource.com/381451
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
613b959d
|
2016-09-05T12:05:53
|
|
Clean up qualification order checks
Move determining whether qualification order checks are relaxed to
QualifierTypes.cpp. The ParseContext only needs to construct
TTypeQualifierBuilder with the shader version as a parameter, and it
will make the decision based on that. ParseContext still passes
diagnostics to the TTypeQualifierBuilder functions that return
variable qualification to make it more explicit when errors are
generated.
Also encapsulate looking for symbols in the AST inside
compiler_test.cpp.
BUG=angleproject:1442
TEST=angle_unittests
Change-Id: I4190e6a680ace0cc0568a517e86353a95cc63c08
Reviewed-on: https://chromium-review.googlesource.com/380556
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
b6b1a4a6
|
2016-09-06T14:16:13
|
|
Fix build failure in chrome due to unused function
Chrome build fails on a warning:
"../../third_party/angle/src/compiler/translator/QualifierTypes.cpp:30:6:
error: unused function 'IsInvariantCorrect' [-Werror,-Wunused-function]"
BUG=angleproject:1442
Change-Id: If2fea0d90e9cd789c3a6449881794082f3e98afd
Reviewed-on: https://chromium-review.googlesource.com/381201
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
5b55edd8
|
2016-09-05T14:55:15
|
|
Work around unpackHalf2x16 emulation for Intel Mac
Negative operator is buggy in an expression on Intel Mac. Use abs(v) to
replace -v for negative value.
BUG=chromium:644057
TEST=deqp/functional/gles3/shaderpackingfunction.html
Change-Id: I6182e7a00b162e36ed9278c0e5a2fdd8fb480959
Reviewed-on: https://chromium-review.googlesource.com/381152
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c28888b3
|
2016-07-22T15:27:42
|
|
Relax checks when parsing type qualifiers in GLSL ES 3.10
The grammar in GLSL ES 3.10 does not impose a strict order on the
qualifiers and also allows multiple layout qualifiers.
This patch relaxes the checks when parsing a type qualifier.
BUG=angleproject:1442
TEST=angle_unittests
Change-Id: Ib3653a1ed1bfced099a6b2cbf35a7cd480c9100a
Reviewed-on: https://chromium-review.googlesource.com/379016
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
29639857
|
2016-09-02T15:00:09
|
|
D3D11: Work around Intel uniform buffers bug.
When copying from a staging buffer to a uniform buffer, the first
upload would be incorrect. Work around this by trying to upload
directly to a uniform buffer on the first BufferSubData call.
BUG=chromium:593024
Change-Id: I0df3a1422b962bf3ece5d445f435df01e3544b67
Reviewed-on: https://chromium-review.googlesource.com/368774
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4a9cd800
|
2016-09-01T16:51:51
|
|
Refactor type_specifier_nonarray parsing to reduce code repetition
When type_specifier_nonarray gets parsed the scope gets saved into
TType and the code becomes repetitive. Setting of the scope is moved
to type_specifier_no_prec as it occurs less times.
BUG=angleproject:911
TEST=angle_unittests
TEST=angle_end2end_tests
Change-Id: I6da5fe7bc2d60ba2996221af71b719b818f5e9b1
Reviewed-on: https://chromium-review.googlesource.com/380535
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
5b46a680
|
2016-09-01T15:22:06
|
|
Clear the swizzle cache in TextureStorage11::setData.
BUG=angleproject:1494
Change-Id: I67471e4b961b3d8374c2da84394ead743939c225
Reviewed-on: https://chromium-review.googlesource.com/380095
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d08163d7
|
2016-09-01T13:56:24
|
|
Fix standalone build.
BUG=angleproject:1471
Change-Id: I52aadeb58f75d5b944421bd0cd4a5dddead3f6d1
Reviewed-on: https://chromium-review.googlesource.com/379916
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
70866b89
|
2016-07-22T15:27:42
|
|
Change grammar to support features from es31
The grammar has been changed so that ES31 grammar is followed more
closely. The ES31 grammar is not fully supported, only functionality
related to qualifier enumeration is added.
The ParseContext is changed so that type qualifiers can be now joined
together (i.e. like layout qualifiers). This will allow enumeration of
multiple storage qualifiers (i.e. uniform readonly coherent) which is
essential for support of ES31 features.
Some of the error checks had to be moved closer to the root of the
parse tree since some of the information about the expression might be
missing.
Unfortunately, as there is no explicit ordering imposed by the
grammar, additional checks for proper order of qualifiers had to be
added. I also included unit tests which test against malformed
shaders.
BUG=angleproject:1442
TEST=angle_end2end_tests
TEST=angle_unittests
TEST=dEQP-GLES3.functional.shaders.*precision*
TEST=dEQP-GLES3.functional.shaders.*function*
TEST=dEQP-GLES2.functional.shaders.*
Change-Id: Ib3653a1ed1bfced099a6b2cbf35a7cd480c9100d
Reviewed-on: https://chromium-review.googlesource.com/362940
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
b962aab6
|
2016-09-01T10:08:40
|
|
Remove stray reference to SH_EMULATE_BUILT_IN_FUNCTIONS.
BUG=chromium:642227
Change-Id: Ie1d74c0abd355a0bddc3c2b700390a3a2a9c4823
Reviewed-on: https://chromium-review.googlesource.com/379875
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e5bb72ff
|
2016-09-01T01:41:27
|
|
Remove SH_EMULATE_BUILT_IN_FUNCTIONS which isn't used
The flag is not used in chrome. We decide to do per emulation per flag.
BUG=chromium:642227
Change-Id: I936d53e5015186e35e672d0cb51c853a941582d2
Reviewed-on: https://chromium-review.googlesource.com/379077
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
8314465d
|
2016-08-31T17:03:30
|
|
GL backend: add a workaround for bad default current vertex attributes
BUG=angleproject:1492
BUG=351528
Change-Id: Ie4b25b0106282c9f60d19053e5a320549887bc8b
Reviewed-on: https://chromium-review.googlesource.com/379196
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
a4e6f074
|
2016-08-29T14:49:21
|
|
Work around abs() issue in Intel Mac drivers
abs(i) where i is an integer returns unexpected result in Intel Mac.
This works around the issue by emulating abs(i) manually.
BUG=chromium:642227
TEST=deqp/functional/gles3/shadercommonfunction.html
Change-Id: I2a41e0f4bcb0766109d651e663283b1760468017
Reviewed-on: https://chromium-review.googlesource.com/377628
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
c2c5fc48
|
2016-08-31T15:24:22
|
|
Remove CSS Shader related code
CSS shader has been removed from spec and chrome code base. Remove the
code in ANGLE.
BUG=chromium:233383
Change-Id: I93a35437f540e51ce7af9d49f21ca60d7c0b156a
Reviewed-on: https://chromium-review.googlesource.com/378739
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
7ef9aa7b
|
2016-08-31T15:39:38
|
|
Enable texelFetchOffset re-writing for GLSL translator
Intel Mac has the same bug as Win. So the CL enables it in GLSL translator as
well.
BUG=chromium:642605
TEST=deqp/functional/gles3/shadertexturefunction/texelfetchoffset.html
Change-Id: I30323ea3a6d4c07ff32e50bd7c574916b5b865f4
Reviewed-on: https://chromium-review.googlesource.com/378601
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
ad10a4aa
|
2016-08-29T23:24:33
|
|
Update dEQP gles2 tests expectations for Android
Mark tests that fail or hang on Nexus 5X as such.
BUG=angleproject:1471
TEST=gles2 tests pass on Nexus 5X
Change-Id: I3de8ce3e472f9c75bd18140bf9aa4d79a73cb22d
Reviewed-on: https://chromium-review.googlesource.com/377703
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
e3352f94
|
2016-08-12T20:40:14
|
|
Change angle_util to be a shared library
So that there will be one instance of static thread synchronization variables
in AndroidWindow.
Previously there was one instance in lib_angle_deqp_gles2_tests__library
and one in libangle_deqp_libgles2, resulting in AndroidWindow::initialize
waiting forever.
Also make the change in GYP build to fix standalone build,
and fix rpath issues on Mac.
BUG=angleproject:1471
TEST=end2end and deqp tests on standalone Win10 and end2end on GN Mac 10.11
Change-Id: I731578459400bb47d269df129aabed9b67b555e6
Reviewed-on: https://chromium-review.googlesource.com/376202
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
d5da505d
|
2016-08-29T13:16:55
|
|
Fix constant folding non-square outerProduct
Use all the vector elements correctly when constant folding non-square
outerProduct. Previously the code used to discard some elements of the
smaller outerProduct operand. Also clear up confusion about matrix
rows/columns in matrix constant folding code in general.
BUG=angleproject:1482
TEST=angle_unittests
Change-Id: I7cba8f97a92b875de01e57255d54258cdfd92a47
Reviewed-on: https://chromium-review.googlesource.com/377298
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
2ac58792
|
2016-08-29T15:31:44
|
|
Update dEQP GLES3 test expectations
BUG=angleproject:1097
Change-Id: Ib10ee930eb4d29bee3bc014c008a6b7420525e42
Reviewed-on: https://chromium-review.googlesource.com/377458
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4e58af61
|
2016-08-26T10:56:52
|
|
Add missing TexImage and CopyTexImage format combinations for ES3.
* Some unsized DEPTH_COMPONENT combinations were not added to the validation
tables for the ANGLE_depth_texture extension.
* The HALF_FLOAT_OES format was not validated in ES3 for RGB and RGBA formats
when the OES_texture_half_float extension is supported.
* BGRA->BGRA CopyTexImage validation was missing.
No more errors are generated within ANGLE when visiting
http://alteredqualia.com/tools/webgl-features/
BUG=605754
Change-Id: If654c34adcebb4cd3eaa994ad7e912f6ffa4df55
Reviewed-on: https://chromium-review.googlesource.com/376281
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b920e360
|
2016-08-03T18:19:41
|
|
Implement GL_ARB_create_context_robustness on GLX and WGL
BUG=angleproject:1463
Change-Id: I5bdcfd757d6f7d6411558c368fa7a26c8a38c9ba
Reviewed-on: https://chromium-review.googlesource.com/365971
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9ddfa060
|
2016-08-29T13:56:39
|
|
Disable compute shader tests on Intel
The compute shader tests in angle_end2end_tests fail on Intel Linux.
The patch disables the tests for Intel.
TEST=angle_end2end_tests
BUG=angleproject:1483
Change-Id: I303f0852ea3ccb65c1dd96a196a640c76cc519e4
Reviewed-on: https://chromium-review.googlesource.com/377318
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ab481645
|
2016-08-26T12:09:10
|
|
Fix splitting nested sequence operators
Make sure that only one sequence operator is split on one iteration
of SplitSequenceOperator. This prevents multiple successive PostVisit
calls to nested sequence operator nodes from adding duplicate nodes
to the AST. The sequence operators are split starting from the
outermost one to preserve execution order.
Note that the shader translator somewhat unexpectedly generates nested
sequence operators in the AST when there is a sequence operator with
more than two operands, so this bug ended up affecting shaders in the
wild. The code around parsing sequence operators could be clarified
separately.
BUG=638313
TEST=angle_end2end_tests
Change-Id: Ic6400a484ceff0c790c2290f7b4b80980f87cd88
Reviewed-on: https://chromium-review.googlesource.com/376678
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
11e43ece
|
2016-08-11T09:54:08
|
|
Add a workaround for Intel drivers on glsl function texelfetchoffset
GLSL function texelfetchoffset will be translated into texture.Load in
ANGLE. In D3D there is a note that When one or more of the coordinates
in Location exceeds the u, v, or w mipmap level dimensions of the
texture, Load returns zero in all components, but in glsl there is no
such restriction, which will cause the WebGL 2 dEQP test
deqp/functional/gles3/shadertexturefunction/texelfetchoffset.html fail
on Windows with Intel GPU.
Adapted from ExpandIntegerPowExpressions.cpp, this patch adds a
translation from texelFetchOffset into texelFetch to work around this
issue.
BUG=angleproject:1469
Change-Id: Iecfb9570472036acf5960789bdb1a63f191316be
Reviewed-on: https://chromium-review.googlesource.com/367883
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
1fe74c7e
|
2016-08-25T13:23:01
|
|
Manually compute the mipmap size for the textureSize builtin.
There were two issues with the current implementation:
* The GetDimensions function already takes into account the base level of the
SRV.
* The GetDimensions function returns doesn't return valid sizes for levels
that don't exist in the SRV. Instead, manually do the lod offset.
BUG=angleproject:931
BUG=angleproject:1316
TEST=dEQP-GLES3.functional.shaders.texture_functions.texturesize.sampler2d_fixed_vertex
Change-Id: I63259b563a42b93b73949e0ef7ac412099a42f13
Reviewed-on: https://chromium-review.googlesource.com/376099
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b0465313
|
2016-08-26T13:21:37
|
|
Don't allow packed integer types in glVertexAttribIPointer.
They are only allowed in the glVertexAttribPointer call.
BUG=angleproject:1101
Change-Id: I85aae9e35b45e8b1296244756091271d01dd1533
Reviewed-on: https://chromium-review.googlesource.com/376719
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
558b038c
|
2016-08-26T17:54:34
|
|
Don't accept sampler operands for unary operators
Unary plus and minus used to be accepted with sampler operands.
Increment/decrement operators also now generate a clearer error
message if a sampler operand is supplied.
TEST=angle_unittests
BUG=angleproject:1480
Change-Id: I2c5165c4eaac7b023d96e46a177e36f6536b0125
Reviewed-on: https://chromium-review.googlesource.com/376319
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
87fbe1c2
|
2016-08-03T14:41:42
|
|
ContextImpl: only expose getResetStatus for robustness
This will allow each backend to implement this method separately. The
current set of ContextImpl methods used for robustness are slightly
D3D-centric.
BUG=angleproject:1463
Change-Id: I101f8ada2c49de4cf110db48b1e8380c52b50fb2
Reviewed-on: https://chromium-review.googlesource.com/365829
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
4c4c8e72
|
2016-08-04T12:25:34
|
|
Add compute program compilation and linking support
Compute shaders can be now compiled and linked to create programs.
Some tests are added to verify successful and unsuccessful compute
shader linking.
The patch also replaces std::array<int, 3> with a custom struct
WorkGroupSize.
BUG=angleproject:1442
TEST=angle_end2end_tests
TEST=angle_unittests
Change-Id: I4ab0ac05755d0167a6d2a798f8d7f1516cf54d84
Reviewed-on: https://chromium-review.googlesource.com/366740
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
63e1ec5c
|
2016-08-18T22:05:12
|
|
Move the rest of the validation out of TIntermBinary::promote
TIntermBinary::promote now has a single purpose of determining the
type resulting from a binary math operation. The TIntermBinary
constructor taking the left and right nodes can now also call promote
automatically, and promote is made into a private member of
TIntermBinary. Validation of binary math operand types is done
inside ParseContext.
BUG=angleproject:952
TEST=angle_unittests
Change-Id: I52a409f680c8d4120b757193972d03aed34c6895
Reviewed-on: https://chromium-review.googlesource.com/372624
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
666f65a1
|
2016-08-26T01:34:37
|
|
Revert "Revert "Cover vector dynamic indexing case in SplitSequenceOperator""
This reverts commit d2f59bb6dda4f3548e158a09540829f9ff56bba4.
Change-Id: If2842bce17a0c085e2bc913ff120083fbe90497c
Reviewed-on: https://chromium-review.googlesource.com/376189
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b3925a3f
|
2016-08-23T13:17:34
|
|
Add test for EGL_create_context_robustness
The test is disabled on non-Windows as Linux drivers seem to not be
able to kill an in-flight warp and the whole computer locks down.
BUG=angleproject:1463
Change-Id: Iea3dcb1df323aa1341a4d26fe291b6abfae2aa3a
Reviewed-on: https://chromium-review.googlesource.com/374166
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1dded803
|
2016-08-18T18:13:13
|
|
Check multiplication validity in ParseContext
This improves separation of responsibilities in the code: ParseContext
should handle operand type validation, while TIntermBinary::promote
should ideally only determine the type of the node based on the
operation and operands.
BUG=angleproject:952
TEST=angle_unittests
Change-Id: I9a8d8ede21cdf35de631623a62194c0da5c604d2
Reviewed-on: https://chromium-review.googlesource.com/372622
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
9949f04d
|
2016-08-03T12:47:27
|
|
Fence11: When busy looping on a fence, test for device loss
Previously the code only checked is the device had already seen as lost
but never updating the lost status. Since checking for device loss can be
expensive, only do it every 128 loop iterations.
BUG=angleproject:1463
Change-Id: Ib481aebbb73d0f279e7ef835ac3a96c0a4663d58
Reviewed-on: https://chromium-review.googlesource.com/365736
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
55033e58
|
2016-08-25T17:32:12
|
|
Revert "Change angle_util to be a shared library"
This reverts commit 2f9b5e6f79cd576bd3b7110272d58f143801bf0f.
Change-Id: I90a7ba0596e79795c9549bc268eabff69c96d572
Reviewed-on: https://chromium-review.googlesource.com/376079
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
0ea0caeb
|
2016-08-10T12:39:29
|
|
Move load functions table to renderer layer.
We will be able to use it for the Vulkan formats table.
BUG=angleproject:1455
Change-Id: Iddc09fe560b06880af72a6fa8eb03fa2792e2f8c
Reviewed-on: https://chromium-review.googlesource.com/367454
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
17605b61
|
2016-08-10T11:48:29
|
|
Replace DXGI with ANGLE format in the load tables.
BUG=angleproject:1455
Change-Id: I851848d8a28bd70ff921d76b19902f40a5e8b17d
Reviewed-on: https://chromium-review.googlesource.com/367453
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
46ad513f
|
2016-08-13T14:22:47
|
|
dEQP: Use GL ES display factory on Android
BUG=angleproject:1471
Change-Id: I11964fa36fa75841512c49eda4cd5947d6197cda
Reviewed-on: https://chromium-review.googlesource.com/368985
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4628f386
|
2016-08-13T14:13:16
|
|
Add dEQP search paths on Android devices
Including: test expectations and list, dEQP data and test results.
Hardcode chromium_tests_root for now, to avoid adding a new API
to pass the path from test runner to ANGLE.
BUG=angleproject:1471
Change-Id: I654fa4727c436d743b3d6344ad17cb030934cde2
Reviewed-on: https://chromium-review.googlesource.com/368984
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b2e4863c
|
2016-08-09T18:08:03
|
|
Replace std::map with switch in load functions.
BUG=angleproject:1455
Change-Id: Ica74ea5503efc0315bc4d98aa322da523a30b24c
Reviewed-on: https://chromium-review.googlesource.com/367696
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2f9b5e6f
|
2016-08-12T20:40:14
|
|
Change angle_util to be a shared library
So that there will be one instance of static thread synchronization variables
in AndroidWindow.
Previously there was one instance in lib_angle_deqp_gles2_tests__library
and one in libangle_deqp_libgles2, resulting in AndroidWindow::initialize
waiting forever.
BUG=angleproject:1471
Change-Id: Ia529c91e34960eb352730c1bb89a91ce6336c8a0
Reviewed-on: https://chromium-review.googlesource.com/368983
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6230dd54
|
2016-08-23T15:20:03
|
|
Check for OpenGL ES support when creating context
Support for an OpenGL ES version can come either through OpenGL ES,
OpenGL core or available extensions. The context creation should fail
if the requested OpenGL ES version is not supported.
BUG=angleproject:1477
TEST=angle_end2end_tests
Change-Id: I810d004a1bd62f75f162d775d3cf92c4283252a3
Reviewed-on: https://chromium-review.googlesource.com/374338
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ca05a081
|
2016-08-12T14:46:30
|
|
Compile deqp_gles2 on Android
Add some missing functions,
modify preprocessor conditions and build files
to include some other missing functions when building for Android.
BUG=angleproject:1471
Change-Id: Iadc0a0b9fed2444b8bc9a894ee65c8b66ea7f3c9
Reviewed-on: https://chromium-review.googlesource.com/368982
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
91e71ed9
|
2016-08-23T09:29:22
|
|
Misc minor WinRT fixes and cleanups
Change-Id: Ibf041e74d81ef266791e6b6a3bb43bf504b035b3
Reviewed-on: https://chromium-review.googlesource.com/374040
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e1846665
|
2016-08-23T11:03:21
|
|
Add Vulkan to in-progress section of the landing page.
Change-Id: Ib1f911d1a30921e4d74d405b77f930754a647d17
Reviewed-on: https://chromium-review.googlesource.com/374048
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
39b11018
|
2016-08-22T13:42:30
|
|
Remove Windows 8.1 (Store apps) and Windows Phone 8.1 support
ANGLE has moved onto the Windows 10 SDK, and is using new compiler
features that aren't supported by the old Windows 8.1 toolchain. Support
for the 8.1 projects has been broken in master for some time now.
Since more and more developers are moving towards Windows 10, we
are going to take a snapshot of ANGLE that includes 8.1 support and
freeze it in a branch on github.com/microsoft/angle. If developers
wish to compile for use ANGLE in 8.1 apps then they should use that
branch going forward.
Change-Id: Ifee2d8a8cc0332500e0bd338911d831e7624fa82
Reviewed-on: https://chromium-review.googlesource.com/374039
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c4718040
|
2016-08-09T17:21:03
|
|
Remove DXGI_FORMAT_UNKNOWN cases from load table.
These cases were unreachable.
BUG=angleproject:1455
Change-Id: I5f3b969de3aca3862944ac9ed510c9f5e9fd77e2
Reviewed-on: https://chromium-review.googlesource.com/367695
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
04d3d895
|
2016-08-09T15:02:19
|
|
Simplify load functions table.
The indexing of the table data was mismatched with the table,
causing confusion with no appreciable gain. Fix this, reducing
the lines in the script and table at the same time.
BUG=angleproject:1455
Change-Id: I59095ba11a416575fd2310765eaac8d368b90cab
Reviewed-on: https://chromium-review.googlesource.com/367694
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
55f29a8c
|
2016-08-09T13:11:02
|
|
Check if conversion needed from load function.
The 'LoadToNative' copy is the only one that should be considered a
non-conversion. For depth formats, we should be clamping on SetData
and CopyImage calls, so this changes the flags for two of the
depth formats, but won't affect behaviour since the conversion bit
is never check for depth/stencil formats.
This allows us to remove the 'requiresConversion' bit from the data.
BUG=angleproject:1455
Change-Id: I739ecc54406d65049caad7851ffd51d7cb777946
Reviewed-on: https://chromium-review.googlesource.com/367693
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c99518fc
|
2016-08-09T11:10:38
|
|
Move default ANGLE format map to shared location.
This default format mapping serves as a base for a Renderer format
mapping. Any formats that require emulation or other representation
in a Renderer can be overridden in the renderer layer.
BUG=angleproject:1455
Change-Id: I47f070c2ea132bada9cc0fc4353b89b74b8ee8f3
Reviewed-on: https://chromium-review.googlesource.com/367692
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c2c106d4
|
2016-08-11T12:42:14
|
|
D3D11: Clean up buffer calls a bit.
BUG=None
Change-Id: I3b697c3b721b5be4888d039a5cefd160ab5b23f8
Reviewed-on: https://chromium-review.googlesource.com/367877
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f69682be
|
2016-08-16T14:50:42
|
|
Add unittests to verify invariant doesn't leak
This is a followup CL of
https://chromium-review.googlesource.com/366720. Unittests is added to
check invariant status does not leak across shaders.
This CL also moves mInvariantVaryings and mGlobalInvariant from
TSymbolTable to TSymbolTableLevel. So at the end of a compilation, the
levels pop, and the settings will be cleared and will not affect the
next compilation.
Change-Id: I1199fade7a637276ab149ab9a599621b9977298b
Reviewed-on: https://chromium-review.googlesource.com/370844
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
3fdec919
|
2016-08-18T15:08:06
|
|
Refactor binary node creation
1. Simplify code by using asserts instead of adding internal errors to
log.
2. Add a TIntermBinary constructor that takes left and right operand
nodes as parameters.
3. Remove TIntermediate functions with trivial functionality.
BUG=angleproject:952
TEST=angle_unittests
Change-Id: I2e0e52160c9377d8efcf15f14fd59f01cb41bd83
Reviewed-on: https://chromium-review.googlesource.com/372720
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1cc598f8
|
2016-08-18T13:50:30
|
|
Add error and warning helpers to Diagnostics
This will make it easier to generate errors and warnings with a
consistent format outside of ParseContext, for example in
TIntermBinary::fold() which warns about division by zero.
BUG=angleproject:952
TEST=angle_unittests
Change-Id: I25999d7bdc77efafe77785a0d6f4d63417dfaab9
Reviewed-on: https://chromium-review.googlesource.com/372719
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
244be01a
|
2016-08-18T15:26:02
|
|
Fix struct compound assignment being allowed in GLSL parsing
The shader translator used to accept some invalid struct operations,
like struct += struct and struct == struct with a different type. Fix
this.
BUG=angleproject:1476
TEST=angle_unittests
Change-Id: Ia2303fc1f740da4d78242e094ee6004b07364973
Reviewed-on: https://chromium-review.googlesource.com/372718
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
bccc65d3
|
2016-07-19T16:48:43
|
|
Flatten "#pragma STDGL invariant(all)" into varying variables.
This is implemented as a compiler option which is enabled by default
when outputting to desktop GLSL version 130 and greater, which does
not support this #pragma in fragment shaders. As a workaround, and for
better compatibility on desktop OpenGL drivers, this pragma is also
flattened into the outputs of vertex shaders, and the inputs of ESSL
1.00 fragment shaders.
TEST=conformance/glsl/misc/shaders-with-invariance.html with --enable-unsafe-es3-apis
BUG=629622, angleproject:1293
Change-Id: Ib040230915e639971505ed496d26e804c9d64e68
Reviewed-on: https://chromium-review.googlesource.com/361792
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
d2f59bb6
|
2016-08-17T11:50:52
|
|
Revert "Cover vector dynamic indexing case in SplitSequenceOperator"
This CL was causing inverted rendering in a WebGL application.
This reverts commit 7da9850643f55335a13a4663d226c73d0ac4d3b1.
Vectors or matrices that are dynamically indexed as a part of an
l-value generate new statements in the RemoveDynamicIndexing AST
transformation step. SplitSequenceOperator needs to detect this case
and split the sequence operator before statements are generated from
its operands to ensure the correct order of execution.
BUG=angleproject:1341
TEST=angle_end2end_tests
Change-Id: I854f8cce2d46107afa62f48edf3d32c6d5c97eda
Reviewed-on: https://chromium-review.googlesource.com/371643
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6c9503ec
|
2016-08-16T14:06:32
|
|
D3D11: Improve integer pow workaround.
A slight bug in the problem case detection applied the workaround
overly-broadly. Also included a much more thorough test.
BUG=angleproject:851
Change-Id: I5c09d67eee3622c144401769af85958f23b60c57
Reviewed-on: https://chromium-review.googlesource.com/371380
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1200c41b
|
2016-08-16T14:09:14
|
|
Suppress two new AMD failures.
These failures were exposed with the new R7 240 card.
BUG=chromium:637037
Change-Id: I1fe5add2fc08d5c93e338250efb2af62712d0e53
Reviewed-on: https://chromium-review.googlesource.com/371318
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8a17626d
|
2016-08-16T14:23:01
|
|
Refactor: Return true when checks succeed in ParseContext
Instead of returning false when a check succeeds in ParseContext,
return true. This is more intuitive and in line with conventions used
elsewhere inside ANGLE.
Also includes some minor other cleanup in ParseContext, like improved
variable names and code structure especially when checking array
element properties. This will make introducing arrays of arrays easier
in the future.
BUG=angleproject:911
TEST=angle_unittests
Change-Id: I68233c01ccfbfef9529341af588f615efc2b503a
Reviewed-on: https://chromium-review.googlesource.com/371238
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
583c4d2a
|
2016-08-05T17:58:40
|
|
Invariant qualifier should not leak across shaders
Change-Id: I2a35899bffd28767b8bc638f415857636d4ad8ef
Reviewed-on: https://chromium-review.googlesource.com/366720
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|