Commit Graph

792 Commits

Author SHA1 Message Date
reed@google.com
c280d112a8 revert to DeviceRGB colorspace by default, which was changed accidentially
in rev. 637



git-svn-id: http://skia.googlecode.com/svn/trunk@675 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-05 16:07:35 +00:00
reed@google.com
1fcd51e6b2 add template macro to "safely" perform casts w/o breaking strict-aliasing
fix aliasing warnings



git-svn-id: http://skia.googlecode.com/svn/trunk@674 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-05 15:50:27 +00:00
reed@google.com
62f465940d rev. 637 changed the settings for premultiplied on the info parameter. This
change incorrectly assumed that all cases wanted premultipled-last, which was
incorrect.

Reverting to the previous values.



git-svn-id: http://skia.googlecode.com/svn/trunk@673 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-05 15:49:43 +00:00
reed@google.com
4f80951479 fix for issue 93: need to rewind the shared stream each time openStream() is called
git-svn-id: http://skia.googlecode.com/svn/trunk@672 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-04 21:25:43 +00:00
reed@google.com
72cf4927e5 fix build for scalar==fixed
git-svn-id: http://skia.googlecode.com/svn/trunk@671 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-04 19:58:20 +00:00
bsalomon@google.com
bb422189a1 Remove user-specific visual studio project files.
(Issue 71)



git-svn-id: http://skia.googlecode.com/svn/trunk@670 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-04 14:31:49 +00:00
reed@google.com
6963af2327 fix uninitialized warning
git-svn-id: http://skia.googlecode.com/svn/trunk@669 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-04 12:52:02 +00:00
reed@android.com
4aaee0aecd static inline eliminates multiple definitions (and makes it zero-cost, since
it will be inlined)



git-svn-id: http://skia.googlecode.com/svn/trunk@668 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-04 01:29:52 +00:00
reed@android.com
ad789ee56f make inline helper static, so it can be included from than one .cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@667 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-03 19:52:17 +00:00
reed@android.com
38669c12c5 add colorspace option to SkBitmap -> CGImageRef utility (patch from nico)
git-svn-id: http://skia.googlecode.com/svn/trunk@666 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-03 13:48:50 +00:00
reed@android.com
832806cf8e remove unneeded file (will be automatically generated)
git-svn-id: http://skia.googlecode.com/svn/trunk@665 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-01 16:06:43 +00:00
reed@google.com
7af0046fbd replace various png_[type]_NULL defines with just NULL
libpng 1.4 removed some of these from their headers :(



git-svn-id: http://skia.googlecode.com/svn/trunk@664 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-31 18:11:59 +00:00
bsalomon@google.com
e9557f946e Fix bug where createTexture may bind a texture to GL without ever updating fHWState.fTexture (when texture is not bound to FBO).
Other minor changes:
Add commented out GL logging define to GrUserConfig
Remove dead GrGpuD3D9 file from xcode proj



git-svn-id: http://skia.googlecode.com/svn/trunk@663 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 20:59:40 +00:00
reed@google.com
57c3a863fc update copyright
git-svn-id: http://skia.googlecode.com/svn/trunk@662 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 20:34:08 +00:00
reed@google.com
37df17d164 fix build for linux
partial impl for GPU on linux (need getProcAddress and SkEGLContext)



git-svn-id: http://skia.googlecode.com/svn/trunk@661 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 20:20:51 +00:00
reed@google.com
51df9e3fe3 add gpu to gm tool
add pass-through read/write pixels API to canvas



git-svn-id: http://skia.googlecode.com/svn/trunk@660 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 19:29:18 +00:00
bsalomon@google.com
da96ea01fe Stop using GrSamplerState to track the texture parameters for GL textures. It has become larger and now holds state that isn't tracked per-texture by GL. Also remove unused setSamplerStateImm from GrGpuGL
git-svn-id: http://skia.googlecode.com/svn/trunk@659 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 16:53:57 +00:00
reed@google.com
f3c1cc9063 update baselines to add 2point-radial gradients, and use gpu-friendly xfermode code
git-svn-id: http://skia.googlecode.com/svn/trunk@658 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 16:45:33 +00:00
reed@google.com
7876114a79 require lpng12 for gm tool (since Mac encoder tweaks the results for colorspace "correction")
update baselines using png



git-svn-id: http://skia.googlecode.com/svn/trunk@657 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 16:34:58 +00:00
bsalomon@google.com
ef152364cb Delete D3D9 gpu class. Was fixed-function only, had significant defeciencies around vertex array formats, and is hasn't been updated with respect to parent class changes (won't compile).
git-svn-id: http://skia.googlecode.com/svn/trunk@656 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 16:04:36 +00:00
reed@google.com
dc731fd483 merge in gpu changes to gradientshaders
git-svn-id: http://skia.googlecode.com/svn/trunk@655 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 15:19:47 +00:00
reed@google.com
eeeb5a05b9 silence some of our startup spew
tie skia and gr's debug symbols together in the Makefile



