gxquickly / angleproject

Automatically exported from code.google.com/p/angleproject
Other
0 stars 0 forks source link

Built-in function call whose arguments are all constant expressions is not treated as constant expression #913

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Built-in function call whose arguments are all constant expressions is not 
treated as constant expression.

What steps will reproduce the problem?

Following shader statements fails to compile in ANGLE:
const float val = abs(float (-42.0));
or
const float val2 = max(float(42.0), float(13.0));

with error:
ERROR: 0:3: '=' :  assigning non-constant to 'const highp float'
What is the expected output? What do you see instead?
Shader should compile successfully.

What version of the product are you using? On what operating system?
Tested it with ANGLE sample application on latest ANGLE code, using dEQP tests 
and also using chrome as mentioned below

As per spec:
"Initializers for const declarations must be constant expressions" and
"a built-in function call whose arguments are all constant expressions is a 
constant expression(with the exception of the texture lookup functions)".

It is also one of the reasons why below mentioned dEQP tests are failing:
- Tests in : 
dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common.*
- Some tests in : dEQP-GLES3.functional.shaders.operator.common_functions.*

Other simple way to reproduce the issue:
Open WebGL Shader 
Translator(https://www.khronos.org/registry/webgl/conformance-suites/1.0.3/extra
/webgl-translate-shader.html) in chrome and try to compile below shader:
void main()
{
const float val = abs(float (-42.0));
const float val2 = max(float(42.0), float(13.0));
const float val3 = min(float(42.0), float(13.0));
}

Original issue reported on code.google.com by apat...@nvidia.com on 12 Feb 2015 at 11:30

GoogleCodeExporter commented 9 years ago
I am trying to debug this and looks like TParseContext::executeInitializer and 
grammar will need some modifications to fix it.

Original comment by apat...@nvidia.com on 12 Feb 2015 at 11:34

GoogleCodeExporter commented 9 years ago
Project  : angle/angle
Branch   : master
Author   : Arun Patole <apatole@nvidia.com>
Committer: Olli Etuaho <oetuaho@nvidia.com>
Commit   : af930db15010cacfcdc74bee630372b8f6eb3eeb

Code-Review  0 : Arun Patole, Jamie Madill, Nicolas Capens
Code-Review  +2: Olli Etuaho
Verified     0 : Arun Patole, Jamie Madill, Nicolas Capens
Verified     +1: Olli Etuaho
Commit Queue   : Chumped
Change-Id      : I2ed4360532469fe0d70048d5f2300a8db6f9fcda
Reviewed-at    : https://chromium-review.googlesource.com/263679

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_t
rigonometry*
(112 out of 120 tests pass with this change)

src/compiler/translator/IntermNode.cpp
src/compiler/translator/IntermNode.h

Original comment by bugdroid1@chromium.org on 10 Apr 2015 at 10:56

GoogleCodeExporter commented 9 years ago
Project  : angle/angle
Branch   : master
Author   : Arun Patole <apatole@nvidia.com>
Committer: Olli Etuaho <oetuaho@nvidia.com>
Commit   : 1c89caef47a27c63a7d0f988e74816692a9b9b39

Code-Review  0 : Arun Patole, Jamie Madill
Code-Review  +2: Olli Etuaho
Verified     0 : Arun Patole, Jamie Madill
Verified     +1: Olli Etuaho
Commit Queue   : Chumped
Change-Id      : I22af56876d1b7ce305697bf9bf43ad9ec5d8a3a5
Reviewed-at    : https://chromium-review.googlesource.com/263708

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)

src/compiler/translator/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 10 Apr 2015 at 11:05

GoogleCodeExporter commented 9 years ago
Project  : angle/angle
Branch   : master
Author   : Arun Patole <apatole@nvidia.com>
Committer: Olli Etuaho <oetuaho@nvidia.com>
Commit   : 0273c68c507a10af3e45c6e4a52a44adcd0cf742

Code-Review  0 : Arun Patole, Jamie Madill
Code-Review  +2: Olli Etuaho
Verified     0 : Arun Patole, Jamie Madill
Verified     +1: Olli Etuaho
Commit Queue   : Chumped
Change-Id      : I09f2f99b3108e0d2fb1919a0631e4317b6a28be3
Reviewed-at    : https://chromium-review.googlesource.com/263709

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)

