|
d63243f5
|
2015-10-29T14:23:37
|
|
renderergl_utils: Require explicit location qualifier for OpenGLES3
BUG=525930
Change-Id: I591308078c5a392a527291419567a11241a8be17
Reviewed-on: https://chromium-review.googlesource.com/309636
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
121ea584
|
2015-11-04T17:00:33
|
|
DisplayGLX: validate configs against the backing context's config
This is a step required before adding an ANGLE extension that will
allow passing the Visual ID to use for the context at display creation
time: the configs will have to be compatible with it even if the visual
has non-standard sizes.
BUG=522149
Change-Id: I85e8ee3b9072934c665bddfa2b461d26f8903ff3
Reviewed-on: https://chromium-review.googlesource.com/311220
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
91dbc188
|
2015-06-17T16:19:29
|
|
Enable needed extensions in generated GLSL shaders and call them when possible.
reland: use the defined preprocessor function.
BUG=angleproject:1044
Change-Id: I6171708a2d55ec085ba2c598a1a863779842da6c
Reviewed-on: https://chromium-review.googlesource.com/311270
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
15200047
|
2015-11-04T16:56:31
|
|
Fix issues in comma operator parsing
Always qualify comma operator result with EvqTemporary in ESSL3, as
specified.
Also, it is possible that in the future some expressions are qualified
as EvqConst but they'd still have side effects, in which case discarding
them when they're the left operand of the comma operator would be wrong.
This would be the case if ANGLE allowed "(a = b).length()" for example.
For this reason it is better to check whether the left node has side
effects, rather than check its const qualification, and only discard it
if it doesn't.
Also, Intermediate::addComma() never returns null, so there's no need to
check the result.
BUG=angleproject:1201
TEST=WebGL conformance tests
conformance/glsl/misc/sequence-operator-returns-constant.html
conformance2/glsl3/sequence-operator-returns-non-constant.html
Change-Id: Ibfbd92baa4910b14c0dc8f8a3c3008440d191cd6
Reviewed-on: https://chromium-review.googlesource.com/311171
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
0b2d2dcf
|
2015-11-04T16:35:32
|
|
Move comma operator parsing to ParseContext
This change is pure refactoring. It will help with fixing comma operator
return value qualifier bug.
BUG=angleproject:911
BUG=angleproject:1201
Change-Id: I481c337adbaf789cc959c8a1106f99ad7275e1e5
Reviewed-on: https://chromium-review.googlesource.com/311170
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
cdeafd20
|
2015-11-05T14:59:18
|
|
Fix missing init when parsing storage qualifier fails
When parsing a storage qualifier results in an error, the parser should
not leave the type uninitialized. Otherwise after recovering from the
error the parsed value could contain uninitialized memory, which could
cause flaky asserts in further parsing.
TEST=dEQP-GLES2.functional.shaders.functions.*
BUG=angleproject:1200
Change-Id: Ia3add76df243898e35fee97d01555b953cff8379
Reviewed-on: https://chromium-review.googlesource.com/311140
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
bf8a72f6
|
2015-11-03T16:34:45
|
|
When doing a LUMA blit, render to an intermediate texture.
Instead of rendering the swizzled result to the destination texture,
render to another intermediate texture and then CopyTexImage it into the
destination texture. Rendering to arbitrary mip levels of the destination
texture is not always supported but CopyTexImage-ing is.
BUG=angleproject:1113
Change-Id: I352a1fcc769ce92268744d3e7a6265dd2bfddb37
Reviewed-on: https://chromium-review.googlesource.com/310570
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
e7fcf1e3
|
2015-11-05T21:23:53
|
|
Revert "Enable needed extensions in generated GLSL shaders and call them when possible."
This reverts commit 233b334213c1a4853e81f71ba90aa223b2a68dce.
Change-Id: Id99024b736324ad030ce63c5d0baae32b6d7f54b
Reviewed-on: https://chromium-review.googlesource.com/311181
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
233b3342
|
2015-06-17T16:19:29
|
|
Enable needed extensions in generated GLSL shaders and call them when possible.
BUG=angleproject:1044
Change-Id: Ife94d2258fb912974aa97484a0e30f289dd96734
Reviewed-on: https://chromium-review.googlesource.com/278324
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5b58cae2
|
2015-11-05T14:51:47
|
|
Revert "In D3D, cache static vertex buffers to prevent wasteful recreation"
Perf bisect traced performance regression to this CL:
8.1% regression in angle_perftests/DrawCallPerf_d3d9_null/score
6.2% regression in angle_perftests/DrawCallPerf_d3d11_null/score
BUG=angleproject:197
This reverts commit 868651d334d060458af13c7ff9211c2f72be0cad.
Change-Id: Iaba7eb4e574eb886496361e61fd5fe78ca14dcb8
Reviewed-on: https://chromium-review.googlesource.com/311150
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ff2ab571
|
2015-10-05T16:48:06
|
|
Using dirty bits notification for blend state
BUG=angleproject:1161
Dirty bit notifications are used in GL for state tracking, but not D3D.
Before, D3D would use memcmp to check a change in state for every call.
This showed up as a hot spot in the perf test runs. Hence, switching D3D
over to the dirty bit system similar to GL backend will help.
Change-Id: I482edc852f1dcc888af3038ff3a61916496a02bc
Reviewed-on: https://chromium-review.googlesource.com/305295
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Dian Xiang <dianx@google.com>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b1edc4f5
|
2015-11-02T17:20:03
|
|
Accept const array initialization in shader parsing
Array constructors are not folded, unlike all other constant expressions.
Change initializer parsing path so that it accepts constant initializers
whether they are folded or not.
Some parts need to be adapted to work with expressions that are qualified
as constant but that are not necessarily folded:
1. Identifier parsing
2. Indexing parsing
3. Field selection parsing
4. HLSL output for variable declarations
5. Determining unary operator result type
6. Determining binary operator result type
7. Determining built-in function call result type
8. Determining ternary operator result type
Corner cases that are not supported yet:
1. Using array constructors inside case labels
2. Using array constructors inside array size expressions
3. Detecting when a negative constant expression containing an array
constructor is used to index an array
In these cases being able to constant fold the expression is essential to
validating that the code is correct, so they require a more sophisticated
solution. For now we keep the old code that rejects the shader if ANGLE
hasn't been able to constant fold the case label or array size. In case of
indexing an array with a negative constant expression containing an array
constructor, ANGLE will simply treat it as a non-constant expression.
BUG=541551
BUG=angleproject:1094
TEST=dEQP-GLES3.functional.shaders.constant_expressions.* (all pass),
angle_unittests
Change-Id: I0cbc47afd1651a4dece3d68acf7ec72a01fdf047
Reviewed-on: https://chromium-review.googlesource.com/310231
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e79b1e14
|
2015-11-04T16:36:37
|
|
D3D11: Restrict use of MAX_UINT element indexes.
We need to block the app from using MAX_UINT on D3D11 because we can't
disable primitive restart on this platform. Instead generate an
INVALID_OPERATION error, which is spec-compliant in ES3 because the
result is undefined behaviour. This is also compliant with WebGL which
explicitly defines an error here.
BUG=angleproject:597
Change-Id: I7ebc5371b63ff860dc6dddf79939e9629ebb2a3c
Reviewed-on: https://chromium-review.googlesource.com/309638
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
72028778
|
2015-10-30T10:31:54
|
|
DisplayGLX: on mesa only expose configs with the same depth-stencil
BUG=angleproject:1188
Change-Id: I19516cf3d037245144dfbe6fa2eed13a57aa6800
Reviewed-on: https://chromium-review.googlesource.com/309635
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
0b2e7461
|
2015-10-28T17:29:15
|
|
RendererGL: only support ES3 when GLSL packing builtins are available
BUG=angleproject:1188
Change-Id: I07638c52ef09ffc96d91eec25c32dd905207c49f
Reviewed-on: https://chromium-review.googlesource.com/309650
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
f25855c9
|
2015-11-03T11:06:18
|
|
Add a ValidationContext class helper.
This class is a wrapper around gl::Data, aka the metadata describing
a gl::Context. We can use it for unit-testing validation functions
by passing that through the validation methods instead of a Context,
and using mocks to expect certain errors.
BUG=angleproject:747
BUG=angleproject:597
Change-Id: I7bd85c7662860ba9a3a13406579a088d447e5631
Reviewed-on: https://chromium-review.googlesource.com/309637
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
82c29ed2
|
2015-11-03T13:06:54
|
|
Move variable identifier parsing to ParseContext
This change is purely refactoring existing functionality to make it
easier to change variable identifier parsing.
BUG=angleproject:911
BUG=541551
Change-Id: I282fbb66d40cd71fa0f4804e4a8e893744cd6bfc
Reviewed-on: https://chromium-review.googlesource.com/309724
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
08fc7732
|
2015-11-02T16:24:25
|
|
Update dEQP failing test expectations.
BUG=angleproject:1088
BUG=angleproject:1095
BUG=angleproject:1097
BUG=angleproject:1101
Change-Id: I40f4d5960ef52bb1049336d23da4034a41f2fe63
Reviewed-on: https://chromium-review.googlesource.com/310480
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
f0915a89
|
2015-11-03T11:15:36
|
|
Fix standalone build in MSVS 2013
Range-based for loop saves the end iterator by assigning it to a
variable, so the iterator class needs to have a copy constructor at
least on some C++ compiler implementations.
The issue got introduced by a chain of three commits, so it's better to
just fix the issue rather than revert them all.
TEST=build on Windows
Change-Id: Ib6d8d7e97559838eaac44279454197445535f256
Reviewed-on: https://chromium-review.googlesource.com/309723
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
2df979ed
|
2015-11-02T22:08:57
|
|
Revert "DisplayGLX: rework how glXCreateContextAttribsARB is called"
Breaks dEQP-GLES2.functional.texture.specification.basic_copyteximage2d.2d_alpha
BUG=angleproject:1188
This reverts commit 31e60cf221801a60c052112b5a0bbcfad9b5f705.
Change-Id: Icf1fcd984832a813536fe63e385b3cf9f667d66b
Reviewed-on: https://chromium-review.googlesource.com/309801
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
c7a92fdb
|
2015-10-29T10:08:09
|
|
D3D11: Fix provoking vertex for flat triangle strips.
Triangle strips alternate the provoking vertex based on the
primitive, so use the primitive ID in the GS to determine this.
This might interact poorly with primitive restart, so we might have
to use a slow path for that.
BUG=angleproject:754
Change-Id: I4f6f520887d4c4c52d2ad020e6db148607f68325
Reviewed-on: https://chromium-review.googlesource.com/309156
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
31e60cf2
|
2015-10-28T16:09:03
|
|
DisplayGLX: rework how glXCreateContextAttribsARB is called
This patch adds handling of the EGL ANGLE platform api version display
attributes for better testing.
It makes the code more resilient by ignoring X11 errors that could crash
our program in the call to glXCreateContextAttribsARB.
It also makes sure that we always choose the most recent OpenGL version
available on the system.
BUG=angleproject:1188
Change-Id: I26e1bf6733215db6f5841b54c471f644e2b15e89
Reviewed-on: https://chromium-review.googlesource.com/309633
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
3e14e2b1
|
2015-10-29T14:38:53
|
|
D3D11: Fix basic provoking vertex flat shading cases.
The enables geometry shaders that correct for the flat shading on
provoking vertexes. It does not fix it for triangle strips, or in
conjunction with primitive restart (which is not yet implemented
in D3D11).
Also ensure we do not regress with flat shading enabled and transform
feedback. In cases where we use flat shading, do a double draw call,
first with an untransformed vertex stream, and no geometry shader,
then with the geometry shader enabled.
This also fixes the dEQP fragment output tests with ints.
BUG=angleproject:754
Change-Id: Ib37e8ec32d19db17ea5d4dc88158cdae0c956bfc
Reviewed-on: https://chromium-review.googlesource.com/309155
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f4b2c4fd
|
2015-10-29T14:38:54
|
|
Refactor DynamicHLSL geometry shader code more.
This refactor adds a typed iterator class for helping to iterate over
varying registers from packed varyings. We use the same iteration
logic in several places and it has a triple loop, so encapsulating
this into an iterator class keeps it cleaner.
The other change is to use std::stringstream in places where we would
return a std::string.
These refactorings will aid in subsequent work to implement provoking
vertex fixes and to refactor our varying packing algorithm.
BUG=angleproject:754
Change-Id: Id44a1f68ccd4edc3458f1cf514f5eab4b8cd4151
Reviewed-on: https://chromium-review.googlesource.com/309811
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
62c49f5d
|
2015-10-30T10:34:17
|
|
PbufferSurfaceGLX: avoid creating (0, 0)-sized pbuffers
It crashes on Mesa.
BUG=angleproject:1188
Change-Id: I1e1e3e696bfda0c127b683a620cbaf302087e43b
Reviewed-on: https://chromium-review.googlesource.com/309630
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5d91dda9
|
2015-06-18T15:47:46
|
|
Remove dynamic indexing of matrices and vectors in HLSL
Re-re-relanding after clang warning fix.
Re-re-landing with fix to setting qualifiers on generated nodes. The
previous version failed when a uniform was indexed, because it would
set the uniform qualifier on some of the generated nodes and that
interfered with the operation of UniformsHLSL.
Re-landing after fixing D3D9 specific issues.
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: I9f6d7c7ecda8ac4dc3c30b39e15a9a0b5381c5a8
Reviewed-on: https://chromium-review.googlesource.com/310010
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4e31ad55
|
2015-10-29T10:32:57
|
|
D3D11: Add dynamic geometry shaders.
The geometry shader we want will depend on our current draw mode, and
if we're using flat shading in the shader. Without flat shading, we'll
still be using them only for point sprites, but for other primitive
types with flat shading enabled, we'll be using them to correct the
provoking vertex order with D3D11.
Note: no new features in this CL, those are turned on in follow-ups.
BUG=angleproject:754
Change-Id: Iabf13ffd582f5a7200ee0df5aa9c3671aa7b6ed4
Reviewed-on: https://chromium-review.googlesource.com/309154
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
76f8fa66
|
2015-10-29T10:32:56
|
|
Refactor Geometry Shader support to enable pass-through.
This should be a refactoring change only. The new code is exercised in
follow-up CLs.
BUG=angleproject:754
Change-Id: I99285e1e7772cae467013102f25c911ebc9f54a9
Reviewed-on: https://chromium-review.googlesource.com/309153
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
1cc10903
|
2015-10-29T13:43:40
|
|
Removed Sleep( ) workaround for Windows Store builds
Visual Studio SDKs now include the ability for Windows Store applications to
use the Sleep( ) function.
Change-Id: Iaf2a978e778f82e918ba14a58bbb1807cc1fbaf4
Reviewed-on: https://chromium-review.googlesource.com/309890
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0c1d4403
|
2015-10-29T10:13:49
|
|
dEQP: Use full GTest name in non-standalone.
With crbug.com/509883 fixed, we can use the full test names.
BUG=509883
BUG=angleproject:1153
Change-Id: I62bf60fb5066de8c0cc118512ba0d9e9bbd94303
Reviewed-on: https://chromium-review.googlesource.com/309653
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
a5f64de7
|
2015-10-30T12:31:00
|
|
Revert "Remove dynamic indexing of matrices and vectors in HLSL"
Failing build on Clang-win:
..\..\third_party\angle\src\compiler\translator\RemoveDynamicIndexing.cpp(128,43) : error: expected '(' for function-style cast or type construction
fieldType.setPrimarySize(unsigned char(indexedType.getRows()));
~~~~~~~~ ^
BUG=angleproject:1116
This reverts commit 7535b761dd4740c8e76b888d7c58c7cbeefd2083.
Change-Id: I7b502e3dcd45e17b7ed88fec18be702614d9ac65
Reviewed-on: https://chromium-review.googlesource.com/309772
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
42e9e599
|
2015-10-29T14:09:25
|
|
ProgramBinaryTest: use override where applicable
BUG=None
Change-Id: Ibb3c6ea919c34e967aaa5d475d6e05249d2ee6aa
Reviewed-on: https://chromium-review.googlesource.com/309810
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0984d111
|
2015-10-29T14:06:04
|
|
Replace _countof with ArraySize
This macro only exists on MSVC
BUG=None
Change-Id: I23204d1307279840a7f85a005da9ed5c324e7dae
Reviewed-on: https://chromium-review.googlesource.com/309800
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
1cf66a8d
|
2015-10-28T10:59:50
|
|
platform_glx: Add support for ARB_create_context_profile
BUG=angleproject:1188
Change-Id: I5a72ff3521c01b4da661a90f6d761da61b3aad60
Reviewed-on: https://chromium-review.googlesource.com/309631
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
868651d3
|
2015-08-31T15:31:18
|
|
In D3D, cache static vertex buffers to prevent wasteful recreation
BUG=angleproject:197
Change-Id: I66cd10609b2edbcf12b99530eafe1727511fe515
Reviewed-on: https://chromium-review.googlesource.com/296503
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
42590dd7
|
2015-10-28T11:16:41
|
|
Fix a typo in DisplayWGL
BUG=None
Change-Id: Ib9d43ced80f38c61f5936fb027433d9f2b4c7f98
Reviewed-on: https://chromium-review.googlesource.com/309632
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7c89d248
|
2015-10-13T12:45:59
|
|
Reland Fixed FL9_3 shaders that use glPointCoord without glPointSize.
This change fixes a Shader error on FL9_3 that reports
Vertex/Pixel Shader linkage signatures between stages
being incompatible when glPointCoord is used without glPointSize.
Change-Id: I107d06692c5375c07544038f5f4429c1e8d6e313
Reviewed-on: https://chromium-review.googlesource.com/305395
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
60ad73dc
|
2015-10-23T10:08:44
|
|
Add ASTC compressed texture format info to the GL layer.
BUG=angleproject:1185
Change-Id: Ie723687e0289812d6c2306589911b548ac321e22
Reviewed-on: https://chromium-review.googlesource.com/308491
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d55d283c
|
2015-10-27T13:59:19
|
|
Add a test for flat shader 'provoking vertex'.
The provoking vertex, or leading vertex, is the vertex in a triangle
which produces the value that gets used for a flat-shaded triangle.
Flat shading means the same value gets used for the entire triangle.
It seems as though D3D and OpenGL have different definitions of which
vertex is the leading/provoking one; GL says it is the *last* vertex
of a primitive, while while D3D says it is the first.
Additional complexity comes about from triangle strips, which switch
winding order, and primitive restart, which defines new primitives in
the middle of prior primitives.
BUG=angleproject:754
Change-Id: If1217cba33dabf3b1e4ad13fd639d049cb16fe44
Reviewed-on: https://chromium-review.googlesource.com/309152
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f541f529
|
2015-10-13T12:21:01
|
|
Fix parsing integers larger than 0x7FFFFFFF
Parsing should accept all values between 0 and 0xFFFFFFFF as specified in
ESSL 3.00 section 4.1.3.
When a signed literal is parsed, it's interpreted as if it specifies the
bit pattern of a two's complement integer. For example, parsing
"0xFFFFFFFF" results in -1. Decimal literals behave the same way, so for
example parsing "3000000000" results in -1294967296.
This change affects parsing of literals in ESSL 1.00 as well. In ESSL
3.00, an out-of-range integer literal now generates a compiler error.
Unit tests are added based on examples in the ESSL 3.00 spec and one
example in GLSL 4.5 spec that ESSL should match.
BUG=541550
TEST=angle_unittests
Change-Id: I82f8ef5cfa2881019a3f80d77ff99707d61c000d
Reviewed-on: https://chromium-review.googlesource.com/305420
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@google.com>
|
|
e3f3cf7b
|
2015-10-27T10:17:07
|
|
DisplayGLX: make the dummy pbuffer of size (1, 1)
This works around a Mesa crasher bug.
BUG=angleproject:1188
Change-Id: Ief7e6e841715cc04dea696bc1919d7a2d6fbc78d
Reviewed-on: https://chromium-review.googlesource.com/309141
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
c8947ea2
|
2015-10-27T10:16:39
|
|
FunctionsGLX: add glXGetCurrent(Drawable|Context) support
BUG=angleproject:1188
Change-Id: Ibf0fb4be3ec08cc43b2d9aba03a3d0fc12adce9d
Reviewed-on: https://chromium-review.googlesource.com/309140
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
e2cd53d6
|
2015-10-27T11:15:46
|
|
Implement primitive restart boolean query.
We have support for primitive restart in the GL renderer, but we
didn't complete support for the state query.
BUG=angleproject:1101
Change-Id: I4c6ad10642f7de1d09718c4582f1037782cced58
Reviewed-on: https://chromium-review.googlesource.com/309151
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@google.com>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
362df97f
|
2015-10-27T11:15:45
|
|
Update WebGL test expectations.
BUG=None
Change-Id: Id2a88bcfd9ebf8152704ca9fc66d8401d5db43e2
Reviewed-on: https://chromium-review.googlesource.com/309150
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ae69d7e1
|
2015-10-07T17:19:50
|
|
Output layout qualifiers in GLSL output
Output layout qualifiers for vertex shader attributes and fragment
shader outputs. This applies both to ESSL output and GLSL output. If
the source shader is in ESSL1, the code has no effect since there's
no layout information in the AST.
BUG=525930
TEST=angle_unittests, angle_end2end_tests
Change-Id: I48b3aa56116c15d11599b030eed4c45be2c8fc7e
Reviewed-on: https://chromium-review.googlesource.com/304550
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
839ce0b4
|
2015-10-23T13:13:12
|
|
Validate that compressed image formats are supported by the context.
This validation was previously acceptable because all renderers supported all
compressed formats in the format tables. Adding new formats that are not
universally supported would have caused failures in the dEQP negative API
tests.
BUG=angleproject:1185
Change-Id: I102a3286a351a7c8936527963a382d9673341fc0
Reviewed-on: https://chromium-review.googlesource.com/308490
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
7535b761
|
2015-06-18T15:47:46
|
|
Remove dynamic indexing of matrices and vectors in HLSL
Re-re-landing with fix to setting qualifiers on generated nodes. The
previous version failed when a uniform was indexed, because it would
set the uniform qualifier on some of the generated nodes and that
interfered with the operation of UniformsHLSL.
Re-landing after fixing D3D9 specific issues.
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: I16119f9092360fb72798f9550a6f4d3cfffdc92f
Reviewed-on: https://chromium-review.googlesource.com/308790
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
a33475b3
|
2015-10-26T13:08:58
|
|
Suppress failing textures tests in Linux dEQP.
BUG=angleproject:1020
Change-Id: Ia074186c2f80b41c5a02523b3b3f564cd09ec557
Reviewed-on: https://chromium-review.googlesource.com/308920
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
81820494
|
2015-10-26T13:18:51
|
|
Don't use static const & locals for format tables.
This hits an unimplemented feature in Clang. Work around this by using
values instead of references.
BUG=angleproject:1160
Change-Id: I94b08d8fd9a09bbbfbe4bcd1b6f9d7f0031ce18d
Reviewed-on: https://chromium-review.googlesource.com/308910
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
bc781f31
|
2015-10-26T09:27:38
|
|
Re-re-land "Add GL_OES_vertex_array_object to D3D11 and GL renderers"
+ Include fixed validation logic for GL_UNPACK_SKIP_IMAGES and GL_UNPACK_ROW_LENGTH
+ Include fix for Clang build break
BUG=angleproject:1186
Change-Id: I403a066e29614f532db6931755265d2ee088d442
Reviewed-on: https://chromium-review.googlesource.com/308746
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5296141b
|
2015-10-26T15:33:27
|
|
Revert "Re-land "Add GL_OES_vertex_array_object to D3D11 and GL renderers""
Fails build on Clang because Caps.cpp defines a constructor
initializer out-of-order with the member variable order in the
header.
BUG=angleproject:1186
This reverts commit 7432321e03a70a99639b149f44cf80086feb4ea2.
Change-Id: I2840d02e6e7b6bbc76eb495b5462c43116a5c4a6
Reviewed-on: https://chromium-review.googlesource.com/308800
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f71e6618
|
2015-10-23T10:28:24
|
|
Update dEQP-GLES2 expectations.
Some texture.mipmap.2d.projected are passing and
fbo.api.valid_texcube_attachments seems to pass.
BUG=angleproject:1026
BUG=angleproject:1020
Change-Id: I46ada896978cbb0a3bcbfb3985a5a50e4095ab98
Reviewed-on: https://chromium-review.googlesource.com/308391
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b066669d
|
2015-10-26T10:38:18
|
|
Revert "Remove dynamic indexing of matrices and vectors in HLSL"
This reverts commit 3766a40d6fda7e7190514ab7838a3f37169d863f.
This CL was causing crashes in UniformHLSL.cpp, where an internal
uniform "base" was attempted to be declared in HLSL. Was crashing
on an external WebGL 3D canvas page (http://www.taccgl.org/?dbg=t).
BUG=546686
Original commit message:
Re-landing after fixing D3D9 specific issues.
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: I1d4b2e3888e91af7d5eebf743d12778698b6b903
Reviewed-on: https://chromium-review.googlesource.com/308770
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
587f3c35
|
2015-10-22T14:00:30
|
|
Refactor RendererD3D::applyShaders.
Reduce the argument count to make future refactorings easier.
BUG=angleproject:754
Change-Id: Ia8acfc2bc8f922ad6a115e198ea51a62710a422c
Reviewed-on: https://chromium-review.googlesource.com/307873
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
334d615f
|
2015-10-22T14:00:28
|
|
Fix up the style in DynamicHLSL a bit.
Use std::stringstream when possible, and use Context's caps instead
of the Renderer's.
BUG=angleproject:754
Change-Id: I2dc773709bbd612ab7ea372a358337c0a81869a3
Reviewed-on: https://chromium-review.googlesource.com/307872
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b2e2425a
|
2015-10-05T16:03:10
|
|
Fixed compilation on mingw.
BUG=angleproject:1184
This is reland of parts of commit 566273222683314d.
It also adds <algorithm> include in FunctionsWGL.cpp,
which is needed for std::find on GCC.
Change-Id: I852008087afa6b12da6e7e29934fa83390fded21
Reviewed-on: https://chromium-review.googlesource.com/308090
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0450dfcc
|
2015-09-17T11:25:27
|
|
Changed GetTextureFormatInfo to use static switch
BUG=angleproject:1160
The find of the map table in GetTextureFormatInfo is showing up as a
hotspot in draw call perf benchmark. Switching the map into a static
switch should make it more efficient.
Other tables that only GetTextureFormatInfo uses is also converted into
static switching instead of maps for performance. Other tables include
swizzle_format_table and load_functions_table which are both only used by
GetTextureFormatInfo to generate the TextureFormat for a given
internalFormat and d3d device caps.
The static switches for each table is generated using a python script
named gen_*.py. The data for each table is stored in JSON files. This
makes it more flexible for additions and deletions.
Change-Id: I0f40fcc2a215c85661863ea225891071cb2f2c71
Reviewed-on: https://chromium-review.googlesource.com/301770
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tryjob-Request: Dian Xiang <dianx@google.com>
Tested-by: Dian Xiang <dianx@google.com>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
7432321e
|
2015-10-23T10:07:18
|
|
Re-land "Add GL_OES_vertex_array_object to D3D11 and GL renderers"
Include fixed validation logic for GL_UNPACK_SKIP_IMAGES and GL_UNPACK_ROW_LENGTH
BUG=angleproject:1186
Change-Id: I9910a67733702a05991f62129d200ea39adb910c
Reviewed-on: https://chromium-review.googlesource.com/308421
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d0925fd2
|
2015-10-23T10:22:01
|
|
Add "../../../third_party/deqp/src/data" to dEQP data directories
Change-Id: I9bd4127d2eb24657e45b3a3b4668794d86b9d0e3
Reviewed-on: https://chromium-review.googlesource.com/308481
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
023a290e
|
2015-10-23T16:43:24
|
|
Revert "Add GL_OES_vertex_array_object to D3D11 and GL renderers"
This is failing the WebGL 2 test:
WebglConformance.conformance2_state_gl_get_calls
http://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Debug%20%28NVIDIA%29/builds/9807
Also the dEQP-GLES3 tests:
dEQP-GLES3.functional.state_query.integers.unpack_skip_images_get*
BUG=angleproject:1186
This reverts commit eb36e275b8f63ebd442a2580e858ef671ddfe1be.
Change-Id: If903c471f4610ac0b33a268df42f3329d672f429
Reviewed-on: https://chromium-review.googlesource.com/308460
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
bb7740cc
|
2015-10-20T15:30:53
|
|
angle: prevent huge allocations when GL_MAX_VERTEX_ATTRIBS fails
I'm not sure why yet, but when using angle in skia,
getIntegerv(GL_MAX_VERTEX_ATTRIBS, &maxVertexAttribs) sometimes fails,
and when that happens we attempt to allocate and array with the size of
maxVertexAttribs, which is uninitialized, which could be huge.
Prevent this by initializing the variable.
Also sweep through other similar calls and ensure that these use
initialized values (test code has not been updated)
BUG=skia:4380
Change-Id: If1f3cf72f2b2829ad3933637af8778d574a20f61
Reviewed-on: https://chromium-review.googlesource.com/307239
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Dian Xiang <dianx@google.com>
Tested-by: Hendrik Wagenaar <hendrikw@chromium.org>
|
|
9c970870
|
2015-10-23T09:31:26
|
|
Revert "Add ASTC compressed texture format info to the GL layer."
This reverts commit 3bd6e18d1b6545b94bb82c23bcfa076579adf0ce.
Change-Id: I44a82cec1757061897f35f3f63dc6bcc09429866
Reviewed-on: https://chromium-review.googlesource.com/308410
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
eb36e275
|
2015-10-20T13:44:10
|
|
Add GL_OES_vertex_array_object to D3D11 and GL renderers
BUG=angleproject:1186
Change-Id: I7c685084b42f977902228cadca3263064881ba77
Reviewed-on: https://chromium-review.googlesource.com/307038
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
e4bd0418
|
2015-10-21T17:00:06
|
|
Enable EXT_discard_framebuffer in ANGLE's D3D11 backend.
This doesn't seem to cause the video-related WebGL test failures anymore
that were previously seen.
BUG=497445
Change-Id: I705ae8735823ab7f4b26cf7696cdb746936e4447
Reviewed-on: https://chromium-review.googlesource.com/308001
Tryjob-Request: Kenneth Russell <kbr@chromium.org>
Tested-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6ea6f942
|
2015-09-11T13:11:22
|
|
Support GL_ETC1_RGB8_OES.
Passes all dEQP tests related to etc1.
Reland: Updated to work with the D3D11 renderer and re-tested with
chromium's gles2_conform_test.
Change-Id: Id2ce1b0eb58129152f67016ce2dc3ab19208269c
Reviewed-on: https://chromium-review.googlesource.com/299770
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
aa71b58c
|
2015-08-27T13:11:20
|
|
Lazily load the Blit11 buffers and state objects.
BUG=angleproject:1014
Change-Id: I46629253d164a7522c3a97574fcf591f395b04ea
Reviewed-on: https://chromium-review.googlesource.com/295144
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
3bd6e18d
|
2015-09-22T09:30:02
|
|
Add ASTC compressed texture format info to the GL layer.
BUG=angleproject:1185
Change-Id: Ia0bbe85fe8fa2b6a55289ff291f30e215d7a3ba9
Reviewed-on: https://chromium-review.googlesource.com/301146
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6c0b8dd6
|
2015-10-22T11:08:52
|
|
Skip the TransformFeedbackTest.MultiContext on OSX AMD too.
BUG=angleproject:889
Change-Id: Idf8d00ac13382970aa8b16313a56db32a3fca05f
Reviewed-on: https://chromium-review.googlesource.com/307891
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
1a683460
|
2015-09-29T15:09:59
|
|
Implement TransformFeedbackGL.
Reland with supression for TransformFeedbackTest.MultiContext on Linux
AMD.
BUG=angleproject:889
Change-Id: I6f2a2e856dacf16308de222dd0936bedbb3b175c
Reviewed-on: https://chromium-review.googlesource.com/307871
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a9ca8e20
|
2015-10-22T14:34:20
|
|
Revert "Implement TransformFeedbackGL."
Failing on AMD Linux bots.
This reverts commit a9c5288192f90ebf03b0d26d86964b4fbce74bcb.
Change-Id: I2a2db8c3d96c4b927d7d784486c6df772ae63084
Reviewed-on: https://chromium-review.googlesource.com/308130
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a9c52881
|
2015-09-29T15:09:59
|
|
Implement TransformFeedbackGL.
BUG=angleproject:889
Change-Id: I347ac21cfd0a56654a75fb41ac24c6c67ede3a05
Reviewed-on: https://chromium-review.googlesource.com/302351
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
464bfc86
|
2015-10-07T12:12:02
|
|
Use .def file to export functions using dllexport.
BUG=angleproject:1183
This is a reland of part of commit 566273222683314dfc8ac1cdb9bf6deb5d2b4c65.
The original commit caused warnings on 64-bit MSVC linker. This version
removes declspec(dllexport) from exported ANGLE APIs (for which we need
a new ANGLE_PLATFORM_EXPORT macro). It also makes those APIs stdcall on
Windows builds.
Change-Id: Iee2ab7e43ef0b98924f5759b5e1b333307052235
Reviewed-on: https://chromium-review.googlesource.com/304501
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d470f472
|
2015-10-20T13:34:25
|
|
Don't ASSERT shader compilation success in ShaderGL.
This assertion was useful for debugging the initial implementation but it
is becoming an issue in tryjobs where tests will hang instead of fail due
to driver bugs.
BUG=angleproject:882
Change-Id: Ib23a0d16dfe250ea175a166b5e277bf07d80a2fa
Reviewed-on: https://chromium-review.googlesource.com/307460
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
85769f0d
|
2015-10-20T17:08:44
|
|
Re-land "Only require that the stencil masks are same as many effective bits set"
It seems reasonable to validate the equality between stencilWriteMask
and stencilBackWriteMask only by comparing the effective bits.
An existing dEQP test[1] and a WebGL test[2] also use the max size of
stencil bits for checking the stencil mask values.
[1] StencilWriteMaskSeparateTestCase (gles3/functional/
es3fIntegerStateQueryTests.cpp)
[2] https://www.khronos.org/registry/webgl/sdk/tests/conformance/state/
gl-get-calls.html (Search for "minimumRequiredStencilMask ")
Re-land with fix for Clang warning.
Change-Id: I4cadaffced04ca55fa6daf7ac6a462368e0cfeec
Reviewed-on: https://chromium-review.googlesource.com/307530
Reviewed-by: Jinyoung Hur <hurims@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
1220bbbd
|
2015-10-20T21:04:11
|
|
Revert "Only require that the stencil masks are same as many effective bits set"
Reverting temporarily, causes a compile warning with Clang:
..\..\third_party\angle\src\libANGLE\renderer\d3d\d3d11\Renderer11.cpp(242,7) : error: field 'mDebug' will be initialized after field 'mCurStencilSize' [-Werror,-Wreorder]
mDebug(nullptr),
^
1 error generated.
ninja: build stopped: subcommand failed.
http://build.chromium.org/p/tryserver.chromium.win/builders/win_clang_dbg/builds/98
This reverts commit 685aa4b87d2c6a3f13134c77af8690e5f3d6aa6d.
Change-Id: I9dab08b26e2eddf508a7bcde7813c25be350bf31
Reviewed-on: https://chromium-review.googlesource.com/307520
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
de6144f1
|
2015-10-20T10:55:44
|
|
Add support for EAC and ETC2 texture formats with D3D11.
Passes:
* dEQP-GLES3.functional.implementation_limits.num_compressed_texture_formats
* dEQP-GLES3.functional.implementation_limits.compressed_texture_formats
* dEQP-GLES3.functional.texture.*eac*
* dEQP-GLES3.functional.texture.*etc2*
BUG=angleproject:598
Change-Id: Iaec1756b540f8f44c821fd8b9ba63f115ebe6de0
Reviewed-on: https://chromium-review.googlesource.com/305520
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
fe7e9ed4
|
2015-10-13T14:36:00
|
|
Make DebugAnnotator::getStatus work on Windows 10 (WinRT)
Change-Id: I860a814490ac643eb3d7d1b770c956f0dce3e39e
Reviewed-on: https://chromium-review.googlesource.com/305309
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
27460dfc
|
2015-10-15T23:48:34
|
|
Do not attempt to compile angle_end2end_tests or angle_perftests on Android
BUG=507294
Change-Id: Ied198a26f5eecab1dc608a06c2cc5e3be08cc28c
Reviewed-on: https://chromium-review.googlesource.com/306460
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peter Kotwicz <pkotwicz@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Peter Kotwicz <pkotwicz@chromium.org>
|
|
d2c52e3b
|
2015-10-14T17:07:05
|
|
Fix debug annotations and shaders.
The Program refactor inadvertantly broken Debug annotations. Fix this
by correctly passing the path to the temporary shader source in the
first "C" string argument to ShCompile, instead of as the first part
of the source string.
BUG=angleproject:1177
TEST=manual testing with MSVS
Change-Id: Ie77bb11b51645a474b542ddd2ae0f391e019e341
Reviewed-on: https://chromium-review.googlesource.com/306210
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
27746966
|
2015-10-14T18:53:35
|
|
Add missing include guard to FunctionsWGL.h
Change-Id: I603eb99219234bb0292432ec41ede011c9c7d3ca
Reviewed-on: https://chromium-review.googlesource.com/305830
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
685aa4b8
|
2015-09-29T00:58:02
|
|
Only require that the stencil masks are same as many effective bits set
It seems reasonable to validate the equality between stencilWriteMask
and stencilBackWriteMask only by comparing the effective bits.
An existing dEQP test[1] and a WebGL test[2] also use the max size of
stencil bits for checking the stencil mask values.
[1] StencilWriteMaskSeparateTestCase (gles3/functional/
es3fIntegerStateQueryTests.cpp)
[2] https://www.khronos.org/registry/webgl/sdk/tests/conformance/state/
gl-get-calls.html (Search for "minimumRequiredStencilMask ")
Change-Id: I68cefbe8a9f69c5a9ebcb30027a05581e3024add
Reviewed-on: https://chromium-review.googlesource.com/302703
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jinyoung Hur <hurims@gmail.com>
Commit-Queue: Jinyoung Hur <hurims@gmail.com>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
|
|
f3586994
|
2015-10-14T18:27:07
|
|
angle: move DeallocateCurrent into windows only code
DeallocateCurrent is only called from within DllMain, which means
it's only called on windows.
On the mac, the warning unused-function may be triggered.
Move DeallocateCurrent to windows only code.
Change-Id: I61ba602af78d546a91cf009ae7350cf03eaa84dd
Reviewed-on: https://chromium-review.googlesource.com/305880
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
e115c3be
|
2015-10-14T13:55:10
|
|
Fixed incorrect buffer count for emulated points rendering
Emulated points rendering for FL9_3 was getting lucky because the
value of maxDiff just happened to be large enuough to include the
additional pointsprite vertex buffer in the total buffer count used
in IASetVertexBuffers.
maxDiff is calculated while buffers and offsets are being configured.
The pointsprite buffer was not updating maxDiff resulting in an off-by
one calculation which causes TDRs on some Qualcomm chipsets.
This issue was discovered using Cocos2dx.
BUG=angleproject:1176
Change-Id: I3b3af1757e1cef48bbc62e68695a3e239fef77bf
Reviewed-on: https://chromium-review.googlesource.com/305752
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
7a3e8e24
|
2015-10-08T15:50:06
|
|
Don't include samplers in uniform vector count validation
Change-Id: Id2820643b70d3266c82eb10a5f05d3a5886e9323
Reviewed-on: https://chromium-review.googlesource.com/304871
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
6655878f
|
2015-10-07T15:47:43
|
|
UniformTest.SamplerUniformsAppearOnce should check for VTF support
Change-Id: If4b1602a5f706b5343fc1757962341602354b88e
Reviewed-on: https://chromium-review.googlesource.com/304389
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
d4d5084b
|
2015-10-07T15:57:42
|
|
Fix "blob content mismatch between level9 and d3d10 shader" errors on 9_3
Fixes these dEQP failures on 9_3:
+ dEQP-GLES2.functional.shaders.struct.local.loop_nested_struct_array_vertex
+ dEQP-GLES2.functional.shaders.struct.local.loop_nested_struct_array_fragment
Change-Id: I3e3b3552fe842c8a3c04363bf966c121e40dd9dc
Reviewed-on: https://chromium-review.googlesource.com/304489
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
adff67b5
|
2015-10-14T10:34:45
|
|
Re-land "Implements more pack/unpack states."
Pack: row length, skip rows, skip pixels.
Unpack: image height, skip images, skip rows, skip pixels.
Note that PBOs are not covered by this change.
Re-land with fix for test expectations.
BUG=angleproject:512
BUG=angleproject:1095
Change-Id: I71d8d3bd8fc1f2c75ca16ac2634d5eafcbd71f26
Reviewed-on: https://chromium-review.googlesource.com/305522
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c7473924
|
2015-10-14T14:33:19
|
|
Revert "Implements more pack/unpack states. Pack: row length, skip rows, skip pixels. Unpack: image height, skip images, skip rows, skip pixels. Note that PBOs are not covered by this change."
Expectations still not correct. This removes suppressions for two
failing tests:
functional.texture.specification.teximage3d_depth_pbo.depth_component32f_2d_array
dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth32f_stencil8_2d_array
BUG=angleproject:512
BUG=angleproject:1095
This reverts commit 72e7013e68a24107b9082629fc52d59a78998eb2.
Change-Id: Id81b6e616e61535b8504890ce57591813e22af69
Reviewed-on: https://chromium-review.googlesource.com/305521
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
a6996685
|
2015-10-12T14:32:30
|
|
Automatically enable highp in fragment shaders on ESSL3
Most code using the translator already enables highp with the resources
flag when a shader spec that accepts ESSL3 is used, but for example the
shader_translator utility doesn't. This fix makes sure that highp is
always enabled when a fragment shader written in ESSL3 or newer is being
compiled. This will make shader_translator easier to use for testing
ESSL3 shaders.
BUG=541550
TEST=angle_unittests
Change-Id: Ia1911677c55f3c5d921829a8cbb808847ac8b636
Reviewed-on: https://chromium-review.googlesource.com/305190
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
e73a1e84
|
2015-10-13T19:30:04
|
|
Revert "Fixed FL9_3 shaders that use glPointCoord without glPointSize."
Failing test in angle_end2end_tests:
GLSLTest.MaxMinusTwoVaryingVec4PlusTwoSpecialVariables:
program link failed: C:\fakepath(87,5-18): error X4000: variable 'output' used without having been completely initialized
This reverts commit 73e32ee161b7b613e9e25e3cc393851c430eeb98.
Change-Id: Ie47cb3a92ccfa1271a880a8b7e5a87b05963bab9
Reviewed-on: https://chromium-review.googlesource.com/305530
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
72e7013e
|
2015-10-01T17:19:45
|
|
Implements more pack/unpack states.
Pack: row length, skip rows, skip pixels.
Unpack: image height, skip images, skip rows, skip pixels.
Note that PBOs are not covered by this change.
BUG=angleproject:512
BUG=angleproject:1095
Change-Id: Ia2fd7e52615d4aa08011dd615fcc20b79672d355
Reviewed-on: https://chromium-review.googlesource.com/304908
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
73e32ee1
|
2015-09-21T14:30:14
|
|
Fixed FL9_3 shaders that use glPointCoord without glPointSize.
This change fixes a Shader error on FL9_3 that reports
Vertex/Pixel Shader linkage signatures between stages
being incompatible when glPointCoord is used without glPointSize.
Change-Id: I93ffb6c6dd38f26e2156a374b1b58ecc3a5f250b
Reviewed-on: https://chromium-review.googlesource.com/301450
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Cooper Partin <coopp@microsoft.com>
|
|
02f98029
|
2015-10-13T11:13:34
|
|
Use named value-parameterized tests for dEQP gtests
This replace the non-descriptive digit at the end of the test name by
the name of the dEQP test being run.
Reland, enabling the named tests only in standalone.
BUG=angleproject:1153
Change-Id: I1336d38425c19305fae8279a42d4931cc516215c
Reviewed-on: https://chromium-review.googlesource.com/304171
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
08528e17
|
2015-10-07T16:24:40
|
|
glTexSubImage2D should always allow non-power-of-two inputs
If GL_OES_texture_npot isn't active then ANGLE currently prevents
calls to glTexSubImage2D with:
- level > 0
- width/height NPOT
This isn't correct. It is legitimate to supply data to a NPOT subregion of a
POT texture via glTexSubImage2D.
Fixes these dEQP tests on 9_3:
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.a8_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.a8_cube
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.l8_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.l8_cube
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.la88_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.la88_cube
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb565_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb565_cube
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb888_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb888_cube
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba4444_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba4444_cube
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba5551_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba5551_cube
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba8888_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba8888_cube
Change-Id: I5889a27edbfa807995fa20b16f36456f676b80fc
Reviewed-on: https://chromium-review.googlesource.com/304612
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
2f6ddf31
|
2015-09-22T16:10:07
|
|
Allow double underscore in macro names
Double underscore is allowed according to GLSL ES 3.10, and based on
Khronos discussions the intent is that this should also apply to older
specs. The dEQP tests also check this, and WebGL tests that check the
opposite were recently removed. The error is changed into a warning.
BUG=angleproject:989
TEST=angle_unittests
dEQP-GLES3.functional.shaders.preprocessor.* (2 tests start passing)
dEQP-GLES2.functional.shaders.preprocessor.* (2 tests start passing)
Change-Id: I582c01b4adc8fc416354351e02b776f2cc602408
Reviewed-on: https://chromium-review.googlesource.com/300965
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
|
|
1048ea75
|
2015-10-06T15:34:52
|
|
Made program binaries cache information needed for getTransformFeedbackVarying
BUG=angleproject:1173
Change-Id: Ib8883b32f54f5d38fb94e85decae2dcee108facf
Reviewed-on: https://chromium-review.googlesource.com/304381
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
4a3c2341
|
2015-10-08T12:58:45
|
|
Program: Clean up UBO info gathering.
The data size & block member info was getting messy, so clean up
how we query this from the Impl layer.
Also remove the register information from gl::UniformBlock, moving
it into the D3D-only world.
BUG=angleproject:1172
Change-Id: I40af658ebbd6b7c1a4251906a387ebcbb621cf77
Reviewed-on: https://chromium-review.googlesource.com/304150
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
e826b9f7
|
2015-10-09T16:41:06
|
|
Revert "Fixed compilation on mingw."
This causes some linker warnings. I don't think we should
add linker warnings to Chrome, so reverting this temporarily until
we can land your CL with the correct using of export keywords.
Please re-submit the fixed CL.
This reverts commit 566273222683314dfc8ac1cdb9bf6deb5d2b4c65.
Change-Id: I21fa623af31fac06de6afbefa50c9ea1ec157c15
Reviewed-on: https://chromium-review.googlesource.com/305000
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
000b2f49
|
2015-10-09T15:33:14
|
|
Revert "Implements more pack/unpack states. Pack: row length, skip rows, skip pixels. Unpack: image height, skip images, skip rows, skip pixels."
This is causing failures in dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth_component24_2d_array
First failing build on the bot:
http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20dEQP%20%28NVIDIA%29/builds/3635
Please fix the failure and re-land your CL with the fix.
BUG=angleproject:512
BUG=angleproject:1095
This reverts commit f1bb3f0569d5ef41b17f8ad0add7308f9d0f0de1.
Change-Id: I30f61db888b0adf73a1d98bbeeb2428068119627
Reviewed-on: https://chromium-review.googlesource.com/304990
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f1bb3f05
|
2015-10-01T17:19:45
|
|
Implements more pack/unpack states.
Pack: row length, skip rows, skip pixels.
Unpack: image height, skip images, skip rows, skip pixels.
BUG=angleproject:512
BUG=angleproject:1095
Change-Id: I11e3bc05d23419b72c92b96aabd3f0bacd983626
Reviewed-on: https://chromium-review.googlesource.com/304370
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|