Commit Graph

8 Commits

Author SHA1 Message Date
Brian Osman
c7ad40f76f Remove SK_SUPPORT_GPU checks in tool-only code
Most of this is (obviously) not necessary to do, but once
I started, I figured I'd just get it all. Tools (nanobench,
DM, skiaserve), all GMs, benches, and unit tests, plus support
code (command line parsing and config stuff).

This is almost entirely mechanical.

Bug: skia:
Change-Id: I209500f8df8c5bd43f8298ff26440d1c4d7425fb
Reviewed-on: https://skia-review.googlesource.com/131153
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-05-31 18:59:44 +00:00
Brian Salomon
c7fe0f708c Make GrCaps and GrShaderCaps private.
Moves getCaps() from GrContext to GrContextPriv and removes unused refCaps().

Change-Id: Ic6a8951b656c0d1b2773eae73bff8e88af819866
Reviewed-on: https://skia-review.googlesource.com/127389
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-05-11 14:47:27 +00:00
Mike Reed
8008df1080 handle large rects, rename helper
To fix gm/bigrect, needed to do adjust "largest" rect so it doesn't become empty when round-tripping with SkRect/SkIRect.
I renamed it after this.

Bug: skia:
Change-Id: I747782c8456da603cf298275d2300ea1996e7629
Reviewed-on: https://skia-review.googlesource.com/95563
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
2018-01-17 17:38:57 +00:00
Mike Reed
274218ef01 move largest apis into private
Related to https://skia-review.googlesource.com/c/skia/+/91860

Bug: skia:
Change-Id: Ia8fd981b422bbab75541b078277d2e09e1fc9d41
Reviewed-on: https://skia-review.googlesource.com/91940
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-01-08 20:42:27 +00:00
csmartdalton
bf4a8f90c8 Improve usage of window rectangles
* Skips non-AA diff rect elements and replaces them with window
  rectangles.
* Places window rectangles in the interiors of antialiased diff rects.
* Arranges two overlapping window rectangles in a plus shape inside of
  diff rounded rects.
* Enables window rectangles when clearing and generating clip masks.

GTX 960 perf result (with vs. without window rectangles):

                              glinst4                msaa16                 gpu
keymobi_pinterest.skp         0.48 -> 0.17 [ 35%]    2.77 -> 1.49 [ 54%]    0.22 -> 0.16 [ 70%]
keymobi_digg_com.skp          0.42 -> 0.23 [ 55%]    2.34 -> 1.08 [ 46%]    0.25 -> 0.21 [ 83%]
desk_jsfiddlebigcar.skp       0.28 -> 0.16 [ 59%]    1.70 -> 0.96 [ 57%]    0.19 -> 0.14 [ 70%]
top25desk_wordpress.skp       0.45 -> 0.18 [ 40%]    2.78 -> 1.53 [ 55%]    0.21 -> 0.19 [ 94%]
top25desk_weather_com.skp     2.01 -> 1.93 [ 96%]    23.5 -> 2.54 [ 11%]    1.90 -> 1.68 [ 88%]
keymobi_blogger.skp           0.57 -> 0.37 [ 65%]    2.87 -> 1.54 [ 54%]    0.43 -> 0.33 [ 77%]
keymobi_linkedin.skp          0.32 -> 0.17 [ 51%]    1.93 -> 1.04 [ 54%]    0.17 -> 0.15 [ 91%]
keymobi_bing_com_search_...   0.29 -> 0.25 [ 83%]    1.85 -> 1.23 [ 66%]    0.50 -> 0.24 [ 48%]
keymobi_theverge_com_201...   1.00 -> 0.67 [ 68%]    9.46 -> 3.84 [ 41%]    0.72 -> 0.65 [ 90%]
keymobi_sfgate_com_.skp       1.56 -> 1.13 [ 72%]    4.49 -> 2.86 [ 64%]    1.54 -> 1.11 [ 72%]
...
GEOMEAN (All 79 blink skps)   1.04 -> 0.90 [ 86%]    4.22 -> 2.81 [ 67%]    0.95 -> 0.89 [ 94%]

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289363005