src/compiler/translator/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 10 Apr 2015 at 11:17

GoogleCodeExporter commented 9 years ago
Project  : angle/angle
Branch   : master
Author   : Arun Patole <apatole@nvidia.com>
Committer: Olli Etuaho <oetuaho@nvidia.com>
Commit   : 1767e6b4f9148a6aa462d23e3838810c0080ce78

Code-Review  0 : Arun Patole
Code-Review  +1: Olli Etuaho
Code-Review  +2: Jamie Madill
Verified     0 : Arun Patole, Jamie Madill
Verified     +1: Olli Etuaho
Commit Queue   : Chumped
Change-Id      : I66275b2ae9faecef63d76763d21a9b67d9bb68fa
Reviewed-at    : https://chromium-review.googlesource.com/265392

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_t
rigonometry*
(112 out of 120 tests pass with this change)

src/compiler/translator/IntermNode.cpp
src/compiler/translator/IntermNode.h

Original comment by bugdroid1@chromium.org on 14 Apr 2015 at 9:10

GoogleCodeExporter commented 9 years ago
Project  : angle/angle
Branch   : master
Author   : Arun Patole <apatole@nvidia.com>
Committer: Olli Etuaho <oetuaho@nvidia.com>
Commit   : 2b1da6ed1dbe5960bed8c1b2fa3d33cb00c6c116

Code-Review  0 : Arun Patole
Code-Review  +1: Olli Etuaho
Code-Review  +2: Jamie Madill
Verified     0 : Arun Patole, Jamie Madill
Verified     +1: Olli Etuaho
Commit Queue   : Chumped
Change-Id      : I06800ed0e03764c0f7aab6bcd45c4f122de5a3c1
Reviewed-at    : https://chromium-review.googlesource.com/265394

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)

src/compiler/translator/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 14 Apr 2015 at 9:11

GoogleCodeExporter commented 9 years ago
Project  : angle/angle
Branch   : master
Author   : Arun Patole <apatole@nvidia.com>
Committer: Olli Etuaho <oetuaho@nvidia.com>
Commit   : 62e2c8d2bc55c41db4e6095eac012b8861131585

Code-Review  0 : Arun Patole
Code-Review  +1: Olli Etuaho
Code-Review  +2: Jamie Madill
Verified     0 : Arun Patole, Jamie Madill
Verified     +1: Olli Etuaho
Commit Queue   : Chumped
Change-Id      : Ie7808cd57d6ed7598c642a9a0940b8f5bd293741
Reviewed-at    : https://chromium-review.googlesource.com/265393

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)

src/compiler/translator/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 14 Apr 2015 at 9:11

GoogleCodeExporter commented 9 years ago
Project  : angle/angle
Branch   : master
Author   : Arun Patole <apatole@nvidia.com>
Committer: Jamie Madill <jmadill@chromium.org>
Commit   : 9dea48f3e668b0e97e1ff30258c4cd55ae7ea606

Code-Review  0 : Arun Patole, Olli Etuaho
Code-Review  +2: Jamie Madill
Verified     0 : Arun Patole, Olli Etuaho
Verified     +1: Jamie Madill
Commit Queue   : Chumped
Change-Id      : I2b7a61320819dcd095827faa1fd16e835f4688b4
Reviewed-at    : https://chromium-review.googlesource.com/265819

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_t
rigonometry*
(112 out of 120 tests pass with this change)

src/compiler/translator/IntermNode.cpp
src/compiler/translator/IntermNode.h

Original comment by bugdroid1@chromium.org on 17 Apr 2015 at 3:13

GoogleCodeExporter commented 9 years ago
Project  : angle/angle
Branch   : master
Author   : Arun Patole <apatole@nvidia.com>
Committer: Jamie Madill <jmadill@chromium.org>
Commit   : 1623a1b90f24cd1afd8839c0726ad276a887fbda

