Commit Graph

186 Commits

Author SHA1 Message Date
commit-bot@chromium.org
149e9a107c Rename kPMColor_SkColorType to kN32_SkColorType.
The new name better represents what this flag means.

BUG=skia:2384
R=reed@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/227433009

git-svn-id: http://skia.googlecode.com/svn/trunk@14117 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-09 20:45:29 +00:00
commit-bot@chromium.org
0943f5f58a Thread picture version through to SkReadBuffer.
This will let code outside SkPicture* fork its read code based on the picture version.

BUG=skia:
R=reed@google.com, robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/214413008

git-svn-id: http://skia.googlecode.com/svn/trunk@13984 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-28 18:05:47 +00:00
skia.committer@gmail.com
db35dab49e Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13961 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-27 03:02:48 +00:00
commit-bot@chromium.org
57f74e0aa9 Debugger improvements
This CL:
  improves the 'SaveAs' functionality
  allows switching between # and offset indexing in the command list
  minor nit cleanup

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/211383003

git-svn-id: http://skia.googlecode.com/svn/trunk@13950 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-25 23:31:33 +00:00
commit-bot@chromium.org
f5e315ccf1 add --writeChecksumBasedFilenames flag to render_pictures
BUG=skia:1455,skia:2230
R=robertphillips@google.com, robertphillips@chromium.org

Author: epoger@google.com

Review URL: https://codereview.chromium.org/202983003

git-svn-id: http://skia.googlecode.com/svn/trunk@13859 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-19 17:26:07 +00:00
commit-bot@chromium.org
51c040ed1e Alter bench_pictures to "respect" the logPerIter flag.
When --logPerIters is set and --repeat is great then 2 then bench_pictures will run each test "repeat" times (to generate the correct number of timings) by rendering 5 times.

This CL also adds a swapBuffers in addition to the pre-existing flush calls.

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/194973003

git-svn-id: http://skia.googlecode.com/svn/trunk@13752 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 22:58:00 +00:00
commit-bot@chromium.org
fae599b4a6 Avoid black flashes when resizing debugger window using MSAA
Avoid black flashes when resizing debugger window using MSAA. Clear the
stencil buffer always after resize. Also reset the GrContext state
when Qt calls resizeGL -- we do not know what GL state Qt changes.

Remove setting of white background to SkGLWidget, it is not
effective. QGLWidget does not respect the stylesheet.

Also move the initial stencil clearing before GrContext is created
in order to preserve GrContext state consistent with actual GL
state.

R=robertphillips@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/192433003

git-svn-id: http://skia.googlecode.com/svn/trunk@13721 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 16:04:47 +00:00
commit-bot@chromium.org
6f4fb0f129 Generating the 1M skps frequently yields truncated skps. This tool is intended to help automate weeding these out.
Please see skbug:1057

rmistry for tools, gyp
mtklein for src\core & include\core

BUG=skia:1057
R=rmistry@google.com, mtklein@google.com, reed@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/176863004

git-svn-id: http://skia.googlecode.com/svn/trunk@13643 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-03 19:18:39 +00:00
commit-bot@chromium.org
768ac85655 The new "mega" viz mode both adds visualization and forces all drawing to the visible canvas (by replacing the active saveLayers with saves).
R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/185293007

git-svn-id: http://skia.googlecode.com/svn/trunk@13640 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-03 16:32:17 +00:00
commit-bot@chromium.org
210ae2a426 Culling API
*** SKP format breaking change ***

Adding a couple of culling primitives: pushCull(SkRect) & popCull().

These are currently only plumbed for SKP playback quickreject.

At record time, we perform a couple of optimizations to trim down the
number of redundant culls:

  * collapse empty pushCull/popCull pairs
  * skip pushCull/popCull pairs nested within an identical cull rect

Things still missing/to consider:

  * use an inlineable, simplified quickreject (Mike's old prototype)
  * debugger visualization for cull boxes
  * BBH integration: the initial prototype had some minimal BBH support,
    but since the optimizations required expensive rewinds and culling
    is expected to be a BBH alternative, it got dropped.

R=bsalomon@google.com, reed@google.com, robertphillips@google.com, caryclark@google.com, tomhudson@google.com, iancottrell@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/138013009

git-svn-id: http://skia.googlecode.com/svn/trunk@13611 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-27 17:40:13 +00:00
reed@google.com
e1ca705cac deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients
BUG=
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/111353003

git-svn-id: http://skia.googlecode.com/svn/trunk@12719 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 19:22:07 +00:00
commit-bot@chromium.org
22d39332bd Convert debugger settings controls to combo boxes.
This reduces the height of the settings panel significantly compared to
radio buttons.

With some luck, the debugger may now fit on non-4K monitors :)

