src/build_angle.gyp


Log

Author Commit Date CI Message
apatrick@chromium.org 3e8fc7f6 2012-08-30T21:15:39 Move targets from src\build_angle.gyp to src\build_angle.gypi This enables Skia to compile ANGLE Review URL: https://codereview.appspot.com/6492063 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1268 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ca8c1693 2012-08-27T16:25:43 Moved SSE2 code to separated file to allow using different compiler flags on GCC To use SSE2 in GCC, a compiler -msse2 flag is needed. It adds both possibility to write SSE2 code in the file, but also allows compiles to optimize the whole file with SSE2. To make sure that the code works on non-SSE2 machines, moving SSE2 functions to separated file and compiling only that file with -msse2 is the common practice. Issue=358 Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@1262 736b8ea6-26fd-11df-bfd4-992fa37f6226
maxvujovic@gmail.com 28a6b5f8 2012-07-25T21:01:45 Add angle_code var to common.gypi and build_angle.gyp. Add GCC and clang warning flags from WebKit to ANGLE Mac and Linux builds. The angle_code var differentiates between core ANGLE code vs. test code, sample code, and third party code. Review URL: https://codereview.appspot.com/6427049/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@1244 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 728f2798 2012-07-24T19:46:53 Revert r1230. See https://codereview.appspot.com/6427049/. Review URL: https://codereview.appspot.com/6422063 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1243 736b8ea6-26fd-11df-bfd4-992fa37f6226
maxvujovic@gmail.com d6fddbf1 2012-07-24T18:13:49 Add GCC and clang warning flags from WebKit to ANGLE Mac and Linux builds Review URL: https://codereview.appspot.com/6427049/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@1230 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org fc0543f4 2012-07-11T20:31:02 This patch reverts r1203, but in slightly different way. It seems there is a problem with the config of memory bots. The usage of std::locale in ANGLE is fine. Review URL: https://codereview.appspot.com/6392052 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1205 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 8963ec2a 2012-07-09T22:34:06 Implement binary streams. Review URL: https://codereview.appspot.com/6357050 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1200 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org f099dfdb 2012-07-09T17:48:10 Enable the new preprocessor. Passes all unit-tests and WebGL conformance tests! Review URL: https://codereview.appspot.com/6357055 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1194 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 73bc298e 2012-06-19T18:48:05 Hooked up the new preprocessor behind a compile-time flag ANGLE_USE_NEW_PREPROCESSOR. Review URL: https://codereview.appspot.com/6304095 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1158 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 8b851c6d 2012-06-15T16:25:11 Preparation of hooking up the new preprocessor. - Added custom Diagnostics class. Routed all info-log messages via this new class. - Added custom DirectiveHandler class. Moved directive-handling code to this class and routed the old path. - Deleted lexer_glue because it is not needed anymore. The new preprocessor is almost ready! - Killed a bunch of dead code related to PragmaTable. Review URL: https://codereview.appspot.com/6308074 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1150 736b8ea6-26fd-11df-bfd4-992fa37f6226
maxvujovic@gmail.com 430f5e0c 2012-06-08T17:47:59 Add the SH_CSS_SHADERS_SPEC flag. Review URL: https://codereview.appspot.com/6270050/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@1145 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org ea09f9b4 2012-06-08T00:45:32 Move ProgramBinary into new file. Review URL: https://codereview.appspot.com/6299058 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1144 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 679280b2 2012-05-31T22:41:21 Fix gyp build and disable warning that is an error in Chrome. Review URL: https://codereview.appspot.com/6260063 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1127 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e2095642 2012-05-31T01:20:20 Add analysis utility to detect discontinuities. TRAC #20737 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1120 736b8ea6-26fd-11df-bfd4-992fa37f6226
maxvujovic@gmail.com 66ebd014 2012-05-30T22:18:11 Add the SH_TIMING_RESTRICTIONS compile flag and dependency graph implementation. Description of the algorithm: http://code.google.com/p/mvujovic/wiki/ShaderControlFlowAnalysis This flag is one potential solution to timing attacks on textures containing cross-domain content or user agent data. This kind of analysis could be useful for both WebGL and CSS Shaders. The SH_TIMING_RESTRICTIONS flag will reject a shader if it uses texture dependent data to affect control flow. Other ways of affecting shader timing such as using NaNs in basic arithmetic operations or using built-in functions (e.g. atan) with different inputs are still under investigation. Issue=329 Review URL: http://codereview.appspot.com/6195062/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@1101 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 36124de8 2012-05-24T02:17:43 Implemented #error and #pragma directives. Added new tests and updated old ones for the new preprocessor API. Review URL: https://codereview.appspot.com/6213066 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1094 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 98d04ec8 2012-05-21T22:47:20 Implemented #define and #undef directives. Review URL: https://codereview.appspot.com/6215072 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1092 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 964b7194 2012-05-17T21:12:27 Fixed compile error in lexer_glue.cpp. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1089 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 2c958eef 2012-05-17T20:35:42 Moved error-handling to a separate class - Diagnostics. We were earlier returning errors as tokens which did not work very well when error occured while parsing a preprocessor directive. Now all returned tokens are valid. Errors are reported via an abstract Diagnostics interface. Updated unit-tests with the new scheme. Review URL: https://codereview.appspot.com/6203089 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1087 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 04d7d22b 2012-05-16T19:24:07 Reafactored Lexer class to allow chaining. The full chain when parsing #if directive looks like this: Preprocessor -> MacroExpander -> DirectiveHandler -> MacroExpander -> DefinedFilter -> Tokenizer. This chain dynamically changes depending on the current context. Also added an incomplete implementation of #if handling and ExpressionParser to illustrate how this design is supposed to work. Review URL: https://codereview.appspot.com/6203060 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1084 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
alokp@chromium.org 14e966b2 2012-04-12T20:57:53 Modified the interface of Preprocessor. Added it to the build file. Lexer changes to record leading space. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1033 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 40da4c53 2012-04-12T05:23:19 Added HAS_LEADING_SPACE flag to pp::Token. Split the new preprocessor into a separate target. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1032 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 408c45e7 2012-04-05T15:54:43 Added an alternate lexer for the existing preprocessor. It is still behind a compile-time flag. Review URL: https://codereview.appspot.com/5976072 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1019 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org b474de34 2012-02-08T18:55:41 Move translator_hlsl target into Windows specific section of build_angle.gyp. Review URL: https://codereview.appspot.com/5639055 git-svn-id: https://angleproject.googlecode.com/svn/trunk@985 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 90f1eb81 2012-02-08T02:00:33 Remove 'chromium_code' from build_angle.gyp. This is because the ninja build system, unlike make, builds translator_hlsl and fails on the clang warnings. Review URL: https://codereview.appspot.com/5647048 git-svn-id: https://angleproject.googlecode.com/svn/trunk@984 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org f3c92311 2012-01-25T00:51:19 Fix remaining compiler warnings in translator_common. One MSVC warning and one GCC warning. I also added a variable to build_angle.gyp that will enforce various rules not normally applied to third party software when built as part of chromium. Review URL: https://codereview.appspot.com/5570061 git-svn-id: https://angleproject.googlecode.com/svn/trunk@962 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 9dc0a247 2012-01-24T21:45:37 Enable warnings as errors. I didn't do it for translator_common though because it contains automatically generated code. This is improve the signal to noise ratio in the chromium build logs. Review URL: https://codereview.appspot.com/5572055 git-svn-id: https://angleproject.googlecode.com/svn/trunk@960 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org b66a7015 2012-01-23T20:04:48 Moved RefCountObject to common so it can be used by libEGL. Review URL: https://codereview.appspot.com/5557064 git-svn-id: https://angleproject.googlecode.com/svn/trunk@956 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 86bdb824 2012-01-20T18:24:39 Adds support for EXT_occlusion_query_boolean TRAC #19360 Signed-off-by: Daniel Koch Authored-by: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@951 736b8ea6-26fd-11df-bfd4-992fa37f6226
kbr@chromium.org 22152117 2011-10-26T01:18:28 Limit copied uniform and vertex attribute names to the implicit size of the buffers passed in. Increase the size of the buffer the client will allocate for mapped names to be equal to the maximum token length. BUG=http://code.google.com/p/angleproject/issues/detail?id=234 TEST=WebGL conformance test to be checked in soon Review URL: http://codereview.appspot.com/5306063 git-svn-id: https://angleproject.googlecode.com/svn/trunk@804 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org fdea6946 2011-10-24T22:28:18 Checked in change that should have been in r801. Review URL: http://codereview.appspot.com/5318051 git-svn-id: https://angleproject.googlecode.com/svn/trunk@803 736b8ea6-26fd-11df-bfd4-992fa37f6226
zmo@google.com 32e97315 2011-08-24T01:03:11 Emulate certain buil-in functions to work around driver bugs. This is implemented by adding a new compile option SH_EMULATE_BUILT_IN_FUNCTIONS. The emulated functions are names as webgl_originalName_emu so there will never be naming conflicts. At the moment only three functions are emulated: normalize, abs, sign. Also, the compile option will emulate all three. However, the mechanism to emulate only a selected subset is also imeplemented. It can be turned on easily. ANGLEBUG=196 TEST=with this option, the failed test with abs.frag passes. Review URL: http://codereview.appspot.com/4916043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@738 736b8ea6-26fd-11df-bfd4-992fa37f6226
zmo@google.com 0c6bb7a6 2011-08-17T19:39:58 Add an compile option to unroll for-loops with integer indices. ANGLEBUG=193 TEST=with this option, for-loops with integer indices will be unrolled. Review URL: http://codereview.appspot.com/4899047 git-svn-id: https://angleproject.googlecode.com/svn/trunk@734 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 6ae8f6ce 2011-08-10T22:21:35 Removed compiler/unistd.h reference from build_angle.gyp. Review URL: http://codereview.appspot.com/4844062 git-svn-id: https://angleproject.googlecode.com/svn/trunk@725 736b8ea6-26fd-11df-bfd4-992fa37f6226
zmo@google.com b1762df4 2011-07-30T02:04:23 Detect function recursion and reject a shader if detected. ANGLEBUG=191 TEST=shaders with function recursion are rejected. Review URL: http://codereview.appspot.com/4808061 git-svn-id: https://angleproject.googlecode.com/svn/trunk@711 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 1179ecf4 2011-06-14T19:03:39 Added .rc files to gyp file so the version number appears in the resource section for gyp builds. Review URL: http://codereview.appspot.com/4568080 git-svn-id: https://angleproject.googlecode.com/svn/trunk@692 736b8ea6-26fd-11df-bfd4-992fa37f6226
zmo@google.com 5601ea0d 2011-06-10T18:23:25 Implement ES2 backend for Angle translator. With this CL, we have the option to select a code output backend: GLSL, GLSL ES, or HLSL. Note that we always emit the highest supported float precision for fragment shader due to anglebug 168. Although this is a temporary solution, it's not against GLSL ES spec, because it's ok for implementation to upgrade precision. Tested with WebGL conformance test suite, GLES2 conformance test suite (only failed 2/1198), and a few webgl demos, including worlds of webgl, aquarium, etc. anglebug=81 test=translator emitting correct GLSL ES code when ES2 backend is selected. Review URL: http://codereview.appspot.com/4550129 git-svn-id: https://angleproject.googlecode.com/svn/trunk@687 736b8ea6-26fd-11df-bfd4-992fa37f6226
nduca@chromium.org 79169b5a 2011-06-06T19:01:08 Use DwmAPI, if available, to minimize queueing of presents. Review URL: http://codereview.appspot.com/4559065 git-svn-id: https://angleproject.googlecode.com/svn/trunk@673 736b8ea6-26fd-11df-bfd4-992fa37f6226
kbr@chromium.org fe2aff10 2011-06-02T00:23:44 Redid gyp changes in last commit to support debugging of samples on Linux. Fixed bug in translator sample where it was confusing arguments and filenames on POSIX platforms. Review URL: http://codereview.appspot.com/4532108 git-svn-id: https://angleproject.googlecode.com/svn/trunk@665 736b8ea6-26fd-11df-bfd4-992fa37f6226
kbr@chromium.org c6be2264 2011-06-01T23:04:13 Added missing depth argument to GYP which causes the top-level Makefile to be generated into the correct directory on Linux. Added missing library for clients of translator (the samples, in particular). Built all ANGLE targets on Linux and Windows to test these changes. BUG=none TEST=none Review URL: http://codereview.appspot.com/4556072 git-svn-id: https://angleproject.googlecode.com/svn/trunk@664 736b8ea6-26fd-11df-bfd4-992fa37f6226
benvanik@google.com 1a23334f 2011-04-28T19:44:39 Unifying resource handle allocation code with an allocator optimized for O(1) allocs/releases. Issue=143 Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@623 736b8ea6-26fd-11df-bfd4-992fa37f6226
zmo@google.com fd747b86 2011-04-23T01:30:07 Implement shader identifier name mapping. The name mapping happens when an identifier is longer than 32 characters. The name mapping is behind a flag, so it won't happen by default. Also, functions to query the mapped names are added. The purpose of this CL is for the drivers that can't handle long names. For example, linux NVIDIA driver can't handle 256 character name, whereas WebGL spec requires that. This CL also fixes the issue that some of the TIntermSymbols' ids are 0s. ANGLEBUG=144 TEST=test manually with shaders with long identifier names. Review URL: http://codereview.appspot.com/4428058 git-svn-id: https://angleproject.googlecode.com/svn/trunk@619 736b8ea6-26fd-11df-bfd4-992fa37f6226
zmo@google.com 0b8d4eb2 2011-04-04T19:17:11 Unroll for-loop if sampler array uses loop index as its index. If inside a for-loop, sampler array index is the loop index, Mac cg compiler will crash. This CL unroll the loop in such situation. The behavior is: 1) If the for-loop index is a float, we reject the shader. 2) If it is an integer, we unroll the for-loop. Things that should be done in the future are: 1) Add line number macros. 2) Add a limit to unroll iteration count. anglebug=94 Review URL: http://codereview.appspot.com/4331048 git-svn-id: https://angleproject.googlecode.com/svn/trunk@606 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 8ea5afef 2011-03-23T20:44:36 Switched to D3D10 shader compiler. I figured out how to call in to D3DCompiler_xx.dll and still get the ID3DXConstantTable metadata used by ANGLE. There are more optimization levels available with this compiler and the lowest level (0) allows MetaTunnel and MandelBox to compile their shaders quickly. MetaTunnel still does not render correctly unfortunately. I benchmarked eight of the ShaderToy demos and did not notice any performance regression on an nVidia Quadro FX 380. Intel might be adversely affected. I built ANGLE against D3DCompiler_43.dll, while Chrome still ships with 42. I'm not sure if that will make a difference but I'll rev Chrome soon. I also checked WebGL Aquarium and ran the WebGL conformance tests. This will also let me roll r590 into Chromium. It turns out the ForceSymbolReferences setting I added to the libGLESv2 target caused the linker to sometimes crash when making changes and the changes between r577 and r590 consistently lead to a crash. libGLESv2 now has a hard dependency on D3DCompiler_xx.dll via the call in Program.cpp and this seems to not make the linker crash. Review URL: http://codereview.appspot.com/4275063 git-svn-id: https://angleproject.googlecode.com/svn/trunk@591 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 35ce8e1c 2011-03-14T23:57:03 ANGLE depends statically on D3DCompiler_x.dll. This prevents D3DX9 from loading and unloading the DLL whenever D3DXCompileShader is called. Apart from being slow, especially when a debugger is attached, it is not possible for ANGLE to load DLLs after the Chrome sandbox has been enabled. Review URL: http://codereview.appspot.com/4282046 git-svn-id: https://angleproject.googlecode.com/svn/trunk@571 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 8fd34bd6 2011-02-18T02:52:14 Move geometry files. TRAC #15649 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@564 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 a0ce7e61 2011-01-25T14:47:16 Added version info resources. TRAC #15181 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@539 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 83921386 2011-01-08T05:46:00 rewrite buffers implementation to support static buffers more efficiently Bug=89 Trac #13565 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@526 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org b59a778c 2010-11-24T18:38:33 Implemented validation for loop and indexing limitations specified by GLSL ES spec 1.0 Appendix A Section 4 and 5. A couple of things to note: - This CL only validates the "form" of loop and indexing. It does not detect number-of-iterations or out-of-bound access. This will require more involved analysis/heuristics. - I haved combined SH_VALIDATE_CONTROL_FLOW and SH_VALIDATE_INDEXING into one flag - SH_VALIDATE_LOOP_INDEXING. Validating both together is much easier. BUG=48 Review URL: http://codereview.appspot.com/3225041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@491 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 3a053f26 2010-11-17T21:39:54 Removed actions for generating parser-lexer now that they have been checked in. Also removed hooks to pull cygwin - it was only required for flex and bison that are not required anymore. If a developer needs to modify grammar files, he is expected to install cygwin. Review URL: http://codereview.appspot.com/3177042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@485 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
alokp@chromium.org 044a5cf8 2010-11-12T15:42:16 Refactored glslang grammar files to make: - lexer and parser reentrant - line number handling automatic Caveats: - The preprocessor is still not thread-safe and full of bugs. I have another not-yet-ready patch to replace the preprocessor. - The grammar files use options that are not supported by the old versions of flex and bison checked into compiler/tools. So I need to check-in the generated lexer-parser along with a shell script to generate them. Review URL: http://codereview.appspot.com/2992041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@475 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 91ed1494 2010-10-29T03:11:43 Use C locale for atof to ensure using a dot as decimal mark. TRAC #14055 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@470 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 9ecf3950 2010-10-13T19:28:25 GLSL backend now emits "#version 120" to legally access invariant keyword and gl_PointCoord built-in variable. BUG=35 Review URL: http://codereview.appspot.com/2341043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@448 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org c1693978 2010-10-06T02:34:39 Made debug log filename compile time configurable. Define TRACE_OUTPUT_FILE macro to change filename. Default remains "debug.txt" for Visual Studio solution based build. Gyp based build uses "angle-debug.txt". Review URL: http://codereview.appspot.com/2327043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@445 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 07620a58 2010-09-23T17:53:56 - Moved the implementation for ShCompile to the compiler class so that internal details about compiler can be encapsulated. Now we do not need to expose built-in symbol table. - Fixed a few const violations. - Added CollectAttribsUniforms class. BUG=26 Review URL: http://codereview.appspot.com/2263041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@437 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org d3bd0ad3 2010-08-30T18:55:36 Implemented GL_NV_fence extension. I believe I have implemented all features according to the spec. The application is to allow the Chrome command buffer scheduler to be smarter about deciding which command buffer to process. For example, if a WebGL app issued a call to ReadPixels, the scheduler will issue a fence and defer executing the ReadPixels until the status goes true. It can continue to work on other command buffers in the meantime. I tested by modifying the vertex shader demo. After issuing the SwapBuffers i made issue a fence and loop until the status went true and verified it looped several times. I also tested that by calling FinishFence before going into the loop that is did not loop at all. Review URL: http://codereview.appspot.com/1965043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@405 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 94e1934d 2010-08-17T22:19:58 Fixed crash on context lost. This fixes the crash on lost context for vista and windows 7 if suitable drivers are available. It now uses D3D9Ex when available and this only reports lost contexts for hardware failures and suchlike. Testing procedure was: - run simple_vertex_shader without this change. - ctrl+alt+del to lock machine. - return to desktop. - observe that simple_vertex_shader crashes. - repeat with this change and check that simple_vertex_shader is still animating. - simulate the code path that an XP machine would take using the debugger and check that old behavior is preserved. I decided to load D3D9.DLL at runtime for a couple of reasons. First, I didn't want to assume that older implementations of D3D9 would have the Direct3DCreate9Ex entry point. Second, it might be advantageous for some applications to not have a load time dependency on D3D9. I didn't address this for D3DX9 because it's a little harder - there's no clear way to determine which D3DX9_x.DLL library to open. At least D3DX9_x.DLL does not seem to import D3D9.DLL and D3DX is separately redistributable so there is still some advantage to be had. Review URL: http://codereview.appspot.com/1951044 git-svn-id: https://angleproject.googlecode.com/svn/trunk@384 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 257e8d0f 2010-07-28T23:07:39 Added missing sources to build_angle.gyp. Review URL: http://codereview.appspot.com/1907043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@367 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 9ecb9f9d 2010-07-28T19:21:12 Sharing for buffer, texture and renderbuffer objects. TRAC #12496 Derive Renderbuffer, Texture and Buffer from RefCountObject. This class keeps a reference count for all objects that need cross-context reference counting, and also the object id. Restructure Renderbuffers to create a wrapper object and a storage object. Use BindingPointer for all binding points instead of binding by object id. Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@364 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 774d7063 2010-07-21T18:55:45 Cleaned up translator API. Deleted unsupported dead code. BUG=9 Review URL: http://codereview.appspot.com/1665050 git-svn-id: https://angleproject.googlecode.com/svn/trunk@348 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 84a96288 2010-06-02T22:26:52 Moved windows-only targets into OS==win conditional. Review URL: http://codereview.appspot.com/1473043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@325 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 92680f9c 2010-05-10T15:14:11 The script for flex and bison was not being generated properly on linux. Extra quotes were being generated in the command-line around output-file path. This change gets around the problem by expanding string variables instead of list. This has another nice side effect that output file path need not be repeated twice. Review URL: http://codereview.appspot.com/1163041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@253 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org eab1ef12 2010-04-23T17:33:49 Removed unnecessary include paths. Removed the dependency on unistd.h. Moved the generated files to intermediate directory so that the source is not polluted. These changes only affect the gyp build system because they required flex-bison options that are not supported by old binaries in compiler/tools. Another reason to switch to gyp build system. Review URL: http://codereview.appspot.com/994041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@186 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 277ec183 2010-04-23T16:07:34 Added support for building glsl translator on posix platforms. Review URL: http://codereview.appspot.com/958043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@184 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 6e49740d 2010-04-20T20:34:15 Added DX SDK search paths to libGLESv2. Now it builds if these aren't in the default search path. Should it support x64 targets as well? Review URL: http://codereview.appspot.com/949041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@175 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 b8c28edd 2010-04-13T03:26:32 Implement CopyTex(Sub)Image2D TRAC #11474 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@132 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org cf2560dd 2010-04-07T20:39:57 Always build libEGL and libGLESv2 as shared libraries. They do not work as static libraries so there is no point in parametrizing the library type. Review URL: http://codereview.appspot.com/810045 git-svn-id: https://angleproject.googlecode.com/svn/trunk@104 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 403c9e59 2010-04-06T17:53:31 Added libGLESv2, libEGL, and all samples to GYP. Review URL: http://codereview.appspot.com/878042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@100 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 29d56fbb 2010-04-06T15:42:22 Added GYP build files. GYP files are needed for integration with chromium and cross-platform build for glsl translator. It would really be nice if we did not have to maintain two build systems. For now I have only moved the GLSL translator to gyp build system. Please note that the gyp files awkwardly have build_ prefix so they do not conflict with the manually-maintained sln files. Review URL: http://codereview.appspot.com/885043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@98 736b8ea6-26fd-11df-bfd4-992fa37f6226