|
463cdeac
|
2015-04-28T13:22:31
|
|
Temporarily disable the ClearTest.ClearIssue test on Intel OpenGL.
Change-Id: Ia54b2258422c23fc53f2af5ebe7594375412452c
Reviewed-on: https://chromium-review.googlesource.com/267675
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ad0d0799
|
2015-04-08T14:25:06
|
|
Expand ShShaderOutput for different GLSL versions
BUG=angleproject:968
Change-Id: I2d4c0a8e9a91a940922da4501c22124da0c0399c
Reviewed-on: https://chromium-review.googlesource.com/264840
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
e3ef715d
|
2015-04-28T16:55:17
|
|
Revert "Revert "Remove non-const FBO attachment queries.""
Fixed build errors in prior patch.
This reverts commit 34771622d756adc52f02becd7c2b70c717dcc638.
Change-Id: I909b455f2c632a3df7d97149972e167c2adb058f
Reviewed-on: https://chromium-review.googlesource.com/267599
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3fe36ebd
|
2015-04-28T16:44:12
|
|
Revert "Create a child window in SurfaceD3D when needed."
Causing errors with D3D9, see build:
http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/15149
This reverts commit b7f1a8b0ab3489a7463749e7fc088187bfafbd35.
Change-Id: I6f1c3fd119f76a298e5b3fb676ddcb208cd1234b
Reviewed-on: https://chromium-review.googlesource.com/267673
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3a12f776
|
2015-04-28T16:44:59
|
|
Revert "Fix compile failure on build systems with UNICODE defined."
Earlier patch causing errors on D3D9:
http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/15149
This reverts commit acb0a1a6d74100833dbccd49d3eca317b56fd004.
Change-Id: I1956c57224ecf1c0caee2c3f624d1a871d171686
Reviewed-on: https://chromium-review.googlesource.com/267674
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
acb0a1a6
|
2015-04-28T10:39:10
|
|
Fix compile failure on build systems with UNICODE defined.
BUG=angleproject:961
Change-Id: I32053309a8384a27d1c2a991ddfaa195195f88c8
Reviewed-on: https://chromium-review.googlesource.com/267637
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d3b84ab5
|
2015-04-22T10:36:48
|
|
Don't subclass windows in SurfaceD3D.
The subclassing was not used by chromium and caused problems for users
that wanted to use a window owned by another thread as an EGL surface.
BUG=angleproject:961
Change-Id: I1d91323c758374de317179874320961385b10ae0
Reviewed-on: https://chromium-review.googlesource.com/266658
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: John Bauman <jbauman@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b7f1a8b0
|
2015-04-22T10:07:23
|
|
Create a child window in SurfaceD3D when needed.
BUG=angleproject:961
Change-Id: I61931961f8cb86b47012edd2bc08d0e1e7a5d0f7
Reviewed-on: https://chromium-review.googlesource.com/266515
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: John Bauman <jbauman@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5b028d18
|
2015-04-27T10:43:54
|
|
Add a special case for binding to GL_FRAMEBUFFER for state tracking.
Binding to GL_FRAMEBUFFER is supposed to set the read and draw framebuffer
bindings instead of being a separate binding point.
BUG=angleproject:885
Change-Id: Ic6d9056a2f8bfa472587c5ed030c15fcc93574c7
Reviewed-on: https://chromium-review.googlesource.com/267460
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0d31828f
|
2015-04-27T15:08:09
|
|
Fixed shadowed error variable.
BUG=angleproject:886
Change-Id: I4224ba26fef6783d61a56c294da2bdb6596da7bc
Reviewed-on: https://chromium-review.googlesource.com/267552
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2d06b738
|
2015-04-20T12:53:28
|
|
Store value types for FBO attachments.
*re-land with fix for Mac*
This prevents us from re-allocating FBO attachments every set.
This change requires quite a bit of refactoring.
BUG=angleproject:963
Change-Id: Ia1f83e3c427d446ddbe16c6703db136942149e91
Reviewed-on: https://chromium-review.googlesource.com/266691
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b36e9b89
|
2015-04-27T19:10:48
|
|
Revert "D3D11: Filter HRESULT error code properly."
Fix is incorrect: See http://crbug.com/477701
This reverts commit 02bce6e559988f2c4a6ec0c8905ed90254467baa.
Change-Id: I718d1a7e5d9fef662cee9ba90407a835466c74fc
Reviewed-on: https://chromium-review.googlesource.com/267560
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
fa60f690
|
2015-04-27T18:23:44
|
|
Fixed compilation with mingw.
Change-Id: Icc40c61b5c6df5a0aed4e175f1724ca55f981625
Reviewed-on: https://chromium-review.googlesource.com/267412
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d57e0db3
|
2015-04-24T15:05:08
|
|
Remove separate compilerdebug.h in favor of debug.h
This unifies the behavior across the compiler and rest of ANGLE - for
example, one can use #define ANGLE_TEST_CONFIG to disable UNIMPLEMENTED
asserts in both the compiler and the rest of ANGLE. Compiler traces from
asserts also go to the same TRACE_OUTPUT_FILE as other traces instead of
being directed through ParseContext.
The compiler build already includes the common sources, so no changes to
build config are needed.
The original version of this change was reverted due to release mode
build issues. This version adds UNUSED_ASSERTION_VARIABLE where needed.
TEST=angle_unittests, angle_end2end_tests,
dEQP-GLES3.functional.shaders.*
BUG=angleproject:983
Change-Id: I36929020a04251b8bc834fbb3c069e10128c3082
Reviewed-on: https://chromium-review.googlesource.com/267411
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
84115c92
|
2015-04-23T15:00:07
|
|
Keep default FBO attachments immutable.
In some cases we would let the user change the attachments of the
default FBO. This hole in our validation would confound the dEQP
negative API tests (negative_api.buffer.framebuffer_*) and muck
up the remainder of the test run.
BUG=angleproject:901
Change-Id: I2b3c04752d1df3289d41c013cc936eda30e98aad
Reviewed-on: https://chromium-review.googlesource.com/266927
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
0be9a8a0
|
2015-04-23T15:00:06
|
|
No-op BufferSubData after validation.
We were skipping some validation, which was confusing dEQP. We can
still no-op, but do this after all validation.
BUG=angleproject:901
Change-Id: I9888c1aca851519e9c7da210c983ba6012e95932
Reviewed-on: https://chromium-review.googlesource.com/266926
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
a7441353
|
2015-04-23T15:00:05
|
|
Fix missing texture target validations.
We were missing this in a few places, and this was giving runtime
errors in dEQP negative tests.
BUG=angleproject:901
Change-Id: I9de5b055dcfe4ad5c13c800a31b4a0b424863bee
Reviewed-on: https://chromium-review.googlesource.com/266888
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
48d33aef
|
2015-04-27T11:01:44
|
|
Fix warning about unexpected mock function call.
BUG=angleproject:985
Change-Id: If2138d8ec9a4f99adaf4ef1a4cbeeab6b0bf9f2c
Reviewed-on: https://chromium-review.googlesource.com/267349
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a656490d
|
2015-04-27T14:30:32
|
|
Revert "Remove separate compilerdebug.h in favor of debug.h"
Causing compile warnings in Release:
1>compiler\translator\CallDAG.cpp(238): error C2220: warning treated as error - no 'object' file generated
1>compiler\translator\CallDAG.cpp(238): warning C4189: 'op' : local variable is initialized but not referenced
1>compiler\translator\IntermNode.cpp(1495): error C2220: warning treated as error - no 'object' file generated
1>compiler\translator\IntermNode.cpp(1495): warning C4189: 'replaced' : local variable is initialized but not referenced
1>compiler\translator\IntermNode.cpp(1517): warning C4189: 'replaced' : local variable is initialized but not referenced
This reverts commit 5271025865b34685da71d0309131c5aff2e32f71.
Change-Id: Icdf1c37eef22a13d083767609ab0b0285d3dc517
Reviewed-on: https://chromium-review.googlesource.com/267359
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
681ad9d1
|
2015-04-23T12:27:56
|
|
Add a sample that uses multiple windows.
BUG=angleproject:521
Change-Id: I50858193518b4d07edcb2073caaa99ce37fcc4c3
Reviewed-on: https://chromium-review.googlesource.com/267000
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
52710258
|
2015-04-24T15:05:08
|
|
Remove separate compilerdebug.h in favor of debug.h
This unifies the behavior across the compiler and rest of ANGLE - for
example, one can use #define ANGLE_TEST_CONFIG to disable UNIMPLEMENTED
asserts in both the compiler and the rest of ANGLE. Compiler traces from
asserts also go to the same TRACE_OUTPUT_FILE as other traces instead of
being directed through ParseContext.
The compiler build already includes the common sources, so no changes to
build config are needed.
TEST=angle_unittests, angle_end2end_tests,
dEQP-GLES3.functional.shaders.*
BUG=angleproject:983
Change-Id: Ifca4d16f667b1e5cf9c2e7cc4139940091917a1c
Reviewed-on: https://chromium-review.googlesource.com/266993
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
2a7ffe16
|
2015-04-23T15:00:04
|
|
Add ANGLE platform selection for dEQP.
This gives us the choice between D3D9 and D3D11. We can add more
platforms easily using the same patterns.
BUG=angleproject:901
Change-Id: Ia8dc77466bd32f0b8b0d638ae839f41288bfe25b
Reviewed-on: https://chromium-review.googlesource.com/266889
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
2cb7b835
|
2015-04-23T20:27:44
|
|
Clean up binary operation constant folding code
Fix mixed up comments, remove unnecessary type conversions, clarify
variable names and improve formatting in a few places.
TEST=angle_unittests, WebGL conformance tests
BUG=angleproject:913
Change-Id: Ice8fe3682d8e97f42747752302a1fba116132df4
Reviewed-on: https://chromium-review.googlesource.com/266843
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
a8c414ba
|
2015-04-16T15:51:03
|
|
Add basic support for arrays as return values in HLSL output
In HLSL output, user-defined functions that have an array as their return value
get changed so that they have the array as an out parameter instead.
Still missing: support for calling a function that has array as a return value
without assigning the array. Also support for assignments inside complex
expressions.
TEST=dEQP-GLES3.functional.shaders.arrays.return.*
BUG=angleproject:941
Change-Id: I79f5170139116a3dcfb2be2df5f0f79a3d955ca8
Reviewed-on: https://chromium-review.googlesource.com/266003
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
c6833115
|
2015-04-22T15:15:54
|
|
Prune empty declarations from the AST
Empty declarations in ESSL shaders currently result in errors on several
platforms. Prune empty declarations that are not struct or interface block
declarations from the AST.
TEST=WebGL conformance tests, angle_unittests, angle_end2end_tests
BUG=angleproject:980
Change-Id: I9e3abf8134e6dfed0253cc83f69ce0ee92b0e0e7
Reviewed-on: https://chromium-review.googlesource.com/266841
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
39282e1f
|
2015-04-23T15:41:48
|
|
Disallow length being called on expressions with side effects
ESSL 3.00 definition of expressions does not include calling length on
anything other than array names, so enforce this restriction in the
parser.
TEST=WebGL 2 conformance tests
BUG=angleproject:972
Change-Id: I893d3c468ff21cb419b3239738f2a41834298cf2
Reviewed-on: https://chromium-review.googlesource.com/266992
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
96e67388
|
2015-04-23T14:27:02
|
|
Fix array.length() to return a signed integer
array.length() should return a signed integer as specified in ESSL 3.00
section 4.1.9, not unsigned. Fix this and add a simple unit test - the
dEQP tests included in WebGL conformance are built in a way that they
don't catch the issue.
TEST=angle_unittests
BUG=angleproject:972
Change-Id: I1389f51751a6a25c1681f57ac3d2d52f31ecc8fb
Reviewed-on: https://chromium-review.googlesource.com/266991
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
d42f5b8c
|
2015-04-16T14:03:29
|
|
Sync the remaining miscellaneous state before drawing in RendererGL.
BUG=angleproject:883
Change-Id: Id530f855ab14b6ec575101c9e74c02842c27d3d6
Reviewed-on: https://chromium-review.googlesource.com/266036
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4b3f4169
|
2015-04-16T13:22:05
|
|
Sync the entire rasterizer state before drawing in RendererGL.
BUG=angleproject:883
Change-Id: I721c198f33caa18ec04899d6323faa9dbd4aa100
Reviewed-on: https://chromium-review.googlesource.com/266035
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b8517346
|
2015-04-16T12:10:19
|
|
Sync the entire depth stencil state before drawing in RendererGL.
BUG=angleproject:883
Change-Id: I1d748281184ff8111f8ff1c63f56882650b6871b
Reviewed-on: https://chromium-review.googlesource.com/266034
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0fbb600f
|
2015-04-16T11:11:53
|
|
Sync the entire blend state before drawing in RendererGL.
BUG=angleproject:883
Change-Id: I903090c1a7ba90bd479ad8d24f943672eb51054e
Reviewed-on: https://chromium-review.googlesource.com/266033
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
08c9cd97
|
2015-04-22T11:39:20
|
|
Remove last uses of the enumerate_files script.
BUG=angleproject:981
Change-Id: Ib91d4b515e129241814706351b69a74e8295a250
Reviewed-on: https://chromium-review.googlesource.com/266874
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
704c716a
|
2015-04-22T11:23:55
|
|
Remove uses of enumerate_files in the sample projects.
Speeds up project generation a lot.
BUG=angleproject:981
Change-Id: I3cb340baa8da3a30a2c861b584ba0e7758da5b4d
Reviewed-on: https://chromium-review.googlesource.com/266873
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2f3ba210
|
2015-04-22T11:09:45
|
|
Rename translator to shader_translator and remove redundant projects.
The essl_to_hlsl and essl_to_glsl projects were exactly the same so it
doesn't make sense to keep both.
BUG=angleproject:981
Change-Id: Ibf034a71e94ba5002f9c40ac87720bf0de74ae18
Reviewed-on: https://chromium-review.googlesource.com/266872
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
413fd933
|
2015-04-22T11:00:41
|
|
Move all GLES samples into the samples directory.
There was no real reason to keep them in an angle directory and it makes
the generated projects nicer.
BUG=angleproject:981
Change-Id: I844e44dc5c2df51f5292cff4bdffe5e951745aae
Reviewed-on: https://chromium-review.googlesource.com/266871
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
53643854
|
2015-04-22T10:50:00
|
|
Remove the dds_to_header sample.
It has very little to do with ANGLE and should not be in the repository.
BUG=angleproject:981
Change-Id: I7aa97b8f56b49beda591e90afcffcb27619beaec
Reviewed-on: https://chromium-review.googlesource.com/266870
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8fee0ab8
|
2015-04-23T14:52:46
|
|
Fix build regression on Linux
Chromium's Linux toolchain doesn't implement the return value of
std::vector::insert correctly, causing a build failure. Remove an
unnecessary assignment of the return value to fix this build regression.
The regression was caused by the commit:
"Put each array declarator into a separate declaration in HLSL output"
TEST=angle_unittests
Change-Id: I2959122d28e4c7e6d6a4d842a97a8f1fd4f27ca1
Reviewed-on: https://chromium-review.googlesource.com/266990
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
78174db7
|
2015-04-21T16:14:00
|
|
Replace EvqInternal with a separate flag to make it more flexible
The internal flag disables decorating a given symbol in output, effectively
placing it to a different namespace than user-defined symbols. This enables the
compiler to insert symbols to the tree when transforming it to be suitable for
HLSL output without running into name conflicts. In this patch the flag is
separated from the qualifiers since sometimes different qualifiers need to be
used with these internal symbols.
TEST=angle_unittests, angle_end2end_tests, WebGL conformance tests
BUG=angleproject:941
Change-Id: I7036bed98fdb1478a383bb959ca03b42c3cb8100
Reviewed-on: https://chromium-review.googlesource.com/266690
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
822fa84e
|
2015-04-16T14:26:10
|
|
Support array initialization in HLSL output
Do this by separating each array initialization into a declaration and an
assignment. Array assignment is already supported in HLSL output by replacing
it with a function call.
The functionality is tested by the struct array constructor tests in dEQP.
BUG=angleproject:941
TEST=dEQP-GLES3.functional.shaders.arrays.constructor.*
Change-Id: Ida84fc343b767bea8b2d04e91c60cb8197d39039
Reviewed-on: https://chromium-review.googlesource.com/266002
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
fc0e2bc0
|
2015-04-16T13:39:56
|
|
Put each array declarator into a separate declaration in HLSL output
Since HLSL doesn't support arrays as l-values, HLSL output needs to split
declarators that initialize arrays to variable declaration and assignment
implemented via a function call. To prepare for this, it is necessary that each
declarator has its own declaration.
BUG=angleproject:941
TEST=angle_end2end_tests, WebGL conformance tests
Change-Id: I43dee487578561c01dbde90c2f55a93dda2f057a
Reviewed-on: https://chromium-review.googlesource.com/266001
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
752ce192
|
2015-04-14T11:11:12
|
|
D3D11: Use DX generateMips to generate mipmaps whenever possible.
BUG=angleproject:974
Change-Id: I95937fe7a0833de77c52f838ebb3ecba55dfbf8a
Reviewed-on: https://chromium-review.googlesource.com/265640
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
28eb65e3
|
2015-04-06T17:29:48
|
|
Support constant folding of exponential built-ins
This change adds constant folding support for unary exponential
built-ins - exp, log, exp2, log2, sqrt and inversesqrt.
BUG=angleproject:913
TEST= dEQP tests
dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential*
(48 out of 56 tests started passing with this change)
Change-Id: I4b98782c4c4b72dd7d60dfc4f18ba6961526ec41
Reviewed-on: https://chromium-review.googlesource.com/266797
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
fddc211a
|
2015-04-22T13:28:10
|
|
Revert "Revert "Use nullptr consistently in TIntermConstantUnion::fold""
Revert of revert as the new changes that use nullptr in fold function
are already in.
This reverts commit b775778a050739c4d802da8db7edb8c865602950.
Change-Id: Ifbdb35264132c66e5d1f2379932839b99291c54a
Reviewed-on: https://chromium-review.googlesource.com/266803
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
aed081ce
|
2015-04-21T13:55:21
|
|
Revert "Store value types for FBO attachments."
In file included from ../../third_party/angle/src/libANGLE/Framebuffer.cpp:10:
In file included from ../../third_party/angle/src/libANGLE/Framebuffer.h:13:
In file included from /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/vector:68:
/Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_construct.h:81:38: error: call to implicitly-deleted copy constructor of 'gl::FramebufferAttachment'
::new(static_cast<void*>(__p)) _T1(__value);
^ ~~~~~~~
This reverts commit 13773b26dfb29b963ea727e1ebf7bdabdc5892b1.
Change-Id: If79f2797fe46798cbe5b39d83c9bcb1a7e87026d
Reviewed-on: https://chromium-review.googlesource.com/266643
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
34771622
|
2015-04-21T13:54:34
|
|
Revert "Remove non-const FBO attachment queries."
Compile errors on Mac:
In file included from ../../third_party/angle/src/libANGLE/Framebuffer.cpp:10:
In file included from ../../third_party/angle/src/libANGLE/Framebuffer.h:13:
In file included from /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/vector:68:
/Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_construct.h:81:38: error: call to implicitly-deleted copy constructor of 'gl::FramebufferAttachment'
::new(static_cast<void*>(__p)) _T1(__value);
^ ~~~~~~~
This reverts commit ed61a5f673cefe1fac580e96adaa3da698d448e3.
Change-Id: I602bffc96f77cffa217cb63a5cc3caf334fd9879
Reviewed-on: https://chromium-review.googlesource.com/266652
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ed61a5f6
|
2015-04-20T12:53:29
|
|
Remove non-const FBO attachment queries.
Methods that need to mutate the Framebuffer should use
setAttachment, etc, instead of using mutable pointers.
BUG=angleproject:963
Change-Id: Ibe7b8f8245f762916e0224fdc78796b1c933195f
Reviewed-on: https://chromium-review.googlesource.com/263490
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
13773b26
|
2015-04-20T12:53:28
|
|
Store value types for FBO attachments.
This prevents us from re-allocating FBO attachments every set.
This change requires quite a bit of refactoring.
BUG=angleproject:963
Change-Id: Iafa4e4a0f3dd66c9e7452e0e96a0cbb9753487bb
Reviewed-on: https://chromium-review.googlesource.com/263489
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b6bda4af
|
2015-04-20T12:53:26
|
|
Make Framebuffer::Data members private.
This makes "Data" a proper class, and enforces access control when
used in FramebufferImpl. This gives a cleaner refactor when we
switch the internals of the class to use value types to store
attachments instead of pointer types.
BUG=angleproject:963
Change-Id: If825095458eaf9367f616f0bb54084025efb9882
Reviewed-on: https://chromium-review.googlesource.com/265937
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ad0a486b
|
2015-04-20T16:32:13
|
|
Add D3D11CreateDevice timing histogram.
This should give us a bound on how much we can improve startup
time in ANGLE on D3D11 across all users.
BUG=angleproject:944
BUG=436191
Change-Id: Ie9047c0424429aecec5f6d7be8e119ebcc53fbe3
Reviewed-on: https://chromium-review.googlesource.com/266524
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
d41c649a
|
2015-04-20T16:32:09
|
|
Add histograms helper macros.
These macros mimic Chromium's histogram_macros.h, so we can use
similar values for our histograms.
BUG=angleproject:944
BUG=436191
Change-Id: If77abaf71964d26a6269183e51b68b76bb562085
Reviewed-on: https://chromium-review.googlesource.com/266523
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
917a1a70
|
2015-04-20T16:55:38
|
|
Temporarily disable some FenceSync tests on Intel OpenGL.
BUG=angleproject:888
Change-Id: Ia64d2f313c5ddf2ebb6efb54e205a22801fce01b
Reviewed-on: https://chromium-review.googlesource.com/266503
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
3c8870a1
|
2015-04-20T16:00:15
|
|
perf_tests: Use 'score' units.
The dashboard automatically marks 'frames' as 'lower is better', while
'score' is automatically marked as 'higher is better'. Hence, use
score instead of frames.
BUG=468852
Change-Id: I02b3a9e4b74989793d4bfbf21a94e43670b3e028
Reviewed-on: https://chromium-review.googlesource.com/266522
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b11ad26b
|
2015-04-09T14:43:34
|
|
Implement FenceNVGL.
BUG=angleproject:888
Change-Id: Iea6993fe5459cf829f4bd23b0df5e223f22903f5
Reviewed-on: https://chromium-review.googlesource.com/264989
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
7d433ddc
|
2015-04-02T11:21:20
|
|
Implement FenceSyncGL.
BUG=angleproject:888
Change-Id: Ie811266ed1cb08d29344fb11cd9afe77f9587cd7
Reviewed-on: https://chromium-review.googlesource.com/263654
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a4903b70
|
2015-03-02T16:02:48
|
|
Support multisampled framebuffers with the GL backend.
Move validation of sample counts into the Renderbuffer implementations
because the exact supported sample counts are not always known.
BUG=angleoproject:886
Change-Id: I9c90d9d435e940b852343a29a6aa11d6cb1ad23b
Reviewed-on: https://chromium-review.googlesource.com/255513
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
02bce6e5
|
2015-04-20T12:53:25
|
|
D3D11: Filter HRESULT error code properly.
The Windows helper function HRESULT_CODE masks out some bits that
obscure the error code. This could be why we're seeing some
undetermined errors in our logs.
BUG=477701
Change-Id: I6eee442c149c2568e3823edc538d365b06ee20d8
Reviewed-on: https://chromium-review.googlesource.com/266375
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
da06fac2
|
2015-03-19T09:27:04
|
|
Add missing end-of-file newlines
Change-Id: I664e40f8d3f2276d5964b111d066861540010b43
Reviewed-on: https://chromium-review.googlesource.com/260791
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
cb3cc805
|
2015-04-01T11:28:54
|
|
Update The Qt Company in AUTHORS/CONTRIBUTORS
Change-Id: Iaa923e48d26eb1044d02ac097cc6caa1986309cf
Reviewed-on: https://chromium-review.googlesource.com/263400
Tested-by: Andrew Knight <andrew.knight@intopalo.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
97dc22e0
|
2015-04-06T17:35:38
|
|
Support constant folding of common built-ins
This change adds constant folding support for unary common built-ins:
abs, sign, floor, trunc, round, roundEven, ceil and fract.
BUG=angleproject:913
TEST= dEQP tests
dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common*
(80 out of 210 tests started passing with this change)
Change-Id: I46312fec43084601d4fca8195ddaaa5292f1c02a
Reviewed-on: https://chromium-review.googlesource.com/265967
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
be2adeac
|
2015-04-17T16:17:28
|
|
Temporarily disable UniformArrayLocations test on Intel OpenGL.
BUG=angleproject:882
Change-Id: Idd5cb8c794bbeec162f65255231fe2ae0180bdf8
Reviewed-on: https://chromium-review.googlesource.com/266180
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8d95b741
|
2015-04-17T18:44:13
|
|
Revert "Support constant folding of exponential built-ins"
Causing compile errors on Android:
../../third_party/angle/src/compiler/translator/IntermNode.cpp:1309:62: error: use of undeclared identifier 'log2f'
else if (!foldFloatTypeUnary(unionArray[i], &log2f, infoSink, &tempConstArray[i]))
This reverts commit 1623a1b90f24cd1afd8839c0726ad276a887fbda.
Change-Id: If9c45aea85801eb11e7d1513b4183ec11289d2f3
Reviewed-on: https://chromium-review.googlesource.com/266154
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f17959aa
|
2015-04-17T13:04:20
|
|
D3D11: Record more explicit error codes in Renderer init.
Our data shows the most common D3D11CreateDevice failure as being
'other error'. Explicitly enumerate more error codes so we can
figure out which value we're getting.
BUG=47701
Change-Id: Ibcda5e8ff1bb0368b1bfe3c8e7e3ffbb404771ce
Reviewed-on: https://chromium-review.googlesource.com/265939
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5ed74cfd
|
2015-04-14T13:57:07
|
|
Fix uniform locations in ProgramGL.
ProgramGL was unable to handle uniform arrays and improperly set uniform
locations. It now queries the driver for the location of each uniform and
iterates over all array elements.
BUG=angleproject:882
Change-Id: Iffe9d12944b2399f19f4a7823df2f535a430d6e3
Reviewed-on: https://chromium-review.googlesource.com/265724
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1623a1b9
|
2015-04-06T17:29:48
|
|
Support constant folding of exponential built-ins
This change adds constant folding support for unary exponential
built-ins - exp, log, exp2, log2, sqrt and inversesqrt.
BUG=angleproject:913
TEST= dEQP tests
dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential*
(48 out of 56 tests started passing with this change)
Change-Id: I63133ee8c04c4a8d6cb30da5788e9227c05d4cbe
Reviewed-on: https://chromium-review.googlesource.com/266071
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9dea48f3
|
2015-04-02T11:45:09
|
|
Support constant folding of trigonometry built-ins
This change adds constant folding support for trigonometry built-in
functions. Constant folding for these functions also fixes constant
expression issues where constant initializer is a built-in trignometry
function whose arguments are all constant expressions.
BUG=angleproject:913
TEST= dEQP tests
dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry*
(112 out of 120 tests pass with this change)
Change-Id: I2b7a61320819dcd095827faa1fd16e835f4688b4
Reviewed-on: https://chromium-review.googlesource.com/265819
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
56c6e3cb
|
2015-04-15T10:18:05
|
|
Micro-optimize ValidateDrawBase.
This speeds up our draw call benchmark.
BUG=angleproject:959
Change-Id: I9a916a6c344493cc96873ae5f4ec337c181dc487
Reviewed-on: https://chromium-review.googlesource.com/266026
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
eea3a6e0
|
2015-04-15T10:02:48
|
|
Micro-optimize State::hasMappedBuffer.
This speeds up draw call validation.
BUG=angleproject:959
Change-Id: I8272e36201521f158823739a6604444fb5e66b6e
Reviewed-on: https://chromium-review.googlesource.com/266025
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
cd94ef96
|
2015-04-16T19:18:10
|
|
Fix style issues in updateTree()
"entry" is an old C keyword, so it's better not to use it as a variable name.
Also fix a few other minor style issues in the code.
TEST=angle_unittests
BUG=angleproject:941
Change-Id: I59470555227985262b3e914ff6ca11e88d15fd8c
Reviewed-on: https://chromium-review.googlesource.com/265647
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
87717702
|
2015-04-13T13:50:24
|
|
Add an IndexDataManager perf test.
This microbenchmark tests the time at which we find index ranges
in the cache, and how long the call to prepareIndexData might take.
It also verifies we successfully store index ranges in the cache.
BUG=angleproject:956
Change-Id: I0f1b0c00daa73d8e1bcde197d9de80ca229078b7
Reviewed-on: https://chromium-review.googlesource.com/262779
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ffe6edfd
|
2015-04-13T17:32:03
|
|
Add basic support for the length() method of arrays
Support expressions where the expression that .length() is called on
does not have side effects.
Tested with WebGL 2 test sdk/tests/deqp/data/gles3/shaders/arrays.html
TEST=WebGL 2 conformance tests
BUG=angleproject:972
Change-Id: Ib4f8377a51da61179b6e47fbcf6b4d915e351fbd
Reviewed-on: https://chromium-review.googlesource.com/265654
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
a2d53039
|
2015-04-15T14:14:44
|
|
Disallow ternary operator on arrays and structs
ESSL specs only allow a limited number of operators on arrays and
structs. The spec section on the ternary operator contradicts this to an
extent, saying that the second and third operands can be "any type" or
"any type other than an array", but we interpret the spec so that the
operator restrictions on structures and arrays override this.
BUG=angleproject:976
TEST=angle_unittests
Change-Id: Icd90d5450dcb94bb23b1683d4cb9e579e82de4ad
Reviewed-on: https://chromium-review.googlesource.com/265644
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
5290174b
|
2015-04-15T13:42:45
|
|
Refactor ternary operator parsing
Refactor ternary operator parsing so that validation is done in
ParseContext and Intermediate's role is simply to create the node added
to the tree.
Remove partially bugged checks for null nodes as a part of this - in
error cases the parser doesn't typically add null nodes to the tree, but
rather always has a fallback to add a dummy node if parsing fails as a
method of recovery. When parsing ternary operators it should be
guaranteed that none of the parameter nodes is null.
Includes a better explanation of why ternary operators are not always
folded when only the condition is constant, and a test to make sure this
doesn't regress.
BUG=angleproject:952
TEST=WebGL conformance tests, angle_unittests
Change-Id: Icbcb721b5ab36cf314a16e79f9814aef1f355fa0
Reviewed-on: https://chromium-review.googlesource.com/265643
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
b48e8b07
|
2015-04-15T14:26:37
|
|
D3D11: Only rewrite for primitive restart when needed.
We would rewrite our index data every draw call. Change the index
check to see if we're writing to the same sized / typed static
buffer and only rewrite the data if the user re-uploaded.
Also add a performance test for the primitive restart workaround.
As a future improvement we could avoid creating new D3D objects
every time we reinitialize static data, since BufferSubData
calls don't change the size of the buffer if the index type
remains the same.
BUG=476658
Change-Id: I9d2540ad8b1b34fa0142ba0bf794cf572da8c61d
Reviewed-on: https://chromium-review.googlesource.com/265838
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
304dcde8
|
2015-04-15T14:26:36
|
|
perftests: Use gtest asserts macro helpers.
We still were using the old cassert code, with a boolean return
value on our initialization code. We can make use of the gtest
macros and helpers to check for a successful init or GL errors.
BUG=476658
Change-Id: I09cbb3d40748cbeaf530ae8f23fb8a1b07e7611f
Reviewed-on: https://chromium-review.googlesource.com/265837
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
55ae4142
|
2015-04-15T14:26:35
|
|
Update WebGL CTS expectations.
Change-Id: I4f51fdb1e23effa0069f1dd1e84b95b3a313f678
Reviewed-on: https://chromium-review.googlesource.com/265836
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
045536bf
|
2015-03-27T15:17:18
|
|
Store current transform feedback buffer bindings in the object itself.
BUG=angleproject:763
Change-Id: I76565f68fa8145da29713de2a517a39a8d50a24b
Reviewed-on: https://chromium-review.googlesource.com/263061
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
bb0a0bbd
|
2015-03-27T12:16:57
|
|
Rename TransformFeedback members to match the spec.
BUG=angleproject:763
Change-Id: I12fa57de9263eb0cb5ff1840cf44b0a8f2a40912
Reviewed-on: https://chromium-review.googlesource.com/263721
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
cfaeaa9f
|
2015-04-14T13:41:02
|
|
Refactor uniform array name parsing to a utility function.
BUG=angleproject:882
Change-Id: I00fd6d3cfaa107561cee5e4c82d3c60438052963
Reviewed-on: https://chromium-review.googlesource.com/265723
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5160ec11
|
2015-04-14T08:13:48
|
|
Squash the attachment types.
We can store all relevant information in the base class, which
lets us avoid using any virtual methods. This will finally let
us avoid using reallocations on FBO attachment sets.
BUG=angleproject:963
Change-Id: Ib4b61da14efaf843478b059499c01e34f9c65e4f
Reviewed-on: https://chromium-review.googlesource.com/263488
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
79481d65
|
2015-04-14T08:13:47
|
|
Add FramebufferAttachmentObject base class.
This lets us share objects (Textures/RBs/Surface) in the attachment
class. It will let us squash the attachment classes into one type,
which will in turn let us store them by-value, instead of by-pointer.
BUG=angleproject:963
Change-Id: Ia9a43dbc3b99475c00f6bc2ed5475deef55addc3
Reviewed-on: https://chromium-review.googlesource.com/263487
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
a825fdce
|
2015-04-14T16:05:47
|
|
Disable macro redefinition warning for vs2015
From flexint.h (because VS2015 has some of c99, but doesn't
define __STDC_VERSION__ yet.
Change-Id: Iff82f4c72dd816dcc1959abb218442a848ea592a
c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(48): error C2220: warning treated as error - no 'object' file generated
c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(48): warning C4005: 'INT8_MIN': macro redefinition
d:\src\cr3\src\out\debug\glslang_lex.cpp(83): note: see previous definition of 'INT8_MIN'
c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(49): warning C4005: 'INT16_MIN': macro redefinition
d:\src\cr3\src\out\debug\glslang_lex.cpp(86): note: see previous definition of 'INT16_MIN'
c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(50): warning C4005: 'INT32_MIN': macro redefinition
d:\src\cr3\src\out\debug\glslang_lex.cpp(89): note: see previous definition of 'INT32_MIN'
c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(52): warning C4005: 'INT8_MAX': macro redefinition
d:\src\cr3\src\out\debug\glslang_lex.cpp(92): note: see previous definition of 'INT8_MAX'
c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(53): warning C4005: 'INT16_MAX': macro redefinition
d:\src\cr3\src\out\debug\glslang_lex.cpp(95): note: see previous definition of 'INT16_MAX'
c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(54): warning C4005: 'INT32_MAX': macro redefinition
d:\src\cr3\src\out\debug\glslang_lex.cpp(98): note: see previous definition of 'INT32_MAX'
c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(56): warning C4005: 'UINT8_MAX': macro redefinition
d:\src\cr3\src\out\debug\glslang_lex.cpp(101): note: see previous definition of 'UINT8_MAX'
c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(57): warning C4005: 'UINT16_MAX': macro redefinition
d:\src\cr3\src\out\debug\glslang_lex.cpp(104): note: see previous definition of 'UINT16_MAX'
c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(58): warning C4005: 'UINT32_MAX': macro redefinition
d:\src\cr3\src\out\debug\glslang_lex.cpp(107): note: see previous definition of 'UINT32_MAX'
Reviewed-on: https://chromium-review.googlesource.com/265594
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
376f1b5d
|
2015-04-13T13:23:41
|
|
Add support for implicit array size
ESSL3 introduces implicit array size that is determined automatically
according to the initializer. Implicit sizes are resolved when parsing
constructors and when initializers are evaluated, so ANGLE's AST will not
contain implicit sizes.
Declarations where there are two differently sized arrays with the same
implicitly sized type, for example:
float[] a = float[](0.0), b = float[](0.0, 1.0);
will be transformed into declarations where the two arrays don't share
the array size like this:
float a[1] = float[1](0.0), float b[2] = float[2](0.0, 1.0);
so they are not a problem.
Unlike sized arrays, implicitly sized arrays don't have a size limit
enforced by the parser.
Include a test that verifies that non-initialization of an implicitly
sized array defined using ESSL3 type syntax is caught by the parser.
Additionally tested with WebGL 2 test
sdk/tests/deqp/data/gles3/shaders/arrays.html
TEST=WebGL 2 conformance tests, angle_unittests
BUG=angleproject:941
Change-Id: Ib55b7601848102a103af9db284a80f09abaeb021
Reviewed-on: https://chromium-review.googlesource.com/265653
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
3875ffd1
|
2015-04-10T16:45:14
|
|
Add parser support for initializing sized arrays
Still missing from this patch: HLSL output, implicitly sized arrays.
Tested with WebGL 2 test sdk/tests/deqp/data/gles3/shaders/arrays.html
TEST=WebGL 2 conformance tests
BUG=angleproject:941
Change-Id: I900f2af843fd8046f23dd4b77352e77026bbba84
Reviewed-on: https://chromium-review.googlesource.com/265652
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
e7847b08
|
2015-03-16T11:56:12
|
|
Unify declaration parsing code
Remove the unused identifierSymbol parameter from parseSingleDeclarator
and unify the ordering of parameters and the code style of different
declaration and declarator parsing functions. Some minor functional
changes to array size handling are done mainly to unify error message
generation. There's soon going to be more of these functions, so it's
good to be systematic.
TEST=angle_unittests, WebGL conformance tests
BUG=angleproject:941
Change-Id: I03b0220de93ca5719fdb7c1790a5999b8cb5b225
Reviewed-on: https://chromium-review.googlesource.com/265202
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
33e98913
|
2015-04-10T17:03:06
|
|
Add tests for disallowing arrays of arrays
TEST=angle_unittests
BUG=angleproject:941
Change-Id: Ie45a8a581bf2931ecccfc41b26db49a257fcaf1d
Reviewed-on: https://chromium-review.googlesource.com/265201
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fa33d580
|
2015-04-09T14:33:12
|
|
Improve handling of declarator lists with empty declarations
The code previously failed to check for correctness of layout qualifiers
in case a declarator followed an empty declaration, like so:
layout(packed) uniform float, a;
Fix this by running all necessary declaration checks also for declarators
which follow an empty declaration.
structQualifierErrorCheck is merged into singleDeclarationErrorCheck.
TEST=angle_unittests, WebGL conformance tests
BUG=angleproject:969
Change-Id: Idcb0673e3bcf64087744ff0d260f51a7546f024a
Reviewed-on: https://chromium-review.googlesource.com/264812
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e16eae36
|
2015-04-10T11:48:55
|
|
Fix structQualifierErrorCheck calls in glslang.y
structQualifierErrorCheck is called incorrectly in glslang.y. Remove one
unnecessary call entirely and change another call to samplerErrorCheck.
This will enable further changes to merge structQualifierErrorCheck into
singleDeclarationErrorCheck.
TEST=angle_unittests
BUG=angleproject:969
Change-Id: Ib43233e275fbf4db7e5fda6df6b45a655bdee8a2
Reviewed-on: https://chromium-review.googlesource.com/265200
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ab6fc6a2
|
2015-04-13T12:10:20
|
|
Add support for arrays as function return values in GLSL output
Output the array brackets and the array size correctly when a function's
return value type is array.
Tested with WebGL 2 test sdk/tests/deqp/data/gles3/shaders/arrays.html
BUG=angleproject:971
TEST=WebGL 2 conformance tests
Change-Id: I63aa8c54d2696f65351b23acb0749a487298ddfb
Reviewed-on: https://chromium-review.googlesource.com/265410
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4a1858b8
|
2015-04-14T16:16:30
|
|
perftests: Fix simple draw call benchmark.
Previously the code was only testing the validation logic. Fix this
by testing validation-only and a simple single quad draw benchmark.
BUG=468852
Change-Id: I510deea08fee5932f51ea39883ed91652be476df
Reviewed-on: https://chromium-review.googlesource.com/265751
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
77a72f6e
|
2015-04-14T11:18:32
|
|
Release Surface when calling makeCurrent with null.
Refactorings to egl::Surface to enable ref-counting were causing
a situation where we could have two Window surfaces alive at the
same time. This would confuse the window procedure logic in
SurfaceD3D. Releasing the surface fixes this issue and conforms
closely to the wording on the spec on when Surfaces should be
deleted. Also add a test for message loops and surfaces.
BUG=475085
BUG=angleproject:963
Change-Id: Icdee3a7db97c9b54d779dabf1e1f82a89fefc546
Reviewed-on: https://chromium-review.googlesource.com/265064
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
def624bc
|
2015-04-13T10:46:56
|
|
Move maxSamples from Extensions to Caps because it is an ES3 limit.
BUG=angleproject:886
Change-Id: Ibcfc2f06e8308e2e6eb1a6c38206b803f689d7af
Reviewed-on: https://chromium-review.googlesource.com/265470
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a836e883
|
2015-04-13T14:29:54
|
|
Don't set a null current WGL context in the Surface destructor.
By setting a null current context, there is a brief window where all GL
calls will fail. Since there is only one WGL context, just leave in on
the unreferenced window until a new window is made current.
BUG=angleproject:890
Change-Id: I51eadf23ca61e274f7d174ac5a9e0592bcdadebc
Reviewed-on: https://chromium-review.googlesource.com/265483
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b1eee7af
|
2015-04-14T13:57:07
|
|
D3D11: Only use share handles with HW driver.
WARP does not support surface sharing like native D3D11. This,
combined with a Chromium-side change, should fix WARP rendering
in Chrome.
BUG=angleproject:973
BUG=429792
Change-Id: I41e778625e8697e45657843f2f337bcffe7ddbe2
Reviewed-on: https://chromium-review.googlesource.com/265611
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
31906ecf
|
2015-04-14T14:53:07
|
|
Generate blit shaders on demand.
This saves a ms or two on D3D11 startup.
Change-Id: I156c25029a0b2aeb48e5b76b31737c155111e07f
Reviewed-on: https://chromium-review.googlesource.com/264936
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c9d13d2d
|
2015-04-14T14:53:06
|
|
Add trace events for D3D11 initialization.
This helps a local user profile their D3D11 startup time.
BUG=436191
BUG=angleproject:966
Change-Id: Ib1b3d62194233cd502980d87c316a95e9bd3a04c
Reviewed-on: https://chromium-review.googlesource.com/264935
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d8b36d45
|
2015-04-09T11:12:43
|
|
Remove SetTraceFunctionPointers and update APIs.
Now that Chromium is switched to ANGLE's new Platform tracing
methods, we can junk the old APIs.
BUG=angleproject:966
BUG=436191
Change-Id: Ie2564eed9e5ce4604e0dcd4582618e7467b2d590
Reviewed-on: https://chromium-review.googlesource.com/264934
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
97d61eb5
|
2015-04-14T09:08:16
|
|
Add extension EGL_ANGLE_device_d3d
Access to the D3D device is needed for some advanced scenarios.
New entry points eglQueryDisplayAttribANGLE and
eglQueryDeviceAttribANGLE have been added in this change
to implement this extension.
BUG=angleproject:935
Change-Id: Ie39e86a2b6c6d8d05a08964b2907fb9fba5dec13
Reviewed-on: https://chromium-review.googlesource.com/265591
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
bc709339
|
2015-04-14T15:32:19
|
|
Revert "Support constant folding of trigonometry built-ins"
Part of a chain causing compile errors on Mac. Example:
../../third_party/angle/src/compiler/translator/IntermNode.cpp:1216:89: error: no member named 'sin' in namespace 'std'; did you mean 'sinf'?
http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Linux%20Builder/builds/33747
This reverts commit 1767e6b4f9148a6aa462d23e3838810c0080ce78.
Change-Id: Ie39b1bf9a08da61aa0b16e219b34d1ba0b6f6c0f
Reviewed-on: https://chromium-review.googlesource.com/265587
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3c772f36
|
2015-04-14T15:30:45
|
|
Revert "Support constant folding of exponential built-ins"
Part of a chain causing compile errors on Mac. Example:
../../third_party/angle/src/compiler/translator/IntermNode.cpp:1216:89: error: no member named 'sin' in namespace 'std'; did you mean 'sinf'?
http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Linux%20Builder/builds/33747
This reverts commit 62e2c8d2bc55c41db4e6095eac012b8861131585.
Change-Id: Id20f7f4efbc3df7756161b192d4858caeeb0572f
Reviewed-on: https://chromium-review.googlesource.com/265627
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d1e9a0f4
|
2015-04-14T15:30:16
|
|
Revert "Support constant folding of common built-ins"
Part of a chain causing compile errors on Mac. Example:
../../third_party/angle/src/compiler/translator/IntermNode.cpp:1216:89: error: no member named 'sin' in namespace 'std'; did you mean 'sinf'?
http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Linux%20Builder/builds/33747
This reverts commit 2b1da6ed1dbe5960bed8c1b2fa3d33cb00c6c116.
Change-Id: I5d48932a6254d6d1e78966bb3891913d9450e08e
Reviewed-on: https://chromium-review.googlesource.com/265612
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|