Граф коммитов

4271 Коммитов

Автор SHA1 Сообщение Дата
Geoff Lang fa55bf1ed6 Track if a non-preprocessor token has been seen and validate #extension with it.
Fixes:
dEQP-GLES2.functional.shaders.preprocessor.extensions.after_non_preprocessing_tokens_vertex
dEQP-GLES2.functional.shaders.preprocessor.extensions.after_non_preprocessing_tokens_fragment

BUG=angleproject:989

Change-Id: Ie0aba80b2fde0160e83fc95f545b62954af2e5fc
Reviewed-on: https://chromium-review.googlesource.com/267398
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2015-04-29 20:00:28 +00:00
Jamie Madill c185cb8d70 Cache gl::Data in Context to speed up validation.
This avoids creating a new Data object and copying it around.
Gives a noticable performance increase in the benchmark which
tests validation-only draw calls. Gives about a 8% increase
in the benchmark.

BUG=angleproject:959

Change-Id: Id3a7459753b1b466a06da89f3f8b03b2c2c7a5c1
Reviewed-on: https://chromium-review.googlesource.com/267752
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
2015-04-29 19:59:59 +00:00
Jamie Madill aebf9dde6a Cache maximum enabled vertex attribute.
This can give us much faster draw call validation, by saving us from
checking buffer sizes for non-enabled attribs. Also for checking if
vertex buffers are mapped. Gives >100% increase in the benchmark.

BUG=angleproject:959

Change-Id: I211c310385bdee46ed06f68ecd9c98385e1f8db9
Reviewed-on: https://chromium-review.googlesource.com/267751
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
2015-04-29 19:59:40 +00:00
Jamie Madill 1377689c30 Cache validate samplers result.
This gives ~23% increase in the validation-only draw call perf test.

BUG=angleproject:959

Change-Id: I384a5c4fbb1c2cd47483bd7cf4bc1d39447a99bc
Reviewed-on: https://chromium-review.googlesource.com/267750
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
2015-04-29 19:59:31 +00:00
Geoff Lang 667ef09959 Update copyright dates in generated DLLs.
BUG=angleproject:546

Change-Id: If44d808e30e4c5b15971fe44e8c59a3c9f19095f
Reviewed-on: https://chromium-review.googlesource.com/267837
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2015-04-29 18:51:34 +00:00
Geoff Lang 26be18da8c Validate that all preprocessor function arguments are unique.
Fixes:
dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.unique_param_name_vertex
dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.unique_param_name_fragment

BUG=angleproject:989

Change-Id: I32198f1c9036c371b46e7ad2986a44e42fd38e20
Reviewed-on: https://chromium-review.googlesource.com/267396
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2015-04-29 17:06:31 +00:00
Geoff Lang f74fef50cf Disable some failing tests on Intel and AMD bots.
Change-Id: I745fab7c6c169c1ffc930f865b6b109c4c623e2b
Reviewed-on: https://chromium-review.googlesource.com/267835
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2015-04-29 16:59:17 +00:00
Geoff Lang a809165f94 Enable more tests for the OpenGL backend.
Change-Id: I3fc9948498bd7c2b7c8e75f010196982de240c1b
Reviewed-on: https://chromium-review.googlesource.com/267461
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2015-04-29 14:11:49 +00:00
Geoff Lang 95a423d06a Unexpected tokens after conditionals should be an error instead of a warning.
Fixes:
dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_if_vertex
dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_if_fragment
dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_else_vertex
dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_else_fragment
dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_endif_vertex
dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_endif_fragment
dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_ifdef_vertex
dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_ifdef_fragment
dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_ifndef_vertex
dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_ifndef_fragment

BUG=angleproject:989

Change-Id: I6511f7082c98206fb623775d81329b6bc7673c1a
Reviewed-on: https://chromium-review.googlesource.com/267638
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2015-04-29 13:59:29 +00:00
Geoff Lang d3c29f57aa Add pragma errors for malformed pragmas.
Instead of always warning on invalid pragmas, only warn when the pragma
type is not recognized and error when the syntax is invalid.

Fixes:
dEQP-GLES2.functional.shaders.preprocessor.pragmas.invalid_pragma_invalid_debug_vertex
dEQP-GLES2.functional.shaders.preprocessor.pragmas.invalid_pragma_invalid_debug_fragment
dEQP-GLES2.functional.shaders.preprocessor.pragmas.invalid_pragma_invalid_token_vertex
dEQP-GLES2.functional.shaders.preprocessor.pragmas.invalid_pragma_invalid_token_fragment

BUG=angleproject:989

Change-Id: Ibd584dc08a2436e163dfc52eeffdf2dac8a22cb8
Reviewed-on: https://chromium-review.googlesource.com/267639
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2015-04-29 13:57:45 +00:00
Geoff Lang b819d25dc6 Validate that there are no tokens following #undef on the same line.
Fixes:
dEQP-GLES2.functional.shaders.preprocessor.definitions.undefine_object_invalid_syntax_vertex
dEQP-GLES2.functional.shaders.preprocessor.definitions.undefine_object_invalid_syntax_fragment
dEQP-GLES2.functional.shaders.preprocessor.invalid_definitions.undef_non_identifier_2_vertex
dEQP-GLES2.functional.shaders.preprocessor.invalid_definitions.undef_non_identifier_2_fragment

