1. 21 Mar, 2011 11 commits
  2. 17 Mar, 2011 1 commit
    • Fixed framebuffer-object-attachment WebGL conformance test. · 831fe2af
      apatrick@chromium.org authored
      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
  3. 15 Mar, 2011 5 commits
    • Update contributors and version · f963e92f
      daniel@transgaming.com authored
      git-svn-id: https://angleproject.googlecode.com/svn/trunk@576 736b8ea6-26fd-11df-bfd4-992fa37f6226
    • Fix clang warnings in PoolAlloc.cpp · b969cc52
      daniel@transgaming.com authored
      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
    • Fix clang warnings: Intermediate.cpp: warning: '&&' within '||' · ea993576
      daniel@transgaming.com authored
      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
    • Fix clang warning: ParseHelper.cpp:264:13: warning: 8 enumeration values not handled in switch · 0eb64c3a
      daniel@transgaming.com authored
      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
    • Fix clang warning: ConstantUnion.h:56:17: warning: 7 enumeration values not handled in switch · cd3a1b94
      daniel@transgaming.com authored
      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
  4. 14 Mar, 2011 1 commit
  5. 09 Mar, 2011 3 commits
  6. 28 Feb, 2011 2 commits
  7. 18 Feb, 2011 3 commits
  8. 16 Feb, 2011 1 commit
  9. 11 Feb, 2011 4 commits
  10. 10 Feb, 2011 1 commit
  11. 09 Feb, 2011 2 commits
  12. 01 Feb, 2011 3 commits
  13. 31 Jan, 2011 1 commit
  14. 28 Jan, 2011 1 commit
  15. 26 Jan, 2011 1 commit
    • Map D3D calls and HLSL shaders back to GLES2 calls and GLSL ES shaders in PIX. · 0f4cefe9
      apatrick@chromium.org authored
      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