platform/upstream/libSkiaSharp.git
13 years agoSome final cleanups leading up to The Official Switch to Gyp
epoger@google.com [Tue, 7 Jun 2011 14:48:41 +0000 (14:48 +0000)]
Some final cleanups leading up to The Official Switch to Gyp
see http://codereview.appspot.com/4580043

1. Create a single public skia.gyp file that all outside projects (Chrome,
Android, etc.) should depend on from now on.  I haven't yet created targets
suitable for those projects to use, but this is where we should add them.
2. Make gyp generate its Makefiles within out/ directory, rather than polluting
directories under source control.
3. Modify trunk/Makefile to automatically run gyp_skia and then call the
generated Makefile, to ease developer transition.

git-svn-id: http://skia.googlecode.com/svn/trunk@1526 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoNew benchmarks to determine performance of matrix-point multiplication for floating...
tomhudson@google.com [Tue, 7 Jun 2011 14:31:38 +0000 (14:31 +0000)]
New benchmarks to determine performance of matrix-point multiplication for floating point vs. double matrices.

Over-the-shoulder review by reed@.

git-svn-id: http://skia.googlecode.com/svn/trunk@1525 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd SkFixedFloorToFixed
reed@google.com [Tue, 7 Jun 2011 13:38:39 +0000 (13:38 +0000)]
add SkFixedFloorToFixed

git-svn-id: http://skia.googlecode.com/svn/trunk@1524 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoCorrect argument order for drawSimpleRect()
thakis@chromium.org [Tue, 7 Jun 2011 04:03:17 +0000 (04:03 +0000)]
Correct argument order for drawSimpleRect()

Patch by Ryan Sleevi <rsleevi@chromium.org>
Review URL: http://codereview.appspot.com/4568055/

git-svn-id: http://skia.googlecode.com/svn/trunk@1523 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoCommitting on behalf of gman@chromium.org:
kbr@chromium.org [Tue, 7 Jun 2011 01:27:01 +0000 (01:27 +0000)]
Committing on behalf of gman@chromium.org:

Fix for putImageData

TEST=manually ran tests that were failing
BUG=84165
TBR=reed@google.com

Code review URL: http://codereview.appspot.com/4570042

git-svn-id: http://skia.googlecode.com/svn/trunk@1518 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoIncrease use of SkMatrix::hasPerspective(), merge in has_perspective().
tomhudson@google.com [Mon, 6 Jun 2011 19:11:19 +0000 (19:11 +0000)]
Increase use of SkMatrix::hasPerspective(), merge in has_perspective().
Unifies SkMatrix::hasPerspective(), has_perspective(), and manual tests of SkMatrix::getType & kPerspective_Mask.

git-svn-id: http://skia.googlecode.com/svn/trunk@1517 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoMake scalar benchmarks compile and run under SKIA_SCALAR=fixed as well as float.
tomhudson@google.com [Mon, 6 Jun 2011 17:55:11 +0000 (17:55 +0000)]
Make scalar benchmarks compile and run under SKIA_SCALAR=fixed as well as float.

git-svn-id: http://skia.googlecode.com/svn/trunk@1516 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAttempt to correct issue with fixed point from SkMatrix changes in r1512.
tomhudson@google.com [Mon, 6 Jun 2011 17:21:44 +0000 (17:21 +0000)]
Attempt to correct issue with fixed point from SkMatrix changes in r1512.

git-svn-id: http://skia.googlecode.com/svn/trunk@1515 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoremove legacy LCDTEXT define
reed@google.com [Mon, 6 Jun 2011 17:15:46 +0000 (17:15 +0000)]
remove legacy LCDTEXT define

git-svn-id: http://skia.googlecode.com/svn/trunk@1514 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agomove code inside #ifdef to fix warning
reed@google.com [Mon, 6 Jun 2011 17:14:52 +0000 (17:14 +0000)]
move code inside #ifdef to fix warning

git-svn-id: http://skia.googlecode.com/svn/trunk@1513 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoBenchmarking suggests that replacing some of the conversions from float to int
tomhudson@google.com [Mon, 6 Jun 2011 15:18:28 +0000 (15:18 +0000)]
Benchmarking suggests that replacing some of the conversions from float to int
with direct floating-point comparisons in computeTypeMask() is a significant win
(up to 40%?).
In practice, we see a 10-15% speedup in this function (the current most
expensive Skia function) in Chrome on the FishIETank demo.

The remainder of the function looks like it ought to be amenable to similar
speedups, but we haven't found a rewrite that behaves well in benchmarking yet.

http://codereview.appspot.com/4551097/

git-svn-id: http://skia.googlecode.com/svn/trunk@1512 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoNew scalar benchmark suite, comparing SkScalarAs2sCompliment vs native float operations
tomhudson@google.com [Mon, 6 Jun 2011 15:16:31 +0000 (15:16 +0000)]
New scalar benchmark suite, comparing SkScalarAs2sCompliment vs native float operations
http://http://codereview.appspot.com/4532116/

git-svn-id: http://skia.googlecode.com/svn/trunk@1511 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd internal multiplier for loopcount, to reduce variance for simple/fast tests
reed@google.com [Mon, 6 Jun 2011 13:31:30 +0000 (13:31 +0000)]
add internal multiplier for loopcount, to reduce variance for simple/fast tests

git-svn-id: http://skia.googlecode.com/svn/trunk@1510 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agomake concat_float distinguishable using -match
reed@google.com [Mon, 6 Jun 2011 13:20:29 +0000 (13:20 +0000)]
make concat_float distinguishable using -match
init our float/double arrays, so we get reliable timings (NaNs are slow)

git-svn-id: http://skia.googlecode.com/svn/trunk@1509 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoMake gyp_skia script use third_party/externals/gyp instead of the deprecated
epoger@google.com [Fri, 3 Jun 2011 21:33:03 +0000 (21:33 +0000)]
Make gyp_skia script use third_party/externals/gyp instead of the deprecated
third_party/gyp

git-svn-id: http://skia.googlecode.com/svn/trunk@1506 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd third_party/externals dir that brings in gyp
epoger@google.com [Fri, 3 Jun 2011 21:19:27 +0000 (21:19 +0000)]
Add third_party/externals dir that brings in gyp

git-svn-id: http://skia.googlecode.com/svn/trunk@1505 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoPut back our old gyp dir
epoger@google.com [Fri, 3 Jun 2011 21:00:42 +0000 (21:00 +0000)]
Put back our old gyp dir

git-svn-id: http://skia.googlecode.com/svn/trunk@1504 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agooops, that external dependency conflicted with the old gyp directory
epoger@google.com [Fri, 3 Jun 2011 20:59:48 +0000 (20:59 +0000)]
oops, that external dependency conflicted with the old gyp directory

git-svn-id: http://skia.googlecode.com/svn/trunk@1503 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd gyp@r197 as external dependency
epoger@google.com [Fri, 3 Jun 2011 20:55:28 +0000 (20:55 +0000)]
Add gyp@r197 as external dependency

