src/compiler/OutputHLSL.cpp


Log

Author Commit Date CI Message
daniel@transgaming.com a390e1ee 2013-01-11T04:09:39 Implemented support for DX11 driver uniforms by assigning fixed register slots. TRAC #22369 Signed-off-by: Daniel Koch Signed-off-by: Geoff Lang Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1682 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com db019952 2012-12-20T21:13:32 Eliminated storing decorated uniform names. TRAC #22326 Signed-off-by: Daniel Koch Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1635 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com c7ae02ec 2012-12-20T21:13:11 Fixed declaring arrays within structures. TRAC #22326 Signed-off-by: Daniel Koch Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1632 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 7aa6afff 2012-12-20T21:13:02 Assign register indexes to dx_ constants and intercept them. TRAC #22326 Signed-off-by: Daniel Koch Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1631 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 043da138 2012-12-20T21:12:22 Provide an API for accessing the uniform array. TRAC #22239 Signed-off-by: Daniel Koch Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1625 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com f4d9feff 2012-12-20T21:12:13 Declare active uniforms. TRAC #22239 Signed-off-by: Daniel Koch Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1624 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 652468c4 2012-12-20T21:11:57 Assign constant registers manually in HLSL. TRAC #22293 Signed-off-by: Daniel Koch Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1622 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 8803b85f 2012-12-20T21:11:47 Simplified uniform/varying/attribute output. TRAC #22293 Signed-off-by: Daniel Koch Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1620 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 12985188 2012-12-20T20:56:31 Combine dx_Depth and dx_FrontCCW into dx_DepthFront. TRAC #22245 Signed-off-by: Daniel Koch Signed-off-by: Geoff Lang Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1582 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 7386858e 2012-12-20T20:56:10 Compute gl_FrontFacing using a single float constant. TRAC #22245 Signed-off-by: Daniel Koch Signed-off-by: Geoff Lang Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1580 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0e5bb409 2012-10-17T18:24:53 Also prototype the Lod0 function variant if needed. TRAC #21842 Issue=374 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1307 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org dd8e4aa4 2012-07-12T01:33:10 Fix vertex texture fetch. The texture v coordinate was still being flipped. Fixes http://code.google.com/p/chromium/issues/detail?id=136650. Review URL: https://codereview.appspot.com/6345095 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1214 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 2fe20a86 2012-07-11T20:37:41 Don't set the Break flag on the last loop fragment. TRAC #21167 ISSUE=338 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1213 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 5b60f5eb 2012-07-11T20:37:38 Don't check for Break on the first loop fragment. TRAC #21167 ISSUE=338 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1212 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 8c77f854 2012-07-11T20:37:35 Indicate breaking out of an excessive loop using the loop index name. TRAC #21167 ISSUE=338 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1211 736b8ea6-26fd-11df-bfd4-992fa37f6226
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 0933b0cc 2012-07-11T20:37:28 Use a single index for excessive loops. TRAC #21167 ISSUE=338 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1209 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com c264de47 2012-07-11T20:37:25 Limit HLSL loop scope to match that of GLSL, for excessive loops. TRAC #21167 ISSUE=338 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1208 736b8ea6-26fd-11df-bfd4-992fa37f6226
maxvujovic@gmail.com c6b3b3c7 2012-06-27T22:49:39 Fix the compiler warnings on WebKit ports when updating ANGLE in WebKit. Remove the varargs used for extra info formatting in the error() and warning() methods of ParseHelper. Use std::stringstream for formatting instead. Review URL: http://codereview.appspot.com/6310067/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@1170 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 9616e583 2012-06-22T18:27:01 Merge no-flip-rows r1142 to trunk. Review URL: https://codereview.appspot.com/6304052 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1162 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 646ea1ec 2012-06-15T17:36:31 Fixed compile error for translator_hlsl. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1153 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ecdf44a8 2012-06-01T01:45:15 Generate Lod0 functions even if they don't contain gradients, so we can call them from discontinuous loops. TRAC #20737 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1128 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ddbb45d6 2012-05-31T01:21:41 Return 0 for dFdx, dFdy and fwidth for discontinuous arguments. TRAC #20737 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1124 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 0e9704bc 2012-05-31T01:20:13 Output the complete function at once to avoid having to erase the function arguments. TRAC #20737 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1118 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 06eb0d42 2012-05-31T01:17:14 Adjust the maximum loop iterations to keep the HLSL compiler happy Trac #20913 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1117 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 8915eba8 2012-04-28T00:34:44 Implemented short-circuiting for logical OR and AND operators. TRAC #11866 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1061 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
alokp@chromium.org 79fb1019 2012-04-26T21:07:39 Ugly hack to fix compile error on windows. VC++ does not support C99 and hence snprintf. BUG=308 Review URL: https://codereview.appspot.com/6120055 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1057 736b8ea6-26fd-11df-bfd4-992fa37f6226
kbr@chromium.org ddb6e8e3 2012-04-25T00:48:13 Stop using unsafe sprintf method. ISSUE=308 Signed-off-by: Kenneth Russell Author: David Kilzer git-svn-id: https://angleproject.googlecode.com/svn/trunk@1052 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 ed2180dc 2012-03-26T17:08:54 Fix comma operator precedence. TRAC #20059 ISSUE=290 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1009 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 73536984 2012-03-21T20:45:49 Fixed missing semicolon for do-while. TRAC #20055 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1007 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 43eecdc1 2012-03-20T20:10:33 Avoid adding duplicate struct constructors. TRAC #20057 ISSUE=285 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1006 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ab8ca191 2012-03-20T20:10:24 Define constructors for structures defined in argument lists. TRAC #20056 ISSUE=256 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1004 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 2a073de7 2012-03-09T21:56:43 Limit HLSL loop scope to match that of GLSL. TRAC #19197 ISSUE=260 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@999 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 a1d8059d 2012-01-25T21:52:10 Increase MSVC warning level to 4. There are some exceptions, a subset of the exceptions used by Chromium. They didn't seem to be useful warnings. In code which we don't change much, like the preprocessor, I just suppressed the warnings in the specific files rather than changing the code. There should be no functional changes in this patch. Review URL: https://codereview.appspot.com/5570066 git-svn-id: https://angleproject.googlecode.com/svn/trunk@964 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 d9a54f98 2011-12-22T18:32:53 Fixed gl_FragCoord.y calculation TRAC #19349 ANGLEBUG=272 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@925 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 ccb38417 2011-10-04T18:43:40 Support multiple nested ternary operators per statement TRAC #18382 ANGLEBUG=203,208 Signed-off-by: Daniel Koch Author: Nicolas Capens - by incrementing the temporary index, adding 1 for every nesting level, and rewinding it after each traverse. Also fixed multiple ternary operator unfolding for loops. git-svn-id: https://angleproject.googlecode.com/svn/trunk@784 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com c0d73ed8 2011-10-04T18:43:30 Use a different name for ternary operator unfolding temporaries, to avoid clashes with T x = x handling. TRAC #18382 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@783 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 55d48c74 2011-09-26T18:24:36 Create structure definitions for structures in a return statement. TRAC #18319 ANGLEBUG=185 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@766 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 7fb81e83 2011-09-23T18:20:46 Fix single statement loops. TRAC #18301 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@765 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 51db7fb1 2011-09-20T16:11:06 Optimize string comparisons by avoiding the creation of temporary substrings. TRAC #16567 Bug=136 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@761 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
baustin@google.com 8ab69840 2011-06-02T21:53:45 Insert a new-line ('\n') before the #line directive in HLSL source. Without this, sometimes the #line directive shows up at the end of the previous line of shader source. This was causing syntax errors when trying to compile shaders during a PIX session. Review URL: http://codereview.appspot.com/4561059 git-svn-id: https://angleproject.googlecode.com/svn/trunk@667 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 05a5d8e0 2011-02-16T19:07:20 Added new line after generated HLSL break, continue and kill statements. This is consistent with return statements. It means that when PIX is attached, the #line directive lands on a new line. Review URL: http://codereview.appspot.com/4179054 git-svn-id: https://angleproject.googlecode.com/svn/trunk@562 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com f1f538ef 2011-02-09T16:30:01 Fix loop splitting. Trac #15446 Issue=98 Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@555 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
apatrick@chromium.org b31f532d 2011-01-19T19:02:52 All surfaces follow D3D Y convention, i.e. (0, 0) is "top-left" rather than GL's "bottom-left". This eliminates the need to flip the default FBO to the D3D convention using additional blits when presenting and reduces VRAM usage for redundant window sized surfaces. I took out the gl_Position.y flip from the vertex shader so FBOs are rendered according to D3D conventions. Texture lookups are flipped on Y to compensate. Cube map +Y and -Y faces are swapped. Y is now flipped in various other places, including uploading and reading back texture data from / to system memory, functions that take pixel space coordinates, winding order for culling, the implementation of ddy, the calculation of gl_Position and gl_FragCoord in fragment shaders and the flipping of compressed texture tiles. Review URL: http://codereview.appspot.com/3265041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@536 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 3175496d 2010-11-28T02:02:52 Implement gl_DepthRange using a single uniform vector. TRAC #14504 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@495 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 52813558 2010-11-16T18:36:09 Replaced TIntermLoop::testFirst with TIntermLoop::loopType to clearly indicate which type of loop it is. In some cases it is not possble to differentiate between a for-loop and while-loop. BUG=48 Review URL: http://codereview.appspot.com/3123041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@482 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com bdfb2e50 2010-11-15T16:41:20 Only initialize through a temporary variable if the same symbol name is used in the initialization expression. TRAC #13627 The previous patch can generate a lot of unnecessary temporary variables. By first checking whether the same symbol name is reused the clutter is reduced to an absolute minimum (typical shaders won't rely on this odd GLSL semantic behavior so the workaround is hardly ever needed). Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@479 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
alokp@chromium.org 4888ceb6 2010-10-01T21:13:12 Made the API of shader translator library consistent. - We recently started using OpenGL-type enums. This CL makes all old enums consistent with the new scheme. - Renamed TBuiltInResource to ShBuiltInResources to have a consistent prefix BUG=46 Review URL: http://codereview.appspot.com/2328041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@443 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 06098890 2010-08-26T19:36:42 Allow derivative functions if derivative extension is enabled. I still need to add validation for "#extension GL_OES_standard_derivatives : enable". BUG=25 Review URL: http://codereview.appspot.com/1965045 git-svn-id: https://angleproject.googlecode.com/svn/trunk@403 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 58e54298 2010-08-24T21:40:03 Cleanup TType and related classes: 1. Removed unused functions 2. Removed unnecessary virtuality of functions 3. Grouped related functions together TEST=conformance tests Review URL: http://codereview.appspot.com/1984047 git-svn-id: https://angleproject.googlecode.com/svn/trunk@400 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 4f921eb4 2010-07-28T19:20:44 Renamed dx_Window to dx_Viewport TRAC #11594 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@356 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org bad6c2a4 2010-07-20T20:19:51 Added <stdio.h> include for sprintf. It broke Chrome downstream when I bumped the rev. Review URL: http://codereview.appspot.com/1879042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@345 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 91b72320 2010-06-02T15:50:56 Removed the dependency of compiler on common. This is done to make compiler self-sufficient so that it is easier to consume by external developers. I tried to replace all instances of assert by simply redefining assert(x) to ASSERT(x), but was getting a lot of compile errors. I still need to investigate that. Review URL: http://codereview.appspot.com/1461041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@323 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 4e4facd4 2010-06-02T15:21:22 Refactored InfoSink. I have replaced most instances of sprintf with std::ostringstream to make it safer. I have made sure that everything still compiles and passes conformance tests. Review URL: http://codereview.appspot.com/1391041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@322 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
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 c6977ce5 2010-05-14T17:30:42 Fixed initialization and comparison of variable Types TRAC #12262 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@280 736b8ea6-26fd-11df-bfd4-992fa37f6226
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