Code-Review  0 : Olli Etuaho
Code-Review  +2: Jamie Madill
Verified     0 : Olli Etuaho
Verified     +1: Jamie Madill
Commit Queue   : Chumped
Change-Id      : I63133ee8c04c4a8d6cb30da5788e9227c05d4cbe
Reviewed-at    : https://chromium-review.googlesource.com/266071

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)

src/compiler/translator/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 17 Apr 2015 at 4:40

GoogleCodeExporter commented 9 years ago
Project  : angle/angle
Branch   : master
Author   : Arun Patole <apatole@nvidia.com>
Committer: Jamie Madill <jmadill@chromium.org>
Commit   : 97dc22e03ce006fb9e51dc958f473c143a9d5e80

Code-Review  0 : Arun Patole, Olli Etuaho
Code-Review  +2: Jamie Madill
Verified     0 : Arun Patole, Olli Etuaho
Verified     +1: Jamie Madill
Commit Queue   : Chumped
Change-Id      : I46312fec43084601d4fca8195ddaaa5292f1c02a
Reviewed-at    : https://chromium-review.googlesource.com/265967

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)

src/compiler/translator/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 20 Apr 2015 at 1:59

GoogleCodeExporter commented 9 years ago
Project  : angle/angle
Branch   : master
Author   : Arun Patole <apatole@nvidia.com>
Committer: Olli Etuaho <oetuaho@nvidia.com>
Commit   : 28eb65e3d9fa4f4d6dd618cee0283c646bcd083c

Code-Review  0 : Arun Patole
Code-Review  +1: Olli Etuaho
Code-Review  +2: Jamie Madill
Verified     0 : Arun Patole, Jamie Madill
Verified     +1: Olli Etuaho
Commit Queue   : Chumped
Change-Id      : I4b98782c4c4b72dd7d60dfc4f18ba6961526ec41
Reviewed-at    : https://chromium-review.googlesource.com/266797

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)

src/compiler/translator/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 22 Apr 2015 at 2:08

GoogleCodeExporter commented 9 years ago
Project  : angle/angle
Branch   : master
Author   : Olli Etuaho <oetuaho@nvidia.com>
Committer: Zhenyao Mo <zmo@chromium.org>
Commit   : 2cb7b83595c2a88462b7f9481f920e2960556492

Code-Review  0 : Olli Etuaho
Code-Review  +1: Jamie Madill
Code-Review  +2: Zhenyao Mo
Verified     0 : Jamie Madill, Zhenyao Mo
Verified     +1: Olli Etuaho
Commit Queue   : Chumped
Change-Id      : Ice8fe3682d8e97f42747752302a1fba116132df4
Reviewed-at    : https://chromium-review.googlesource.com/266843

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

src/compiler/translator/IntermNode.cpp
src/compiler/translator/IntermNode.h
src/compiler/translator/Intermediate.cpp

Original comment by bugdroid1@chromium.org on 24 Apr 2015 at 5:36

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/081c3f2e8e64991126620072d7c1a2afa8ad034b

commit 081c3f2e8e64991126620072d7c1a2afa8ad034b
Author: Arun Patole <apatole@nvidia.com>
Date: Mon May 25 10:13:35 2015

Report warning whenever constant folding results are undefined

With recent constant folding changes, we are reporting warnings
whenever constant folding results are undefined for values passed in,
this change adds that warning at all the places where it was missing.

BUG=angleproject:913
TEST=dEQP Tests, angle_unittests

Change-Id: Ief8380488e2a4807c91ddac06d342cb172433b9d
Reviewed-on: https://chromium-review.googlesource.com/272879
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>

[modify] 
http://crrev.com/081c3f2e8e64991126620072d7c1a2afa8ad034b/src/compiler/translato
r/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 26 May 2015 at 8:27

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/9d0b1f9b58390dfc9f84955e15ac6f809f4536bd

commit 9d0b1f9b58390dfc9f84955e15ac6f809f4536bd
Author: Arun Patole <apatole@nvidia.com>
Date: Wed May 20 08:57:17 2015

Constant fold vector relational built-ins

This change adds constant folding support for vector relational
built-ins.