git-svn-id: http://skia.googlecode.com/svn/trunk@1502 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoMove third_party/gyp to third_party/gyp-old in anticipation of replacement
epoger@google.com [Fri, 3 Jun 2011 20:54:08 +0000 (20:54 +0000)]
Move third_party/gyp to third_party/gyp-old in anticipation of replacement

git-svn-id: http://skia.googlecode.com/svn/trunk@1501 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoRemove warnings, improve benchmark quality, complicate benchmark results:
tomhudson@google.com [Fri, 3 Jun 2011 20:32:58 +0000 (20:32 +0000)]
Remove warnings, improve benchmark quality, complicate benchmark results:
 - data on heap instead of stack
 - more closely match operations of actual SkMatrix::setConcat()
 - avoid random perturbations, do_always;
   use perf annotate to verify that assembly isn't getting optimized away

git-svn-id: http://skia.googlecode.com/svn/trunk@1500 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd SkAdvancedTypeface file
reed@google.com [Fri, 3 Jun 2011 20:15:56 +0000 (20:15 +0000)]
add SkAdvancedTypeface file

git-svn-id: http://skia.googlecode.com/svn/trunk@1499 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoallow the build system to enable offscreen_aa to some max dimension
reed@google.com [Fri, 3 Jun 2011 19:51:26 +0000 (19:51 +0000)]
allow the build system to enable offscreen_aa to some max dimension
default is still 0 for the moment.

git-svn-id: http://skia.googlecode.com/svn/trunk@1498 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago<body onunload="M_unloadPage();">
tomhudson@google.com [Fri, 3 Jun 2011 19:16:56 +0000 (19:16 +0000)]
<body onunload="M_unloadPage();">

<!-- Begin help window -->
<script type="text/javascript"><!--
var xsrfToken = 'dd5d1a57ca1d5440593050fdc596d377';
var helpDisplayed = false;
document.onclick = M_clickCommon;
var media_url = "/static/";
var base_url = "/";

var publish_link = "/4571045/publish";

// -->
</script>
<div id="help" style="display: none;">

<div style="font-size: medium; text-align: center;">Keyboard Shortcuts</div>
<hr>
<table width="100%">

  <tbody><tr valign="top">
      <td>
            <table width="100%">
            <tbody><tr>
              <td></td><th>File</th>
              </tr>
              <tr>
                <td class="shortcut"><span class="letter">u</span> <b>:</b></td><td>up to issue</td>
        </tr>
        <tr>
          <td class="shortcut"><span class="letter">m</span> <b>:</b></td><td>publish + mail comments</td>
          </tr>
   <tr>
  <td class="shortcut"><span class="letter">M</span> <b>:</b></td><td>edit review message</td>
   </tr>
        <tr>
          <td class="shortcut"><span class="letter">j</span> / <span class="letter">k</span> <b>:</b></td><td>jump to file after / before current file</td>
          </tr>
          <tr>
            <td class="shortcut"><span class="letter">J</span> / <span class="letter">K</span> <b>:</b></td><td>jump to next file with a comment after / before current file</td>
            </tr>
            <tr>
              <td></td><th>Side-by-side diff</th>
              </tr>
              <tr>
                <td class="shortcut"><span class="letter">i</span> <b>:</b></td><td>toggle intra-line diffs</td>
        </tr>
        <tr>
          <td class="shortcut"><span class="letter">e</span> <b>:</b></td><td>expand all comments</td>
          </tr>
          <tr>
            <td class="shortcut"><span class="letter">c</span> <b>:</b></td><td>collapse all comments</td>
            </tr>
            <tr>
              <td class="shortcut"><span class="letter">s</span> <b>:</b></td><td>toggle showing all comments</td>
              </tr>
              <tr>
                <td class="shortcut"><span class="letter">n</span> / <span class="letter">p</span> <b>:</b></td><td>next / previous diff chunk or comment</td>
        </tr>
        <tr>
          <td class="shortcut"><span class="letter">N</span> / <span class="letter">P</span> <b>:</b></td><td>next / previous comment</td>
          </tr>
          <tr>
            <td class="shortcut"><span class="letter">&lt;Enter&gt;</span> <b>:</b></td><td>respond to / edit current comment</td>
            </tr>
          </tbody></table>
      </td>
          <td>
        <table width="100%">
        <tbody><tr>
         <td></td><th>Issue</th>
         </tr>
         <tr>
           <td class="shortcut"><span class="letter">u</span> <b>:</b></td><td>up to list of issues</td>
           </tr>
           <tr>
             <td class="shortcut"><span class="letter">m</span> <b>:</b></td><td>publish + mail comments</td>
             </tr>
      <tr>
  <td class="shortcut"><span class="letter">j</span> / <span class="letter">k</span> <b>:</b></td><td>jump to patch after / before current patch</td>
   </tr>
<tr>
  <td class="shortcut"><span class="letter">o</span> / <span class="letter">&lt;Enter&gt;</span> <b>:</b></td><td>open current patch in side-by-side view</td>
   </tr>
<tr>
  <td class="shortcut"><span class="letter">i</span> <b>:</b></td><td>open current patch in unified diff view</td>
   </tr>
        <tr><td>&nbsp;</td></tr>
        <tr><td></td><th>Issue List</th></tr>
        <tr>
          <td class="shortcut"><span class="letter">j</span> / <span class="letter">k</span> <b>:</b></td><td>jump to issue after / before current issue</td>
          </tr>
          <tr>
            <td class="shortcut"><span class="letter">o</span> / <span class="letter">&lt;Enter&gt;</span> <b>:</b></td><td>open current issue</td>
            </tr>
            <tr>
       <td class="shortcut"><span class="letter">#</span> <b>:</b></td>
     <td>close issue</td>
   </tr>
        <tr><td>&nbsp;</td></tr>
        <tr>
          <td></td><th>Comment/message editing</th>
          </tr>
          <tr>
            <td class="shortcut"><span class="letter">&lt;Ctrl&gt;</span> + <span class="letter">s</span> <b>:</b></td><td>save comment</td>
            </tr>
            <tr>
              <td class="shortcut"><span class="letter">&lt;Esc&gt;</span> <b>:</b></td><td>cancel edit</td>
              </tr>
            </tbody></table>
        </td>
  </tr>

  </tbody></table>
  </div>
  <!-- End help window -->

  <div align="right">

  <div style="float:left; font-weight:bold"><i>Rietveld</i> Code Review Tool</div>

  <b>tomhudson@google.com (TomH)</b>
  |

  <a class="novisit" href="/settings">Settings</a>
  |

  <a class="novisit" target="_blank" href="http://code.google.com/p/rietveld/wiki/CodeReviewHelp">Help</a>
  |
  <a class="novisit" target="_blank" href="http://code.google.com/p/rietveld/issues/list">Bug tracker</a>
  |
  <a class="novisit" target="_blank" href="http://groups.google.com/group/codereview-discuss">Discussion group</a>
  |
  <a class="novisit" target="_blank" href="http://code.google.com/p/rietveld">Source code</a>
  |

  <a class="novisit" href="http://codereview.appspot.com/_ah/logout?continue=https://www.google.com/accounts/Logout%3Fcontinue%3Dhttps://appengine.google.com/_ah/logout%253Fcontinue%253Dhttp://codereview.appspot.com/4571045/%26service%3Dah">Sign out</a>

  </div>

  <div class="counter">(691)</div>
  <div class="mainmenu">

      <a href="/" class="active">Issues</a>
        <a href="/repos">Repositories</a>
  <a href="/search">Search</a>

  </div>
  <div class="mainmenu2">

        <a href="/use_uploadpy">Create Issue</a>

        |
    <a href="/mine">My Issues</a>
        |
    <a href="/starred">Starred</a>
        |
    <a href="/all">Open</a>
        |
    <a href="/all?closed=1">All</a>

      </div>

      <div>

        <h2>
    <span id="issue-star-4571045">

        <a href="javascript:M_addIssueStar(4571045)">