Committed: https://skia.googlesource.com/skia/+/db42be9a326c747ff92ed1da8c3536c5b3e8e22b
Review-Url: https://codereview.chromium.org/2289363005
2016-09-06 10:01:07 -07:00
caryclark
c3bfcb803a Revert of Improve usage of window rectangles (patchset #9 id:160001 of https://codereview.chromium.org/2289363005/ )
Reason for revert:
broke build. See

https://build.chromium.org/p/client.skia/builders/Perf-Win8-MSVC-ShuttleA-GPU-GTX960-x86_64-Debug/builds/186

Original issue's description:
> Improve usage of window rectangles
>
> * Skips non-AA diff rect elements and replaces them with window
>   rectangles.
> * Places window rectangles in the interiors of antialiased diff rects.
> * Arranges two overlapping window rectangles in a plus shape inside of
>   diff rounded rects.
> * Enables window rectangles when clearing and generating clip masks.
>
> GTX 960 perf result (with vs. without window rectangles):
>
>                               glinst4                msaa16                 gpu
> keymobi_pinterest.skp         0.48 -> 0.17 [ 35%]    2.77 -> 1.49 [ 54%]    0.22 -> 0.16 [ 70%]
> keymobi_digg_com.skp          0.42 -> 0.23 [ 55%]    2.34 -> 1.08 [ 46%]    0.25 -> 0.21 [ 83%]
> desk_jsfiddlebigcar.skp       0.28 -> 0.16 [ 59%]    1.70 -> 0.96 [ 57%]    0.19 -> 0.14 [ 70%]
> top25desk_wordpress.skp       0.45 -> 0.18 [ 40%]    2.78 -> 1.53 [ 55%]    0.21 -> 0.19 [ 94%]
> top25desk_weather_com.skp     2.01 -> 1.93 [ 96%]    23.5 -> 2.54 [ 11%]    1.90 -> 1.68 [ 88%]
> keymobi_blogger.skp           0.57 -> 0.37 [ 65%]    2.87 -> 1.54 [ 54%]    0.43 -> 0.33 [ 77%]
> keymobi_linkedin.skp          0.32 -> 0.17 [ 51%]    1.93 -> 1.04 [ 54%]    0.17 -> 0.15 [ 91%]
> keymobi_bing_com_search_...   0.29 -> 0.25 [ 83%]    1.85 -> 1.23 [ 66%]    0.50 -> 0.24 [ 48%]
> keymobi_theverge_com_201...   1.00 -> 0.67 [ 68%]    9.46 -> 3.84 [ 41%]    0.72 -> 0.65 [ 90%]
> keymobi_sfgate_com_.skp       1.56 -> 1.13 [ 72%]    4.49 -> 2.86 [ 64%]    1.54 -> 1.11 [ 72%]
> keymobi_ftw_usatoday_com...   0.59 -> 0.34 [ 57%]    2.80 -> 1.54 [ 55%]    1.21 -> 1.20 [ 99%]
> keymobi_shop_mobileweb_e...   0.46 -> 0.32 [ 70%]    2.60 -> 1.26 [ 48%]    0.35 -> 0.34 [ 97%]
> keymobi_cnn_com.skp           0.68 -> 0.42 [ 63%]    3.40 -> 2.10 [ 62%]    0.49 -> 0.45 [ 93%]
> keymobi_plus_google_com_...   0.77 -> 0.46 [ 60%]    4.83 -> 3.56 [ 74%]    0.52 -> 0.46 [ 89%]
> keymobi_wordpress.skp         0.50 -> 0.40 [ 81%]    2.60 -> 1.31 [ 50%]    0.40 -> 0.37 [ 91%]
> keymobi_androidpolice_co...   0.84 -> 0.73 [ 87%]    4.15 -> 2.05 [ 49%]    0.77 -> 0.67 [ 87%]
> keymobi_online_wsj_com_h...   0.55 -> 0.43 [ 78%]    2.91 -> 1.66 [ 57%]    0.45 -> 0.41 [ 90%]
> keymobi_iphone_capitolvo...   1.18 -> 0.96 [ 81%]    6.26 -> 4.96 [ 79%]    0.95 -> 0.92 [ 97%]
> keymobi_wikipedia__1_tab...   0.46 -> 0.41 [ 89%]    2.51 -> 1.24 [ 49%]    0.40 -> 0.38 [ 95%]
> keymobi_wikipedia__1_tab...   0.46 -> 0.42 [ 90%]    2.52 -> 1.25 [ 50%]    0.40 -> 0.38 [ 96%]
> keymobi_boingboing_net.skp    0.62 -> 0.56 [ 90%]    3.15 -> 1.80 [ 57%]    0.61 -> 0.56 [ 92%]
> keymobi_cnn_com_2012_10_...   0.86 -> 0.82 [ 95%]    2.81 -> 1.50 [ 53%]    0.91 -> 0.83 [ 91%]
> top25desk_techcrunch_com...   0.61 -> 0.56 [ 92%]    3.03 -> 1.76 [ 58%]    0.62 -> 0.56 [ 91%]
> top25desk_ebay_com.skp        1.18 -> 1.08 [ 92%]    2.23 -> 1.24 [ 56%]    1.14 -> 1.09 [ 96%]
> desk_css3gradients.skp        0.64 -> 0.61 [ 95%]    2.99 -> 1.54 [ 52%]    0.62 -> 0.61 [ 99%]
> top25desk_blogger.skp         0.61 -> 0.59 [ 96%]    2.50 -> 1.37 [ 55%]    0.60 -> 0.57 [ 95%]
> keymobi_nytimes_com_.skp      0.65 -> 0.64 [ 98%]    2.69 -> 1.42 [ 53%]    0.62 -> 0.59 [ 96%]
> keymobi_wowwiki_com_worl...   0.99 -> 0.92 [ 92%]    3.46 -> 2.06 [ 60%]    0.98 -> 0.95 [ 96%]
> keymobi_cuteoverload_com...   1.37 -> 1.26 [ 92%]    3.24 -> 2.45 [ 76%]    1.38 -> 1.35 [ 98%]
> keymobi_mobile_news_sand...   0.88 -> 0.81 [ 93%]    3.50 -> 2.07 [ 59%]    0.82 -> 0.81 [100%]
> top25desk_linkedin.skp        0.87 -> 0.87 [100%]    2.92 -> 1.73 [ 59%]    0.94 -> 0.86 [ 91%]
> top25desk_docs___1_open_...   1.43 -> 1.36 [ 95%]    1.87 -> 1.42 [ 76%]    0.73 -> 0.66 [ 91%]
> keymobi_reddit_com_r_pro...   0.68 -> 0.66 [ 96%]    2.49 -> 1.23 [ 49%]    0.65 -> 0.66 [102%]
> ...
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289363005
>
> Committed: https://skia.googlesource.com/skia/+/db42be9a326c747ff92ed1da8c3536c5b3e8e22b

TBR=bsalomon@google.com,egdaniel@google.com,robertphillips@google.com,csmartdalton@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:

Review-Url: https://codereview.chromium.org/2312173002
2016-09-06 07:09:54 -07:00
csmartdalton
db42be9a32 Improve usage of window rectangles
* Skips non-AA diff rect elements and replaces them with window
  rectangles.
* Places window rectangles in the interiors of antialiased diff rects.
* Arranges two overlapping window rectangles in a plus shape inside of
  diff rounded rects.
* Enables window rectangles when clearing and generating clip masks.

GTX 960 perf result (with vs. without window rectangles):

                              glinst4                msaa16                 gpu
keymobi_pinterest.skp         0.48 -> 0.17 [ 35%]    2.77 -> 1.49 [ 54%]    0.22 -> 0.16 [ 70%]
keymobi_digg_com.skp          0.42 -> 0.23 [ 55%]    2.34 -> 1.08 [ 46%]    0.25 -> 0.21 [ 83%]
desk_jsfiddlebigcar.skp       0.28 -> 0.16 [ 59%]    1.70 -> 0.96 [ 57%]    0.19 -> 0.14 [ 70%]
top25desk_wordpress.skp       0.45 -> 0.18 [ 40%]    2.78 -> 1.53 [ 55%]    0.21 -> 0.19 [ 94%]
top25desk_weather_com.skp     2.01 -> 1.93 [ 96%]    23.5 -> 2.54 [ 11%]    1.90 -> 1.68 [ 88%]
keymobi_blogger.skp           0.57 -> 0.37 [ 65%]    2.87 -> 1.54 [ 54%]    0.43 -> 0.33 [ 77%]
keymobi_linkedin.skp          0.32 -> 0.17 [ 51%]    1.93 -> 1.04 [ 54%]    0.17 -> 0.15 [ 91%]
keymobi_bing_com_search_...   0.29 -> 0.25 [ 83%]    1.85 -> 1.23 [ 66%]    0.50 -> 0.24 [ 48%]
keymobi_theverge_com_201...   1.00 -> 0.67 [ 68%]    9.46 -> 3.84 [ 41%]    0.72 -> 0.65 [ 90%]
keymobi_sfgate_com_.skp       1.56 -> 1.13 [ 72%]    4.49 -> 2.86 [ 64%]    1.54 -> 1.11 [ 72%]
keymobi_ftw_usatoday_com...   0.59 -> 0.34 [ 57%]    2.80 -> 1.54 [ 55%]    1.21 -> 1.20 [ 99%]
keymobi_shop_mobileweb_e...   0.46 -> 0.32 [ 70%]    2.60 -> 1.26 [ 48%]    0.35 -> 0.34 [ 97%]
keymobi_cnn_com.skp           0.68 -> 0.42 [ 63%]    3.40 -> 2.10 [ 62%]    0.49 -> 0.45 [ 93%]
keymobi_plus_google_com_...   0.77 -> 0.46 [ 60%]    4.83 -> 3.56 [ 74%]    0.52 -> 0.46 [ 89%]
keymobi_wordpress.skp         0.50 -> 0.40 [ 81%]    2.60 -> 1.31 [ 50%]    0.40 -> 0.37 [ 91%]
keymobi_androidpolice_co...   0.84 -> 0.73 [ 87%]    4.15 -> 2.05 [ 49%]    0.77 -> 0.67 [ 87%]
keymobi_online_wsj_com_h...   0.55 -> 0.43 [ 78%]    2.91 -> 1.66 [ 57%]    0.45 -> 0.41 [ 90%]
keymobi_iphone_capitolvo...   1.18 -> 0.96 [ 81%]    6.26 -> 4.96 [ 79%]    0.95 -> 0.92 [ 97%]
keymobi_wikipedia__1_tab...   0.46 -> 0.41 [ 89%]    2.51 -> 1.24 [ 49%]    0.40 -> 0.38 [ 95%]
keymobi_wikipedia__1_tab...   0.46 -> 0.42 [ 90%]    2.52 -> 1.25 [ 50%]    0.40 -> 0.38 [ 96%]
keymobi_boingboing_net.skp    0.62 -> 0.56 [ 90%]    3.15 -> 1.80 [ 57%]    0.61 -> 0.56 [ 92%]
keymobi_cnn_com_2012_10_...   0.86 -> 0.82 [ 95%]    2.81 -> 1.50 [ 53%]    0.91 -> 0.83 [ 91%]
top25desk_techcrunch_com...   0.61 -> 0.56 [ 92%]    3.03 -> 1.76 [ 58%]    0.62 -> 0.56 [ 91%]
top25desk_ebay_com.skp        1.18 -> 1.08 [ 92%]    2.23 -> 1.24 [ 56%]    1.14 -> 1.09 [ 96%]
desk_css3gradients.skp        0.64 -> 0.61 [ 95%]    2.99 -> 1.54 [ 52%]    0.62 -> 0.61 [ 99%]
top25desk_blogger.skp         0.61 -> 0.59 [ 96%]    2.50 -> 1.37 [ 55%]    0.60 -> 0.57 [ 95%]
keymobi_nytimes_com_.skp      0.65 -> 0.64 [ 98%]    2.69 -> 1.42 [ 53%]    0.62 -> 0.59 [ 96%]
keymobi_wowwiki_com_worl...   0.99 -> 0.92 [ 92%]    3.46 -> 2.06 [ 60%]    0.98 -> 0.95 [ 96%]
keymobi_cuteoverload_com...   1.37 -> 1.26 [ 92%]    3.24 -> 2.45 [ 76%]    1.38 -> 1.35 [ 98%]
keymobi_mobile_news_sand...   0.88 -> 0.81 [ 93%]    3.50 -> 2.07 [ 59%]    0.82 -> 0.81 [100%]
top25desk_linkedin.skp        0.87 -> 0.87 [100%]    2.92 -> 1.73 [ 59%]    0.94 -> 0.86 [ 91%]
top25desk_docs___1_open_...   1.43 -> 1.36 [ 95%]    1.87 -> 1.42 [ 76%]    0.73 -> 0.66 [ 91%]
keymobi_reddit_com_r_pro...   0.68 -> 0.66 [ 96%]    2.49 -> 1.23 [ 49%]    0.65 -> 0.66 [102%]
...

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289363005

Review-Url: https://codereview.chromium.org/2289363005
2016-09-02 11:36:25 -07:00
csmartdalton
28341fad84 Implement difference clip rects with window rectangles
Plumbs the pipeline for window rectangles and uses them for a very
basic implementation of difference clip rects. This puts a common
Blink pattern on fast path, but we will still eventually need to make
more comprehensive use of window rectangles during clipping.

GTX 960 perf result:
                              gpu                     glinst4                 glinst16
desk_jsfiddlebigcar.skp       0.254 -> 0.177 [70%]    0.279 -> 0.197 [71%]    0.577 -> 0.196 [34%]
keymobi_sfgate_com_.skp       0.697 -> 0.513 [74%]    0.766 -> 0.451 [59%]    0.769 -> 0.597 [78%]
keymobi_blogger.skp           0.406 -> 0.314 [77%]    0.436 -> 0.292 [67%]    0.696 -> 0.319 [46%]
desk_pokemonwiki.skp          0.121 -> 0.098 [81%]     0.13 -> 0.105 [81%]    0.216 -> 0.097 [45%]
desk_wikipedia.skp            0.121 -> 0.098 [81%]     0.13 -> 0.104 [80%]    0.199 -> 0.104 [52%]
keymobi_androidpolice_co...   0.443 -> 0.382 [86%]    0.447 -> 0.398 [89%]    0.444 -> 0.396 [89%]
keymobi_booking_com_sear...   1 .15 ->  1.03 [90%]     1.17 ->  1.06 [91%]     1.17 ->  1.05 [90%]
keymobi_theverge_com.skp      0.417 -> 0.396 [95%]    0.426 -> 0.405 [95%]    0.429 ->   0.4 [93%]

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2251573002

Review-Url: https://codereview.chromium.org/2251573002
2016-08-17 10:00:22 -07:00