BUG=angleproject:913
TEST=dEQP Tests
dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_rela
tional*
(Fixes all 138 tests)

Change-Id: I291e332f2afb3ce3d6596e634f509995dbf35164
Reviewed-on: https://chromium-review.googlesource.com/272344
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>

[modify] 
http://crrev.com/9d0b1f9b58390dfc9f84955e15ac6f809f4536bd/src/compiler/translato
r/Intermediate.cpp
[modify] 
http://crrev.com/9d0b1f9b58390dfc9f84955e15ac6f809f4536bd/src/compiler/translato
r/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 27 May 2015 at 2:23

GoogleCodeExporter commented 9 years ago

Original comment by jmad...@chromium.org on 1 Jun 2015 at 5:16

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557

commit 2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557
Author: Arun Patole <apatole@nvidia.com>
Date: Mon May 25 13:50:26 2015

Add constant folding support for geometric built-ins

This change adds constant folding support for following geometric
built-ins:
    - length, distance, dot, cross, normalize, faceforward,
      reflect and refract.

BUG=angleproject:913
TEST=angle_unittests, dEQP Tests
dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric.*
(56 tests started passing with this change)

Change-Id: I973689554bb8c30ee3ebdf71f1b8a051ceb5e0cf
Reviewed-on: https://chromium-review.googlesource.com/273097
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>

[modify] 
http://crrev.com/2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557/src/compiler/translato
r/Intermediate.cpp
[modify] 
http://crrev.com/2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557/src/tests/compiler_tes
ts/ConstantFolding_test.cpp
[modify] 
http://crrev.com/2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557/src/compiler/translato
r/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 3 Jun 2015 at 11:31

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557

commit 2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557
Author: Arun Patole <apatole@nvidia.com>
Date: Mon May 25 13:50:26 2015

Add constant folding support for geometric built-ins

This change adds constant folding support for following geometric
built-ins:
    - length, distance, dot, cross, normalize, faceforward,
      reflect and refract.

BUG=angleproject:913
TEST=angle_unittests, dEQP Tests
dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric.*
(56 tests started passing with this change)

Change-Id: I973689554bb8c30ee3ebdf71f1b8a051ceb5e0cf
Reviewed-on: https://chromium-review.googlesource.com/273097
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>

[modify] 
http://crrev.com/2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557/src/compiler/translato
r/Intermediate.cpp
[modify] 
http://crrev.com/2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557/src/tests/compiler_tes
ts/ConstantFolding_test.cpp
[modify] 
http://crrev.com/2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557/src/compiler/translato
r/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 3 Jun 2015 at 12:39

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/2f4823bf44f4738b248de1950a8c476c0fa68630

commit 2f4823bf44f4738b248de1950a8c476c0fa68630
Author: Jamie Madill <jmadill@chromium.org>
Date: Wed Jun 03 12:39:22 2015

Revert "Add constant folding support for geometric built-ins"

Breaks Mac build because of C++11 init syntax:

FAILED: /b/build/goma/gomacc 
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF 
obj/third_party/angle/src/tests/compiler_tests/angle_unittests.ConstantFolding_t
est.o.d -DV8_DEPRECATION_WARNINGS 
-D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DCHROMIUM_BUILD 
-DCR_CLANG_REVISION=238013-3 -DCOMPONENT_BUILD -DTOOLKIT_VIEWS=1 
-DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP 
-DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 
-DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY 
-DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 
-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE -DDONT_EMBED_BUILD_METADATA 
-DDCHECK_ALWAYS_ON=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 
-DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 
-DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 
-DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 
-DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 
-DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 
-DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 
-DENABLE_WIFI_BOOTSTRAPPING=1 -DV8_USE_EXTERNAL_STARTUP_DATA 
-DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL 
-DSAFE_BROWSING_SERVICE -DGTEST_HAS_POSIX_RE=0 -DGTEST_LANG_CXX11=0 
-DGL_APICALL= -DGL_GLEXT_PROTOTYPES= -DEGLAPI= 
'-DANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_47.dll", 
"d3dcompiler_46.dll", "d3dcompiler_43.dll" }' -DANGLE_TRANSLATOR_STATIC 
-DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS 
-DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen -I../.. 
-I../../third_party/angle/include -I../../third_party/angle/src 
-I../../third_party/angle/src/compiler/preprocessor 
-I../../third_party/angle/src/tests -Igen/angle -I../../testing/gmock/include 
-I../../testing/gtest/include -isysroot 
/Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Develo
per/SDKs/MacOSX10.10.sdk -O0 -gdwarf-2 -fvisibility=hidden -Werror 
-Wnewline-eof -mmacosx-version-min=10.6 -arch x86_64 -Wall -Wendif-labels 
-Wextra -Wno-unused-parameter -Wno-missing-field-initializers 
-Wno-selector-type-mismatch -Wpartial-availability -Wheader-hygiene 
-Wno-char-subscripts -Wno-unneeded-internal-declaration 
-Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing 
-Wno-deprecated-register -Wno-inconsistent-missing-override -std=c++11 
-fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics 
-Xclang -load -Xclang 
/b/build/slave/GPU_Mac_Builder__dbg_/build/src/third_party/llvm-build/Release+As
serts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang 
find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang 
check-templates -fcolor-diagnostics -fno-strict-aliasing -fstack-protector-all 
-Wno-undefined-bool-conversion -Wno-tautological-undefined-compare  -c 
../../third_party/angle/src/tests/compiler_tests/ConstantFolding_test.cpp -o 
obj/third_party/angle/src/tests/compiler_tests/angle_unittests.ConstantFolding_t
est.o
../../third_party/angle/src/tests/compiler_tests/ConstantFolding_test.cpp:210:43
: error: no matching constructor for initialization of 'std::vector<float>'
    ASSERT_FALSE(constantVectorFoundInAST(std::vector<float>{1.0f, 1.0f, 1.0f}));
                                          ^                 ~~~~~~~~~~~~~~~~~~

BUG=angleproject:913

This reverts commit 2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557.

Change-Id: Iaf3c61a0c0ed591c17f50f2e3eafe2debf588c95
Reviewed-on: https://chromium-review.googlesource.com/274917
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>

[modify] 
http://crrev.com/2f4823bf44f4738b248de1950a8c476c0fa68630/src/compiler/translato
r/Intermediate.cpp
[modify] 
http://crrev.com/2f4823bf44f4738b248de1950a8c476c0fa68630/src/tests/compiler_tes
ts/ConstantFolding_test.cpp
[modify] 
http://crrev.com/2f4823bf44f4738b248de1950a8c476c0fa68630/src/compiler/translato
r/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 3 Jun 2015 at 12:40

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557

commit 2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557
Author: Arun Patole <apatole@nvidia.com>
Date: Mon May 25 13:50:26 2015

Add constant folding support for geometric built-ins

This change adds constant folding support for following geometric
built-ins:
    - length, distance, dot, cross, normalize, faceforward,
      reflect and refract.

BUG=angleproject:913
TEST=angle_unittests, dEQP Tests
dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric.*
(56 tests started passing with this change)

Change-Id: I973689554bb8c30ee3ebdf71f1b8a051ceb5e0cf
Reviewed-on: https://chromium-review.googlesource.com/273097
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>

[modify] 
http://crrev.com/2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557/src/compiler/translato
r/Intermediate.cpp
[modify] 
http://crrev.com/2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557/src/tests/compiler_tes
ts/ConstantFolding_test.cpp
[modify] 
http://crrev.com/2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557/src/compiler/translato
r/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 3 Jun 2015 at 12:41

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/b50788d11dec046415565af1cc7da334e2979577

commit b50788d11dec046415565af1cc7da334e2979577
Author: Arun Patole <apatole@nvidia.com>
Date: Mon May 25 13:50:26 2015

Add constant folding support for geometric built-ins

* re-land after mac compilation fix (unsupported c++11 initializer) *

This change adds constant folding support for following geometric
built-ins:
    - length, distance, dot, cross, normalize, faceforward,
      reflect and refract.

BUG=angleproject:913
TEST=angle_unittests, dEQP Tests
dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric.*
(56 tests started passing with this change)