<img src="/static/star-dark.gif" width="15" height="15" border="0"></a>

      </span>

      <span class="issue-close" id="issue-close-4571045">
          <a href="javascript:M_closeIssue(4571045)">
        <img src="/static/close.gif" title="Close This Issue" width="15" height="15" border="0"></a>
</span>

    Issue <a href="/4571045/" onmouseover="M_showPopUp(this, 'popup-issue');">
                4571045</a>:
    New matrix benchmarks to evaluate ::setConcat implementation options
      </h2>

        <table class="issue-details" border="0" width="100%">
    <tbody><tr valign="top">

          <td class="meta" width="20%">

            <div>

              <a class="novisit" href="/4571045/edit">
                      Edit Issue
                    </a>

            <br>

              <a class="novisit" href="/4571045/publish">
                      Publish+Mail Comments
                    </a> ('m')

                  <br>
                <a class="novisit" href="/4571045/diff/1/bench/MatrixBench.cpp">
                <b>Start Review</b>
              </a>

            </div>

            <div class="issue_details_sidebar">
              <div><b>Created:</b><br>
                  16 minutes ago by me
            </div>
              <div><b>Modified:</b><br>
                  0 minutes ago
            </div>
              <div><b>Reviewers:</b><br>
                  <a href="/user/reed1" onmouseover="M_showUserInfoPopup(this)">reed1</a>
            </div>
              <div><b>CC:</b><br>

            </div>
              <div><b>Base URL:</b><br>
                  http://skia.googlecode.com/svn/trunk/
            </div>
              <div><b>Visibility:</b><br>

                  Public.

                </div>
        </div>
      </td>

            <td style="padding-left: .8em; padding-right: .8em;" width="80%">

      <h3><a id="issue-description-pointer" href="javascript:M_toggleSection('issue-description')" class="toggled-section opentriangle">
          Description</a></h3>
    <div id="issue-description" style="margin-left:15px;">
        <pre>On platforms that use Float (instead of Fixed), SkMatrix stores its internal