R=bungeman@google.com, robertphillips@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/78843005

git-svn-id: http://skia.googlecode.com/svn/trunk@12342 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 15:37:29 +00:00
commit-bot@chromium.org
bcd431e177 Make the debugger left panel resizable.
Use QSplitters to allow resizing the left debugger panels.

R=robertphillips@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/79573002

git-svn-id: http://skia.googlecode.com/svn/trunk@12336 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 13:41:37 +00:00
reed@google.com
2bd8b81005 move SkImage::ColorType into SkColorType
objective -- move clients over to SkImage

tasks
- use SkImageInfo instead of SkBitmap::Config
- add support for colortables to SkImage
- add drawImage to SkCanvas
- return SkImage from readPixels

This CL works towards the first task

R=robertphillips@google.com

Review URL: https://codereview.chromium.org/54363008

git-svn-id: http://skia.googlecode.com/svn/trunk@12077 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 13:46:54 +00:00
robertphillips@google.com
32bbcf828d Add texture filtering override to debugger
https://codereview.chromium.org/27716003/



git-svn-id: http://skia.googlecode.com/svn/trunk@11846 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 17:56:10 +00:00
scroggo@google.com
12705329d0 Allow creating a picture from skp to fail.
Replace the current constructor for creating an
SkPicturePlayback to a factory. In the factory,
check for incorrect data that would result in an invalid
playback. If the playback is invalid, return NULL, and
return NULL from SkPicture's factory as well.

Update SkTimedPicture(Playback) as well.

BUG=skia:1672
R=caryclark@google.com

Review URL: https://codereview.chromium.org/24826002

git-svn-id: http://skia.googlecode.com/svn/trunk@11554 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 15:30:46 +00:00
reed@google.com
beb0c2aa32 use new globally scoped SkAlphaType
git-svn-id: http://skia.googlecode.com/svn/trunk@11424 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-20 20:05:01 +00:00
robertphillips@google.com
60820761ee Get debugger compiling in NoGPU config
git-svn-id: http://skia.googlecode.com/svn/trunk@11001 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 13:22:28 +00:00
robertphillips@google.com
1f2f338e23 Split SkDevice into SkBaseDevice and SkBitmapDevice
https://codereview.chromium.org/22978012/



git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 11:54:56 +00:00
robertphillips@google.com
9b051a375b Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get Chromium ready.
git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:06:40 +00:00
robertphillips@google.com
3055b70018 Split SkDevice out of SkBitmapDevice
https://codereview.chromium.org/22978012/



git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 17:49:04 +00:00
commit-bot@chromium.org
fde1e7ccb4 Support MSAA in the picture debugger
Add radio buttons for setting the GL sample count to 0 ("off"), 4 or
16.

Change the default mode of the GL widget to MSAA4. Previous behavior
corresponded to "off".

BUG=1459
R=robertphillips@google.com

Author: kkinnunen@nvidia.com

Review URL: https://chromiumcodereview.appspot.com/21752002

git-svn-id: http://skia.googlecode.com/svn/trunk@10509 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-02 13:59:50 +00:00
humper@google.com
5a867c74e1 fix swapped bitmap channels on Mac for debugger
BUG=
R=djsollen@google.com, robertphillips@google.com

Review URL: https://codereview.chromium.org/18485004

git-svn-id: http://skia.googlecode.com/svn/trunk@9958 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-10 15:53:36 +00:00
skia.committer@gmail.com
0d55dd7d2c Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9856 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-02 07:00:59 +00:00
bungeman@google.com
2ff6d1d1dc Separate showing and hiding the debugger settings and inspector.
Internally the settings and inspector in the debugger are separate, but the
inspector button toggles both of them. This is unfortunate, because both of
these have large minimum vertical sizes. This means that those with vertical
resolutions less than ~1024 cannot see the the details tab.

This change separates the settings and inspector toggles into two so that
the interface is usable on screens of smaller size.