Change-Id: I236fc0c1af47a63f359564500c711e6bedf1c808
Reviewed-on: https://chromium-review.googlesource.com/274789
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>

[modify] 
http://crrev.com/b50788d11dec046415565af1cc7da334e2979577/src/compiler/translato
r/Intermediate.cpp
[modify] 
http://crrev.com/b50788d11dec046415565af1cc7da334e2979577/src/tests/compiler_tes
ts/ConstantFolding_test.cpp
[modify] 
http://crrev.com/b50788d11dec046415565af1cc7da334e2979577/src/compiler/translato
r/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 4 Jun 2015 at 9:20

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/b3da45c12d3eecdd319c0feb4d2b933e144f816a

commit b3da45c12d3eecdd319c0feb4d2b933e144f816a
Author: Jamie Madill <jmadill@chromium.org>
Date: Thu Jun 04 19:38:22 2015

Revert "Add constant folding support for geometric built-ins"

This is failing gpu_unittests on Mac:

ShaderTranslatorTest.BuiltInFunctionEmulation:
../../gpu/command_buffer/service/shader_translator_unittest.cc:314: Failure
Value of: strstr(translated_source.c_str(), "webgl_dot_emu") != NULL
Actual: false
Expected: true

Reverting until we can fix the overly-narrow test.

BUG=angleproject:913

This reverts commit b50788d11dec046415565af1cc7da334e2979577.

Change-Id: I5bd9df83704e771e419339745eceaa43a20bd1e6
Reviewed-on: https://chromium-review.googlesource.com/275320
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>

[modify] 
http://crrev.com/b3da45c12d3eecdd319c0feb4d2b933e144f816a/src/compiler/translato
r/Intermediate.cpp
[modify] 
http://crrev.com/b3da45c12d3eecdd319c0feb4d2b933e144f816a/src/tests/compiler_tes
ts/ConstantFolding_test.cpp
[modify] 
http://crrev.com/b3da45c12d3eecdd319c0feb4d2b933e144f816a/src/compiler/translato
r/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 4 Jun 2015 at 7:45

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/b3da45c12d3eecdd319c0feb4d2b933e144f816a

commit b3da45c12d3eecdd319c0feb4d2b933e144f816a
Author: Jamie Madill <jmadill@chromium.org>
Date: Thu Jun 04 19:38:22 2015

Revert "Add constant folding support for geometric built-ins"

This is failing gpu_unittests on Mac:

ShaderTranslatorTest.BuiltInFunctionEmulation:
../../gpu/command_buffer/service/shader_translator_unittest.cc:314: Failure
Value of: strstr(translated_source.c_str(), "webgl_dot_emu") != NULL
Actual: false
Expected: true

Reverting until we can fix the overly-narrow test.

BUG=angleproject:913

This reverts commit b50788d11dec046415565af1cc7da334e2979577.

Change-Id: I5bd9df83704e771e419339745eceaa43a20bd1e6
Reviewed-on: https://chromium-review.googlesource.com/275320
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>

[modify] 
http://crrev.com/b3da45c12d3eecdd319c0feb4d2b933e144f816a/src/compiler/translato
r/Intermediate.cpp
[modify] 
http://crrev.com/b3da45c12d3eecdd319c0feb4d2b933e144f816a/src/tests/compiler_tes
ts/ConstantFolding_test.cpp
[modify] 
http://crrev.com/b3da45c12d3eecdd319c0feb4d2b933e144f816a/src/compiler/translato
r/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 4 Jun 2015 at 8:11

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/b3da45c12d3eecdd319c0feb4d2b933e144f816a

commit b3da45c12d3eecdd319c0feb4d2b933e144f816a
Author: Jamie Madill <jmadill@chromium.org>
Date: Thu Jun 04 19:38:22 2015

Revert "Add constant folding support for geometric built-ins"

This is failing gpu_unittests on Mac:

ShaderTranslatorTest.BuiltInFunctionEmulation:
../../gpu/command_buffer/service/shader_translator_unittest.cc:314: Failure
Value of: strstr(translated_source.c_str(), "webgl_dot_emu") != NULL
Actual: false
Expected: true