values as floats, but setConcat() needs extra precision and so uses doubles to
contain intermediate values.
These three benchmarks compare the speed of float-only, double-only, and
float-cast-to-double implementations of a chunk of code extracted from the
non-perspective case of setConcat().
</pre>
  </div>

    <h3>
        <a id="ps-1-pointer" href="javascript:M_toggleSectionForPS('4571045', '1')" class="toggled-section opentriangle">
      Patch Set 1

        </a>
  </h3>

      <div id="ps-1" style="">

  <div class="issue-list">

    <div class="pagination">
        <div style="float: left;">
      <i>Created:</i> 16 minutes ago
          </div>
      <div style="float: right;">

            <a href="/download/issue4571045_1.diff">
              Download raw patch set</a>

      </div>
          <div style="clear:both;"></div>
    </div>

      <table id="queues" style="clear:both;">
          <tbody><tr align="left">
        <th colspan="2"></th>
      <th>Unified diffs</th>
            <th>Side-by-side diffs</th>
          <th>Delta from patch set</th>
        <th colspan="3">Stats</th>
      <th>Patch</th>
          </tr>

            <tr name="patch">
            <td class="first" width="14"><img src="/static/closedtriangle.gif" style="" width="12" height="9"></td>
            <td style="white-space: nowrap">M    </td>
            <td>
              <a class="noul" href="/4571045/patch/1/2">
                  bench/MatrixBench.cpp
            </a>
            </td>
            <td>
              <a class="noul" href="/4571045/diff/1/bench/MatrixBench.cpp">
                  View
            </a>
            </td>
            <td style="white-space: nowrap">

            </td>
            <td style="white-space: nowrap">4 chunks</td>
            <td style="white-space: nowrap">+114 lines, -3 lines</td>
            <td style="white-space: nowrap">

                  0 comments

        </td>
        <td>
          <a href="/download/issue4571045_1_2.diff" title="Download patch for bench/MatrixBench.cpp">
              Download
                </a>
        </td>
      </tr>

    </tbody></table>
    </div>

        </div>

    <h3>
        <a id="messages-pointer" href="javascript:M_toggleSection('messages')" class="toggled-section opentriangle">
      Messages
          </a>
    </h3>

      <div><i>Total messages: 3</i></div>

        <div id="messages">
    <div style="margin-bottom: .5em;">
          <a href="javascript:M_showAllComments('cl', 3)">
          Expand All Messages</a>
        |
      <a href="javascript:M_hideAllComments('cl', 3)">
              Collapse All Messages</a>
          </div>

            <div class="message " id="msg-agpjb2RlcmV2aWV3chwLEgVJc3N1ZRil_5YCDAsSB01lc3NhZ2UY6QcM" name="0">
            <a name="msg-agpjb2RlcmV2aWV3chwLEgVJc3N1ZRil_5YCDAsSB01lc3NhZ2UY6QcM"></a>
            <div class="header">
              <table border="0" width="100%" cellspacing="0" cellpadding="0">
                  <tbody><tr class="comment_title" onclick="M_switchChangelistComment(0)">
                <td style="padding-left: 5px; white-space: nowrap;">
                <b>me</b>
              </td>
                    <td width="100%">
                    <table style="table-layout:fixed; white-space: nowrap;" width="100%">
                      <tbody><tr>
                          <td>
                        <div style="white-space: nowrap; overflow: hidden;" class="extra" id="cl-preview-0">

                         </div>
                     </td>
                       </tr>
                       </tbody></table>
                     </td>
                   <td align="right" style="white-space: nowrap; padding-right: 5px;">
                   13 minutes ago
                 </td>
             </tr>
               </tbody></table>
               </div>

               <div id="cl-comment-0" style="display: none;">
                 <div class="message-body">
             <pre name="cl-message-0"></pre>
               </div>
                 <div class="message-actions">

                   <a href="javascript:M_replyToMessage('0', '2011/06/03 18:57:35', 'TomH')" id="message-reply-href-0">Reply</a>
                 <textarea rows="7" cols="70" name="message" style="display:none"></textarea>
               <div id="message-reply-0" style="display:none;"></div>

             </div>
             </div>

           </div>

             <div class="message " id="msg-agpjb2RlcmV2aWV3chwLEgVJc3N1ZRil_5YCDAsSB01lc3NhZ2UY0Q8M" name="1">
             <a name="msg-agpjb2RlcmV2aWV3chwLEgVJc3N1ZRil_5YCDAsSB01lc3NhZ2UY0Q8M"></a>
             <div class="header">
               <table border="0" width="100%" cellspacing="0" cellpadding="0">
                   <tbody><tr class="comment_title" onclick="M_switchChangelistComment(1)">
                 <td style="padding-left: 5px; white-space: nowrap;">
                 <b>reed1</b>
               </td>
                     <td width="100%">
                     <table style="table-layout:fixed; white-space: nowrap;" width="100%">
                       <tbody><tr>
                           <td>
                         <div style="white-space: nowrap; overflow: hidden;" class="extra" id="cl-preview-1">
                           1. lets remove the "fix" from the function name. just muladdmul I think 2. we ...
                          </div>
                      </td>
                        </tr>
                </tbody></table>
              </td>
                    <td align="right" style="white-space: nowrap; padding-right: 5px;">
                    10 minutes ago
                  </td>
              </tr>
                </tbody></table>
        </div>

        <div id="cl-comment-1" style="display: none;">
          <div class="message-body">
              <pre name="cl-message-1">1. lets remove the "fix" from the function name. just muladdmul I think
      2. we can remove the return, since it will be compiled away anyway
      3. nice checkin comment!
      4. what are the results like?</pre>
                </div>
          <div class="message-actions">

                    <a href="javascript:M_replyToMessage('1', '2011/06/03 19:00:39', 'reed1')" id="message-reply-href-1">Reply</a>
                  <textarea rows="7" cols="70" name="message" style="display:none"></textarea>
                <div id="message-reply-1" style="display:none;"></div>

              </div>
              </div>

            </div>

      <div class="message " id="msg-agpjb2RlcmV2aWV3chwLEgVJc3N1ZRil_5YCDAsSB01lc3NhZ2UYuRcM" name="2">
              <a name="msg-agpjb2RlcmV2aWV3chwLEgVJc3N1ZRil_5YCDAsSB01lc3NhZ2UYuRcM"></a>
              <div class="header">
                <table border="0" width="100%" cellspacing="0" cellpadding="0">
            <tbody><tr class="comment_title" onclick="M_switchChangelistComment(2)">
                  <td style="padding-left: 5px; white-space: nowrap;">
                  <b>me</b>
                </td>
              <td width="100%">
                      <table style="table-layout:fixed; white-space: nowrap;" width="100%">
                        <tbody><tr>
                    <td>
                          <div style="white-space: nowrap; overflow: hidden; visibility: hidden;" class="extra" id="cl-preview-2">
                            &gt; 4. what are the results like? For posterity: tomhudson@tomhudson-zx600-linux:/usr/local/google/src/skia3$ out/bench/bench -match matrix_concat -repeat 1000 ...
                           </div>
                       </td>
                         </tr>
                 </tbody></table>
               </td>
                     <td align="right" style="white-space: nowrap; padding-right: 5px;">
                     0 minutes ago
                   </td>
               </tr>
                 </tbody></table>
         </div>

         <div id="cl-comment-2">
           <div class="message-body">
               <pre name="cl-message-2">&gt; 4. what are the results like?

       For posterity:

       tomhudson@tomhudson-zx600-linux:/usr/local/google/src/skia3$ out/bench/bench
       -match matrix_concat -repeat 1000
       skia bench: alpha=0xFF antialias=1 filter=0
       running bench [640 480]         matrix_concat_double  8888: msecs =  0.79   565:
       msecs =  0.79   GPU: msecs =  0.79
       running bench [640 480]    matrix_concat_floatdouble  8888: msecs =  0.97   565:
       msecs =  0.97   GPU: msecs =  0.97
       running bench [640 480]          matrix_concat_float  8888: msecs =  0.74   565:
       msecs =  0.73   GPU: msecs =  0.74</pre>
                 </div>
           <div class="message-actions">

                     <a href="javascript:M_replyToMessage('2', '2011/06/03 19:11:06', 'TomH')" id="message-reply-href-2">Reply</a>
                   <textarea rows="7" cols="70" name="message" style="display:none"></textarea>
                 <div id="message-reply-2" style="display:none;"></div>

               </div>
               </div>

             </div>

     <div>
           <a href="javascript:M_showAllComments('cl', 3)">
         Expand All Messages</a>
       |
             <a href="javascript:M_hideAllComments('cl', 3)">
             Collapse All Messages</a>
         </div>

   </div>

   <script language="JavaScript" type="text/javascript">
     <!--
         document.onkeydown = M_changelistKeyDown;
     var dashboardState = new M_DashboardState(window, 'patch', 'M_CLPatchMarker');
         M_switchChangelistCommentByAnchor();
   // -->
   </script>

     <div style="display:none;">
         <form method="POST" action="/4571045/publish" id="message-reply-form">
       <input type="hidden" name="xsrf_token" value="dd5d1a57ca1d5440593050fdc596d377">
             <div></div>
           <input type="hidden" name="subject" value="New matrix benchmarks to evaluate ::setConcat implementation options">
         <input type="hidden" name="message_only" value="1">
       <input type="submit" value="Send Message">
             <input type="button" value="Discard" name="discard">
           <input type="checkbox" name="send_mail" value="1" id="message-reply-send-mail" checked="checked">
         <label>Send mail to reviewers</label>
     </form>
       </div>
         <a id="resizer" class="resizer" style="display:none;cursor:pointer">
     <img src="/static/zippyplus.gif">
       </a>

             </td>
         </tr>
   </tbody></table>

   </div>

         <div class="popup" id="popup-issue" style="left: 104px; top: 116px; visibility: hidden; ">
       <b>Issue 4571045: New matrix benchmarks to evaluate ::setConcat implementation options
        </b><br>
      Created 16 minutes ago by me<br>
            Modified 0 minutes ago<br>
          Reviewers: reed1<br>
        Base URL: http://skia.googlecode.com/svn/trunk/<br>
      Comments: 0

        </div>

  <p></p>
  <div style="float: left;">
    <a target="_blank" href="http://code.google.com/appengine/"><img border="0" src="/static/appengine-noborder-120x30.gif" alt="Powered by Google App Engine"></a>
    </div>

    <div class="extra" style="font-size: 9pt; float: right; text-align: right;">
      <div style="height:14px;">
        <img src="/static/rss.gif" alt="RSS Feeds" width="14" height="14" align="top">
  <a href="/rss/all">Recent Issues</a>

      |
        <a href="/rss/mine/TomH">My Issues</a>
  |
    <a href="/rss/reviews/TomH">My Reviews</a>
      |
        <a href="/rss/closed/TomH">My Closed</a>

      |
        <a href="/rss/issue/4571045">This issue</a>

     </div>
       <div style="margin-top: .3em;">This is Rietveld <a href="http://code.google.com/p/rietveld/updates/list">r756
       </a></div>
       </div>

       <script type="text/javascript">
       var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
       document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
       </script><script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script>
       <script type="text/javascript">
       var pageTracker = _gat._getTracker("UA-4803694-4");
       pageTracker._initData();
       pageTracker._trackPageview();
       </script>
