aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/gpu/SkGpuDevice.h
Commit message (Collapse)AuthorAge
...
* Reimplement drawBitmapRectToRect to correctly handle fraction srcRect.Gravatar reed@google.com2012-09-25
| | | | | | | | | | | | | | | | | | | | | | | | The prev impl relied on drawBitmap "deducing" the destination rect by applying the computed matrix to the bitmap's bounds. This cannot be done if the srcRect is fractional, and therefore not representable w/ a bitmap. The new impl computes the same matrix, but calls down to the device via drawRect + a bitmap_shader. This allows us to specfiy the dstRect explicitly. The possible down-side is that we now rely on the device subclass to efficiently handle draRect+shader, instead of calling its drawBitmap entry-point. To give the device the chance to handle this differently, I now call through to a new device virtual: drawBitmapRect. The default impl is to create the shader and call drawRect, but a subclass can intercept that. For now, the GPU override of drawBitmapRect is mimicing the old behavior (by rounding the srcRect to an iRect). This preserves its ability to call drawBitmap which handles very-large textures, but shows some gittering/imprecision, due to the rounding. ... this is the same GPU behavior we have before this CL. Review URL: https://codereview.appspot.com/6542065 git-svn-id: http://skia.googlecode.com/svn/trunk@5663 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move GrTextureParams from GrSamplerState to GrTextureAccessGravatar bsalomon@google.com2012-09-18
| | | | | | | | Review URL: https://codereview.appspot.com/6496135/ git-svn-id: http://skia.googlecode.com/svn/trunk@5582 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make the SkGrPixelRef be responsible for unlocking device's scratch texture ↵Gravatar bsalomon@google.com2012-08-28
| | | | | | | | | | in the cache Review URL: https://codereview.appspot.com/6498046/ git-svn-id: http://skia.googlecode.com/svn/trunk@5313 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove SkGpuDevice::fTexture, use new pixel ref class nameGravatar bsalomon@google.com2012-08-28
| | | | | | | Review URL: https://codereview.appspot.com/6474068/ git-svn-id: http://skia.googlecode.com/svn/trunk@5307 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replaced TextureCacheEntry with GrTexture* and a back pointer to ↵Gravatar robertphillips@google.com2012-08-16
| | | | | | | | | | GrResourceEntry (in GrTexture) http://codereview.appspot.com/6460089/ git-svn-id: http://skia.googlecode.com/svn/trunk@5122 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replace GrClip with SkClipStackGravatar robertphillips@google.com2012-07-31
| | | | | | | | http://codereview.appspot.com/6449070/ git-svn-id: http://skia.googlecode.com/svn/trunk@4865 2bbb7eff-a529-9590-31e7-b0007b416f81
* Altered Ganesh's clip stack plumbing to pass down new GrClipData classGravatar robertphillips@google.com2012-07-26
| | | | | | | | http://codereview.appspot.com/6454047/ git-svn-id: http://skia.googlecode.com/svn/trunk@4788 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move filter/wrap out of GrSamplerState into GrTextureParamsGravatar bsalomon@google.com2012-07-25
| | | | | | | | | Review URL: http://codereview.appspot.com/6440046/ git-svn-id: http://skia.googlecode.com/svn/trunk@4773 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move texture lock/unlock functions from SkGpuDevice into SkGr as global ↵Gravatar rileya@google.com2012-07-18
| | | | | | | | functions, also removed inconsistent "SkGr" class. Review URL: https://codereview.appspot.com/6420048 git-svn-id: http://skia.googlecode.com/svn/trunk@4664 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added SkDevice onAttachToCanvas & onDetachFromCanvas methodsGravatar robertphillips@google.com2012-07-13
| | | | | | | | http://codereview.appspot.com/6348100/ git-svn-id: http://skia.googlecode.com/svn/trunk@4598 2bbb7eff-a529-9590-31e7-b0007b416f81
* Rolling back r4034 (Proposed plumbing to propagate save & restore)Gravatar robertphillips@google.com2012-07-03
| | | | | | | | http://codereview.appspot.com/6346066/ git-svn-id: http://skia.googlecode.com/svn/trunk@4456 2bbb7eff-a529-9590-31e7-b0007b416f81
* Un-trifurcate GrTextContext: get rid of Default and Batched subclasses,Gravatar tomhudson@google.com2012-06-29
| | | | | | | | | | | | folding their functionality back into the base class. Requires gyp changes. http://codereview.appspot.com/6357048/ git-svn-id: http://skia.googlecode.com/svn/trunk@4411 2bbb7eff-a529-9590-31e7-b0007b416f81
* Plumbing to propagate save & restore from SkCanvas down to GrContext & lowerGravatar robertphillips@google.com2012-05-23
| | | | | | | | http://codereview.appspot.com/6203067/ git-svn-id: http://skia.googlecode.com/svn/trunk@4034 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reland 3563Gravatar bsalomon@google.com2012-03-30
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3565 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revet 3563 due to mac bot failureGravatar bsalomon@google.com2012-03-30
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3564 2bbb7eff-a529-9590-31e7-b0007b416f81
* Improve save layer handling in SkGpuDeviceGravatar bsalomon@google.com2012-03-30
| | | | | | | | http://codereview.appspot.com/5966048/ git-svn-id: http://skia.googlecode.com/svn/trunk@3563 2bbb7eff-a529-9590-31e7-b0007b416f81
* apply imagefilter to all draw callsGravatar reed@google.com2012-03-23
| | | | | | Review URL: https://codereview.appspot.com/5856048 git-svn-id: http://skia.googlecode.com/svn/trunk@3476 2bbb7eff-a529-9590-31e7-b0007b416f81
* Split GrTextContext into baseclass and subclassGravatar bsalomon@google.com2012-03-16
| | | | | | | | | | | | This is a step towards enabling alternate text rendering code paths (GLyphy in particular) Committed on behalf of baranowski@chromium.org Review URL: http://codereview.appspot.com/5796071/ git-svn-id: http://skia.googlecode.com/svn/trunk@3412 2bbb7eff-a529-9590-31e7-b0007b416f81
* make skpaint2grpaint functions be local to skgpudevice.cppGravatar bsalomon@google.com2012-03-05
| | | | | | | | Review URL: http://codereview.appspot.com/5726061/ git-svn-id: http://skia.googlecode.com/svn/trunk@3322 2bbb7eff-a529-9590-31e7-b0007b416f81
* Formatting cleanup: remove extra whitespaceGravatar vandebo@chromium.org2012-01-28
| | | | | | | | Change by arthurhsu@chromium.org, original CL: http://codereview.appspot.com/5587049/ Review URL: https://codereview.appspot.com/5594043 git-svn-id: http://skia.googlecode.com/svn/trunk@3098 2bbb7eff-a529-9590-31e7-b0007b416f81
* add filterImage() entry-point to SkDevice, to allow it to specialize on ↵Gravatar reed@google.com2012-01-05
| | | | | | | | | | subclasses of SkImageFilter. If that returns false, then the filter itself is invoked. git-svn-id: http://skia.googlecode.com/svn/trunk@2977 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove static initiazled gClampNearest in gpu backendGravatar bsalomon@google.com2011-12-12
| | | | | | | Review URL: http://codereview.appspot.com/5487044/ git-svn-id: http://skia.googlecode.com/svn/trunk@2851 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SK_OVERRIDEs, move impl of virtuals into .cppGravatar reed@google.com2011-12-07
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2819 2bbb7eff-a529-9590-31e7-b0007b416f81
* [GPU] tile when large bitmap pased drawBitmap and only a small fraction is usedGravatar bsalomon@google.com2011-11-30
| | | | | | | | Review URL: http://codereview.appspot.com/5450048/ git-svn-id: http://skia.googlecode.com/svn/trunk@2760 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add config8888 support to writePixelsGravatar bsalomon@google.com2011-11-10
| | | | | | | | Review URL: http://codereview.appspot.com/5374052/ git-svn-id: http://skia.googlecode.com/svn/trunk@2662 2bbb7eff-a529-9590-31e7-b0007b416f81
* Override 32BPP format in SkCanvas::readPixelsGravatar bsalomon@google.com2011-11-03
| | | | | | | | Review URL: http://codereview.appspot.com/5330073/ git-svn-id: http://skia.googlecode.com/svn/trunk@2600 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make SkDevice::onReadPixels take a const& rather than const*Gravatar bsalomon@google.com2011-11-02
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2587 2bbb7eff-a529-9590-31e7-b0007b416f81
* Recommit r2584 with gpu pass of the new ReadPixels test disabled in fixed pt ↵Gravatar bsalomon@google.com2011-11-02
| | | | | | (gpu code doesn't work in general in fixed pt). git-svn-id: http://skia.googlecode.com/svn/trunk@2586 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r2584 (new test fails in fixed pt builds)Gravatar bsalomon@google.com2011-11-02
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2585 2bbb7eff-a529-9590-31e7-b0007b416f81
* Changes the SkCanvas::readPixels API. Allows caller to read into prealloced ↵Gravatar bsalomon@google.com2011-11-02
| | | | | | | | | | bitmap pixels. Changes how clipping to device bounds is handled. Review URL: http://codereview.appspot.com/5307077/ git-svn-id: http://skia.googlecode.com/svn/trunk@2584 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r2250 - removal of setMatrixClip() - because Chrome makes heavy useGravatar tomhudson@google.com2011-09-13
| | | | | | | | of those functions in a way we're not yet ready to clean up. git-svn-id: http://skia.googlecode.com/svn/trunk@2254 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replaces SkDevice::setMatrixClip() with markMatrixDirty() and markClipDirty(),Gravatar tomhudson@google.com2011-09-12
| | | | | | | | | | | which require no arguments and so may be called without requiring the matrix and clip to be completely evaluated. De-inlines virtual functions in SkDevice interface. git-svn-id: http://skia.googlecode.com/svn/trunk@2250 2bbb7eff-a529-9590-31e7-b0007b416f81
* Get rid of createRenderTargetFrom3DAPIState and associated glGets necessary ↵Gravatar bsalomon@google.com2011-08-19
| | | | | | | | | | to support it. Review URL: http://codereview.appspot.com/4928041/ git-svn-id: http://skia.googlecode.com/svn/trunk@2144 2bbb7eff-a529-9590-31e7-b0007b416f81
* Automatic update of all copyright notices to reflect new license terms.Gravatar epoger@google.com2011-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have manually examined all of these diffs and restored a few files that seem to require manual adjustment. The following files still need to be modified manually, in a separate CL: android_sample/SampleApp/AndroidManifest.xml android_sample/SampleApp/res/layout/layout.xml android_sample/SampleApp/res/menu/sample.xml android_sample/SampleApp/res/values/strings.xml android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java experimental/CiCarbonSampleMain.c experimental/CocoaDebugger/main.m experimental/FileReaderApp/main.m experimental/SimpleCocoaApp/main.m experimental/iOSSampleApp/Shared/SkAlertPrompt.h experimental/iOSSampleApp/Shared/SkAlertPrompt.m experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig gpu/src/android/GrGLDefaultInterface_android.cpp gyp/common.gypi gyp_skia include/ports/SkHarfBuzzFont.h include/views/SkOSWindow_wxwidgets.h make.bat make.py src/opts/memset.arm.S src/opts/memset16_neon.S src/opts/memset32_neon.S src/opts/opts_check_arm.cpp src/ports/SkDebug_brew.cpp src/ports/SkMemory_brew.cpp src/ports/SkOSFile_brew.cpp src/ports/SkXMLParser_empty.cpp src/utils/ios/SkImageDecoder_iOS.mm src/utils/ios/SkOSFile_iOS.mm src/utils/ios/SkStream_NSData.mm tests/FillPathTest.cpp Review URL: http://codereview.appspot.com/4816058 git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make GrTextureCache into a generic GrResource cache. Also some GrContext ↵Gravatar bsalomon@google.com2011-07-26
| | | | | | | | | texture interface cleanup. http://codereview.appspot.com/4815055/ git-svn-id: http://skia.googlecode.com/svn/trunk@1965 2bbb7eff-a529-9590-31e7-b0007b416f81
* flip Y in uploads to bottom-up textures (and add gm test)Gravatar bsalomon@google.com2011-07-18
| | | | | | | | Review URL: http://codereview.appspot.com/4756043/ git-svn-id: http://skia.googlecode.com/svn/trunk@1882 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove unused SkGpuDevice functions, add GrRenderTarget handle gettersGravatar bsalomon@google.com2011-07-13
| | | | | | | | Code Review: http://codereview.appspot.com/4718041/ git-svn-id: http://skia.googlecode.com/svn/trunk@1854 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GrRenderTexture cons for gpu dev. Remove factory from gpu device.Gravatar bsalomon@google.com2011-06-17
| | | | | | | Review URL: http://codereview.appspot.com/4631046/ git-svn-id: http://skia.googlecode.com/svn/trunk@1634 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add createNewCompatibleDevice. Allow devices to have a NULL factory and ↵Gravatar bsalomon@google.com2011-06-17
| | | | | | | | | | saveLayer will fall back on createNewCompatibleDevice. Review URL: http://codereview.appspot.com/4633044/ git-svn-id: http://skia.googlecode.com/svn/trunk@1625 2bbb7eff-a529-9590-31e7-b0007b416f81
* make SkDevice constructors explicit between offscreen and on/directGravatar reed@google.com2011-06-16
| | | | | | | | http://codereview.appspot.com/4632044/ git-svn-id: http://skia.googlecode.com/svn/trunk@1620 2bbb7eff-a529-9590-31e7-b0007b416f81
* First pass at improving temporary tex/rt reuseGravatar bsalomon@google.com2011-06-16
| | | | | | | | | Review URL: http://codereview.appspot.com/4625043/ git-svn-id: http://skia.googlecode.com/svn/trunk@1616 2bbb7eff-a529-9590-31e7-b0007b416f81
* Optimize colorfilter path when using a constant color.\nReviewed at ↵Gravatar Scroggo2011-05-16
| | | | | | http://codereview.appspot.com/4548041/ git-svn-id: http://skia.googlecode.com/svn/trunk@1328 2bbb7eff-a529-9590-31e7-b0007b416f81
* make SkDeviceFactory reference countedGravatar mike@reedtribe.org2011-04-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1180 2bbb7eff-a529-9590-31e7-b0007b416f81
* rename SkDevice::eraseColor to clear and make virtual.Gravatar bsalomon@google.com2011-04-14
| | | | | | | | | | Properly flush in GrContext before calling GrGpu::clear() Review URL: http://codereview.appspot.com/4419043/ git-svn-id: http://skia.googlecode.com/svn/trunk@1130 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GR_DLL builds to Ganesh (minimal exports for Chrome multi-dll for now).Gravatar bsalomon@google.com2011-03-21
| | | | | | | | | Review URL: http://codereview.appspot.com/4301044/ git-svn-id: http://skia.googlecode.com/svn/trunk@970 2bbb7eff-a529-9590-31e7-b0007b416f81
* add filterTextFlags() to SkDevice (virtual) to allow device subclasses toGravatar reed@google.com2011-03-15
| | | | | | | | | filter what text features we try to use. The filtering allows for implementation limitations to dictate when we turn off certain text features. git-svn-id: http://skia.googlecode.com/svn/trunk@943 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add support for clipstack to Gr. GrClip is now a list of rects and paths ↵Gravatar bsalomon@google.com2011-03-03
| | | | | | with set operations to combine them. The stencil buffer is used to perform the set operations to put the clip into the stencil buffer. Building Gr's clip from Skia's clipStack is currently disabled due to the fact that Skia's clipStack is relative to the root layer not the current layer. This will be fixed in a subsequent CL. git-svn-id: http://skia.googlecode.com/svn/trunk@878 2bbb7eff-a529-9590-31e7-b0007b416f81
* change virtual setMatrixClip() to take a SkClipStack parameter.Gravatar reed@google.com2011-02-22
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@831 2bbb7eff-a529-9590-31e7-b0007b416f81
* Hide alloc size vs content size below APIGravatar bsalomon@google.com2011-02-17
| | | | | | | Remove old gl shaders class Move texture matrix to sampler class git-svn-id: http://skia.googlecode.com/svn/trunk@808 2bbb7eff-a529-9590-31e7-b0007b416f81
* Rev the GrContext interface. Context has draw* functions that take a new ↵Gravatar bsalomon@google.com2011-01-21
| | | | | | | | | | | GrPaint object. Removed many of the lower-level GrGpu function call-throughs on context. Remove unused/unsupported point size (we don't draw non-hairline points using GL points). Change current* getter functions to get* for consistency. Fix bounds when drawing inverse-filled paths. git-svn-id: http://skia.googlecode.com/svn/trunk@718 2bbb7eff-a529-9590-31e7-b0007b416f81