Reverting until we can fix the overly-narrow test.

BUG=angleproject:913

This reverts commit b50788d11dec046415565af1cc7da334e2979577.

Change-Id: I5bd9df83704e771e419339745eceaa43a20bd1e6
Reviewed-on: https://chromium-review.googlesource.com/275320
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>

[modify] 
http://crrev.com/b3da45c12d3eecdd319c0feb4d2b933e144f816a/src/compiler/translato
r/Intermediate.cpp
[modify] 
http://crrev.com/b3da45c12d3eecdd319c0feb4d2b933e144f816a/src/tests/compiler_tes
ts/ConstantFolding_test.cpp
[modify] 
http://crrev.com/b3da45c12d3eecdd319c0feb4d2b933e144f816a/src/compiler/translato
r/IntermNode.cpp

Original comment by bugdroid1@chromium.org on 5 Jun 2015 at 7:39

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/cc54e5d9c825711e0c9c7f42d9442f54a0aea695

commit cc54e5d9c825711e0c9c7f42d9442f54a0aea695
Author: Olli Etuaho <oetuaho@nvidia.com>
Date: Fri Jun 05 13:00:02 2015

Add a simple unit test for built-in emulation on Mac

This will replace a similar buggy test that will be removed from Chromium.

BUG=angleproject:913
TEST=angle_unittests

Change-Id: If782004e764316ca003effbea883640ecdb30dda
Reviewed-on: https://chromium-review.googlesource.com/275397
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>

[modify] 
http://crrev.com/cc54e5d9c825711e0c9c7f42d9442f54a0aea695/src/tests/compiler_tes
ts/compiler_tests.gypi
[modify] 
http://crrev.com/cc54e5d9c825711e0c9c7f42d9442f54a0aea695/src/tests/angle_unitte
sts.gypi
[add] 
http://crrev.com/cc54e5d9c825711e0c9c7f42d9442f54a0aea695/src/tests/compiler_tes
ts/BuiltInFunctionEmulator_test.cpp

Original comment by bugdroid1@chromium.org on 8 Jun 2015 at 7:43

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/7fa3355f8a13f41e21b9bd4ab05fb336be492881

commit 7fa3355f8a13f41e21b9bd4ab05fb336be492881
Author: Arun Patole <apatole@nvidia.com>
Date: Wed Jun 10 09:45:18 2015

Add constant folding support for matrix built-ins

This change adds constant folding support for following matrix
built-ins:
    - matrixCompMult, outerProduct, transpose, determinant and
      inverse.

BUG=angleproject:913
TEST=angle_unittests(new: MatrixUtilsTest, ConstantFoldingTest.*Matrix*),
dEQP Tests:
dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix.*
(All 54 tests started passing with this change)

Change-Id: I7b9bf04b9a2cbff72c48216cab04df58c5f008d6
Reviewed-on: https://chromium-review.googlesource.com/276574
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>

[modify] 
http://crrev.com/7fa3355f8a13f41e21b9bd4ab05fb336be492881/src/compiler/translato
r/Intermediate.cpp
[modify] 
http://crrev.com/7fa3355f8a13f41e21b9bd4ab05fb336be492881/src/libGLESv2.gypi
[modify] 
http://crrev.com/7fa3355f8a13f41e21b9bd4ab05fb336be492881/src/compiler/translato
r/IntermNode.cpp
[modify] 
http://crrev.com/7fa3355f8a13f41e21b9bd4ab05fb336be492881/src/tests/compiler_tes
ts/ConstantFolding_test.cpp
[modify] 
http://crrev.com/7fa3355f8a13f41e21b9bd4ab05fb336be492881/src/tests/angle_unitte
sts.gypi
[add] 
http://crrev.com/7fa3355f8a13f41e21b9bd4ab05fb336be492881/src/common/matrix_util
s_unittest.cpp
[add] 
http://crrev.com/7fa3355f8a13f41e21b9bd4ab05fb336be492881/src/common/matrix_util
s.h

Original comment by bugdroid1@chromium.org on 26 Jun 2015 at 2:29