aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
* Rm assert that image texture array is null unless GrCaps has images support.Gravatar Brian Salomon2016-11-29
| | | | | | | | Change-Id: I4da01a533d2db3fab5b2fe1128eb8a7c8e09cc01 Reviewed-on: https://skia-review.googlesource.com/5309 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add #define for Nsight compatibilityGravatar Jim Van Verth2016-11-29
| | | | | | | | | | | | NVIDIA's Nsight tool is not compatible with certain GL calls. This change places them behind a #define in GrGLGpu.cpp. BUG=skia: Change-Id: Id80ed291b6fe4fd777c5690b25d4fbb47de3c187 Reviewed-on: https://skia-review.googlesource.com/5281 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Reland image storage with fixes.Gravatar Brian Salomon2016-11-29
| | | | | | | | | | | | | Revert "Revert "Initial OpenGL Image support."" This reverts commit 59dc41175d99d0a31c046aec0c26c4d82a3a3574. BUG=skia: Change-Id: Ibe3c87ce7f746f065fdbcc5a518388cc291112f5 Reviewed-on: https://skia-review.googlesource.com/5131 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Make GrMemoryPool play nice with bucketing allocators.Gravatar dskiba2016-11-29
| | | | | | | | | | | | | | | | | | | | | | | Some memory allocators have very coarse size buckets, so for example on Android (jemalloc) an attempt to allocate 32 KiB + 1 byte will end up allocating 40 KiB, wasting 8 KiB. GrMemoryPool ctor takes two arguments that specify prealloc / block sizes, and then inflates them to accommodate some bookkeeping structures. Since most places create GrMemoryPools with pow2 numbers (which have buckets in most allocators) the inflation causes allocator to select next size bucket, wasting memory. This CL makes GrMemoryPool to stop inflating sizes it was created with, and allocate specified amounts exactly. Part of allocated memory is then used for bookkeeping structures. Additionally, GrObjectMemoryPool template is provided, which takes prealloc / block object counts (instead of sizes) and guarantees that specified number of objects will fit in prealloc / block spaces. BUG=651872 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2525773002 Review-Url: https://codereview.chromium.org/2525773002
* Remove old driver bug workaround for glTexStorage.Gravatar Brian Salomon2016-11-28
| | | | | | | | | | | Apparently we had issues with this on Qualcomm over 3 years ago. Today it works fine on a Nexus 6P. If we still need this on some devices we should add back a narrower filter. Change-Id: I0ccbb4918e4df7a8045b9033b9f121aca3c8d8ef Reviewed-on: https://skia-review.googlesource.com/5278 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* removed textureProj() and legacy texture functions from skslGravatar Ethan Nicholas2016-11-28
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5120 Change-Id: I21b111d54becaca845134376e54a5a7c0a6cd6c8 Reviewed-on: https://skia-review.googlesource.com/5120 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* GrTextureProducer cleanup, phase two: Producer, Adjuster, MakerGravatar Brian Osman2016-11-28
| | | | | | | | | | | | | | | | Previously: GrTextureProducer, GrTextureAdjuster, and GrTextureMaker were all in GrTextureParamsAdjuster.h. Now they're each in their own header. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5202 Change-Id: I17fa9057b11511aa4d3e15569ea1c378cfec4c80 Reviewed-on: https://skia-review.googlesource.com/5202 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* baked in a few more precision modifiersGravatar Ethan Nicholas2016-11-28
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5146 Change-Id: If824ddd3551fd50b66e98edc39f10fa60a0560dc Reviewed-on: https://skia-review.googlesource.com/5146 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* GrTextureProducer cleanup, phase one: Bitmap and Image makersGravatar Brian Osman2016-11-28
| | | | | | | | | | | | | | | Split these into their own files, and actually name the files after the classes they contain. The top three classes in the hierarchy still need attention, but those are going to be trickier. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5195 Change-Id: I295f4d50e35748eac38a31f302e14b5b62653c55 Reviewed-on: https://skia-review.googlesource.com/5195 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Fix gpu blurring on platforms that "useDrawInsteadOfClear"Gravatar Robert Phillips2016-11-25
| | | | | | | | | | | | | | | | Platforms that "useDrawInsteadOfClear" take a different path in GrRenderTargetContext::internalClear. The different path involves a lot of comparisons of the drawn rect with the bounds of the RenderTarget. Since the RenderTargets are now deferred (and the instantiated version might be larger than the proxied size) case must be taken in prematurely optimizing away clears and draws. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5148 TBR=bsalomon@google.com Change-Id: If63b6393fb66328175bc92de211e7242e903f25e Reviewed-on: https://skia-review.googlesource.com/5148 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Revert "make it illegal to include SkXfermode.h""Gravatar Mike Reed2016-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e9d1b299ccbf8017ba57040986ded638f954684a. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "make it illegal to include SkXfermode.h" > > This reverts commit 07764cefbb18041a77897df3453903b0a2016583. > > Reason for revert: breaking google3 > > Original change's description: > > make it illegal to include SkXfermode.h > > > > BUG=skia: > > > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5133 > > > > Change-Id: I6e8596dcb17cd7e8efa67859bb682bf9bfcac4db > > Reviewed-on: https://skia-review.googlesource.com/5133 > > Reviewed-by: Mike Reed <reed@google.com> > > Commit-Queue: Mike Reed <reed@google.com> > > > > TBR=reed@google.com,reviews@skia.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Change-Id: I136f9e533eb60633c49dffa19b5747d50b6d98a8 > Reviewed-on: https://skia-review.googlesource.com/5196 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> > TBR=egdaniel@google.com,reviews@skia.org,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I0b767ce778a4ade83c2f07d5ece486bb46d7712c Reviewed-on: https://skia-review.googlesource.com/5223 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Revert "make it illegal to include SkXfermode.h"Gravatar Greg Daniel2016-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 07764cefbb18041a77897df3453903b0a2016583. Reason for revert: breaking google3 Original change's description: > make it illegal to include SkXfermode.h > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5133 > > Change-Id: I6e8596dcb17cd7e8efa67859bb682bf9bfcac4db > Reviewed-on: https://skia-review.googlesource.com/5133 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> > TBR=reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I136f9e533eb60633c49dffa19b5747d50b6d98a8 Reviewed-on: https://skia-review.googlesource.com/5196 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* SkImageEncoder: simplify APIGravatar Hal Canary2016-11-23
| | | | | | | | | | | | | | | | | | | | | | | | (re-land 248ff02 & 2cb6cb7, with changes) - Hide SkImageEncoder class in private header. - SkImageEncoder::Type becomes SkEncodedImageFormat - SkEncodedFormat becomes SkEncodedImageFormat - SkImageEncoder static functions replaced with single function EncodeImage() - utility wrappers for EncodeImage() are in sk_tool_utils.h TODO: remove link-time registration mechanism. TODO: clean up clients use of API and flip the flag. TODO: implement EncodeImage() in chromeium/skia/ext Change-Id: I47d451e50be4d5c6c130869c7fa7c2857243d9f0 Reviewed-on: https://skia-review.googlesource.com/4909 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-on: https://skia-review.googlesource.com/5186 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Hal Canary <halcanary@google.com>
* Added GrSurfaceContext and GrTextureContextGravatar Brian Osman2016-11-23
| | | | | | | | | | | | | | | | | This lets copy-to-texture to be treated like copy-to-rt. To match current behavior, though, copies to texture are still executed immediately (forcing a flush). Once MDB is enabled, copies to texture will be deferred. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5093 Change-Id: Icc0ce5435507a5f0a237c22eedef879824952367 Reviewed-on: https://skia-review.googlesource.com/5093 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* make it illegal to include SkXfermode.hGravatar Mike Reed2016-11-23
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5133 Change-Id: I6e8596dcb17cd7e8efa67859bb682bf9bfcac4db Reviewed-on: https://skia-review.googlesource.com/5133 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Initial OpenGL Image support."Gravatar Brian Salomon2016-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit be34882042048db096baca32ddf4a8b472529804. Reason for revert: Test failures and shader compilation issues on Android. Original change's description: > Initial OpenGL Image support. > > This change along with recently landed changes is enough to make the new unit test work and not much else. imageLoad is support but not stores or any other image functions (atomics). Barriers in the shading language or the GL API are not yet hooked up. > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4182 > > Change-Id: I5958b7c89e40ae5ee05f7bbaca3b3738162fe5ce > Reviewed-on: https://skia-review.googlesource.com/4182 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Reviewed-by: Chris Dalton <csmartdalton@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> > TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I29a2502c296ae39ed9a999957800414ae46e6f0f Reviewed-on: https://skia-review.googlesource.com/5129 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Initial OpenGL Image support.Gravatar Brian Salomon2016-11-22
| | | | | | | | | | | | This change along with recently landed changes is enough to make the new unit test work and not much else. imageLoad is support but not stores or any other image functions (atomics). Barriers in the shading language or the GL API are not yet hooked up. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4182 Change-Id: I5958b7c89e40ae5ee05f7bbaca3b3738162fe5ce Reviewed-on: https://skia-review.googlesource.com/4182 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert 248ff023 & 2cb6cb72Gravatar Hal Canary2016-11-22
| | | | | | | | | | | | | | Revert "SkImageEncoder: simplify API" This reverts commit 248ff02331d7f73ee4b6c5a7eabeae1080c16cd4. Revert "Fix bug: can't convert nullptr -> bool" This reverts commit 2cb6cb7218171b357bb5c934f032ba69c7b78401. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5151 NOTRY=true Change-Id: I5f6414392d6545f74db0b5bb50608d04f053a8ec Reviewed-on: https://skia-review.googlesource.com/5151 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Hal Canary <halcanary@google.com>
* Move GrShaderVar to an appending model for layout qualifiersGravatar Brian Salomon2016-11-22
| | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5144 Change-Id: I05e88961e50bd679cfe5863f413f3ec65bc9fd95 Reviewed-on: https://skia-review.googlesource.com/5144 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* remove SkPixelRef::refEncodedData()Gravatar Hal Canary2016-11-22
| | | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5001 Change-Id: I15dba4f44c762ab69a23eb8a77adff5f63763e30 Reviewed-on: https://skia-review.googlesource.com/5001 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Reed <reed@google.com>
* SkImageEncoder: simplify APIGravatar Hal Canary2016-11-22
| | | | | | | | | | | | | | | | | | | | | | - Hide SkImageEncoder class in private header. - SkImageEncoder::Type becomes SkEncodedImageFormat - SkEncodedFormat becomes SkEncodedImageFormat - SkImageEncoder static functions replaced with single function EncodeImage() - utility wrappers for EncodeImage() are in sk_tool_utils.h TODO: remove link-time registration mechanism. TODO: clean up clients use of API and flip the flag. TODO: implement EncodeImage() in chromeium/skia/ext GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4909 Change-Id: Ib48b31fdc05cf23cda7f56ebfd67c841c149ce70 Reviewed-on: https://skia-review.googlesource.com/4909 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* removed appendPrecisionModifierGravatar Ethan Nicholas2016-11-22
| | | | | | | | | | | | | | | skslc always provides support for precision modifiers (ignoring them if unsupported on the target platform), so the Skia appendPrecisionModifier function was redundant. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5117 Change-Id: I4bcbd47ef8d1f4f1b055086d4c9050254584b48c Reviewed-on: https://skia-review.googlesource.com/5117 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Add shadowrrect geometry processorGravatar Jim Van Verth2016-11-21
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4233 Change-Id: I637099709cfe30f7d3c1883e23840a47a7a25c10 Reviewed-on: https://skia-review.googlesource.com/4233 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revive geometry shadersGravatar csmartdalton2016-11-21
| | | | | | | | | | | | | | | | Fixes the bit rot that has set in for geometry shaders. They're to a point now that we can use them again for GL experiments. Since SkSL does not support geometry shaders yet, we pass the shader string directly to the GL compiler for now. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5080 Change-Id: Ie3864e5559c810c682cf5f1709bdab87f033c43b Reviewed-on: https://skia-review.googlesource.com/5080 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Merge GrGLSLShaderVar and GrShaderVarGravatar Brian Salomon2016-11-21
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5087 Change-Id: Ib8943a1da1ea495554feaf5b0992b94fbb9539ab Reviewed-on: https://skia-review.googlesource.com/5087 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Defer more renderTargetContexts in the GPU image filter paths - take 2Gravatar robertphillips2016-11-21
| | | | | | | | | | | This is a reland of https://skia-review.googlesource.com/c/4767/ (Defer more renderTargetContexts in the GPU image filter paths). The addition of guards on instantiation && accessRenderTarget failure should prevent a reoccurence of this Nexus7 failures. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2514543002 TBR=bsalomon@google.com Review-Url: https://codereview.chromium.org/2514543002
* Remove GrGLSLSampler type and subclassesGravatar Brian Salomon2016-11-21
| | | | | | | | | | | | | GrGLSLUniformManager and GrGLSLProgramDataManager subclasses handle sampler variation across GPU backends. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5002 Change-Id: I968b006bab978c2fa209d1f7eda710c298d1212f Reviewed-on: https://skia-review.googlesource.com/5002 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* re-land of switched skslc from std::string to SkStringGravatar Ethan Nicholas2016-11-21
| | | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5084 Change-Id: Ib21c30afc0d8483392b417e660b7fecfcc30e617 Reviewed-on: https://skia-review.googlesource.com/5084 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Add an extra pixel to the distance field path renderer bounds.Gravatar Brian Salomon2016-11-21
| | | | | | | | | | | | BUG=chromium:663701 BUG=skia:5989 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5086 Change-Id: Ie97f46b108f54c711c5928b11a9921be38356f8d Reviewed-on: https://skia-review.googlesource.com/5086 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Support decoding images to multiple formats, depending on usageGravatar Brian Osman2016-11-21
| | | | | | | | | | | | | | | | | | | | | | | | Our codec generator will now preserve any asked-for color space, and convert the encoded data to that representation. Cacherator now allows decoding an image to both legacy (nullptr color space), and color-correct formats. In color-correct mode, we choose the best decoded format, based on the original properties, and our backend's capabilities. Preference is given to the native format, when it's already texturable (sRGB 8888 or F16 linear). Otherwise, we prefer linear F16, and fall back to sRGB when that's not an option. Re-land (and fix) of: https://skia-review.googlesource.com/c/4438/ https://skia-review.googlesource.com/c/4796/ BUG=skia:5907 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4838 Change-Id: I20ff972ffe1c7e6535ddc501e2a8ab8c246e4061 Reviewed-on: https://skia-review.googlesource.com/4838 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Revert "switched skslc from std::string to SkString"Gravatar Greg Daniel2016-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d8df21a1e08b5b3380261f4b90acfbdc538ef93c. Reason for revert: Breaking Roll Original change's description: > switched skslc from std::string to SkString > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4977 > > Change-Id: I15e24963b09b719a2c07da67745114f5ac66cee8 > Reviewed-on: https://skia-review.googlesource.com/4977 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > TBR=bsalomon@google.com,benjaminwagner@google.com,ethannicholas@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I84d5311beb9d5e607b7a4a3c138332f0c8f19648 Reviewed-on: https://skia-review.googlesource.com/5077 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Fix typo in GrGLCapsGravatar elemental2016-11-18
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5040 Change-Id: I23a9066de8c96378a1bd8596227e487cdd93669f Reviewed-on: https://skia-review.googlesource.com/5040 Commit-Queue: Ravi Mistry <rmistry@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Make GrSwizzle::GrSwizzle() constexprGravatar Brian Salomon2016-11-18
| | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5060 Change-Id: I862b895fd92b9b6938627af7b21022564b535e9b Reviewed-on: https://skia-review.googlesource.com/5060 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove unnecessary attribute and varying type modifiersGravatar Brian Salomon2016-11-18
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5007 Change-Id: Ic9fefe09221d5e367b5aa5dd0084fc7d6631998c Reviewed-on: https://skia-review.googlesource.com/5007 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Make GrBufferAccess a nested class of GrProcessorGravatar Brian Salomon2016-11-18
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4978 Change-Id: I08c24e9183108f4dd6068216488fd3ac9b5f3ec2 Reviewed-on: https://skia-review.googlesource.com/4978 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* switched skslc from std::string to SkStringGravatar Ethan Nicholas2016-11-18
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4977 Change-Id: I15e24963b09b719a2c07da67745114f5ac66cee8 Reviewed-on: https://skia-review.googlesource.com/4977 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Add handling for instantiate failure up the call stackGravatar Robert Phillips2016-11-18
| | | | | | | | | | | | | | | | | The following two CLs were created via grep: https://skia-review.googlesource.com/c/4929/ (Guard against instantiate & accessRenderTarget failures) https://skia-review.googlesource.com/c/4961/ (Remove accessRenderTarget call in SkGpuDevice ctor) This CL was created by running through all the tests and having instantiate fail so it catches up-stack failures to handle a null return. BUG=665681,665500,665621 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4991 Change-Id: I6611eec8d36679123eef140538ee2526fb18628f Reviewed-on: https://skia-review.googlesource.com/4991 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Rename GrTextureParams to GrSamplerParamsGravatar Brian Salomon2016-11-17
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4965 Change-Id: I7d52e81c670e92ca96117284f44b274ce3cc3671 Reviewed-on: https://skia-review.googlesource.com/4965 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Fix computation of texture size for approximately-fit deferred proxiesGravatar Robert Phillips2016-11-17
| | | | | | | | | | | For approximate-fit deferred proxies asserts were firing when the instantiated size was larger than the pre-computed exact-fit size. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4972 Change-Id: I879e16b86ab4d9ef9834163c24ccd6507fe4b94a Reviewed-on: https://skia-review.googlesource.com/4972 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Fix double deletion of DescriptorSetLayoutsGravatar Jim Van Verth2016-11-17
| | | | | | | | | | | | | | | When VkPipeline creation fails the PipelineStateBuilder cleans up afterwards. It was deleting the sampler DescriptorSetLayout when that is owned by the ResourceProvider. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4964 Change-Id: I876c570349f96f58e0256dc91bc1135c59a2058d Reviewed-on: https://skia-review.googlesource.com/4964 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* In GrProcessor::TextureSampler drop the "get", it's cleanerGravatar Brian Salomon2016-11-17
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4962 Change-Id: I55e7f8d1b6e1097fdbe411e9989dd42a03dd5f33 Reviewed-on: https://skia-review.googlesource.com/4962 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Always use GL_HALF_FLOAT_OES on ANGLE, even with ES3.Gravatar Brian Osman2016-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the past, ANGLE always used GL_HALF_FLOAT. I filed a bug about that, and they switched to HALF_FLOAT_OES. However, ES3 has direct support for HALF_FLOAT, so we expect that as the format for read pixels. The better solution would be to remember and return the value we get back from IMPLEMENTATION_COLOR_READ_TYPE, but there are subtleties that create additional bugs when we do that. In particular: If trying to read Alpha8 from RGBA, the current sequence is: 1. readPixelsSupported asks for the format to use. getExternalFormat switches out the format (assuming we're using GL_RED). This creates a format/type pair that fails the ES3.2 rules (16.1.2), so we ask the driver for the secondary format, which matches the one that we expect (from our config table). 2. Then we *actually* do the readPixels, and here we just call getReadPixelsFormat, which does the remapping, but skips the follow up checks in readPixelsSupported. So we end up passing a format/type pair that our code in readPixelsSupported thinks is illegal (and which is neither the pair that our config table stores, *nor* the pair returned by the implementation). A straightforward solution of the original problem is to notice that we had to ask the implementation (because the values are filled in), so we should trust those and not the ones in the config table. But then we miss out on the chance to overwrite the values for the alpha only from RGBA case. Sigh. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4963 Change-Id: Icb0c151c9f07ffc178ed3a597fa8ab0ed3c6cb94 Reviewed-on: https://skia-review.googlesource.com/4963 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove accessRenderTarget call in SkGpuDevice ctorGravatar Robert Phillips2016-11-17
| | | | | | | | | | | | | | | This is a follow up to https://skia-review.googlesource.com/c/4929/ (Guard against instantiate & accessRenderTarget failures). Rather than guard this call to accessRenderTarget I would prefer to remove it. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4961 BUG=665681,665500,665621 Change-Id: I2c9ec245491d9059de892b2e6a7d4a4de4accdfd Reviewed-on: https://skia-review.googlesource.com/4961 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove unnecessary TextureSampler comparison in GrTextureDomainEffect.Gravatar Brian Salomon2016-11-17
| | | | | | | | | | | The base class already performs this comparison. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4960 Change-Id: Ic2a46e05f05ba36b291c05e324aa29b4aad15c23 Reviewed-on: https://skia-review.googlesource.com/4960 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Guard against instantiate & accessRenderTarget failuresGravatar Robert Phillips2016-11-17
| | | | | | | | | | | | | | | Chrome's fuzzer have reminded me that, since we are deferring allocation, instantiate and accessRenderTarget can now fail further down the call stack. This should probably be cherry picked back to M56. BUG=665681,665500,665621 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4929 Change-Id: I44d81ff29586dfe75ddda30b5ed8ca76354542d6 Reviewed-on: https://skia-review.googlesource.com/4929 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Rename GrTextureAccess to GrProcessor::TextureSampler.Gravatar Brian Salomon2016-11-17
| | | | | | | | | | | Renames vars and methods that used the work "access" to refer to this type. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4931 Change-Id: Ibcf488fbd445c5119fc13d190544cd98981bdbee Reviewed-on: https://skia-review.googlesource.com/4931 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Rename GrTextureBufferSampler to GrBufferSamplerGravatar csmartdalton2016-11-16
| | | | | | | | | | | | | | Just a simple renaming to reinforce the Ganesh notion that a buffer access is not related to a texture. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4879 Change-Id: I3f12b6eccff744e246618be0a7abf41c4a1228a1 Reviewed-on: https://skia-review.googlesource.com/4879 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Rename kTexture2DISampler to kITexture2DSampler.Gravatar Brian Salomon2016-11-16
| | | | | | | | | | | Also remove unused kGrSLTypeCount. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4903 Change-Id: I7f934c56515424b2668886dec2f16296a1256e2c Reviewed-on: https://skia-review.googlesource.com/4903 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* Add IORef capability to GrSurfaceProxy objects - take 2Gravatar robertphillips2016-11-16
| | | | | | | | | | | | Re-landing of https://skia-review.googlesource.com/c/4734/ (Add IORef capability to GrSurfaceProxy objects) with fixes for: platforms that don't support discards. memory leak due to copying over of GrSurfaceProxy's creation ref to instantiated GrSurface in instantiate() GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4827 BUG=skia: Change-Id: If0b695d5cafc5ef3fdd251c38262849d09e5d27f Review-Url: https://codereview.chromium.org/2502923003
* Fix error with transforming custom/large glyphsGravatar Jim Van Verth2016-11-16
| | | | | | | | | | | BUG=661244 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4738 Change-Id: I9f14ca830f9de92000e751a4a99ff1eb9b01db33 Reviewed-on: https://skia-review.googlesource.com/4866 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>