bennycen / angleproject

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

Selectively enable [[flatten]] workaround only when required #937

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
This should fix some bugs in some more complicated shaders.

Original issue reported on code.google.com by jmad...@chromium.org on 5 Mar 2015 at 10:26

GoogleCodeExporter commented 9 years ago

Original comment by jmad...@chromium.org on 5 Mar 2015 at 10:26

GoogleCodeExporter commented 9 years ago

Original comment by jmad...@chromium.org on 5 Mar 2015 at 10:27

GoogleCodeExporter commented 9 years ago

Original comment by jmad...@chromium.org on 9 Mar 2015 at 3:29

GoogleCodeExporter commented 9 years ago
The implementation of the fix tries to match the mangled names of function 
prototypes and function calls, which do not match in the case shown in issue 936

Original comment by cwal...@chromium.org on 12 Mar 2015 at 5:51

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Corentin Wallez <cwallez@chromium.org>
Commit : b34d1d12969496b1b0fb53934b8ce3200304f900

Code-Review  0 : Corentin Wallez, Jamie Madill
Code-Review  +2: Corentin Wallez, Nicolas Capens
Verified     0 : Corentin Wallez, Jamie Madill, Nicolas Capens
Verified     +1: Corentin Wallez
Commit Queue   : Chumped
Change-Id      : I643e0ed605ad095e4fd7da4977d842be5e6a12e0
Reviewed-at    : https://chromium-review.googlesource.com/229352

Implemented a CallDAG to allow for more AST analysis

The CallDAG preprocesses the AST to construct a DAG of
functions that can be used for several analysis.
Use it to implement check for recursion and max call
depth. It will also be used to limit the usage of
[[flatten]] and [[unroll]].

BUG=angleproject:937
BUG=395048

src/compiler.gypi
src/compiler/translator/CallDAG.cpp
src/compiler/translator/CallDAG.h
src/compiler/translator/Compiler.cpp
src/compiler/translator/Compiler.h
src/compiler/translator/DetectCallDepth.cpp
src/compiler/translator/DetectCallDepth.h
src/compiler/translator/IntermNode.h
src/compiler/translator/ParseContext.cpp
src/compiler/translator/glslang.y
src/compiler/translator/glslang_tab.cpp

Original comment by bugdro...@chromium.org on 2 Apr 2015 at 6:01

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Corentin Wallez <cwallez@chromium.org>
Commit : f30a9ba96bdfa014fc182060c714a2c75451f4cf

Code-Review  0 : Jamie Madill, Nicolas Capens
Code-Review  +2: Corentin Wallez
Verified     0 : Jamie Madill, Nicolas Capens
Verified     +1: Corentin Wallez
Commit Queue   : Chumped
Change-Id      : Icc37abf51a1407c9e7bc708dc08d3ba4050a496a
Reviewed-at    : https://chromium-review.googlesource.com/261189

Implement discontinuous loops AST analysis

This will allow narrowing down which usages of
[[flatten]] and [[unroll]] are actually useful.

BUG=angleproject:937
BUG=395048

src/compiler/translator/ASTMetadataHLSL.cpp
src/compiler/translator/ASTMetadataHLSL.h

Original comment by bugdro...@chromium.org on 2 Apr 2015 at 6:02

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Corentin Wallez <cwallez@chromium.org>
Commit : 2fc57a2ace58b7ae3106344c56be94948f761b2a

Code-Review  0 : Jamie Madill
Code-Review  +2: Corentin Wallez, Nicolas Capens
Verified     0 : Jamie Madill, Nicolas Capens
Verified     +1: Corentin Wallez
Commit Queue   : Chumped
Change-Id      : Ic31e434c7b5bb6c32eff2336e5949391bfee25a5
Reviewed-at    : https://chromium-review.googlesource.com/260930

Implement gradient operation AST analysis

This will allow narrowing down which usages of
[[flatten]] and [[unroll]] are actually useful.

BUG=angleproject:937
BUG=395048

src/compiler.gypi
src/compiler/translator/ASTMetadataHLSL.cpp
src/compiler/translator/ASTMetadataHLSL.h
src/compiler/translator/OutputHLSL.cpp
src/compiler/translator/OutputHLSL.h

Original comment by bugdro...@chromium.org on 2 Apr 2015 at 6:02

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Corentin Wallez <cwallez@chromium.org>
Commit : b34d1d12969496b1b0fb53934b8ce3200304f900

Code-Review  0 : Corentin Wallez, Jamie Madill, Olli Etuaho
Code-Review  +2: Corentin Wallez, Nicolas Capens
Verified     0 : Corentin Wallez, Jamie Madill, Nicolas Capens, Olli Etuaho
Verified     +1: Corentin Wallez
Commit Queue   : Chumped
Change-Id      : I643e0ed605ad095e4fd7da4977d842be5e6a12e0
Reviewed-at    : https://chromium-review.googlesource.com/229352

Implemented a CallDAG to allow for more AST analysis

The CallDAG preprocesses the AST to construct a DAG of
functions that can be used for several analysis.
Use it to implement check for recursion and max call
depth. It will also be used to limit the usage of
[[flatten]] and [[unroll]].

BUG=angleproject:937
BUG=395048

src/compiler.gypi
src/compiler/translator/CallDAG.cpp
src/compiler/translator/CallDAG.h
src/compiler/translator/Compiler.cpp
src/compiler/translator/Compiler.h
src/compiler/translator/DetectCallDepth.cpp
src/compiler/translator/DetectCallDepth.h
src/compiler/translator/IntermNode.h
src/compiler/translator/ParseContext.cpp
src/compiler/translator/glslang.y
src/compiler/translator/glslang_tab.cpp

Original comment by bugdro...@chromium.org on 2 Apr 2015 at 7:25

GoogleCodeExporter commented 9 years ago
There's a compilation problem with the CallDAG patches on Mac OS. Could you 
please investigate?

http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder
http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder%20%28d
bg%29

Thanks.

Original comment by kbr@chromium.org on 2 Apr 2015 at 7:26