src/compiler/OutputHLSL.h


Log

Author Commit Date CI Message
daniel@transgaming.com e9b3f60a 2012-07-11T20:37:31 Keep track of the index name of excessive loops. TRAC #21167 ISSUE=338 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1210 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e11100ce 2012-05-31T01:20:32 Call Lod0 functions when inside a loop with a discontinuity. TRAC #20737 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1123 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 89431aa5 2012-05-31T01:20:29 Output Lod0 copies of functions containing gradient operations when the shader contains a discontinuity. TRAC #20737 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1122 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com a54f5186 2012-05-31T01:20:16 Added Lod0 versions of texture sampling intrinsics. TRAC #20737 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1119 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com f8f8f362 2012-04-28T00:35:00 Renamed UnfoldSelect to UnfoldShortCircuit. TRAC #11866 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1062 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 44fffeef 2012-04-28T00:34:20 Ensure that non-sequence single-statement conditional blocks and loop bodies get unfolding of short-circuiting operators. TRAC #11866 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1060 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 2e793f0f 2012-04-11T19:41:35 Decorate (and undecorate) struct fields too (when not built-in). Trac #20510 Issue=316,317 Authored-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1027 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 35342dc4 2012-02-28T02:01:22 Provide multi-dimensional atan intrinsics. TRAC #19989 Issue=302 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@996 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 6575602e 2012-01-17T21:45:38 Finished off the GLSL compiler's support for parsing shaders using OES_EGL_image_external. The GLSL to HLSL translator work is not done yet so the extension is disabled in Shader.cpp. Review URL: https://codereview.appspot.com/5530081 git-svn-id: https://angleproject.googlecode.com/svn/trunk@946 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 4229f59f 2011-11-24T22:34:04 Fix HLSL translation for mod(vec2,vec2) ANGLEBUG=258 Signed-off-by: Daniel Koch Signed-off-by: Nicolas Capens Author: Sam Hocevar git-svn-id: https://angleproject.googlecode.com/svn/trunk@890 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com c72c6416 2011-09-20T16:09:17 Decorate arrays uniforms with "ar_" to identify arrays of size 1. TRAC #16567 Bug=136 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@760 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 15795192 2011-05-11T15:36:20 Translate vertex texture lookup functions. Issue=95 TRAC #16568 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@635 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 0f4cefe9 2011-01-26T19:30:57 Map D3D calls and HLSL shaders back to GLES2 calls and GLSL ES shaders in PIX. This makes debugging and profiling using PIX a lot more convenient. The top level of events are the GLES calls with their arguments. Those can be expanded to see the D3D calls that were issued for a particular GLES call. When PIX is attached, the shaders are saved out to temporary files and referenced from the translated HLSL shaders via #line directives. This enabled source level debugging of the original GLSL from PIX for pixel and vertex shaders. The HLSL is also saved to a temporary file so that intrinsic functions like texture2D can be stepped into. It also avoids creating a text file in the current working directory, which has continued to be an issue. I made the dependency on d3d9.dll static again so it can be accessed by GetModuleHandle witihin DllMain. I added an EVENT macro that issues D3DPERF_BeginEvent and D3DPERF_EndEvent around a C++ block. I replaced TRACE with EVENT for all the entry points. I removed the tracing of shader source since the source is visible in PIX. The means by which the filename of the temporary shader file is passed into the shader compiler is a little clunky. I did it that way to avoid changing the function signatures and breaking folks using the translator. I plan to make the compiler respect #pragma optimize so that optimization can be disabled for debugging purposes. For now it just disables shader optimization in debug builds of ANGLE. Review URL: http://codereview.appspot.com/3945043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@541 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com b6ef8f11 2010-11-15T16:41:14 Define new variables after evaluating the initialization expression. TRAC #13627 GLSL allows to write things like "float x = x;" where a new variable x is defined and the value of an existing variable x is assigned. HLSL uses C semantics (the new variable is created before the assignment is evaluated), so we need to convert this to "float t = x, x = t;". Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@478 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com a2a95e7c 2010-05-20T19:17:55 Implement scoped structure declarations TRAC# 12110 Signed-off-by: Shannon Woods Singed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@310 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 4e89d233 2010-05-14T19:37:21 Cleaned up Common.h. Removed unnecessary includes and typedefs. Removed tabs from PoolAlloc.h and replaced UINT_PTR with uintptr_t. Review URL: http://codereview.appspot.com/1221041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@289 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 4af7acca 2010-05-14T17:30:53 Implemented varying packing TRAC #11736 The OpenGL ES Shading Language 1.00 rev. 17 appendix A section 7 page 111, details how varyings should be packed into generic varying registers. To implement this the HLSL main() function is now generated and appended to the code during link time, where the packing and mapping can happen. Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@282 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com d7c98101 2010-05-14T17:30:48 Only output DepthRange, xor() and mod() when used TRAC #11736 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@281 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 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 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 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 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 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 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 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 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 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