Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 0b8d4eb2 | 2011-04-04 19: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 | ||
| f02c9e62 | 2011-04-04 14:03:20 | Fix resizing the string buffer. Issue=117 TRAC #15793 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@605 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| ae345807 | 2011-03-30 22:04:25 | Add support for eglBindTexImage and eglReleaseTexImage With this patch we can bind pbuffers as textures. Once we add support for using a sharing handle to create a pbuffer we can use this to allow us to use it as a texture as well. BUG=129 TEST=modified Simple_Texture2D works Review URL: http://codereview.appspot.com/4291066/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@604 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| b627699f | 2011-03-29 00:58:18 | Use D3DX to copy between renderable texture surfaces. TRAC #16118 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@598 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 549bdefe | 2011-03-29 00:57:01 | Retrieve the D3D texture format per image. TRAC #16118 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@597 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| d976b584 | 2011-03-29 00:56:20 | Consistently use the virtual keyword on virtual overloaded methods. TRAC #16118 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@596 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| db7cd0b2 | 2011-03-29 00:55:31 | Fix Visual C++ linking in stand-alone project TRAC #16118 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@595 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 36ed96e0 | 2011-03-24 21:55:11 | Fix angle version in version.h BUG=none TEST=none TBR=apatrick@chromium.org Review URL: http://codereview.appspot.com/4309046 git-svn-id: https://angleproject.googlecode.com/svn/trunk@594 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 2a5645f7 | 2011-03-24 21:36:51 | Fix a typo in r592. (I developped on Windows and typed in on Mac and submit). BUG=135 TEST=build fine TBR=kbr@chromium.org Review URL: http://codereview.appspot.com/4285066 git-svn-id: https://angleproject.googlecode.com/svn/trunk@593 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 53d73e04 | 2011-03-24 21:27:57 | glGetProgramiv(GL_ACTIVE_UNIFORM_MAX_LENGTH) should count an extra 3 if uniform is an array because "[0]" is appended. BUG=135 TEST=the attached htm in the bug runs ok Review URL: http://codereview.appspot.com/4287077 git-svn-id: https://angleproject.googlecode.com/svn/trunk@592 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 8ea5afef | 2011-03-23 20: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 | ||
| a06aa870 | 2011-03-21 17:22:21 | Track dirty texture parameters and images separately. TRAC #15703 Issue=86 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@590 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| a9eb5dac | 2011-03-21 16:39:16 | Track texture serials instead of id's. TRAC #15703 Issue=86 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@589 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 38e76e53 | 2011-03-21 16:39:10 | Keep track of applied textures and dirty state to minimize D3D calls. TRAC #15703 Issue=86 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@588 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 51887316 | 2011-03-21 16:39:03 | Fix checking for floating-point render target texture support. TRAC #15703 Issue=86 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@587 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| f4e36037 | 2011-03-21 16:38:59 | Copy texture data of incomplete textures to the image arrays. TRAC #15703 Issue=86 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@586 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 94a4f03f | 2011-03-21 16:38:55 | Retrieve current texture properties from the image array to avoid D3D call. TRAC #15703 Issue=86 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@585 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 6120820e | 2011-03-21 16:38:50 | Retrieve texture width, height and type from the top-level image. TRAC #15703 Issue=86 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@584 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| b5a3a6b6 | 2011-03-21 16:38:46 | Texture image refactoring. TRAC #15703 Issue=86 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@583 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| c50edcb2 | 2011-03-21 16:38:40 | Remove redundant dirtyImageData() check. TRAC #15703 Issue=86 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@582 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 0bd22bc9 | 2011-03-21 16:38:26 | Check image type in texture completeness test. TRAC #15703 Issue=86 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@581 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 8a0a2db7 | 2011-03-21 16:38:20 | InternalFormat and format are the same. TRAC #15703 Issue=86 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@580 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| aed1832d | 2011-03-21 16:38:13 | Fix dirty texture state management. TRAC #15703 Issue=86 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@579 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 68076a07 | 2011-03-21 16:38:09 | Eliminate the weak base texture pointer. TRAC #15703 Issue=86 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@578 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 831fe2af | 2011-03-17 18:44:29 | Fixed framebuffer-object-attachment WebGL conformance test. We updated it with WebGL conformance test r14153 to exercise zero-size FBO attachments, which failed with ANGLE. The new conformance test passes with OpenGL and Mesa. See this Chromium bug: http://code.google.com/p/chromium/issues/detail?id=75666 D3D fails if you try to create a zero size depth buffer but OpenGL ES2 allows it. D3D / drivers seem to sometimes crash rather than fail normally, though this might just be because some users have enabled the D3D debug runtime and break on error and we're getting the reports. It was also returning unexpected results when calling GetRenderbufferParameter for parameters that do not apply to a particular buffer. For example, RED_SIZE for a zero sized depth buffer should be 0. Tested by running WebGL conformance test with retail D3D runtime (passes) and debug D3D runtime (passes and does not assert in D3D or ANGLE). Review URL: http://codereview.appspot.com/4284053 git-svn-id: https://angleproject.googlecode.com/svn/trunk@577 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| f963e92f | 2011-03-15 18:25:13 | Update contributors and version git-svn-id: https://angleproject.googlecode.com/svn/trunk@576 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| b969cc52 | 2011-03-15 18:23:59 | Fix clang warnings in PoolAlloc.cpp Issue=127 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Part 4 of 5: <http://webkit.org/b/56337> Enable -Werror on ANGLE Upstream bug: <http://code.google.com/p/angleproject/issues/detail?id=127> Fixes the following static analyzer warnings: src/compiler/PoolAlloc.cpp:154:26:{154:24-154:25}{154:28-154:42}: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare,2] for (size_t x = 0; x < guardBlockSize; x++) { ~ ^ ~~~~~~~~~~~~~~ src/compiler/PoolAlloc.cpp:159:55:{159:54-159:56}{160:30-160:34}: warning: conversion specifies type 'unsigned int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat,7] sprintf(assertMsg, "PoolAlloc: Damage %s %u byte allocation at 0x%p\n", ~^ %lu fix-it:"src/compiler/PoolAlloc.cpp":{159:54-159:56}:"%lu" * src/compiler/PoolAlloc.cpp: (TAllocation::checkGuardBlock): Changed '%u' to '%lu' for size_t variable. Put for loop inside #ifdef GUARD_BLOCKS/#endif macros to fix tautological-compare warning. (TAllocation::checkAllocList): Added newline to end of file. Author: David Kilzer <ddkilzer@apple.com> git-svn-id: https://angleproject.googlecode.com/svn/trunk@575 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| ea993576 | 2011-03-15 18:23:55 | Fix clang warnings: Intermediate.cpp: warning: '&&' within '||' Issue=126 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Part 3 of 5: <http://webkit.org/b/56337> Enable -Werror on ANGLE Upstream bug: <http://code.google.com/p/angleproject/issues/detail?id=126> Fixes the following static analyzer warnings: src/compiler/Intermediate.cpp:1008:55:{1008:17-1008:54}: warning: '&&' within '||' [-Wlogical-op-parentheses,2] if (left->isMatrix() && right->isVector() || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ src/compiler/Intermediate.cpp:1008:55: note: place parentheses around the '&&' expression to silence this warning [2] if (left->isMatrix() && right->isVector() || ^ ( ) fix-it:"src/compiler/Intermediate.cpp":{1008:17-1008:17}:"(" fix-it:"src/compiler/Intermediate.cpp":{1008:54-1008:54}:")" src/compiler/Intermediate.cpp:1008:55:{1009:17-1009:54}: warning: '&&' within '||' [-Wlogical-op-parentheses,2] if (left->isMatrix() && right->isVector() || ^ src/compiler/Intermediate.cpp:1008:55: note: place parentheses around the '&&' expression to silence this warning [2] if (left->isMatrix() && right->isVector() || ^ fix-it:"src/compiler/Intermediate.cpp":{1009:17-1009:17}:"(" fix-it:"src/compiler/Intermediate.cpp":{1009:54-1009:54}:")" src/compiler/Intermediate.cpp:1020:55:{1020:17-1020:54}: warning: '&&' within '||' [-Wlogical-op-parentheses,2] if (left->isMatrix() && right->isVector() || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ src/compiler/Intermediate.cpp:1020:55: note: place parentheses around the '&&' expression to silence this warning [2] if (left->isMatrix() && right->isVector() || ^ ( ) fix-it:"src/compiler/Intermediate.cpp":{1020:17-1020:17}:"(" fix-it:"src/compiler/Intermediate.cpp":{1020:54-1020:54}:")" src/compiler/Intermediate.cpp:1020:55:{1021:17-1021:54}: warning: '&&' within '||' [-Wlogical-op-parentheses,2] if (left->isMatrix() && right->isVector() || ^ src/compiler/Intermediate.cpp:1020:55: note: place parentheses around the '&&' expression to silence this warning [2] if (left->isMatrix() && right->isVector() || ^ fix-it:"src/compiler/Intermediate.cpp":{1021:17-1021:17}:"(" fix-it:"src/compiler/Intermediate.cpp":{1021:54-1021:54}:")" * src/compiler/Intermediate.cpp: (TIntermBinary::promote): Added parnetheses. Author: David Kilzer <ddkilzer@apple.com> git-svn-id: https://angleproject.googlecode.com/svn/trunk@574 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 0eb64c3a | 2011-03-15 18:23:51 | Fix clang warning: ParseHelper.cpp:264:13: warning: 8 enumeration values not handled in switch Issue=125 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Part 2 of 5: <http://webkit.org/b/56337> Enable -Werror on ANGLE Upstream bug: <http://code.google.com/p/angleproject/issues/detail?id=125> Fixes the following static analyzer warning: src/compiler/ParseHelper.cpp:264:13: warning: 8 enumeration values not handled in switch: 'EbtVoid', 'EbtBool', 'EbtGuardSamplerBegin'... [-Wswitch-enum,2] switch( type ){ ^ * src/compiler/ParseHelper.cpp: (TParseContext::precisionErrorCheck): Added a default case. Author: David Kilzer <ddkilzer@apple.com> git-svn-id: https://angleproject.googlecode.com/svn/trunk@573 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| cd3a1b94 | 2011-03-15 18:23:46 | Fix clang warning: ConstantUnion.h:56:17: warning: 7 enumeration values not handled in switch Issue=124 Part 1 of 5: <http://webkit.org/b/56337> Enable -Werror on ANGLE Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Upstream bug: <http://code.google.com/p/angleproject/issues/detail?id=124> Fixes the following static analyzer warning: In file included from src/compiler/debug.cpp:14: In file included from src/compiler/ParseHelper.h:10: In file included from src/compiler/localintermediate.h:11: In file included from src/compiler/intermediate.h:21: src/compiler/ConstantUnion.h:56:17: warning: 7 enumeration values not handled in switch: 'EbtVoid', 'EbtGuardSamplerBegin', 'EbtSampler2D'... [-Wswitch-enum,2] switch (type) { ^ * src/compiler/ConstantUnion.h: (ConstantUnion::operator==): Added a default case. Author: David Kilzer <ddkilzer@apple.com> git-svn-id: https://angleproject.googlecode.com/svn/trunk@572 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 35ce8e1c | 2011-03-14 23: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 | ||
| 0b53fc05 | 2011-03-09 15:12:12 | Fix NULL dereference for empty constructors. Issue=123 Patch by Jacob Benoit. git-svn-id: https://angleproject.googlecode.com/svn/trunk@570 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 62f20f9d | 2011-03-09 15:10:18 | Newlines in multi-line comments don't count as a newline. TRAC #15791 Issue=114 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@569 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 3d8115ff | 2011-03-09 15:07:33 | Improve debug log formatting. TRAC #15791 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@568 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 3829f80c | 2011-02-28 15:06:59 | Fixed a floating-point parsing assert. TRAC #15790 Issue=99,112 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@567 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 3b5643cf | 2011-02-28 15:06:55 | Avoid division by zero in the preprocessor Trac #15792 Issue=115 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@566 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 8fd34bd6 | 2011-02-18 02: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 | ||
| e90a0d5a | 2011-02-18 02:52:06 | Minor refactoring. TRAC #15551 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@563 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 05a5d8e0 | 2011-02-16 19: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 | ||
| 11dd5dda | 2011-02-11 13:28:14 | Fix varying packing. TRAC #15550 Issue=111 Fix by Ranger Harke Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@561 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 97750022 | 2011-02-11 13:23:13 | Fix varying relinking. TRAC #15527 Issue=100 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@560 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| b31f35ab | 2011-02-11 13:19:35 | Fix invalid compare operation asserts. TRAC #15551 Issue=116 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@559 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 721b7f26 | 2011-02-11 00:54:47 | Issue=91 -- implement pbuffers in ANGLE; add D3D share handle support git-svn-id: https://angleproject.googlecode.com/svn/trunk@558 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 9e83b593 | 2011-02-10 22:04:34 | Check for device lost with CheckDeviceState when using D3D9Ex. According to the docs, TestCooperativeLevel is a no-op with D3D9Ex. http://msdn.microsoft.com/en-us/library/bb174348(VS.85).aspx I believe it is safe to ignore the additional return values from CheckDeviceState. Some appear to be to allow optimization when a window is occluded. The new errors seem to be best treated as device lost as we were before. Although if the device is removed (!) I'm not sure what to do. It might also be useful to communicate D3DERR_DEVICEHUNG to Chromium in the future so it can use it as a hint to back off. Tested that D3D9 and D3D9Ex take the appropriate paths through Display::isDeviceLost. Bug: http://code.google.com/p/angleproject/issues/detail?id=113 Review URL: http://codereview.appspot.com/4154042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@557 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 1615be20 | 2011-02-09 16:30:06 | Fix anti-aliased clears. TRAC #15445 Issue=82 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@556 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| f1f538ef | 2011-02-09 16: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 | ||
| e41afd8d | 2011-02-01 18:49:22 | fix pedantic compiler warnings Issue=108 git-svn-id: https://angleproject.googlecode.com/svn/trunk@554 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| d2fd4f2a | 2011-02-01 18:49:11 | Fix FBO/Texture/renderbuffer class hierarchy issues TRAC #14744 Issue=51/52 Delegated format queries to RenderbufferStorage. Eliminated TextureColorbufferProxy by merging it into Colorbuffer. Abstracted texture colorbuffer queries. Moved some conversion functions to the right namespace. Fixed line-endings in Texture.cpp Signed-off-by: Daniel Koch Author: Nicolas Capens <nicolas@transgaming.com> git-svn-id: https://angleproject.googlecode.com/svn/trunk@553 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 7cfb2cff | 2011-02-01 01:24:29 | Allow variable names with length of up to 256 characters (this is required by WebGL spec). BUG=109 TEST=the 256-character variable test in glsl-conformance.html passes Review URL: http://codereview.appspot.com/3981050 git-svn-id: https://angleproject.googlecode.com/svn/trunk@552 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 9f300b0f | 2011-01-31 20:36:48 | Fixed commitRect so it correctly flips the source rectangle and dest point on Y. Review URL: http://codereview.appspot.com/4047050 git-svn-id: https://angleproject.googlecode.com/svn/trunk@551 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 55d0be04 | 2011-01-28 22:05:31 | Reject non-ASCII characters in shader source at the preprocessor level. Review URL: http://codereview.appspot.com/4094047 git-svn-id: https://angleproject.googlecode.com/svn/trunk@545 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 0f4cefe9 | 2011-01-26 19: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 | ||
| e9874058 | 2011-01-26 17:32:26 | Fix issues with preprocessor on very malformed shaders Trac #15236,#15237,#15238,#15239 Error out instead of continued processing when we already know the preprocessor directives are bungled. Generally be more careful about the order in which cpp->elsetracker and cpp->ifdepth are checked/operated on. Validate all accesses of cpp->elsedepth to ensure no out of bounds accesses occur. Also slipped in a few indentation/spacing fixes. Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@540 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| a0ce7e61 | 2011-01-25 14: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 | ||
| da4d0494 | 2011-01-22 00:16:10 | Fixed gl_PointCoord Y coordinate. I forgot to flip (or rather unflip) the Y coord in r536. Tested particle system sample and ran conformance tests. All conformance tests passed. Review URL: http://codereview.appspot.com/4093043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@537 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| b31f532d | 2011-01-19 19: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 | ||
| 3bd9d90f | 2011-01-19 03:27:39 | Build fix needed on certain platforms. Explicitly cast away const. BUG=none TEST=built within WebKit on Mac OS X in release mode TBR=daniel Review URL: http://codereview.appspot.com/4043042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@535 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| e26cb5e4 | 2011-01-18 21:27:02 | Increase GLSL version to 1.20 if the shader contains any matrix constructor calls taking a matrix as argument; these were reserved in GLSL 1.10. This makes http://sio29.sakura.ne.jp/tmp/webgl/index_eruru.html load correctly once https://bugs.webkit.org/show_bug.cgi?id=52390 is fixed. BUG=103 TEST=none Review URL: http://codereview.appspot.com/4034041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@534 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 1fe96c9a | 2011-01-14 15:08:44 | add glRenderbufferStorageMultisampleANGLE support to glGetProcAddress Trac #15095 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@533 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 3aba7337 | 2011-01-14 15:08:35 | BlitFramebuf: reuse local size variables Trac #15095 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@532 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| f759f7a4 | 2011-01-13 21:42:53 | Review: http://codereview.appspot.com/3969041/ Fixed dangling pointers in Surface. When the surface is reset, either because of device lost or a window resize, and any of these fail: CreateDepthStencilSurface CreateTexture Some subsset of mSwapChain and/or mDepthStencil would be left uninitialized. This seemed to happen frequently on WIndows XP boxes. Example crash dumps: Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @ 0xffffffff800f0004 ) 0x014f1aac [libegl.dll - surface.cpp:479] egl::Surface::getDepthStencil() 0x1001324c [libglesv2.dll - context.cpp:301] gl::Context::makeCurrent(egl::Display *,egl::Surface *) 0x10018c7e [libglesv2.dll - main.cpp:85] gl::makeCurrent(gl::Context *,egl::Display *,egl::Surface *) 0x10017366 [libglesv2.dll - context.cpp:3524] glMakeCurrent 0x014f607c [libegl.dll - libegl.cpp:884] eglMakeCurrent Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @ 0xffffffffe95b5a5d ) 0x01131a14 [libegl.dll - surface.cpp:433] egl::Surface::swap() 0x01136310 [libegl.dll - libegl.cpp:1043] eglSwapBuffers 0x0214ac64 [chrome.dll - gl_context_egl.cc:240] gfx::NativeViewEGLContext::SwapBuffers() git-svn-id: https://angleproject.googlecode.com/svn/trunk@531 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| ddcd7378 | 2011-01-08 05:46:33 | Re-implemented line loop support. TRAC #14870 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@530 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| ee04e455 | 2011-01-08 05:46:27 | Create dynamic buffers in the default pool. TRAC #14889 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@529 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 5ee2ad08 | 2011-01-08 05:46:20 | Optimized non-static usage of static buffers. Validate buffer pointers. TRAC #14889 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@528 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 37b141e2 | 2011-01-08 05:46:13 | Create buffers in the managed pool on Windows XP. TRAC #14888 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@527 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 83921386 | 2011-01-08 05: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 | ||
| d2fed1c7 | 2011-01-06 21:51:20 | Fixed compile errors that show up when _UNICODE is not defined. Review URL: http://codereview.appspot.com/3772045 git-svn-id: https://angleproject.googlecode.com/svn/trunk@525 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 71557745 | 2011-01-06 21:46:29 | Added a compile flag so that writing to the debug log file can be turned off. Review URL: http://codereview.appspot.com/3733043/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@524 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| ad5df071 | 2011-01-06 21:07:46 | Fix for loading L/LA images into a native (8/16-bit) D3D surface. Review URL: http://codereview.appspot.com/3805044 git-svn-id: https://angleproject.googlecode.com/svn/trunk@523 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 17767ceb | 2010-12-17 15:57:41 | Implemented copying from A1R5G5B5 to L8 and A8L8. Fixed the copying range. TRAC #14885 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@515 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| ac369f3d | 2010-12-15 15:46:00 | Fix structure parsing regression. TRAC #14717 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@511 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| a41e6e3a | 2010-12-15 15:45:30 | Fix support for arrays of sampler uniforms. TRAC #14840 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@510 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| eea70793 | 2010-12-15 15:44:59 | Fix querying active attributes. TRAC #14849 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@509 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 41b2fbdd | 2010-12-13 18:27:12 | Fix support for arrays of samplers. TRAC #14840 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@507 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 5efd8b45 | 2010-12-13 14:48:03 | Fix infinite loops in preprocessor when EOF encountered while scanning for newlines. Trac #14837 Issue=42 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@506 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 9a76b814 | 2010-12-12 08:53:34 | Fix memory leak in float literal parsing Issue=93 Contributed by Benoit Jacob git-svn-id: https://angleproject.googlecode.com/svn/trunk@504 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 7595a122 | 2010-12-12 08:53:27 | Fix infinite loop in eglCreateWindowSurface Issue=90 Contributed by vladimirv git-svn-id: https://angleproject.googlecode.com/svn/trunk@503 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 7b17facf | 2010-12-12 08:52:58 | fix comparison between signed and unsigned integer expressions in TParseContext::constructorErrorCheck Issue=78 Contributed by timeless git-svn-id: https://angleproject.googlecode.com/svn/trunk@502 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 90d57a3f | 2010-12-12 08:52:49 | Fix TType::TType constructors to initialize members in correct order Issue=77 Contributed by timeless git-svn-id: https://angleproject.googlecode.com/svn/trunk@501 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 7ea933f5 | 2010-12-12 08:52:42 | Fix potential sscanf overflows in Shader.cpp Issue=76 Contributed by ddefrostt git-svn-id: https://angleproject.googlecode.com/svn/trunk@500 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| db9cac07 | 2010-12-09 20:16:17 | Don't unsubclass the surface's output window if the window has been destroyed. Review URL: http://codereview.appspot.com/3357041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@499 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| d32941b9 | 2010-11-28 02:03:07 | Add missing files to the Visual Studio project. Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@498 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 458da14d | 2010-11-28 02:03:02 | Increase the number of fragment uniform vectors. TRAC #14504 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@497 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 265f4507 | 2010-11-28 02:02:58 | Increase the number of vertex uniform vectors. TRAC #14504 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@496 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 3175496d | 2010-11-28 02: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 | ||
| ce9952c5 | 2010-11-28 02:02:47 | Increase the number of supported vertex attributes. TRAC #14504 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@494 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| beb2a273 | 2010-11-26 16:26:16 | Render directly to a render target texture. TRAC #14506 This speeds up surface swapping by avoiding an unnecessary StretchRect from a render target surface to a render target texture (anti-aliased surfaces are unsupported so no resolve is needed). Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@493 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 396c643d | 2010-11-26 16:26:12 | Increase the number of varying vectors to 10 on Shader Model 3.0 devices. TRAC #14503 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@492 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| b59a778c | 2010-11-24 18: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 | ||
| 9d1c9b4b | 2010-11-23 22:05:41 | glGenerateMipmap now does not force textures to become render targets. For textures that are not already render targets, use the CPU to filter them and mark them as dirty. I tested it by modifying the "mip_map_2d" demo to call glGenerateMipmap instead of generating the mipmaps itself. I also used the debugger to force it to take the render target path and verified that it still worked. We've been having problems with the display being reset when video memory pressure is heavy with one of our demos. This patch made a noticable improvement on Vista but I don't think it will necessarily help on XP. Review URL: http://codereview.appspot.com/3262041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@490 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| bafcbaa3 | 2010-11-23 19:07:43 | Moved the global-pool-allocator to TCompiler so that all memory allocated by the compiler can be de-allocated. Earlier the global-pool-allocator kept accumulating memory from all compilers (symbol-table in particular). The memory was only de-allocated when gpu-process exited or ShFinalize() was called. This was a problem for Chromium which keeps the GPU process around for the browser session. Now the memory is de-allocated as soon as the compiler is deleted, which happens when a tab is closed. BUG=58808 (crbug.com) Review URL: http://codereview.appspot.com/3280041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@489 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| a5a8a0ad | 2010-11-19 14:55:32 | Fix active texture handling. TRAC #14429 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@488 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| ce864420 | 2010-11-18 13:16:49 | Add an array index to arrays of structures. TRAC #13625 This patch ensures that (member variables of) arrays of structures are listed separately by glGetActiveUniforms(). Their location can also be retrieved individually with glGetUniformLocation() using the array operator. Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@487 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| a6e31e58 | 2010-11-18 00:24:27 | Resize surface on receipt of WM_SIZE to avoid corruption during resize. We hook WM_SIZE using window subclassing. This is a continuation of http://codereview.appspot.com/3038042/ Review URL: http://codereview.appspot.com/3122041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@486 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 3a053f26 | 2010-11-17 21: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 | ||
| b3abc78b | 2010-11-17 21:31:59 | Fixed compile error introduced in r482. git-svn-id: https://angleproject.googlecode.com/svn/trunk@484 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 996675c6 | 2010-11-17 13:06:29 | Fixed skipping over internal uniforms in getActiveUniform. TRAC #14390 Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@483 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| 52813558 | 2010-11-16 18: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 | ||
| 9c857952 | 2010-11-16 18:27:58 | Made GL_RGB textures map to D3DFMT_X8R8G8B8. I suspect there is a subtle reason why this is the wrong thing to do. The issue I am trying to address is glBlitFramebufferANGLE generating an error when bliting from a GL_RGB8_OES renderbuffer to a GL_RGB texture bound to the read framebuffer and draw framebuffer respectively. It verifies that both surfaces have the same underlying D3DFMT but GL_RGB8_OES renderbuffers are backed by X8R8G8B8 and GL_RGB textures were previously backed by A8R8G8B8. Since textures cannot as far as I know be created GL_RGB8_OES, it would be useful to have a way to blit from a GL_RGB8_OES renderbuffer to a GL_RGB texture. Review URL: http://codereview.appspot.com/2822041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@481 736b8ea6-26fd-11df-bfd4-992fa37f6226 | ||
| f99fbb77 | 2010-11-16 01:57:05 | Check that IDirect3DVertexBuffer9 and IDirect3DIndexBuffer9::Lock succeed. I've been seeing crashes like this on Windows XP: 0x013319aa [libglesv2.dll - memcpy.asm:188] memcpy 0x0130989a [libglesv2.dll - vertexdatamanager.cpp:164] gl::VertexDataManager::preRenderValidate(int,int,gl::TranslatedAttribute *) 0x01304f66 [libglesv2.dll - context.cpp:1996] gl::Context::applyVertexBuffer(unsigned int,int,int,bool *,gl::TranslatedIndexData *) 0x013061a7 [libglesv2.dll - context.cpp:2648] gl::Context::drawArrays(unsigned int,int,int) 0x012f7721 [libglesv2.dll - libglesv2.cpp:1741] glDrawArrays 0x01c54f1e [chrome.dll - gles2_cmd_decoder.cc:3179] gpu::gles2::GLES2DecoderImpl::DoDrawArrays(unsigned int,int,int) 0x01c59122 [chrome.dll - gles2_cmd_decoder_autogen.h:640] gpu::gles2::GLES2DecoderImpl::HandleDrawArrays(unsigned int,gpu::gles2::DrawArrays const &) Review URL: http://codereview.appspot.com/3043042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@480 736b8ea6-26fd-11df-bfd4-992fa37f6226 |