On platforms that use Float (instead of Fixed), SkMatrix stores its internal
values as floats, but setConcat() needs extra precision and so uses doubles
to contain intermediate values.
These three benchmarks compare the speed of float-only, double-only, and
float-cast-to-double implementations of a chunk of code extracted from the
non-perspective case of setConcat().

git-svn-id: http://skia.googlecode.com/svn/trunk@1497 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agofix gm build on Mac
epoger@google.com [Fri, 3 Jun 2011 17:52:12 +0000 (17:52 +0000)]
fix gm build on Mac
see http://codereview.appspot.com/4571044/

git-svn-id: http://skia.googlecode.com/svn/trunk@1494 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agofix bench and gm targets on Linux
epoger@google.com [Fri, 3 Jun 2011 17:21:21 +0000 (17:21 +0000)]
fix bench and gm targets on Linux
see http://codereview.appspot.com/4530104

git-svn-id: http://skia.googlecode.com/svn/trunk@1490 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoTurn off optimization on VC debug builds.
bungeman@google.com [Fri, 3 Jun 2011 15:48:17 +0000 (15:48 +0000)]
Turn off optimization on VC debug builds.
http://codereview.appspot.com/4568052/

git-svn-id: http://skia.googlecode.com/svn/trunk@1488 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoCorrection of texture domain calculation. Review=http://codereview.appspot.com/4517126
twiz@google.com [Thu, 2 Jun 2011 20:30:02 +0000 (20:30 +0000)]
Correction of texture domain calculation.  Review=codereview.appspot.com/4517126

git-svn-id: http://skia.googlecode.com/svn/trunk@1483 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agofix gyp-generated xcode project files for SampleApp and other targets
epoger@google.com [Thu, 2 Jun 2011 19:52:14 +0000 (19:52 +0000)]
fix gyp-generated xcode project files for SampleApp and other targets
see http://codereview.appspot.com/4515181/

git-svn-id: http://skia.googlecode.com/svn/trunk@1482 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd EGL context for Windows.
bungeman@google.com [Thu, 2 Jun 2011 15:38:06 +0000 (15:38 +0000)]
Add EGL context for Windows.
http://codereview.appspot.com/4517133/

git-svn-id: http://skia.googlecode.com/svn/trunk@1481 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoReduce GrGLProgram::ProgramDesc from 88B to 24B.
tomhudson@google.com [Thu, 2 Jun 2011 15:37:14 +0000 (15:37 +0000)]
Reduce GrGLProgram::ProgramDesc from 88B to 24B.
http://codereview.appspot.com/4561058.

git-svn-id: http://skia.googlecode.com/svn/trunk@1480 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agocreate GYP files for these targets: tests, gm, skhello, skimage, skdiff
epoger@google.com [Thu, 2 Jun 2011 14:38:23 +0000 (14:38 +0000)]
create GYP files for these targets: tests, gm, skhello, skimage, skdiff
see http://codereview.appspot.com/4536096/

git-svn-id: http://skia.googlecode.com/svn/trunk@1479 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd copyright notices
reed@google.com [Thu, 2 Jun 2011 14:08:49 +0000 (14:08 +0000)]
add copyright notices

git-svn-id: http://skia.googlecode.com/svn/trunk@1478 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoremove unneeded check for thumb. see http://codereview.appspot.com/4539048/
reed@google.com [Thu, 2 Jun 2011 13:45:33 +0000 (13:45 +0000)]
remove unneeded check for thumb. see codereview.appspot.com/4539048/

git-svn-id: http://skia.googlecode.com/svn/trunk@1477 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd a missing include path for the linux build of utils.gyp. Remove the Linux
senorblanco@chromium.org [Wed, 1 Jun 2011 20:55:45 +0000 (20:55 +0000)]
Add a missing include path for the linux build of utils.gyp.  Remove the Linux
utils files from the build of views.a, since they're already being compiled into
utils.a, since it was causing unnecessary rebuilds (the same could probably be
done for linux and mac).  Remove the commented-out SkImageDecoder_libpvjpeg.cpp,
which has been removed from SVN.

http://codereview.appspot.com/4532105/

git-svn-id: http://skia.googlecode.com/svn/trunk@1476 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFix to bug, partial fix to unit tests following on from
tomhudson@google.com [Wed, 1 Jun 2011 20:43:05 +0000 (20:43 +0000)]
Fix to bug, partial fix to unit tests following on from
http://codereview.appspot.com/4536100/

git-svn-id: http://skia.googlecode.com/svn/trunk@1475 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoinclude SkTypes.h
reed@google.com [Wed, 1 Jun 2011 20:27:53 +0000 (20:27 +0000)]
include SkTypes.h

git-svn-id: http://skia.googlecode.com/svn/trunk@1474 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agocommitting http://codereview.appspot.com/4515175/
caryclark@google.com [Wed, 1 Jun 2011 20:15:20 +0000 (20:15 +0000)]
committing http://codereview.appspot.com/4515175/

git-svn-id: http://skia.googlecode.com/svn/trunk@1473 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoSpeed up GrBinHashKey computation by replacing Adler32 with One-at-a-Time hash
tomhudson@google.com [Wed, 1 Jun 2011 19:27:31 +0000 (19:27 +0000)]
Speed up GrBinHashKey computation by replacing Adler32 with One-at-a-Time hash
function, do 32b at a time instead of 8b at a time.

git-svn-id: http://skia.googlecode.com/svn/trunk@1472 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoremove dead/abandoned file
reed@google.com [Wed, 1 Jun 2011 18:38:51 +0000 (18:38 +0000)]
remove dead/abandoned file

git-svn-id: http://skia.googlecode.com/svn/trunk@1471 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoClean up the gyp files to reflect some files that were removed and/or renamed.
senorblanco@chromium.org [Wed, 1 Jun 2011 18:28:22 +0000 (18:28 +0000)]
Clean up the gyp files to reflect some files that were removed and/or renamed.

Review URL:  http://codereview.appspot.com/4536098/