R=robertphillips@google.com

Review URL: https://codereview.chromium.org/18279002

git-svn-id: http://skia.googlecode.com/svn/trunk@9835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-01 14:24:12 +00:00
bungeman@google.com
0b4d6b289c Basic error checking for debugger GL widget.
Currently the debugger segfaults if the GL context cannot be created.
This change allows the debugger to build with GL support, but still run if the
GL context cannot be created at runtime.

R=robertphillips@google.com

Review URL: https://codereview.chromium.org/18275002

git-svn-id: http://skia.googlecode.com/svn/trunk@9834 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-01 13:54:10 +00:00
scroggo@google.com
f1754ec691 Replace SkPicture(SkStream) constructors with a factory.
SkPicture:
Remove the constructors which take an SkStream as an argument. Rather
than having to check a variable for success, the factory will return
NULL on failure.
Add a protected function for determining if an SkStream is an SKP
to share code with SkTimedPicture.
In the factory, check for a NULL SkStream.
Use a default decoder (from BUG:
https://code.google.com/p/skia/issues/detail?id=1325)

SkDebuggerGUI:
Call SkPicture::CreateFromStream when necessary.
Write a factory for creating SkTimedPictures and use it.

Use the factory throughout tools.

Add include/lazy to utils and effects gyp include_dirs so SkPicture.h
can reference SkImageDecoder.h which references SkBitmapFactory.h (in
include/lazy).

Changes code Chromium uses, so this will require a temporary Skia
and then a change to Chromium to use the new Skia code.

TODO: Create a decoder that does nothing to be used by pinspect,
lua pictures, etc, and allow it to not assert in SkOrderedReadBuffer.

R=reed@google.com

Review URL: https://codereview.chromium.org/17113004

git-svn-id: http://skia.googlecode.com/svn/trunk@9822 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-28 21:32:00 +00:00
fmalita@google.com
86681b37bd Expose debugger backend classes externally.
SkDebugCanvas & friends are useful beyond the Qt debugger app - Chromium's picture inspector (in development) is at the point where it could take advantage of it.

This patch moves SkDrawCommand, SkDebugCanvas & SkObjectParser from trunk/debugger to trunk/src/utils (since several tools already use these, this seems appropriate), and makes SkDrawCommand & SkDebugCanvas' symbols visible externally (SK_API).

R=reed@google.com

Review URL: https://codereview.chromium.org/16638014

git-svn-id: http://skia.googlecode.com/svn/trunk@9598 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-13 20:59:14 +00:00
skia.committer@gmail.com
a009083bd1 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9471 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-07 07:01:06 +00:00
robertphillips@google.com
6ede1fe62b Make SkDrawCommands lighter weight
https://codereview.chromium.org/15907023/



git-svn-id: http://skia.googlecode.com/svn/trunk@9470 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-06 23:59:28 +00:00
commit-bot@chromium.org
4a3ca94322 Update debugger for addition of Conic path verb
R=reed@google.com, djsollen@google.com

Author: robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/16224008

git-svn-id: http://skia.googlecode.com/svn/trunk@9438 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-04 21:51:06 +00:00
scroggo@google.com
7def5e1630 Separate core and images project.
SkImage calls functions on SkImageDecoder and SkImageEncoder. This
is desired behavior, and it is also desired to include SkImage as
a part of core. In order to keep core from depending on images,
update SkImageDecoder_empty.cpp to implement all of SkImageDecoder
and SkImageEncoder. This file will be built by chrome (in
https://codereview.chromium.org/15960015).

Move force_linking from SkImageDecoder.cpp to its own file. It must
be called to force linking with the image decoders if desired. Call
the function in tools that need it:
sk_image
render_pictures
render_pdfs
sk_hello
filter
bench_pictures
debugger

SkImageDecoder:
Derive from SkNoncopyable, instead of duplicating its
hiding of constructors.

skhello:
Return rather than trying to write a null SkData to the stream.

Revert "Hamfistedly removed core dependence on images"
(commit 0f05f682a90bc125323677abf3476e1027d174f5) and
"Move SkImage::encode to SkImage_Codec.cpp."
(commit 83e47a954d0bf65439f3d9c0c93213063dd70da3.)
These two commits were temporary fixes that this change
cleans up.

SkSnapshot.cpp:
Check for a NULL encoder returned by SkImageEncoder::Create.

BUG=https://code.google.com/p/skia/issues/detail?id=1275
R=djsollen@google.com, robertphillips@google.com

Review URL: https://codereview.chromium.org/15806010

git-svn-id: http://skia.googlecode.com/svn/trunk@9364 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 14:00:10 +00:00
skia.committer@gmail.com
a5d3e77420 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9343 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-30 07:01:29 +00:00
robertphillips@google.com
0a4805e33f First pass at Comment API
https://codereview.chromium.org/13957009/



git-svn-id: http://skia.googlecode.com/svn/trunk@9310 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 13:24:23 +00:00
skia.committer@gmail.com
3e2345a8d5 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9266 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 07:01:26 +00:00
robertphillips@google.com
6d9c92b2f6 Remove offsetcanvas from debugger
https://codereview.chromium.org/15746003/



git-svn-id: http://skia.googlecode.com/svn/trunk@9253 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-23 13:21:18 +00:00
skia.committer@gmail.com
d2ada98934 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@8948 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-02 07:01:25 +00:00
scroggo@google.com
c4ebdb03de Force linking with image decoders for images project.
Previously, each tool that wanted to use image decoders
but did not specifically reference them had to create a
dummy function that references them in order to ensure
they are not stripped by the linker.

Instead of making each tool reference each image decoder,
do it once in SkImageDecoder.cpp. Now each tool will have
image decoders linked in, assuming it includes the images
project.

This fixes a bug where SKPs with encoded data could not
be read by bench_ or render_pictures.

R=djsollen@google.com, robertphillips@google.com

Review URL: https://codereview.chromium.org/14678003

git-svn-id: http://skia.googlecode.com/svn/trunk@8941 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-01 21:17:27 +00:00
scroggo@google.com
aaec851ad1 Link webp in skimage and debugger.
Review URL: https://codereview.chromium.org/14103020

git-svn-id: http://skia.googlecode.com/svn/trunk@8691 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 22:05:03 +00:00
scroggo@google.com
81a51a2b4d Fix NaCl build.
In SkDebugger.cpp::forceLinking(), call CreateGIFDecoder on linux
but not on NaCl.

Review URL: https://codereview.chromium.org/13975008

git-svn-id: http://skia.googlecode.com/svn/trunk@8656 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 15:04:33 +00:00
scroggo@google.com
a53e946091 Force the debugger to link decoders.
This is required to play back SKPs with encoded data in them.

Review URL: https://codereview.chromium.org/14135004

git-svn-id: http://skia.googlecode.com/svn/trunk@8653 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 14:50:10 +00:00
robertphillips@google.com
50c84da68b Add getDrawCommandAt and setDrawCommandAt to SkDebugCanvas
https://codereview.chromium.org/13393005/



git-svn-id: http://skia.googlecode.com/svn/trunk@8462 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-01 18:18:49 +00:00
robertphillips@google.com
c3410b8cbb New filter targeted at desk_googlespreadsheet overdraw issues
https://codereview.chromium.org/12918029/



git-svn-id: http://skia.googlecode.com/svn/trunk@8424 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-28 12:25:25 +00:00
skia.committer@gmail.com
e60ed08a35 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8383 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-26 07:01:04 +00:00
robertphillips@google.com
77279cbf9b Fix compiler errors/warnings in r8355
git-svn-id: http://skia.googlecode.com/svn/trunk@8357 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-25 12:01:45 +00:00
robertphillips@google.com
0df2a9a829 SkDrawCommand cleanup
https://codereview.chromium.org/12989030/



git-svn-id: http://skia.googlecode.com/svn/trunk@8355 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-25 11:50:42 +00:00
skia.committer@gmail.com
7e32851d54 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8350 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-23 07:01:28 +00:00
robertphillips@google.com
24bfdac3f3 More SkDrawCommand cleanup
https://codereview.chromium.org/12634024/



git-svn-id: http://skia.googlecode.com/svn/trunk@8340 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-22 16:33:31 +00:00
robertphillips@google.com
a3a09ab1d5 More SkDrawCommand cleanup
https://codereview.chromium.org/12979004/



git-svn-id: http://skia.googlecode.com/svn/trunk@8328 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-22 12:25:30 +00:00
skia.committer@gmail.com
c76bb238de Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8186 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-18 07:01:03 +00:00