|
344bd0af
|
2015-08-31T14:58:40
|
|
Revert "Fix warnings with ANGLE and VS2015."
Seems to break VS2013. Reverting.
This reverts commit 51e275b4dfb961b59b055655b6e3f49aae48a443.
Change-Id: I37843bf457122614007ba455f6ee751577b14604
Reviewed-on: https://chromium-review.googlesource.com/296290
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
51e275b4
|
2015-08-28T16:18:46
|
|
Fix warnings with ANGLE and VS2015.
BUG=None
Change-Id: I47b08593a38d710b59051a3107933c08c2789ca2
Reviewed-on: https://chromium-review.googlesource.com/295722
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
2a592150
|
2015-08-31T10:10:33
|
|
Fix Chromium compilation error in VariablePack_test.cpp
BUG=
Change-Id: I59c9716774df4615da6dd412795639e055f45034
Reviewed-on: https://chromium-review.googlesource.com/295732
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a9bee1b8
|
2015-08-27T16:10:53
|
|
Add row-sharing packing tests for VariablePacker_test.cpp
Recent test failures leads to suspicion that our variable packing algorithm is
buggy - turns out to be an underlying driver bug.
With the added test cases, such suspicion shouldn't even arise.
BUG=angleproject:1142
TEST=angle_unittests
Change-Id: I1fb3c5c7798d9ad17668a3d633286e031da79cab
Reviewed-on: https://chromium-review.googlesource.com/295901
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
465e6f45
|
2015-08-28T16:01:53
|
|
Fix missing copy rules for DEQP EGL test cases and expectations.
BUG=angleproject:1139
Change-Id: I9d58b2c0b1e6465b58b2f3d4aad4b1d3517ae3ec
Reviewed-on: https://chromium-review.googlesource.com/295147
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3caa6528
|
2015-08-27T14:38:52
|
|
Only update the synced parts of mAppliedAttributes.
Members such as divisor are not synced in
VertexArrayGL::updateAttribPointer so assigning the whole attribute causes
the divisor to not be synced.
BUG=angleproject:1136
Change-Id: I947a144f81ae67953947e363debd1d1cff78207a
Reviewed-on: https://chromium-review.googlesource.com/295145
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
770f8f86
|
2015-08-28T13:46:02
|
|
Add back suppressions for bot-specific dEQP GLES2 failures on Linux
BUG=angleproject:1143
Change-Id: I5bd1a7de7b147062f2e093a30efe4ed06eb80ec2
Reviewed-on: https://chromium-review.googlesource.com/295247
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ad915e9b
|
2015-08-27T14:34:47
|
|
Update the Windows dEQP GLES2 test expectations
BUG=angleproject:1127
Change-Id: I6f38e5441c4a288e9c1f55fefa31d5d2f10a700c
Reviewed-on: https://chromium-review.googlesource.com/295246
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
11865105
|
2015-08-27T17:55:17
|
|
angle_unittests add forgotten VariablePacker test.
Also add a warning on top of the UnrollFlatten test that it works only
when HLSL is enabled.
BUG=angleproject:1140
Change-Id: Ide961bbed70dc9ed2a604f13273e4209b1dec29b
Reviewed-on: https://chromium-review.googlesource.com/295125
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
cf5a092f
|
2015-08-27T14:30:40
|
|
Add back one left out compiler test to angle_unittests
VariablePacker_test.cpp
The other one UnrollFlatten_test.cpp crashes.
BUG=
TEST=angle_unittests
Change-Id: I78e6e81e9b61f2a1599a5a0601b5b76165b180de
Reviewed-on: https://chromium-review.googlesource.com/295767
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
5798c0ff
|
2015-08-27T17:18:57
|
|
Update the dEQP wiki page.
BUG=none
Change-Id: I3a3095b270ca3c199c14840f75b480e15298fa5c
Reviewed-on: https://chromium-review.googlesource.com/295117
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
7cb71880
|
2015-08-26T16:24:07
|
|
Update the dEQP GLES2 test expectations for Linux
BUG=angleproject:1127
Change-Id: Ia5f9442ef718625ed913fe3a76301a0edea00390
Reviewed-on: https://chromium-review.googlesource.com/295720
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a65a4c7b
|
2015-08-27T10:38:40
|
|
Fix preprocessor failure in string concatenation.
BUG=angleproject:1138
Change-Id: I20f3b542884fbaa2b2cccd65ceb45e54174bccc2
Reviewed-on: https://chromium-review.googlesource.com/295831
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
e453dd31
|
2015-08-27T10:38:07
|
|
Fix warning about initialization order in BlitGL.
BUG=angleproject:1113
Change-Id: I808d521ffc257c2f45badbbd462698f91def314f
Reviewed-on: https://chromium-review.googlesource.com/295830
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
80ecac9e
|
2015-08-25T15:37:48
|
|
Remove unused mOptimize/mDebug flags from TIntermAggregate
These flags were written but they were never read.
TEST=compile
BUG=angleproject:1116
Change-Id: I41e3e89f13861ebda4828c76c753ca17c74c4358
Reviewed-on: https://chromium-review.googlesource.com/294931
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
f6db098d
|
2015-08-25T13:04:00
|
|
Split the Context and Renderer draw* to one per entry point.
BUG=angleproject:1136
Change-Id: Ic7ff9c23201e1fe03c5a2135be24d61cfe3d6268
Reviewed-on: https://chromium-review.googlesource.com/295232
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
384f1fdd
|
2015-08-26T16:27:07
|
|
Fix a warning on Linux
BUG=
Change-Id: I5c4f5df14321644d7ac42af6059400ae43d0fe4d
Reviewed-on: https://chromium-review.googlesource.com/295721
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
3c192a78
|
2015-08-26T20:32:53
|
|
Revert "Remove dynamic indexing of matrices and vectors in HLSL"
Seems to be failing a WebGL/ES2 CTS test in D3D9:
conformance/ogles/GL/mat3/mat3_001_to_006
BUG=angleproject:1116
BUG=525188
This reverts commit 83f3411da456faac8570892e3dd7d76edf4095e5.
Change-Id: Ic186f51240dbdd96ccab3f5470329cdc9727c618
Reviewed-on: https://chromium-review.googlesource.com/295730
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ff5d3dc6
|
2015-08-24T16:57:44
|
|
gl::GetString check for a valid context
glGetString() without a current context could cause a null dereference
for some enums. Always return nullptr when no context is bound.
BUG=angleproject:1106
Change-Id: Ic36f1adff8b2e3cd54a7b33b2e12899781feba82
Reviewed-on: https://chromium-review.googlesource.com/295142
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
80b2411a
|
2015-08-25T16:41:57
|
|
Context: directly delete the resource instead of also detaching
Otherwise when detaching vertex array 0 and N the following would happen:
- call Context::deleteVertexArray(0)
- call Context::detachVertexArray(0)
- call State::removeVertexArrayBinding(0)
set mVertexArray to nullptr, returns true
- call State::bindVertexArray(0)
reset mVertexArray to its previous value
- call Context::deleteVertexArray(n)
- call Context::detachVertexArray(n)
- call State::removeVertexArrayBinding(n)
Incorrectly call mVertexArray->id() which is a use after free.
BUG=angleproject:1137
Change-Id: I594044fee6c90b1775a61943b15df92bf323ff2a
Reviewed-on: https://chromium-review.googlesource.com/295123
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
5f57cc6e
|
2015-08-26T13:41:37
|
|
Add targets that run the EGL dEQP tests.
Generates lots of assertion failures when run, expectations and assertion fixes
to come.
BUG=angleproject:1139
Change-Id: Ia55b4b2ca3a7844d8d9d05cb7043cd42d55b86ed
Reviewed-on: https://chromium-review.googlesource.com/295243
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5565936c
|
2015-08-26T13:39:59
|
|
Implement EGL_KHR_get_all_proc_addresses.
BUG=angleproject:1138
Change-Id: I0dd4e1a092e889cdb9de4773162e5416ac9be65d
Reviewed-on: https://chromium-review.googlesource.com/295242
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
53b8aec0
|
2015-08-24T10:33:25
|
|
Work around deprecated LUMA formats in the core profile.
Use R and RG textures with swizzle states to emulate them. A manual blit is
required when calling CopyTex[Sub]Image from a RGB[A] framebuffer to an
emulated L[A] texture so that the alpha channel ends up in the correct channel
of the destination texture.
Fixes the following tests when using the core profile:
* conformance/extensions/oes-texture-float.html
* conformance/extensions/oes-texture-half-float.html
* conformance/textures/misc/tex-sub-image-2d.html
* conformance/textures/misc/texture-formats-test.html
* conformance/textures/misc/texture-npot.html
BUG=angleproject:1113
Change-Id: If5540e66d9017596bd83d95ec3ede043cbcfe0d2
Reviewed-on: https://chromium-review.googlesource.com/293905
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2c34a4b0
|
2015-08-25T16:26:02
|
|
VertexArrayGL: fix an off by one error for indexRange for drawElements
DrawElements' range was of the form [start, end] while DrawArrays' was
of the form [start, end), which caused an out of bound array access in
the client vertex pointers.
This issue was detected while running angle_end2end_tests with
AddressSanitizer.
BUG=angleproject:1137
Change-Id: Id9abddf29eaf73bacfd08d1616a999be2fe616b8
Reviewed-on: https://chromium-review.googlesource.com/295122
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
83f3411d
|
2015-06-18T15:47:46
|
|
Remove dynamic indexing of matrices and vectors in HLSL
HLSL doesn't support dynamic indexing of matrices and vectors, so replace
that with helper functions that unroll dynamic indexing into switch/case
and static indexing.
Both the indexed vector/matrix expression and the index may have side
effects, and these will be evaluated correctly. If necessary, index
expressions that have side effects will be written to a temporary
variable that will replace the index.
Besides dEQP tests, this change is tested by a WebGL 2 conformance test.
In the case that a dynamic index is out-of-range, the base ESSL 3.00 spec
allows undefined behavior. KHR_robust_buffer_access_behavior adds the
requirement that program termination should not occur and that
out-of-range reads must return either a value from the active program's
memory or zero, and out-of-range writes should only affect the active
program's memory or do nothing. This patch clamps out-of-range indices so
that either the first or last item of the matrix/vector is accessed.
The code is not transformed in case the it fits within the limited subset
of ESSL 1.00 given in Appendix A of the spec. If the code isn't within
the restricted subset, even ESSL 1.00 shaders may require this
workaround.
BUG=angleproject:1116
TEST=dEQP-GLES3.functional.shaders.indexing.* (all pass after change)
WebGL 2 conformance tests (glsl3/vector-dynamic-indexing.html)
Change-Id: I024722ef4ca1e14d5ad47fdc540397e18858bed6
Reviewed-on: https://chromium-review.googlesource.com/290515
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
4cff2477
|
2015-08-21T16:53:18
|
|
Make PackedVarying a D3D-only type.
The register assignment stuff only applies to the D3D back-end.
Cleans up the GL back-ends use of PackedVarying, and will lead
to future cleanups relating to packing varyings.
BUG=angleproject:1123
Change-Id: Iaaa5fc03577e5b61ea6ae76ee1e15ad608037f34
Reviewed-on: https://chromium-review.googlesource.com/295190
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
401d9fe6
|
2015-08-26T10:19:59
|
|
Fix debug build on Linux
Compiling an assert in Program.cpp was failing at least on GCC 4.8
because it compared unsigned size_t to zero, a comparison that was always
true. The C standard defines size_t as unsigned, so the assert shouldn't
be necessary on other platforms either.
There was already a commit on top of the patch that added the bug, so it
is simpler to fix the problem by changing the assert rather than
reverting.
TEST=standalone debug build on Linux
Change-Id: Ifd910332a770f7360a15c31706beca740d0f289d
Reviewed-on: https://chromium-review.googlesource.com/294971
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
d7a25243
|
2015-08-18T13:49:45
|
|
Add deep copying support for typed AST nodes
Resubmit with inconsistent override warnings fixed.
Removing dynamic indexing of vectors and matrices will require copying
the indexed nodes in case they are written. Any type of l-value node that
doesn't have side effects may need to be copied. Add a copying function
for all typed node classes so that this copying can be performed.
Private copy constructors are used to implement the deepCopy function in
order to make maintenance easier. With copy constructors, each subclass
only needs to take care of copying its own members, and not the base
class members, which reduces the possibility of errors. Copy constructors
are disabled for all node classes that don't support deep copying by
inheriting TIntermNode from angle::NonCopyable.
Assignment operator is disabled for all node classes through inheriting
angle::NonCopyable. This applies also to classes that now get the private
copy constructor.
Explicit copy constructor and assignment operator declarations are added
to some classes which show up in node member variables to make code
clearer.
BUG=angleproject:1116
TEST=angle_unittests
Change-Id: I7964976f5dac7dfd745b8c6612ca06fb01d271c4
Reviewed-on: https://chromium-review.googlesource.com/295080
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
254fceac
|
2015-08-25T15:11:07
|
|
Fix two leaks and a delete vs delete[] reported by ASAN
BUG=angleproject:1137
Change-Id: Ic654b79aa56ae0c0a24097b85ab48f5af53ca1f7
Reviewed-on: https://chromium-review.googlesource.com/295154
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
47a878c6
|
2015-08-25T12:28:29
|
|
Surface: do not leak the default framebuffer
Due to the many merges and changes to
37c3979e47bf93958b426aaa31c1d65aef881b5f the default framebuffer
deletion "disappeared". Add it back to the destructor of Surface.
Update Surface_unittests and remove one of the two tests as they were
equivalent.
BUG=524495
BUG=angleproject:1137
Change-Id: I1309285ea00976ae2685628ea3f92731a9259718
Reviewed-on: https://chromium-review.googlesource.com/295153
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
4d5362d0
|
2015-08-25T11:25:14
|
|
VertexArrayGL: fix the streaming of offset non-packed strides
When the packed stride and source stride were different, the streaming
code path used a loop that added two times the offset for the start of
the index range.
BUG=angleproject:1135
Change-Id: I6d314a1a28abec4df22f7c798c1af87a18d8b7ec
Reviewed-on: https://chromium-review.googlesource.com/295225
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
80a6fc03
|
2015-08-21T16:53:16
|
|
Make output variables part of Program's shared data.
Also initialize this structure within Program instead of DynamicHLSL.
This should have benefits for other back-ends. Also these variables
weren't being serialized and de-serialized with the program binary,
which could mess up WebGL apps that use MRT.
BUG=angleproject:1123
Change-Id: Ic0dd4840f26441a1bee8527dfa178b24daf82f8a
Reviewed-on: https://chromium-review.googlesource.com/294571
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
63805b47
|
2015-08-25T13:17:39
|
|
Make the Program's semantic index D3D-only.
This concept isn't strictly necessary for GL-side validation. Instead
we can use a bitset to track active attribs, and determine is a
particular location is active.
BUG=angleproject:1123
Change-Id: If7a920a3071672116bafffb3368671f721723b65
Reviewed-on: https://chromium-review.googlesource.com/294570
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
a53000b0
|
2015-05-26T10:50:35
|
|
Try Sleep(1) instead of Sleep(0) while waiting for queries.
On a loaded machine, Sleep(0) can be very slow (40+ms) while Sleep(1) is
consistantly 1-2ms.
BUG=488571
Change-Id: I71de0b4cfc334a2476b7c613c103e77fe759041d
Reviewed-on: https://chromium-review.googlesource.com/273183
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4dfe8094
|
2015-08-21T17:44:35
|
|
Always collect variables when generating HLSL
HLSL output needs uniform information generated by the collectVariables()
step to be able to write uniform registers.
Tested manually by compiling a shader with a uniform with
shader_translator.
BUG=angleproject:1132
Change-Id: I91d19b5fa789b7b33cf76a654ffbbd17d279db01
Reviewed-on: https://chromium-review.googlesource.com/294962
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
4001e1da
|
2015-08-12T14:08:25
|
|
Support creating render targets of non-zero mip levels in TextureStorage9.
BUG=angleproject:970
Change-Id: I02caf1a5d15a8e32e68b63362e86e3a689dbdb5a
Reviewed-on: https://chromium-review.googlesource.com/293221
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
025e76a0
|
2015-08-12T13:59:49
|
|
When possible, create RenderTarget9s from textures.
Unless the RenderTarget9 is backed by a texture, it's not possible to
sample from it. This is required to sample from D3D9 renderbuffers when
they are bound to texture targets.
BUG=angleproject:970
Change-Id: Id667a5e44c1f959609bc653a974ede5b93ec9a3e
Reviewed-on: https://chromium-review.googlesource.com/293290
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
1528e56b
|
2015-08-24T15:10:58
|
|
Bind native GL attributes to match the locations in gl::Program.
Simplifies a lot of logic when we don't have to maintain mappings between
the driver and gl-layer locations.
BUG=angleproject:882
BUG=angleproject:1123
Change-Id: Ia94257a322f768fdfa3167000a46a0715820ef4d
Reviewed-on: https://chromium-review.googlesource.com/295231
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a5ef8d89
|
2015-08-19T14:52:21
|
|
Enabled loop indexing validation for fragment shaders compiled using renderers configured for FL9_3 and below.
BUG=angleproject:1130
Change-Id: I2b5d7091c394565354b14fbf9297276dce8d92a5
Reviewed-on: https://chromium-review.googlesource.com/294733
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
cc16c913
|
2015-08-20T17:18:43
|
|
gpu_test_expectations: Fix a -Wheader-hygiene
Reland with a fix for the compilation on Windows.
Rereland with a fix for the Chromium compilation on Windowds.
Our angle_config.h was using "using namespace" in a header as a way to
import symbols to shim Chromium's base. This patch changes this to
import each function separately using "using".
This patch will allow our gpu_test_expectations to compile inside
Chromium on Linux.
BUG=angleproject:1127
Change-Id: Iefb9e253e278fa766a11e50fc6a69eceb2e81dd9
Reviewed-on: https://chromium-review.googlesource.com/295192
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
bc0b1d47
|
2015-08-21T17:00:03
|
|
Track local dirty state in StateManagerGL.
Make the state setting functions of StateManagerGL public.
BUG=angleproject:1113
Change-Id: Ic435c06ece24064a2f2403119fa30309aba37608
Reviewed-on: https://chromium-review.googlesource.com/295240
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c349ec03
|
2015-08-21T16:53:12
|
|
Re-land "Move shader attributes into Program shared data."
Re-land with a fix for a warning in 32-bit Windows.
Making the Program own the attribs, and the Impl only see a read-only
copy cleans up the Impl object. It also allows us to more cleanly
isolate certain coded into D3D.
BUG=angleproject:1123
Change-Id: I73bda4b6d9e675d87d087d44757c598437d607f2
Reviewed-on: https://chromium-review.googlesource.com/295191
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
4e10722d
|
2015-08-24T14:12:17
|
|
Revert "Move shader attributes into Program shared data."
Once again a signed/unsigned mismatch warning in 32-bit.
src\libangle\renderer\gl\programgl.cpp(190) : warning C4018: '<' : signed/unsigned mismatch
BUG=angleproject:1123
This reverts commit 2d7731838722a53102e5086dba445e37f6e98d7e.
Change-Id: Icd26906ead1eaa06b4bd3ff7fc2b10bef4f46022
Reviewed-on: https://chromium-review.googlesource.com/295241
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
2d773183
|
2015-08-18T10:27:28
|
|
Move shader attributes into Program shared data.
Making the Program own the attribs, and the Impl only see a read-only
copy cleans up the Impl object. It also allows us to more cleanly
isolate certain coded into D3D.
BUG=angleproject:1123
Change-Id: I469051eb066fc56e55282affa2d5398b394ab8d2
Reviewed-on: https://chromium-review.googlesource.com/293826
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
c1654203
|
2015-08-21T17:04:16
|
|
Revert "gpu_test_expectations: Fix a -Wheader-hygiene"
When building in Chromium, on Windows, we got a symbol clash for
base::SysInfo::OperatingSystemVersionNumbers
This reverts commit d2eaa37d77cecde113267fd0fb66697f9b5dfe09.
BUG=
Change-Id: Icffa01a26368cecc9eb3c2ada8bf41143bd3c50a
Reviewed-on: https://chromium-review.googlesource.com/295230
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
36cfd6a3
|
2015-08-18T10:46:20
|
|
Clean up Program::validate.
This method should really be an Impl method, since it corresponds to
a specific OpenGL call. Making it an Impl method also allows us to
remove applyUniforms, which doesn't correspond to a GL call.
BUG=angleproject:1123
Change-Id: I2abee3cfaa7393cad44566782d51ed701e84846b
Reviewed-on: https://chromium-review.googlesource.com/293825
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d1fe1646
|
2015-08-21T16:26:04
|
|
Move UBO bindings into Program shared state.
Sharing the bindings with the Impl (read-only) allows us to clean out
the applyUniformBuffers method from the Impl class, and make it D3D-
only.
BUG=angleproject:1123
Change-Id: Icb51a90cb227bbbdd83319ea308b68aa1c4c325e
Reviewed-on: https://chromium-review.googlesource.com/293824
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
72f39c15
|
2015-08-21T16:10:04
|
|
Make more Program sampler methods D3D-only.
Several of these methods that deal with the sampler mapping can be
made D3D-only quite simply by casting to ProgramD3D in the Renderer.
BUG=angleproject:1123
Change-Id: Ia6648d26744f9aa69a4a0facb356209df471fa7b
Reviewed-on: https://chromium-review.googlesource.com/293823
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d2eaa37d
|
2015-08-20T17:18:43
|
|
gpu_test_expectations: Fix a -Wheader-hygiene
Reland with a fix for the compilation on Windows.
Our angle_config.h was using "using namespace" in a header as a way to
import symbols to shim Chromium's base. This patch changes this to
import each function separately using "using".
This patch will allow our gpu_test_expectations to compile inside
Chromium on Linux.
BUG=angleproject:1127
Change-Id: I19b97c2a37accc683a35809859c604bcaf3dcc43
Reviewed-on: https://chromium-review.googlesource.com/295150
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0ef5c746
|
2015-08-21T10:51:40
|
|
Revert "gpu_test_expectations: Fix a -Wheader-hygiene"
This patch causes a compile failure, probably because some symbols had
been declared in the root namespace and should have been moved to base.
(but weren't compiled under Linux)
BUG=
This reverts commit f41e04dbb8602a349351c537b735eb991588a944.
Change-Id: Ia2292bf9dcbf429f47c8c8632356574a91ff0a1d
Reviewed-on: https://chromium-review.googlesource.com/295110
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
1c207ae9
|
2015-08-20T17:29:41
|
|
dEQP.gypi: tweaks to enable in-Chromium compilation on Linux
Two things were needed:
- The re-enabling of exception and RTTI as it is disabled in Chromium
and in a different way than in ANGLE standalone
- Link decpp with dl
BUG=angleproject:1127
Change-Id: I9ac37545762dc13320c7fba418fba82d7961e83e
Reviewed-on: https://chromium-review.googlesource.com/294822
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
f41e04db
|
2015-08-20T17:18:43
|
|
gpu_test_expectations: Fix a -Wheader-hygiene
Our angle_config.h was using "using namespace" in a header as a way to
import symbols to shim Chromium's base. This patch changes this to
import each function separately using "using".
This patch will allow our gpu_test_expectations to compile inside
Chromium on Linux.
BUG=angleproject:1127
Change-Id: I99a78ab9fddc11b81e3e5154d41cd8bbbb2ac28d
Reviewed-on: https://chromium-review.googlesource.com/294821
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
e5a1f271
|
2015-08-21T02:58:25
|
|
Use override in all the places where it is possible
This will avoid -Winconsistent-overrides in the future. Done using the
-Wsuggest-override warning of GCC 5.1
BUG=
Change-Id: I707a649dc368f5dd1e139fd144370abcac0b6263
Reviewed-on: https://chromium-review.googlesource.com/294920
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
37c3979e
|
2015-08-20T14:19:46
|
|
Revert "Revert "Make the default framebuffer owned by Surface""
Reland the commit after fixing a bug in FramebufferAttachment.
This reverts commit 18fdcbcf1d02d3b3b4b5c712f05058f2e8d629c6.
BUG=angleproject:891
Change-Id: I07e08de52bfce8d84d070fc7bc15883009298a4d
Reviewed-on: https://chromium-review.googlesource.com/294831
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
314f9b33
|
2015-08-20T14:13:20
|
|
FramebufferAttachment: do not attach with an uninitialized mResource
Otherwise attach will try to call onDetach on mResource, causing an UB
(and a segfault in most cases).
This fixes a crash when running angle_unittests on Mac with another
patch.
BUG=angleproject:891
Change-Id: I09d34d7246849059a13bc2fb00a61837cccd97d7
Reviewed-on: https://chromium-review.googlesource.com/294830
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
b5d61dac
|
2015-08-20T13:43:02
|
|
Revert "Add deep copying support for typed AST nodes"
This reverts commit d0d59aa4cbce2da92deaa0f4021dfed8885e8d01 and commit
760379532b02ae039790f1e8f1c89e03481aab4b
To be fixed will be the newline at the end of IntermNode_tests.cpp and
the -Winconsistent-missing-override
BUG=
Change-Id: I57693bdff01f9e3f03b2fbb5dc53fa21e68c2789
Reviewed-on: https://chromium-review.googlesource.com/294820
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
a7b6db7f
|
2015-08-19T14:26:30
|
|
Only apply Appendix A limitations to ESSL 1.00 shaders
ESSL 1.00 specifies a set of minimum functionality, and ANGLE
automatically checks that WebGL shaders stay within this minimum
functionality. However, this should only apply to ESSL 1.00. ESSL 3.00
shaders compiled for WebGL 2.0 should not be subject to these
restrictions, since there is no similar spec for minimum functionality
for ESSL 3.00.
In case a non-WebGL based shader spec is used, the restrictions can be
toggled from outside by specifying the SH_VALIDATE_LOOP_INDEXING flag,
same as before this patch.
BUG=angleproject:1116
TEST=WebGL 2 conformance tests
Change-Id: Idaec0fb4c7c85cd72020d0b23112fddb1b020571
Reviewed-on: https://chromium-review.googlesource.com/293933
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
76037953
|
2015-08-20T13:18:44
|
|
Fix compilation on Mac, adding a newline in IntermNode_test.cpp
BUG=
Change-Id: Ie935486bf44bacb89660419c0dabd0ff38838c90
Reviewed-on: https://chromium-review.googlesource.com/294800
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
5f116e5d
|
2015-08-20T11:13:32
|
|
Fix regression with GetNextGLSLAttributeType.
A refactoring bug slipped in that used the non-transposed row count
for non-square matrices, causing an ASSERT failure in Debug. It's
unfortunately not easy to revert the previous change, so instead
fix it here.
BUG=angleproject:1129
Change-Id: I0de66de46a24b402c93da68f189a2c65616c2006
Reviewed-on: https://chromium-review.googlesource.com/294641
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d538e56e
|
2015-08-19T13:19:19
|
|
Make Release compile with c++11 on Mac standalone
BUG=angleproject:891
Change-Id: Id61e61a2efff019e92316adbe34fc2378302aff5
Reviewed-on: https://chromium-review.googlesource.com/294600
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ec1be6d5
|
2015-08-19T15:07:43
|
|
Suppress dEQP negative_api compressedtexsubimage2d_invalid_size on Linux
Temporarily suppress this test as it might be caused by a dEQP bug.
BUG=angleproject:1128
Change-Id: I9c6f1b95edca55f54f3292227ebc81d4ddc57f0a
Reviewed-on: https://chromium-review.googlesource.com/294580
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
d0d59aa4
|
2015-08-18T13:49:45
|
|
Add deep copying support for typed AST nodes
Removing dynamic indexing of vectors and matrices will require copying
the indexed nodes in case they are written. Any type of l-value node that
doesn't have side effects may need to be copied. Add a copying function
for all typed node classes so that this copying can be performed.
Private copy constructors are used to implement the deepCopy function in
order to make maintenance easier. With copy constructors, each subclass
only needs to take care of copying its own members, and not the base
class members, which reduces the possibility of errors. Copy constructors
are disabled for all node classes that don't support deep copying by
inheriting TIntermNode from angle::NonCopyable.
Assignment operator is disabled for all node classes through inheriting
angle::NonCopyable. This applies also to classes that now get the private
copy constructor.
Explicit copy constructor and assignment operator declarations are added
to some classes which show up in node member variables to make code
clearer.
BUG=angleproject:1116
TEST=angle_unittests
Change-Id: Ia757b69397837f8309f0e7511c0cd24ca2c7a721
Reviewed-on: https://chromium-review.googlesource.com/293931
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
5c42266e
|
2015-08-18T10:46:15
|
|
Make Program::usesPointSize D3D-only.
This test is only used in the D3D code, so we can remove this Impl
method. If we need it in the future we can always support it more
generally from the translator, or handle it differently on each
Renderer.
BUG=angleproject:1123
Change-Id: Ic4a22ad6cec93726195e68200fc25cc2956be44c
Reviewed-on: https://chromium-review.googlesource.com/293822
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
31c8c56a
|
2015-08-19T14:08:03
|
|
Make ProgramImpl::compileProgramExecutables D3D-only.
Finally we can isolate this method into the D3D-only code, and
remove the interface from ProgramImpl.
BUG=angleproject:1123
Change-Id: I253b15d44d4cf8bbb5dbeaa78bbcc431a5267bf7
Reviewed-on: https://chromium-review.googlesource.com/293765
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
18fdcbcf
|
2015-08-19T18:12:44
|
|
Revert "Make the default framebuffer owned by Surface"
Seems to be causing failures on the Mac GPU FYI bots.
SurfaceTest.DestructionDeletesImpl seems to crash.
BUG=angleproject:891
BUG=522557
This reverts commit 264ab56f2e70431e8310f9353952acd3b22b466f.
Change-Id: I80aeecb8e191de011d9afe6534d0285dcffa82a3
Reviewed-on: https://chromium-review.googlesource.com/294540
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
1661fde6
|
2015-08-18T11:29:46
|
|
ProgramGL: Mark all columns of matrix attributes as active
The active attributes are used to determine which of the vertex
attributes to enable. Matrices take up several attributes depending on
the number of column they have; this patch marks all the columns of
active matrix attributes as active.
TEST=dEQP-GLES2.functional.shaders.linkage.varying_type_mat*
BUG=angleproject:1127
Change-Id: I82f548f329f872c4e66aa0e4e71c6061a55b9987
Reviewed-on: https://chromium-review.googlesource.com/294261
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
26e355b8
|
2015-08-14T14:16:19
|
|
Add full support for line continuation in the preprocessor
Re-landing earlier change with constant signedness fixed (was causing
build issues on Linux).
Line continuation in ESSL 3.00 needs to be processed before tokenization,
since tokens can span the line continuation. On the other hand, ANGLE's
tokenizer keeps track of line numbers, and whenever a line continuation
appears the line number still needs to be incremented by one, just like
on a regular newline.
That's why line continuation is now implemented as follows: when the
shader strings are concatenated in Input, they are also checked for line
continuation. Whenever line continuation is encountered, the string
is cut before that point. When the tokenizer asks for more input, the
string starting from the character after line continuation is passed
to it, and the line number is incremented from Input. This way the
tokenizer can parse tokens that span multiple lines - it never sees the
line continuation - but still keeps track of the line number correctly.
Relevant spec is in ESSL 3.00 section 3.2 "Source strings".
Support for line continuation also applies to ESSL 1.00. ESSL 3.00
spec section 1.5 says that line continuation support is mandated when
an ESSL 1.00 shader is used with the OpenGL ES 3.0 API, and is optional
when ESSL 1.00 is used with the OpenGL ES 2.0 API.
TEST=dEQP-GLES3.functional.shaders.preprocessor.line_continuation.*
(all pass),
angle_unittests
BUG=angleproject:1125
Change-Id: Ic086aacac53cd75bf93c0fda782416501d2f842b
Reviewed-on: https://chromium-review.googlesource.com/294200
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
264ab56f
|
2015-08-12T12:39:52
|
|
Make the default framebuffer owned by Surface
Reland with a fix for SurfaceTest in angle_unittests and fixes for
signed-unsigned warnings
In CGL there is no notion of default Framebuffer and MakeCurrent only
makes a context current but not a drawable. Instead, everything is done
via render to texture. For that reason, different surfaces will have
different FBOs as default framebuffers, which causes that change.
BUG=angleproject:891
Change-Id: I0664896bc335b1a757226aaa212536b8f9d0f08f
Reviewed-on: https://chromium-review.googlesource.com/293752
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
ccdf74b8
|
2015-08-18T10:46:12
|
|
Move TF Feedback linked varyings into D3D-only.
The LinkedVarying structure is a D3D-specific type, and the GL
back-end doesn't need the extra info. Isolate this into the D3D
back-end so we can clean up the Impl inteface.
BUG=angleproject:1123
Change-Id: I76d77ac505876d865e3e02f47acbfd6665a9507e
Reviewed-on: https://chromium-review.googlesource.com/293764
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
11cd6af6
|
2015-08-18T15:54:01
|
|
Revert "Make the default framebuffer owned by Surface"
Compilation warning on Windows
This reverts commit 6cb2ae8292e69aa110c89e0465366b9f049c1168.
Change-Id: I4ecadf5d8e909f986da186a7326cfa0922ae8710
Reviewed-on: https://chromium-review.googlesource.com/294241
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
6cb2ae82
|
2015-08-12T12:39:52
|
|
Make the default framebuffer owned by Surface
Reland with a fix for SurfaceTest in angle_unittests and fixes for
signed-unsigned warnings
In CGL there is no notion of default Framebuffer and MakeCurrent only
makes a context current but not a drawable. Instead, everything is done
via render to texture. For that reason, different surfaces will have
different FBOs as default framebuffers, which causes that change.
BUG=angleproject:891
Change-Id: Ie9a72de01a58e583a1bfa3f4a055debb860b912f
Reviewed-on: https://chromium-review.googlesource.com/293713
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
e473deee
|
2015-08-18T14:49:01
|
|
Clean up uniform block Program Impl APIs.
The D3D-specific code we can split into D3D-only methods, and the
GL-level shared code we can place in Program instead of making Impl
methods. This cleans up the Impl inteface significantly.
BUG=angleproject:1123
Change-Id: Ibcb7d07733eb939adf5bb4f5395a661875a60238
Reviewed-on: https://chromium-review.googlesource.com/293763
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
39939686
|
2015-08-18T10:37:22
|
|
Fix improper error handling in Image11.
A device lost event would improperly skip returning an error, which
could lead us down a code path that would read/write to invalid
locations.
BUG=519642
Change-Id: Iba437b9b24cdf44320a944a85146f5f73be9f7a6
Reviewed-on: https://chromium-review.googlesource.com/293903
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
ea918db9
|
2015-08-18T14:48:59
|
|
Clean up Program::linkUniforms.
This method previously relied on output from the D3D back-end from
ProgramImpl::link. Split the D3D-specific code into its own method,
and do the linking validation before we call link.
BUG=angleproject:1123
Change-Id: I582671e21af605af9f4451b02fc96ad29c923048
Reviewed-on: https://chromium-review.googlesource.com/293762
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
70022972
|
2015-08-18T17:53:00
|
|
Revert "Work around deprecated LUMA formats in the core profile."
Caused failures in the WebglConformance.conformance_textures_misc_copy_tex_image_2d_formats test on the ATI FYI waterfall bot.
This reverts commit 61f51dc1b7d383bcb3632218cd2434f65cac4b7a.
Change-Id: Iddea03d53ae2a9b639e36931f01c1e889e550af4
Reviewed-on: https://chromium-review.googlesource.com/294262
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
1e949799
|
2015-08-18T09:58:23
|
|
Fix build after https://chromium-review.googlesource.com/#/c/293865
Change-Id: I691d80deff03b49463b08d093934b44b049a0606
Reviewed-on: https://chromium-review.googlesource.com/294163
Reviewed-by: Nico Weber <thakis@chromium.org>
Tested-by: Nico Weber <thakis@chromium.org>
|
|
33d71f58
|
2015-08-18T09:31:59
|
|
Rename TextureD3D::setImage() to setImageImpl().
This makes it clear that this is not an attempted override of the
virtual base class's method rx::TextureImpl::setImage().
Do the same for TextureD3D::setCompressedImage().
No intended behavior change.
BUG=angleproject:1083
Change-Id: I874e4101e8138c7c5000f5966afed6a339523c02
Reviewed-on: https://chromium-review.googlesource.com/293865
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Nico Weber <thakis@chromium.org>
|
|
a818776e
|
2015-08-12T10:54:37
|
|
Fix warning C4312 (x64) - reinterpret_cast conversion to greater size
Change-Id: I90504b00e8f3af208511ec393ddfb0da267f56bc
Reviewed-on: https://chromium-review.googlesource.com/293341
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
66d6313e
|
2015-08-13T10:22:42
|
|
Add target platform version for generating Windows 10 WinRT projects
BUG=angleproject:1122
Change-Id: Ia6a79ef1b4e94e15830981f0cee6269c9f0c71ca
Reviewed-on: https://chromium-review.googlesource.com/293401
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f4e794ec
|
2015-08-12T14:10:36
|
|
In TextureD3D_2D, don't call Image::redefine directly.
Call the TextureD3D_2D::redefine member which will not make unnecessary
modifications to the image and lets the member serve as a callback for
redefined images.
BUG=angleproject:970
Change-Id: I511310ebfd4d6133219bbef82c53747f9454aee0
Reviewed-on: https://chromium-review.googlesource.com/293904
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
87d3fe04
|
2015-08-18T14:38:43
|
|
Revert "In TextureD3D_2D, don't call Image::redefine directly."
Warnings in 64-bit.
This reverts commit a0633a7e4124473d67538053cba3ebdc44f71687.
Change-Id: I5b3f31b261b947cd295e9f4a9abbbdbc00740183
Reviewed-on: https://chromium-review.googlesource.com/293841
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a0633a7e
|
2015-08-12T14:10:36
|
|
In TextureD3D_2D, don't call Image::redefine directly.
Call the TextureD3D_2D::redefine member which will not make unnecessary
modifications to the image and lets the member serve as a callback for
redefined images.
BUG=angleproject:970
Change-Id: I280c18b993ef4dfac2efe1b28bf28c34aa4b6bcc
Reviewed-on: https://chromium-review.googlesource.com/293222
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
61f51dc1
|
2015-08-13T16:16:56
|
|
Work around deprecated LUMA formats in the core profile.
Use R and RG textures with swizzle states to emulate them.
Fixes the following tests when using the core profile:
* conformance/extensions/oes-texture-float.html
* conformance/extensions/oes-texture-half-float.html
* conformance/textures/misc/tex-sub-image-2d.html
* conformance/textures/misc/texture-formats-test.html
* conformance/textures/misc/texture-npot.html
* conformance/more/functions/copyTexImage2D.html
* conformance/more/functions/copyTexSubImage2D.html
BUG=angleproject:1113
Change-Id: Iaf4b7b2b0000052b1747f46d90ad45d4cb1f6b50
Reviewed-on: https://chromium-review.googlesource.com/293530
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
51706eae
|
2015-08-07T14:39:22
|
|
Make FramebufferAttachmentObject not refcountable
Re-land with a fix for an unitialized variable
Instead the refcount is done via callbacks. This allows Surface to
ignore this refcounting which will be useful in a follow-up CL.
BUG=angleproject:891
Change-Id: I1925ccaa4ce7b502b33088660d31c404b8313cb5
Reviewed-on: https://chromium-review.googlesource.com/293712
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
ada9ecc3
|
2015-08-17T12:53:37
|
|
Make TF Feedback buffer mode a GL-level variable.
Don't query this as an Impl method, since it exists on the GL level.
Also some related refactorings and cleanups.
BUG=angleproject:1123
Change-Id: I3610bc0db2bcaa96408506e06a65a2f4dab93150
Reviewed-on: https://chromium-review.googlesource.com/293761
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5c6b7bfe
|
2015-08-17T12:53:35
|
|
Add a Program::Data shared state structure.
Similar to the Framebuffer and other classes, this gives the Impl
class a read-only view of the object's state.
BUG=angleproject:1123
Change-Id: I580eaebe2de236adf8131d6e3f54633cecce8c25
Reviewed-on: https://chromium-review.googlesource.com/293760
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3b040eb8
|
2015-08-17T16:51:33
|
|
Revert "Add full support for line continuation in the preprocessor"
Warning in the Linux/Mac builders:
In file included from ../../third_party/angle/src/tests/preprocessor_tests/input_test.cpp:7:
In file included from ../../third_party/angle/src/tests/preprocessor_tests/PreprocessorTest.h:7:
../../testing/gtest/include/gtest/gtest.h:1392:16: error: comparison of integers of different signs: 'const int' and 'const unsigned long' [-Werror,-Wsign-compare]
if (expected == actual) {
~~~~~~~~ ^ ~~~~~~
../../testing/gtest/include/gtest/gtest.h:1422:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned long>' requested here
return CmpHelperEQ(expected_expression, actual_expression, expected,
^
../../third_party/angle/src/tests/preprocessor_tests/input_test.cpp:171:5: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<int, unsigned long>' requested here
EXPECT_EQ(3, input.read(buf, maxSize, &lineNo));
^
BUG=angleproject:1125
This reverts commit c1157d1963170c7411eb6c32e2b2fbce02c5a170.
Change-Id: Ic6fa286d190b006cccc5154d86e21ecc03175763
Reviewed-on: https://chromium-review.googlesource.com/294080
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c1157d19
|
2015-08-14T14:16:19
|
|
Add full support for line continuation in the preprocessor
Line continuation in ESSL 3.00 needs to be processed before tokenization,
since tokens can span the line continuation. On the other hand, ANGLE's
tokenizer keeps track of line numbers, and whenever a line continuation
appears the line number still needs to be incremented by one, just like
on a regular newline.
That's why line continuation is now implemented as follows: when the
shader strings are concatenated in Input, they are also checked for line
continuation. Whenever line continuation is encountered, the string
is cut before that point. When the tokenizer asks for more input, the
string starting from the character after line continuation is passed
to it, and the line number is incremented from Input. This way the
tokenizer can parse tokens that span multiple lines - it never sees the
line continuation - but still keeps track of the line number correctly.
Relevant spec is in ESSL 3.00 section 3.2 "Source strings".
Support for line continuation also applies to ESSL 1.00. ESSL 3.00
spec section 1.5 says that line continuation support is mandated when
an ESSL 1.00 shader is used with the OpenGL ES 3.0 API, and is optional
when ESSL 1.00 is used with the OpenGL ES 2.0 API.
TEST=dEQP-GLES3.functional.shaders.preprocessor.line_continuation.*
(all pass),
angle_unittests
BUG=angleproject:1125
Change-Id: I1c1de49602e7cd755d6072c3c0aa5524cd0313b4
Reviewed-on: https://chromium-review.googlesource.com/293721
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
f0435bc8
|
2015-08-17T11:24:37
|
|
Surface_unittest: fix a gmock warning
getSwapBehavior was being called in Surface's constructor but masn't
expected, causing a warning. Add it as an expect call.
BUG=angleproject:1126
Change-Id: Idf4a7e0ff66ba5741d3773e09ade4a1335b355ae
Reviewed-on: https://chromium-review.googlesource.com/293902
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
0b9e9032
|
2015-08-17T11:51:52
|
|
Revert "Revert "Implement dirty bits acceleration for VertexArrayGL.""
Should be fixed with the Iterator change.
BUG=angleproject:1040
This reverts commit 5b21ed5fd030d33ae379b8cc493746244d2928b4.
Change-Id: Ibb77775b6b2ce5a49cee7dd81efc62d8c3ba3c62
Reviewed-on: https://chromium-review.googlesource.com/293901
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b3a60aa9
|
2015-08-14T14:44:06
|
|
Store iterator bitset by-value instead of by-reference.
The by-reference method was giving strange problems when using a non-
LValue as argument to IterateBitSet.
BUG=angleproject:1040
Change-Id: Iec10f7256a5b19b239804e0beba4ae675f53f876
Reviewed-on: https://chromium-review.googlesource.com/293840
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5b21ed5f
|
2015-08-14T18:12:50
|
|
Revert "Implement dirty bits acceleration for VertexArrayGL."
Seems to cause an exception in Release, in end2end_tests.
BUG=angleproject:1040
This reverts commit 6d51c70ccf63a2c5ec240d960ff1bc179d36c92c.
Change-Id: I6548bc68dce07d2d85e40afdb604157e689c1d6c
Reviewed-on: https://chromium-review.googlesource.com/293821
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
6d51c70c
|
2015-08-14T10:38:10
|
|
Implement dirty bits acceleration for VertexArrayGL.
BUG=angleproject:1040
TEST=angle_end2end_tests,angle_perftests,WebGL
Change-Id: I91d9aea5eefb58ecaf5b1cc95926fddb2aa846ea
Reviewed-on: https://chromium-review.googlesource.com/289570
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
49e8de70
|
2015-08-14T10:50:17
|
|
Fix remaining size_t conversion warnings.
BUG=angleproject:1120
Change-Id: If4fba903511dcd57d21f8f8178e772cf3cae4187
Reviewed-on: https://chromium-review.googlesource.com/293750
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5cf0f982
|
2015-08-12T09:35:10
|
|
Reland "Fix memory layout of imageformats.h's 16-bit structs"
Changes since last patch:
- Disable tests on D3D11 Intel
Change-Id: Ie65f56b7ed107f8901ea3be7d96036d7c882d189
Reviewed-on: https://chromium-review.googlesource.com/285218
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
9e1b879e
|
2015-08-13T08:21:45
|
|
Roll GYP for Windows 10 project generation.
BUG=angleproject:1122
Change-Id: I8b7a33fb8e7d1200e655c73c7d1a5502cac955c6
Reviewed-on: https://chromium-review.googlesource.com/293335
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Cooper Partin <coopp@microsoft.com>
Commit-Queue: Cooper Partin <coopp@microsoft.com>
|
|
59f9a641
|
2015-08-06T20:38:26
|
|
Remove EOpInternalFunctionCall
It's cleaner to mark internal functions by using the TName class,
similarly to TIntermSymbol.
TEST=angle_unittests
BUG=angleproject:1116
Change-Id: I12a03a3dea42b3fc571fa25a1b11d0161f24de72
Reviewed-on: https://chromium-review.googlesource.com/291621
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
f5cfc8df
|
2015-08-06T16:36:39
|
|
Track whether a name is internal to ANGLE in a separate class
The AST contains identifiers in a few different places: besides symbols,
there are also function names, which show up in function signatures
and function calls. Any of these can be coming either from the original
shader or from inside ANGLE. A class that encapsulates a string and its
internalness will be useful for implementing a unified way of handling
all names in shader translation. Start implementing this by splitting
the functionality out of TSymbol.
TEST=angle_unittests
BUG=angleproject:1116
Change-Id: I0a1b5936dcccd0d5fc1c0c13c712102fbfff2a79
Reviewed-on: https://chromium-review.googlesource.com/291280
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
ec17d54a
|
2015-08-13T12:19:28
|
|
Fix angle miscompiling shaders on x86_64 Android.
BUG=487341
Change-Id: I792e0c9419566facb0bec0ad93f3646294e5a2a7
Reviewed-on: https://chromium-review.googlesource.com/293500
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
|
|
217fe6ec
|
2015-08-05T13:25:08
|
|
Detect when built-in modf requires an l-value in AST traversal
This fixes an omission that out parameter tracking had inherited from
EmulatePrecision. Accurate tracking of when values are written is
required for converting dynamic indexing of vectors and matrices to
function calls.
A new test covering this is added to angle_unittests.
TEST=angle_unittests
BUG=angleproject:1116
Change-Id: I05c5fd60355117d0053b84110748ae221375a790
Reviewed-on: https://chromium-review.googlesource.com/290562
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|