git-svn-id: http://skia.googlecode.com/svn/trunk@1470 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdded code to enable the pipe module to record to a file
yangsu@google.com [Wed, 1 Jun 2011 18:03:34 +0000 (18:03 +0000)]
Added code to enable the pipe module to record to a file
http://codereview.appspot.com/4564052/

git-svn-id: http://skia.googlecode.com/svn/trunk@1469 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoinitialize fCurrY
reed@google.com [Wed, 1 Jun 2011 17:32:11 +0000 (17:32 +0000)]
initialize fCurrY

git-svn-id: http://skia.googlecode.com/svn/trunk@1468 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdded a sample pipe reader app that uses File I/O for playback
yangsu@google.com [Wed, 1 Jun 2011 17:07:22 +0000 (17:07 +0000)]
Added a sample pipe reader app that uses File I/O for playback
http://codereview.appspot.com/4551083/

git-svn-id: http://skia.googlecode.com/svn/trunk@1467 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFixup utils.gyp.
bungeman@google.com [Wed, 1 Jun 2011 16:15:43 +0000 (16:15 +0000)]
Fixup utils.gyp.

git-svn-id: http://skia.googlecode.com/svn/trunk@1466 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoMake gyp VC project debug configuration /DEBUG.
bungeman@google.com [Wed, 1 Jun 2011 16:14:01 +0000 (16:14 +0000)]
Make gyp VC project debug configuration /DEBUG.

git-svn-id: http://skia.googlecode.com/svn/trunk@1465 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdded 3 new sample tests. http://codereview.appspot.com/4527092/
yangsu@google.com [Wed, 1 Jun 2011 16:11:58 +0000 (16:11 +0000)]
Added 3 new sample tests. codereview.appspot.com/4527092/

git-svn-id: http://skia.googlecode.com/svn/trunk@1464 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd MatrixBench.cpp
reed@google.com [Wed, 1 Jun 2011 15:11:42 +0000 (15:11 +0000)]
add MatrixBench.cpp

git-svn-id: http://skia.googlecode.com/svn/trunk@1463 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agospeed-up SkMatrix::preScale by 3x, by special-casing it instead of just calling
reed@google.com [Wed, 1 Jun 2011 15:11:22 +0000 (15:11 +0000)]
speed-up SkMatrix::preScale by 3x, by special-casing it instead of just calling
concat. Inspired by the profile of the fishtank site

git-svn-id: http://skia.googlecode.com/svn/trunk@1462 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd gyp for bench and make run on Windows. (2)
bungeman@google.com [Wed, 1 Jun 2011 13:23:29 +0000 (13:23 +0000)]
Add gyp for bench and make run on Windows. (2)
http://codereview.appspot.com/4528112/

git-svn-id: http://skia.googlecode.com/svn/trunk@1461 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoupdate to SampleView
reed@google.com [Wed, 1 Jun 2011 12:42:36 +0000 (12:42 +0000)]
update to SampleView

git-svn-id: http://skia.googlecode.com/svn/trunk@1460 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoinherit from SampleView
reed@google.com [Wed, 1 Jun 2011 11:59:08 +0000 (11:59 +0000)]
inherit from SampleView

git-svn-id: http://skia.googlecode.com/svn/trunk@1459 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd gyp for bench and make run on Windows.
bungeman@google.com [Tue, 31 May 2011 21:21:54 +0000 (21:21 +0000)]
Add gyp for bench and make run on Windows.
http://codereview.appspot.com/4528112/

git-svn-id: http://skia.googlecode.com/svn/trunk@1458 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoRename some global symbols defined by glu's libtess which conflict with the
senorblanco@chromium.org [Tue, 31 May 2011 21:15:10 +0000 (21:15 +0000)]
Rename some global symbols defined by glu's libtess which conflict with the
WebKit implementation.  #define them with a prefix, as we did with the main
entry points.

Review URL:  http://codereview.appspot.com/4551079/

git-svn-id: http://skia.googlecode.com/svn/trunk@1457 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoremember previous x-offset when we re-enter the runs array. speeds up paths
reed@google.com [Tue, 31 May 2011 19:18:02 +0000 (19:18 +0000)]
remember previous x-offset when we re-enter the runs array. speeds up paths
with lots of x-transitions in a single scanline

git-svn-id: http://skia.googlecode.com/svn/trunk@1456 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoremove dump printf
reed@google.com [Tue, 31 May 2011 19:14:21 +0000 (19:14 +0000)]
remove dump printf

git-svn-id: http://skia.googlecode.com/svn/trunk@1455 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agomake this work again: ./gyp_skia && make SampleApp
epoger@google.com [Tue, 31 May 2011 19:02:37 +0000 (19:02 +0000)]
make this work again: ./gyp_skia && make SampleApp
see http://codereview.appspot.com/4517123/

git-svn-id: http://skia.googlecode.com/svn/trunk@1454 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Add pages accessor to SkPDFDocument.
vandebo@chromium.org [Tue, 31 May 2011 18:18:21 +0000 (18:18 +0000)]
[PDF] Add pages accessor to SkPDFDocument.

Also add SK_API to SkPDFPage::getFontResources.

Review URL: http://codereview.appspot.com/4561050

git-svn-id: http://skia.googlecode.com/svn/trunk@1453 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoPort the SampleApp (raster) to Android.
Scroggo [Tue, 31 May 2011 17:10:21 +0000 (17:10 +0000)]
Port the SampleApp (raster) to Android.

git-svn-id: http://skia.googlecode.com/svn/trunk@1452 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoRemove unnecessary call to unlock.
Scroggo [Tue, 31 May 2011 17:04:56 +0000 (17:04 +0000)]
Remove unnecessary call to unlock.

git-svn-id: http://skia.googlecode.com/svn/trunk@1451 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agofix memory leaks
reed@google.com [Tue, 31 May 2011 15:35:54 +0000 (15:35 +0000)]
fix memory leaks

git-svn-id: http://skia.googlecode.com/svn/trunk@1448 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoremove dead code
reed@google.com [Tue, 31 May 2011 14:36:21 +0000 (14:36 +0000)]
remove dead code

git-svn-id: http://skia.googlecode.com/svn/trunk@1447 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agosplit skia.gyp into separate gypfile for each source dir
epoger@google.com [Tue, 31 May 2011 13:50:51 +0000 (13:50 +0000)]
split skia.gyp into separate gypfile for each source dir
see http://codereview.appspot.com/4527084/

Now, to build out/Debug/SampleApp on Linux, do the following:

cd trunk/gyp
rm -rf Makefile *mk *.Makefile out
./gyp_skia -fmake --ignore-environment "--toplevel-dir=$PWD" \
  -Icommon.gypi "--depth=$PWD" SampleApp.gyp
make

git-svn-id: http://skia.googlecode.com/svn/trunk@1446 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd more SK_API declarations to fix Chrome.
vandebo@chromium.org [Mon, 30 May 2011 20:52:33 +0000 (20:52 +0000)]
Add more SK_API declarations to fix Chrome.

