src/compiler/OutputHLSL.cpp


Log

Author Commit Date CI Message
daniel@transgaming.com 3debd2b4 2010-05-13T02:07:34 Make faceforward match the conformance test. TRAC #12252 The conformance test checks the dot product for >= 0. Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@276 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0f18961b 2010-05-07T13:03:36 Prevent atan2 from generating a NaN TRAC #12184 This is necessary because a NaN generated in flattened conditional code fails to get discarded on certain devices. Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@248 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com a54da4e5 2010-05-07T13:03:28 Implemented inline structure construction TRAC #12109 Based on Alok Priyadarshi's approach for structure construction in OutputGLSL.cpp Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@245 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 6b998408 2010-05-04T03:35:07 Correct use of anonymous / nameless struct TRAC #12108 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@221 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 4f3ce807 2010-04-29T03:39:15 Output propagated struct constants as literals TRAC #11809 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@218 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 51d0dc2a 2010-04-29T03:39:11 Declare structures before uniform definitions and support varying arrays TRAC #11809 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@217 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com a637e55f 2010-04-29T03:39:08 Support anonymous structures TRAC #11809 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@216 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 3aa7420b 2010-04-29T03:39:04 Fix parenthesis balance TRAC #11809 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@215 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ead23047 2010-04-29T03:35:36 Add all structure definitions to constructor map and simplify initialization TRAC #11809 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@204 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 7a7003c3 2010-04-29T03:35:33 Output structure declarations and constructors in the header TRAC #11809 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@203 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 67de6d6c 2010-04-29T03:35:30 Refactored outputTriplet to allow complex string expressions TRAC #11809 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@202 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 63691867 2010-04-29T03:32:42 Implemented complex vector/matrix construction TRAC #11868 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@199 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0b6b834a 2010-04-26T15:33:45 Support matrix attributes TRAC #11095 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@195 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0bbb031d 2010-04-26T15:33:39 Only output faceforward when needed TRAC #12042 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@193 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 69f084b1 2010-04-23T18:34:46 Fix matrix by matrix multiplication TRAC #11751 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@187 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com d2cf25db 2010-04-22T16:27:35 Make all globals static TRAC #12015 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@183 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 09fbfefa 2010-04-22T13:35:31 Implemented glGetActiveUniform TRAC #11929 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@181 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com f9ef107f 2010-04-22T13:35:16 Implement scoping TRAC #11975 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@176 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com bbf56f75 2010-04-20T18:52:13 Use directory qualified #include files Trac #11408 Signed-off-by: Andrew Lewycky Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@165 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 86f7c9df 2010-04-20T18:52:06 Only output referenced attributes, uniforms and varyings TRAC #11590 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@163 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 5024cc49 2010-04-20T18:52:04 Implemented biased textureCube sampling TRAC #11884 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@162 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 005c7392 2010-04-15T20:45:27 Create unique names for unnamed parameters TRAC #11873 HLSL requires parameter names in function prototypes Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@157 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com bb885328 2010-04-15T20:45:24 Don't crash on null conditional block TRAC #11871 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@156 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 7127f207 2010-04-15T20:45:22 Initialize all shader variables TRAC #11869 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@155 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 5af6427d 2010-04-15T20:45:12 Implemented gl_FrontFacing for lines and points TRAC #11419 Lines and points are always considered front-facing Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@153 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com b587598c 2010-04-15T20:44:53 Implemented short-circuiting behavior for the ternary operator TRAC #11444 This is achieved by turning the ternary operator into conditional code. The UnfoldSelect intermediate code traverser places this conditional code before the statement containing the ternary operator (aka. select). The computed value is assigned to a temporary variable. On outputting the actual statement the ternary operator is replaced by the temporary variable. Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@148 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ec55d29a 2010-04-15T20:44:49 Clean up old comments TRAC #11444 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@147 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 3c010c02 2010-04-13T19:53:47 Remove name clash warnings TRAC #11314 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@144 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 72d0b52e 2010-04-13T19:53:44 Decorate all GLSL user-defined names with an underscore to avoid name clashes TRAC #11314 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@143 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 8976c1e8 2010-04-13T19:53:27 Store all matrices as column-major and transpose when needed TRAC #11825 Due to the difference in [][] matrix indexing between GLSL and HLSL, all matrices are stored in transposed format (column-major from the HLSL point of view), and transposed back when performing matrix math. Previously some paths didn't follow this principle. Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@138 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 47c058c3 2010-04-13T15:30:05 Fixing compile error. GYP projects use NOMINMAX to suppress non-standard VC++ min/max. Review URL: http://codereview.appspot.com/892046 git-svn-id: https://angleproject.googlecode.com/svn/trunk@137 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com d91cfe7e 2010-04-13T03:26:17 Implemented struct equality TRAC #11727 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@127 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 950f993b 2010-04-13T03:26:14 Compiler - split header, body and footer output TRAC #11798 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@126 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com d1acd1ed 2010-04-13T03:25:57 Implemented function prototyping and in/out parameters TRAC #11725 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@120 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com fe565159 2010-04-10T05:29:07 Implemented support for user-defined structures TRAC #11730 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@116 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 4a35ef2d 2010-04-08T03:51:06 Break up loops with over 255 iterations. TRAC# 11724 fixes acos/asin conformance Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@105 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 5441d665 2010-04-07T03:25:11 Compiler - Wrong Result from Matrix Multiply TRAC #11751 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@101 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0e3358a6 2010-04-05T20:32:42 Compiler - implement proper varying linking TRAC #11716 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@97 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 279e38ad 2010-04-03T20:56:13 Compiler - fix mat3 conformance TRAC #11723 Matrix elements are accessed as [col][row] in GLSL and [row][col] in HLSL. Fixed this by transposing all matrix uniforms so they have a row-major layout. Then transpose them in the shader every time they're used in matrix math. Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@96 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org dd037b2a 2010-03-30T18:47:20 Added support for user-defined structs. And fixed a bug in function return type. Review URL: http://codereview.appspot.com/849042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@88 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com d25ab251 2010-03-30T03:36:26 Compiler - fix redeclaration of initialized globals TRAC #11617 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@87 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 4388487c 2010-03-30T00:08:52 Moved code to unmangle function name to a common place and used it in both OutputGLSL and OutputHLSL. Review URL: http://codereview.appspot.com/838041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@83 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 60fe407c 2010-03-29T20:58:29 Added TIntermSelection::usesTernaryOperator() to distinguish between selection nodes using ternary operator and if-else. Used in both OutputGLSL and OutputHLSL. Review URL: http://codereview.appspot.com/830042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@82 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 93a96c3e 2010-03-28T19:36:13 Compiler - implement vector times matrix operation TRAC #11611 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@77 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e78c0c99 2010-03-28T19:36:06 Compiler - only declare used HLSL functions TRAC #11315 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@75 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ccad59f0 2010-03-26T04:08:39 Compiler - implement gl_PointCoord and point size clamping TRAC #11592 Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@70 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org ea0e1af4 2010-03-22T19:33:14 Minor reshuffling of directory structure in preparation of ESSL to GLSL compiler work. 1. Added include/GLSLANG which includes compiler API 2. Deleted src/include and moved the header files to the same directory as the corresponding source files 3. Modied include path to be relative to src/. I have only fixed paths for files I moved. We should fix it for all new files at least. It is much easier to see where an included file is coming from. I noticed that a few libGLESv2 source files include headers from libEGL project, which seems wrong. I think we should address this issue. Next step: move compiler source files to compiler/frontend and create two new projects compiler/glsl_backend and compiler/hlsl_backend. Review URL: http://codereview.appspot.com/662042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@62 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 3d53fda0 2010-03-21T04:30:55 ANGLE | Compiler - implement the ternary operator TRAC #11421 Doesn't take short-circuiting behavior into account yet. Author: Nicolas Capens Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@51 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com acc51130 2010-03-17T13:12:17 mv Compiler/* -> src/compiler/* Trac #11406 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@37 736b8ea6-26fd-11df-bfd4-992fa37f6226