BUG=angleproject:989

Change-Id: I279a38aaae8010017ef6e3f1aa139ae03f374680
Reviewed-on: https://chromium-review.googlesource.com/267397
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2015-04-28 20:47:19 +00:00
Jamie Madill 3da79b7bca Reject shaders using attribute aliasing.
The current code rejects any shaders that use more than the caps
allow, but a bug would crash us before the check. We don't support
aliasing in shaders that use a lot of uniforms because this
causes problems with the D3D back-end, currently. This changes the
crash in the dEQP aliasing tests to a link error.

See dEQP-GLES2.functional.attribute_location.bind_aliasing.*

BUG=angleproject:901

Change-Id: I6906d3345abe9f89cfa0aa6cec4be26b5b2851d0
Reviewed-on: https://chromium-review.googlesource.com/266928
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
2015-04-28 19:23:36 +00:00
Geoff Lang 30cb86d87c Create a child window in SurfaceD3D when needed.
BUG=angleproject:961
BUG=angleproject:860

Change-Id: I137d27bafc4d690b159ffef8cc69d6f1c5a05131
Reviewed-on: https://chromium-review.googlesource.com/267681
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2015-04-28 19:03:10 +00:00
Geoff Lang 463cdeac4f 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>
2015-04-28 17:51:02 +00:00
Qingqing Deng ad0d0799db 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>
2015-04-28 17:31:45 +00:00
Jamie Madill e3ef715d01 Revert "Revert "Remove non-const FBO attachment queries.""
Fixed build errors in prior patch.

This reverts commit 34771622d7.

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>
2015-04-28 16:55:40 +00:00
Jamie Madill 3fe36ebd28 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 b7f1a8b0ab.

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>
2015-04-28 16:45:55 +00:00
Jamie Madill 3a12f776e4 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 acb0a1a6d7.

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>
2015-04-28 16:45:17 +00:00
Geoff Lang acb0a1a6d7 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>
2015-04-28 14:40:15 +00:00
Geoff Lang d3b84ab51d 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>
2015-04-28 14:28:15 +00:00
Geoff Lang b7f1a8b0ab 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>
2015-04-28 14:27:45 +00:00
Geoff Lang 5b028d180a 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>
2015-04-28 14:22:23 +00:00
Geoff Lang 0d31828f17 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>
2015-04-27 19:42:17 +00:00
Jamie Madill 2d06b738a1 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>
2015-04-27 19:38:06 +00:00
Jamie Madill b36e9b8979 Revert "D3D11: Filter HRESULT error code properly."
Fix is incorrect: See http://crbug.com/477701

This reverts commit 02bce6e559.

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>
2015-04-27 19:11:15 +00:00
Jacek Caban fa60f69070 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>
2015-04-27 17:24:57 +00:00
Olli Etuaho d57e0db35e 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>
2015-04-27 15:11:42 +00:00
Jamie Madill 84115c9294 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>
2015-04-27 15:08:24 +00:00
Jamie Madill 0be9a8a03a 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>
2015-04-27 15:08:09 +00:00
Jamie Madill a7441353d1 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>
2015-04-27 15:07:37 +00:00
Geoff Lang 48d33aef01 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>
2015-04-27 15:06:15 +00:00
Jamie Madill a656490d4e 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 5271025865.

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>
2015-04-27 14:30:47 +00:00
Geoff Lang 681ad9d1bb 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>
2015-04-27 14:00:48 +00:00
Olli Etuaho 5271025865 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>
2015-04-27 09:28:33 +00:00
Jamie Madill 2a7ffe163c 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>
2015-04-24 21:01:49 +00:00
Olli Etuaho 2cb7b83595 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>
2015-04-24 17:35:39 +00:00
Olli Etuaho a8c414ba24 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>
2015-04-24 10:54:40 +00:00
Olli Etuaho c683311513 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>
2015-04-24 10:25:48 +00:00
Olli Etuaho 39282e1f31 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>
2015-04-24 08:45:35 +00:00
Olli Etuaho 96e6738830 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>
2015-04-24 08:44:57 +00:00
Geoff Lang d42f5b8c16 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>
2015-04-23 19:24:02 +00:00
Geoff Lang 4b3f4169d6 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>
2015-04-23 19:23:51 +00:00
Geoff Lang b851734650 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>
2015-04-23 19:23:38 +00:00
Geoff Lang 0fbb600f9f 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>
2015-04-23 19:23:23 +00:00
Geoff Lang 08c9cd97c0 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>
2015-04-23 14:59:47 +00:00
Geoff Lang 704c716a47 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>
2015-04-23 13:59:58 +00:00
Geoff Lang 2f3ba21015 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>
2015-04-23 13:59:44 +00:00
Geoff Lang 413fd933a3 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>
2015-04-23 13:59:32 +00:00
Geoff Lang 53643854d9 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>
2015-04-23 13:59:19 +00:00
Olli Etuaho 8fee0ab89f 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>
2015-04-23 12:05:31 +00:00