TBR=ctguil@chromium.org

Review URL: http://codereview.appspot.com/4526088

git-svn-id: http://skia.googlecode.com/svn/trunk@1445 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Add plumbing and accessors so that Chrome can record the font types used in...
vandebo@chromium.org [Sun, 29 May 2011 05:55:42 +0000 (05:55 +0000)]
[PDF] Add plumbing and accessors so that Chrome can record the font types used in a PDF.

- Add a font type accessor to SkPDFFont.
- Plumb font resource retrivial up to SkPDFPage.

Review URL: http://codereview.appspot.com/4547069

git-svn-id: http://skia.googlecode.com/svn/trunk@1444 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFix copy/paste bug that checks same stencil field twice in isDisabled().
bsalomon@google.com [Fri, 27 May 2011 16:42:30 +0000 (16:42 +0000)]
Fix copy/paste bug that checks same stencil field twice in isDisabled().

git-svn-id: http://skia.googlecode.com/svn/trunk@1442 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agomake --replay be the default. Now --noreplay will disable testing through a picture
reed@google.com [Thu, 26 May 2011 15:57:56 +0000 (15:57 +0000)]
make --replay be the default. Now --noreplay will disable testing through a picture

git-svn-id: http://skia.googlecode.com/svn/trunk@1437 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoretool without shapes, which are broken/experimental
reed@google.com [Thu, 26 May 2011 15:12:35 +0000 (15:12 +0000)]
retool without shapes, which are broken/experimental

git-svn-id: http://skia.googlecode.com/svn/trunk@1436 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoRemoval of obsolete interface, SkMatrixClipObserver.
twiz@google.com [Thu, 26 May 2011 14:57:48 +0000 (14:57 +0000)]
Removal of obsolete interface, SkMatrixClipObserver.

git-svn-id: http://skia.googlecode.com/svn/trunk@1435 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoremove self-modifying matrix code, which can't work with pictures, and will be remove...
reed@google.com [Thu, 26 May 2011 14:42:48 +0000 (14:42 +0000)]
remove self-modifying matrix code, which can't work with pictures, and will be removed from shapes api soon

git-svn-id: http://skia.googlecode.com/svn/trunk@1434 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agodynamically allocate the pixels, so they can be referened when drawn into a picture
reed@google.com [Thu, 26 May 2011 14:35:41 +0000 (14:35 +0000)]
dynamically allocate the pixels, so they can be referened when drawn into a picture

git-svn-id: http://skia.googlecode.com/svn/trunk@1433 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agowe don't checkin baselines for pdf yet
reed@google.com [Thu, 26 May 2011 14:04:23 +0000 (14:04 +0000)]
we don't checkin baselines for pdf yet

git-svn-id: http://skia.googlecode.com/svn/trunk@1432 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd gpu baselines for linux
reed@google.com [Thu, 26 May 2011 14:01:36 +0000 (14:01 +0000)]
add gpu baselines for linux

git-svn-id: http://skia.googlecode.com/svn/trunk@1431 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agodraw rotated rects as paths if we're antialiasing, until we extend our rect-aa
reed@google.com [Thu, 26 May 2011 11:46:35 +0000 (11:46 +0000)]
draw rotated rects as paths if we're antialiasing, until we extend our rect-aa
code to handle that case.

git-svn-id: http://skia.googlecode.com/svn/trunk@1430 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agocheckpoint for better 8bit->5bit reduction (disable for now)
reed@google.com [Thu, 26 May 2011 11:41:27 +0000 (11:41 +0000)]
checkpoint for better 8bit->5bit reduction (disable for now)

git-svn-id: http://skia.googlecode.com/svn/trunk@1429 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agobalance the call to matrix::flatten from r1414. Formerly both of these were
reed@google.com [Thu, 26 May 2011 11:39:41 +0000 (11:39 +0000)]
balance the call to matrix::flatten from r1414. Formerly both of these were
just memcpy. This fixes a regression when using matrices in pictures.

git-svn-id: http://skia.googlecode.com/svn/trunk@1428 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoShow fatbits mode in openGL. http://codereview.appspot.com/4515141/
Scroggo [Wed, 25 May 2011 20:50:42 +0000 (20:50 +0000)]
Show fatbits mode in openGL. codereview.appspot.com/4515141/

git-svn-id: http://skia.googlecode.com/svn/trunk@1426 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoThis change eliminates a potential memory leak and it
junov@google.com [Wed, 25 May 2011 20:26:11 +0000 (20:26 +0000)]
This change eliminates a potential memory leak and it
fixes a mem check bug that was blocking the skia roll
into Chromium.

BUG=http://code.google.com/p/skia/issues/detail?id=278

git-svn-id: http://skia.googlecode.com/svn/trunk@1424 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd
reed@google.com [Wed, 25 May 2011 20:13:50 +0000 (20:13 +0000)]
add

git-svn-id: http://skia.googlecode.com/svn/trunk@1422 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoinherit from SampleView
reed@google.com [Wed, 25 May 2011 20:13:06 +0000 (20:13 +0000)]
inherit from SampleView