git-svn-id: http://skia.googlecode.com/svn/trunk@654 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 15:12:59 +00:00
reed@google.com
873cb1e23b add gpu to the default makefile
move skia-gpu files into skia/src/gpu



git-svn-id: http://skia.googlecode.com/svn/trunk@653 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 15:00:45 +00:00
wjmaclean@chromium.org
5b9cfd4d88 Fixing results of incorrect conflict resolution in r646.
git-svn-id: http://skia.googlecode.com/svn/trunk@652 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 14:23:25 +00:00
reed@google.com
313e403583 flush inorder drawtarget (i.e. flushText) before we purge the atlas/cache
git-svn-id: http://skia.googlecode.com/svn/trunk@651 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-22 22:16:59 +00:00
bsalomon@google.com
88b019bc77 Force bool StageDesc to be a byte so that our memcmp equality test will work. Fixes static assert failure in xcode release build.
git-svn-id: http://skia.googlecode.com/svn/trunk@650 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-22 22:13:51 +00:00
reed@google.com
ac10a2d039 add gpu backend (not hooked up yet)
git-svn-id: http://skia.googlecode.com/svn/trunk@649 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-22 21:39:39 +00:00
reed@google.com
ea8509cd3b remove obsolete test
git-svn-id: http://skia.googlecode.com/svn/trunk@648 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-22 21:10:33 +00:00
wjmaclean@chromium.org
084547081c Fixed tab character.
git-svn-id: http://skia.googlecode.com/svn/trunk@647 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-22 17:43:58 +00:00
wjmaclean@chromium.org
0bde180bf1 Security fixes re getSize().
git-svn-id: http://skia.googlecode.com/svn/trunk@646 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-22 17:43:54 +00:00
reed@google.com
c31ce1076c add for quick gl-offscreen context (so we can draw and then readpixels for GM)
git-svn-id: http://skia.googlecode.com/svn/trunk@645 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-21 16:26:39 +00:00
reed@google.com
3d3f092a95 -d dir will write out a difference-bitmap for each compare that failes
git-svn-id: http://skia.googlecode.com/svn/trunk@644 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 21:10:29 +00:00
reed@google.com
d642329293 remove ZLIB include from SkUserConfig for how (doesn't work on mac sampleapp) but,
add it to Makefile if SKIA_PDF_SUPPORT is true

Use compile_assert (yea!)



git-svn-id: http://skia.googlecode.com/svn/trunk@643 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 20:53:13 +00:00
reed@google.com
0770044da6 add option to write PDFs from gm
fix some compile warnings (reorder initializers, init local ptr)



git-svn-id: http://skia.googlecode.com/svn/trunk@642 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 19:46:07 +00:00
reed@google.com
1f08698339 add SkFlate.cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@641 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 18:48:46 +00:00
reed@android.com
eca4836067 add
git-svn-id: http://skia.googlecode.com/svn/trunk@640 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 18:34:17 +00:00
reed@android.com
9c08dd0af5 add
git-svn-id: http://skia.googlecode.com/svn/trunk@639 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 18:33:15 +00:00
reed@android.com
179d6164e5 update for GPU backend
git-svn-id: http://skia.googlecode.com/svn/trunk@638 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 18:32:39 +00:00
reed@android.com
f2b98d67dc merge with changes for GPU backend
git-svn-id: http://skia.googlecode.com/svn/trunk@637 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 18:26:13 +00:00
senorblanco@chromium.org
29e5054dd0 Fix perf regression in Color32.
The regression was due to the fact that we were calling PlatformColorProc() for
every span (which in turns makes CPUID, a fairly expensive call).  Since we draw
a lot of rects, and rects have 1-pixel wide spans for the vertical segments,
that's a lot of CPUID.

Fixed by cacheing the result of PlatformColorProc(), as is done for the other
platform-specific blitters.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@636 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-16 19:07:45 +00:00
senorblanco@chromium.org
31e6230034 Unreviewed; ARM build fix.
git-svn-id: http://skia.googlecode.com/svn/trunk@635 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-15 16:20:59 +00:00
reed@android.com
00f883e641 dump message confirming read or write directory
git-svn-id: http://skia.googlecode.com/svn/trunk@634 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-14 17:46:14 +00:00
senorblanco@chromium.org
c3856384e4 SSE2 optimizations for 32bit Color operation.
[Patch from weiwei.li@intel.com]

SSE2 optimization has been added by Stephen White before, this improves the skia
performance on SSE2-supporting platform. (please refer to below issues)

Issue 171055: More SSE2ification
Issue 157141: More SSE2ification
Issue 150060: minor tweaks to SSE2 code for -fPIC
Issue 144072: SSE2 optimizations for 32bit blending blitters

This CL implements SSE2 optimizations for the 32bit Color operation. Like above
issues, it uses CPUID to detect for SSE2 and changes the platform procs at
runtime as well. The 32bit Color operation is heavily used on Chrome HTML5
canvas operations. Take Microsoft IE test drives Pulsating Bubbles as example
(http://ie.microsoft.com/testdrive/Performance/PulsatingBubbles/Default.xhtml),
if running this cases on Chrome, the overhead of 32bit Color operation is about
40~50%. So this CL will make skia performance more better, and also make Chrome
HTML5 canvas performance more better.

Additional, this CL has passed the skia bench & tests validation, the result is
pretty good. We also apply this CL to the latest chromium, and re-run Microsoft
IE test drives Pulsating Bubbles, the performance is improved by almost 9~10%.


git-svn-id: http://skia.googlecode.com/svn/trunk@633 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-13 15:27:20 +00:00
senorblanco@chromium.org
ec7a30cc86 Upstream mulDiv255Ceil() from WebKit to the skia repository.
(Patch by Noel Gordon (noel.gordon@gmail.com))

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



git-svn-id: http://skia.googlecode.com/svn/trunk@632 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-07 21:07:56 +00:00
senorblanco@chromium.org
038aff623d Patch by Mike Lawther (mikelawther@chromium.org).
The HTML5 canvas client of BlurDrawLooper needs the option to not apply the
canvas transform to the blur offset.

see
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-elemen...
- "The shadowOffsetX and shadowOffsetY attributes specify the distance that the
shadow will be offset in the positive horizontal and positive vertical distance
respectively. Their values are in coordinate space units. They are not affected
by the current transformation matrix."

This patch is part of fixing
http://code.google.com/p/chromium/issues/detail?id=64647.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@631 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-06 23:45:58 +00:00
agl@chromium.org
8cfdf01ff9 Correctly handle SkPath::kInverseWinding_FillType
Fix for http://code.google.com/p/skia/issues/detail?id=87

Even when SkPath::kInverseWinding_FillType is given, Skia left some
lines not filled(cleared) in one case.

Patch-by: morrita

http://codereview.appspot.com/3443041

git-svn-id: http://skia.googlecode.com/svn/trunk@630 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-06 18:52:40 +00:00
vandebo@chromium.org
ee34e35c8c Add flate compression test and fix bugs.
Review URL: http://codereview.appspot.com/3393041

git-svn-id: http://skia.googlecode.com/svn/trunk@628 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-02 22:55:33 +00:00
vandebo@chromium.org
a09ef977b6 Add deflate support to SkPDFStream.
Review URL: http://codereview.appspot.com/3326043

git-svn-id: http://skia.googlecode.com/svn/trunk@627 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-01 22:17:20 +00:00
vandebo@chromium.org
ca735ff617 Allow zero text size to be specified for an SkPaint.
We have to support zero sized fonts and generate correct metrics
to pass Acid3.  There don't seem to be any requirements that textsize
be >0, just that it not be negative.

Original issue: http://codereview.appspot.com/3174041/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@626 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-11-17 21:44:28 +00:00
wjmaclean@chromium.org
86bff1f008 Add safe size/copy functions to Skia.
This patch adds four methods to SkBitmap. There are two functions to return
    "safe size", defined as the number of pixels from the value returned by
    getPixels() to the end of the allocated buffer.

    There is one version of fillPixels() to copy the bitmap instance into an
    external buffer (with specified size, and using specified stride), and another
    fillPixels() to copy from an external buffer to the instance bitmap. In the
    latter case the specified height, width and pixel format must match that used by
    the bitmap instance, although the specified stride may be any value at least as
    large as the minimum stride for the specified geometry. It is assumed that the
    external buffer is of size at least (height - 1)*stride + width *
    bytesPerPixel.

    Both fillPixels() functions return false if the copy is not possible with the
    specified parameters.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@625 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-11-16 20:22:41 +00:00