git-svn-id: http://skia.googlecode.com/svn/trunk@1421 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoRename glu libtess symbols. When enabled in WebKit, the internal_glu libtess
senorblanco@chromium.org [Wed, 25 May 2011 14:46:17 +0000 (14:46 +0000)]
Rename glu libtess symbols.  When enabled in WebKit, the internal_glu libtess
symbols in skia will collide with the same internal_ implementation in WebKit.
Rename the glu entry points with an Sk_ prefix instead.  Also, unfork the
changes to the libtess source as much as possible (the same as was done in
http://trac.webkit.org/changeset/87178).

Review URL:  http://codereview.appspot.com/4536080/

git-svn-id: http://skia.googlecode.com/svn/trunk@1419 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Improve the SkClipStack skipping prefix code.
vandebo@chromium.org [Wed, 25 May 2011 01:27:52 +0000 (01:27 +0000)]
[PDF] Improve the SkClipStack skipping prefix code.

Because of intersecting done in SkClipStack, we may have to do more work in the last entry of the prefix.

Review URL: http://codereview.appspot.com/4530066

git-svn-id: http://skia.googlecode.com/svn/trunk@1418 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Reuse the invert function object for xform object masks.
vandebo@chromium.org [Wed, 25 May 2011 00:41:30 +0000 (00:41 +0000)]
[PDF] Reuse the invert function object for xform object masks.

Review URL: http://codereview.appspot.com/4557046

git-svn-id: http://skia.googlecode.com/svn/trunk@1417 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Rename ContentEntryAccessor to ScopedContentEntry.
vandebo@chromium.org [Tue, 24 May 2011 23:12:41 +0000 (23:12 +0000)]
[PDF] Rename ContentEntryAccessor to ScopedContentEntry.

Review URL: http://codereview.appspot.com/4515134

git-svn-id: http://skia.googlecode.com/svn/trunk@1416 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Fix regression - correct for fInitialTrnasform in form xobjects.
vandebo@chromium.org [Tue, 24 May 2011 23:02:07 +0000 (23:02 +0000)]
[PDF] Fix regression - correct for fInitialTrnasform in form xobjects.

Chrome bug http://crbug.com/83658

Review URL: http://codereview.appspot.com/4550072

git-svn-id: http://skia.googlecode.com/svn/trunk@1415 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoGrab-bag of memory fixes. SkFlatMatrix::Flatten had the same issue as
senorblanco@chromium.org [Tue, 24 May 2011 20:25:32 +0000 (20:25 +0000)]
Grab-bag of memory fixes.  SkFlatMatrix::Flatten had the same issue as
Sk2DPathEffect:  it was encoding a partially-unintialized matrix type mask.
The others are simply uninitialized vars in the sample code.

Review URL:  http://codereview.appspot.com/4539072/

git-svn-id: http://skia.googlecode.com/svn/trunk@1414 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoCleanup: Use member function isContentEmpty().
ctguil@chromium.org [Tue, 24 May 2011 19:55:05 +0000 (19:55 +0000)]
Cleanup: Use member function isContentEmpty().
Review URL: http://codereview.appspot.com/4556058

git-svn-id: http://skia.googlecode.com/svn/trunk@1412 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoStores index.html in the output (diff) directory rather than in the current
tomhudson@google.com [Tue, 24 May 2011 19:41:13 +0000 (19:41 +0000)]
Stores index.html in the output (diff) directory rather than in the current
working directory.
Skips PDFs since we have no way to compare them.
Includes prototype of --weighted option to scale percent different metric by
intensity of difference at each pixel.

(qv http://codereview.appspot.com/4557042/)

git-svn-id: http://skia.googlecode.com/svn/trunk@1411 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Don't draw empty layers.
vandebo@chromium.org [Tue, 24 May 2011 17:38:01 +0000 (17:38 +0000)]
[PDF] Don't draw empty layers.

Review URL: http://codereview.appspot.com/4527072

git-svn-id: http://skia.googlecode.com/svn/trunk@1410 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Add helper class to manage ContentEntry set up and completion.
vandebo@chromium.org [Tue, 24 May 2011 17:19:38 +0000 (17:19 +0000)]
[PDF] Add helper class to manage ContentEntry set up and completion.

This stack object helper class calls finishContentEntry when it goes out of scope, maintains the current content entry, and manages the dst form xobject when it is needed.  This can be made cleaner by moving the guts of SkPDFDevice into a core object, which can expose setUp/finishContentEntry as public, but that is left as a todo.

Review URL: http://codereview.appspot.com/4515126

git-svn-id: http://skia.googlecode.com/svn/trunk@1409 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoRebase GM tool for SKIA_SCALAR=fixed
epoger@google.com [Tue, 24 May 2011 17:07:01 +0000 (17:07 +0000)]
Rebase GM tool for SKIA_SCALAR=fixed
http://codereview.appspot.com/4559041

git-svn-id: http://skia.googlecode.com/svn/trunk@1408 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Add clip support and some optimizations for "complex" xfer modes.
vandebo@chromium.org [Tue, 24 May 2011 16:39:05 +0000 (16:39 +0000)]
[PDF] Add clip support and some optimizations for "complex" xfer modes.

For Clear, Src, Dst/Src-In/Out, we have to consider the current clip, and
potentially draw Dst, clipped to the inverse of the current clip before
doing the operation of interest.

For clear or src, if we haven't drawn anything, or the clip is empty, there's
nothing to be done.
For Src/Dst-In/Out, if either is empty, the result is empty.

Review URL: http://codereview.appspot.com/4538082

git-svn-id: http://skia.googlecode.com/svn/trunk@1407 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFixes performance for texture domain uniform upload
junov@google.com [Tue, 24 May 2011 15:13:01 +0000 (15:13 +0000)]
Fixes performance for texture domain uniform upload
Code review: http://codereview.appspot.com/4536073/
bug: http://code.google.com/p/skia/issues/detail?id=275

git-svn-id: http://skia.googlecode.com/svn/trunk@1406 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoWarn when an SkScalar is passed into SkIntToScalar() (converted twice)
epoger@google.com [Tue, 24 May 2011 14:51:57 +0000 (14:51 +0000)]
Warn when an SkScalar is passed into SkIntToScalar()  (converted twice)
http://codereview.appspot.com/4548051/

git-svn-id: http://skia.googlecode.com/svn/trunk@1405 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoreturn the bytes read, not the total provided
reed@google.com [Tue, 24 May 2011 13:50:21 +0000 (13:50 +0000)]
return the bytes read, not the total provided

git-svn-id: http://skia.googlecode.com/svn/trunk@1404 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd copyright notices
reed@google.com [Tue, 24 May 2011 12:14:28 +0000 (12:14 +0000)]
add copyright notices

git-svn-id: http://skia.googlecode.com/svn/trunk@1403 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFix a new clang warning:
thakis@chromium.org [Tue, 24 May 2011 05:42:55 +0000 (05:42 +0000)]
Fix a new clang warning:

third_party/skia/src/ports/SkFontHost_FreeType.cpp:957:7:error: switch case is
in protected scope
      default:
      ^
third_party/skia/src/ports/SkFontHost_FreeType.cpp:918:17: note: jump bypasses
variable initialization
        FT_BBox bbox;
                ^
third_party/skia/src/ports/SkFontHost_FreeType.cpp:946:7:error: switch case is
in protected scope
      case FT_GLYPH_FORMAT_BITMAP:
      ^
third_party/skia/src/ports/SkFontHost_FreeType.cpp:918:17: note: jump bypasses
variable initialization
        FT_BBox bbox;
                ^
2 errors generated.

This is arguably a false positive, but since |bbox| can only safely be used in
the first case branch, it's a good idea to scope it to there anyway. This is
the only instance this warning occurs in all of chrome.

Review URL: http://codereview.appspot.com/4532081/

git-svn-id: http://skia.googlecode.com/svn/trunk@1402 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agocall notify after we write the kDone verb
reed@google.com [Mon, 23 May 2011 21:09:13 +0000 (21:09 +0000)]
call notify after we write the kDone verb

git-svn-id: http://skia.googlecode.com/svn/trunk@1401 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd optoinal bytesRead argument (output) to playback()
reed@google.com [Mon, 23 May 2011 13:54:24 +0000 (13:54 +0000)]
add optoinal bytesRead argument (output) to playback()

git-svn-id: http://skia.googlecode.com/svn/trunk@1400 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agofix warnings
reed@google.com [Mon, 23 May 2011 12:44:44 +0000 (12:44 +0000)]
fix warnings

git-svn-id: http://skia.googlecode.com/svn/trunk@1399 2bbb7eff-a529-9590-31e7-b0007b416f81