aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
* 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>
* make SkXfermode.h go awayGravatar Mike Reed2016-11-16
| | | | | | | | | | | | | | | | | | This is step one: - make SkXfermode useless to public clients - everything they should need is in SkBlendMode.h Step two: - remove SkXfermode.h entirely (since skia core will already be using SkXfermodePriv.h) BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4534 Change-Id: If2cea9f71df92430ed6644edb98dd306c5572cbc Reviewed-on: https://skia-review.googlesource.com/4534 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Fix flushing of HWAA state relating to mixed samplesGravatar csmartdalton2016-11-16
| | | | | | | | | | | | | | Fixes the sense of the "stencilEnabled" argument sent to flushHWAAState. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4872 Change-Id: If7097f2819607864c95b0ffd04dc1d302fa66fdc Reviewed-on: https://skia-review.googlesource.com/4872 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Revert "Defer more renderTargetContexts in the GPU image filter paths"Gravatar Robert Phillips2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit fd01ce05ef7902c49b0272b3524a389693c72b35. Reason for revert: see if this is the cause of the Nexus7 assertion failure Original change's description: > Defer more renderTargetContexts in the GPU image filter paths > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4767 > > Change-Id: I4c1f27247ef340a49d1ac96761810e77e6047ca2 > Reviewed-on: https://skia-review.googlesource.com/4767 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I158f96ec1252481345fc5dca15086ffd4b47cb95 Reviewed-on: https://skia-review.googlesource.com/4875 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Add kRenderTarget_GrSurfaceFlag to GrVkGpu::onWrapBackendRenderTargetGravatar Robert Phillips2016-11-15
| | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4868 Change-Id: I7f169d050c47c074cf63ef9b63fb7df8efdaed62 Reviewed-on: https://skia-review.googlesource.com/4868 Commit-Queue: Robert Phillips <robertphillips@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add detection of image load/store to capsGravatar Brian Salomon2016-11-15
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4861 Change-Id: Ibf70cce9f61553e830b62339551c1541dc054e8b Reviewed-on: https://skia-review.googlesource.com/4861 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add image functions to GrGLInterfaceGravatar Brian Salomon2016-11-15
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4840 Change-Id: I250cc4e637765c321c90e33c9b3f25c4ad12fe04 Reviewed-on: https://skia-review.googlesource.com/4840 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add 4.20 as a GLSL output version.Gravatar Brian Salomon2016-11-15
| | | | | | | | | | | GLSL 4.20 adds support for image functions which will be used in forthcoming changes. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4833 Change-Id: I8cab511d95f04b45faaf916628148117b8be2128 Reviewed-on: https://skia-review.googlesource.com/4833 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Revert "Support decoding images to multiple formats, depending on usage"Gravatar Brian Osman2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c73a1ecbed64652b3d7aa8dc6face9a2205ce830. Reason for revert: ANGLE and CommandBuffer failures Original change's description: > Support decoding images to multiple formats, depending on usage > > 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. > > BUG=skia:5907 > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4438 > > Change-Id: I847c243dcfb72d8c0f1f6fc73c09547adea933f0 > Reviewed-on: https://skia-review.googlesource.com/4438 > Reviewed-by: Matt Sarett <msarett@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > TBR=mtklein@google.com,bsalomon@google.com,msarett@google.com,brianosman@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I1818f937464573d601f64e5a1f1eb43f5a778f4e Reviewed-on: https://skia-review.googlesource.com/4832 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Support decoding images to multiple formats, depending on usageGravatar Brian Osman2016-11-15
| | | | | | | | | | | | | | | | | | | | 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. BUG=skia:5907 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4438 Change-Id: I847c243dcfb72d8c0f1f6fc73c09547adea933f0 Reviewed-on: https://skia-review.googlesource.com/4438 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Defer more renderTargetContexts in the GPU image filter pathsGravatar Robert Phillips2016-11-15
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4767 Change-Id: I4c1f27247ef340a49d1ac96761810e77e6047ca2 Reviewed-on: https://skia-review.googlesource.com/4767 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Compute the correct dst->src rect for bitmap tiles in SkGpuDeviceGravatar Brian Salomon2016-11-14
| | | | | | | | | | | | | Use anisotropic scale to show bug in verylargebitmap test. BUG=chromium:664615 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4774 Change-Id: If92eab6d26b9fb506670412a80df259f99db2a21 Reviewed-on: https://skia-review.googlesource.com/4774 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Add IORef capability to GrSurfaceProxy objects"Gravatar Robert Phillips2016-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 286b96f876953c94c178e3abbeb4eab186ad1fef. Reason for revert: Failure on Mac Mini: FAILURE: ../../../tests/ProxyRefTest.cpp:59 proxy->getPendingWriteCnt_TestOnly() == expectedNumWrites ../../../tests/ProxyRefTest.cpp:64: fatal error: "assert(proxy->getPendingWriteCnt_TestOnly() == expectedNumWrites)" Original change's description: > Add IORef capability to GrSurfaceProxy objects > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4734 > > Change-Id: If10fbe555e9fa3331bfa01065028e1afe82adb78 > Reviewed-on: https://skia-review.googlesource.com/4734 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I5e1c201e027d4e9687b01f28a418b1884d3f9ece Reviewed-on: https://skia-review.googlesource.com/4776 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Add IORef capability to GrSurfaceProxy objectsGravatar Robert Phillips2016-11-14
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4734 Change-Id: If10fbe555e9fa3331bfa01065028e1afe82adb78 Reviewed-on: https://skia-review.googlesource.com/4734 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove static asserts for GrSLType and GrVertexAttribType enum values.Gravatar Brian Salomon2016-11-14
| | | | | | | | | | | | | Replaces with switch statements that will produce a compiler warning if a type is added and helper functions are not updated. This also removes several unused helper functions for these enum types. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4486 Change-Id: Iee6d8e5095dc4ba2488a8928bf60f8e903cd3320 Reviewed-on: https://skia-review.googlesource.com/4486 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Clean up glyph id handling.Gravatar Ben Wagner2016-11-11
| | | | | | | | | | | | | | | | | Extract SkPackedID and its strongly typed subclasses SkPackedGlyphID and SkPackedUnicharID out of SkGlyph. This simplifies the code handling these types, as well as making it clearer that we wouuld eventually like to get away from this scheme. Changes SkScalerContext::getPath to take SkPackedGlyphID. Changes SkScalerContext::generatePath to take SkGlyphID. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4722 Change-Id: I365c0c618b7ae0d348272155fac7761a69faa920 Reviewed-on: https://skia-review.googlesource.com/4722 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Revert "Revert "Add integer texture support.""Gravatar Brian Salomon2016-11-11
| | | | | | | | | | | | | This reverts commit 9c7edb8311409a141b0dc1d5e480c68c629f1997. Fixes ASAN errors GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4736 Change-Id: I1b1dae754d357b01da7169c8e7c59d7d8d8a10f6 Reviewed-on: https://skia-review.googlesource.com/4736 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* re-re-land of skslc now uses standard Skia capsGravatar Ethan Nicholas2016-11-11
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4732 Change-Id: I144110bf66f67a28da7ad333173db43bddf9e8d0 Reviewed-on: https://skia-review.googlesource.com/4732 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Clean up validation layersGravatar Jim Van Verth2016-11-11
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4727 Change-Id: I92cef6fd23cd629a7a68e6ecb9e048674556517b Reviewed-on: https://skia-review.googlesource.com/4727 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "re-land of skslc now uses standard Skia caps"Gravatar Leon Scroggins2016-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 498d403f7703cb2157bf3c877b84906db5a06cd4. Reason for revert: Breaking compile bot: https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Ubuntu-GCC-x86_64-Release-NoGPU/builds/10116/steps/compile_skia%20on%20Ubuntu/logs/stdio undefined reference to `GrGLSLCaps::GrGLSLCaps(GrContextOptions const&) Original change's description: > re-land of skslc now uses standard Skia caps > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4726 > > Change-Id: Ib1ea5d4269396e6c57ee1f0d7209aa9a9f2798e8 > Reviewed-on: https://skia-review.googlesource.com/4726 > Reviewed-by: Ethan Nicholas <ethannicholas@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > TBR=bsalomon@google.com,benjaminwagner@google.com,kjlubick@google.com,ethannicholas@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I7ee96d6c658be6b7b79027c147b8950c78c79a70 Reviewed-on: https://skia-review.googlesource.com/4729 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Add explicit UniqueID classes for GrGpuResource & GrSurfaceProxyGravatar Robert Phillips2016-11-11
| | | | | | | | | | | This sets the stage for using the Proxy's/RenderTargetContext's ID above the flush and the RenderTarget's/GrGpuResource's below the flush. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4650 Change-Id: I9f1e6b00c02a0691d90b58c49e1d8c60684884c1 Reviewed-on: https://skia-review.googlesource.com/4650 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* re-land of skslc now uses standard Skia capsGravatar Ethan Nicholas2016-11-11
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4726 Change-Id: Ib1ea5d4269396e6c57ee1f0d7209aa9a9f2798e8 Reviewed-on: https://skia-review.googlesource.com/4726 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "skslc now uses standard Skia caps"Gravatar Leon Scroggins2016-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8af38a96475ac5ce83b20c16d9cf82bf1006b8c4. Reason for revert: Breaking compile bots, e.g. from https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Ubuntu-GCC-x86_64-Debug-NoGPU/builds/10029/steps/compile_skia%20on%20Ubuntu/logs/stdio : In function `sk_make_sp<GrGLSLCaps, GrContextOptions>' undefined reference to `GrGLSLCaps::GrGLSLCaps(GrContextOptions const&) In function `_Z10sk_make_spI10GrGLSLCapsI16GrContextOptionsEE5sk_spIT_EDpOT0_': undefined reference to `GrGLSLCaps::GrGLSLCaps(GrContextOptions const&) Original change's description: > skslc now uses standard Skia caps > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4660 > > Change-Id: Idaedae3f81426b97f5052bb872cdf0610e47a84f > Reviewed-on: https://skia-review.googlesource.com/4660 > Reviewed-by: Ben Wagner <benjaminwagner@google.com> > 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: Ic7f987f5c050ac2e333f5a0f16c8de85c1047a74 Reviewed-on: https://skia-review.googlesource.com/4697 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* skslc now uses standard Skia capsGravatar Ethan Nicholas2016-11-11
| | | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4660 Change-Id: Idaedae3f81426b97f5052bb872cdf0610e47a84f Reviewed-on: https://skia-review.googlesource.com/4660 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Add integer texture support."Gravatar Leon Scroggins2016-11-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 434c534bd0ec08cb355fecfb6d2110197b523e74. Reason for revert: Undefined behavior. From https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/1272/steps/test_skia%20on%20Ubuntu/logs/stdio ../../../tests/IntTextureTest.cpp:51:44: runtime error: left shift of negative value -1 #0 0x2257480 in test_IntTexture(skiatest::Reporter*, sk_gpu_test::ContextInfo const&) (/b/swarm_slave/w/ir0aO1sa/out/Debug/dm+0x2257480) #1 0x1ca1066 in skiatest::RunWithGPUTestContexts(void (*)(skiatest::Reporter*, sk_gpu_test::ContextInfo const&), bool (*)(sk_gpu_test::GrContextFactory::ContextType), skiatest::Reporter*, sk_gpu_test::GrContextFactory*) (/b/swarm_slave/w/ir0aO1sa/out/Debug/dm+0x1ca1066) #2 0x1ca080d in run_test(skiatest::Test) (/b/swarm_slave/w/ir0aO1sa/out/Debug/dm+0x1ca080d) #3 0x1c9e5e9 in dm_main() (/b/swarm_slave/w/ir0aO1sa/out/Debug/dm+0x1c9e5e9) #4 0x7f2d2ba8df44 in __libc_start_main /build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:287 #5 0x1bb3028 in _start (/b/swarm_slave/w/ir0aO1sa/out/Debug/dm+0x1bb3028) SUMMARY: AddressSanitizer: undefined-behavior ../../../tests/IntTextureTest.cpp:51:44 in step returned non-zero exit code: 1 Original change's description: > Add integer texture support. > > This allows us to create integer textures and sample them from a GrProcessor's code. > > Filtering is limited to NEAREST. > > Adds tests for reading/writing pixels, copying, and drawing. These operations are not allowed to convert to fixed/float configs. > > Vulkan support is TBD. > > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4348 > > Change-Id: If38d89a03285d4bd98d1f14f9638b0320977e43d > Reviewed-on: https://skia-review.googlesource.com/4348 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Chris Dalton <csmartdalton@google.com> > TBR=bsalomon@google.com,csmartdalton@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I39f1a0a0dd3e6cde1143c8cc1217d2e3d5977b21 Reviewed-on: https://skia-review.googlesource.com/4663 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Add integer texture support.Gravatar Brian Salomon2016-11-10
| | | | | | | | | | | | | | | | | | This allows us to create integer textures and sample them from a GrProcessor's code. Filtering is limited to NEAREST. Adds tests for reading/writing pixels, copying, and drawing. These operations are not allowed to convert to fixed/float configs. Vulkan support is TBD. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4348 Change-Id: If38d89a03285d4bd98d1f14f9638b0320977e43d Reviewed-on: https://skia-review.googlesource.com/4348 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* Remove call to getMetrics from GlyphGenerator.Gravatar Ben Wagner2016-11-09
| | | | | | | | | | | | | | GlyphGenerator::generatePath does not need to call getMetrics before calling getPath. This is wasted effort, especially since the SkScalerContext is being used directly instead of going through a glyph cache (which would require this ordering). GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4620 Change-Id: I140a6715a1d1692b161ee3dae48e5482b6004b63 Reviewed-on: https://skia-review.googlesource.com/4620 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Move GrRenderTargetPriv::maxWindowRectangles to GrRenderTargetContextPriv & ↵Gravatar Robert Phillips2016-11-09
| | | | | | | | | | | | | GrRenderTargetProxy This removes a reason to call accessRenderTarget on the GrRenderTargetContext GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4583 Change-Id: I6e8a53ffd5c1fea80f542b70e05744e2991f70f8 Reviewed-on: https://skia-review.googlesource.com/4583 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Fix fuzzer bugGravatar Robert Phillips2016-11-09
| | | | | | | | | | | BUG=663687 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4580 Change-Id: I9e914a1134b8049cf62bb36d4a6145eb8487d4e6 Reviewed-on: https://skia-review.googlesource.com/4580 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Consolidate GrSurfaceProxy Make methodsGravatar Robert Phillips2016-11-09
| | | | | | | | | | | I think GrSurfaceDesc is still the most compact way to communicate the deferred GrSurface's settings to the Proxy but this CL, at least, reduces where it is used. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4559 Change-Id: Ica599c28a5aef1ed4094f47a4ac119e2d204d652 Reviewed-on: https://skia-review.googlesource.com/4559 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Rename SkSourceGammaTreatment to SkDestinationSurfaceColorModeGravatar Brian Osman2016-11-09
| | | | | | | | | | | | | | | This is much more explicit about what that type represents (are we in legacy mode or not), which also makes it suitable for other (upcoming) usage. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4529 Change-Id: Iacb397c34e7765f1ca86c0195bc622b2be4d9acf Reviewed-on: https://skia-review.googlesource.com/4529 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Fix query for GR_GL_IMPLEMENTATION_COLOR_READ_FORMAT for GrPixelConfigs that ↵Gravatar bsalomon2016-11-08
| | | | | | | | | | aren't renderable We recently separated renderabibilty by Skia from FBO-bindable ( https://skia-review.googlesource.com/4345). Overlooked in that change was the necessity to be able to query GR_GL_IMPLEMENTATION_COLOR_READ_FORMAT and _TYPE for formats that we don't support rendering to Skia but are legal color attachment formats. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2489643002 Review-Url: https://codereview.chromium.org/2489643002
* Smart pointers for GrBatchAtlas.Gravatar Ben Wagner2016-11-08
| | | | | | | | | | | While navigating this code the ownership rules were found to not be entirely clear. This updates GrBatchAtlas:: fPlotArray and fTexture to be smart pointers and propagates some clarifying changes. Change-Id: I6ca67247575c2d7c4e7986c10b948201fe0080f1 Reviewed-on: https://skia-review.googlesource.com/4549 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Revert "Revert "Add GrRenderTargetContext instantiate & asTextureProxy""Gravatar Robert Phillips2016-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7d7d7d19462b75f5470492dc4820a02c1eba4af2. Reason for revert: Reverting this to see if it really was crashing on SVGs or if that was cross talk. Original change's description: > Revert "Add GrRenderTargetContext instantiate & asTextureProxy" > > This reverts commit 9113edfff89e657dabc0ba095c54f7720550196c. > > Reason for revert: Looks to be causing EXCEPTION_ACCESS_VIOLATION: > > https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win-MSVC-NUC-GPU-IntelIris6100-x86_64-Debug/builds/121/steps/test_skia%20on%20Windows/logs/stdio > https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win-MSVC-GCE-CPU-AVX2-x86-Debug/builds/2384/steps/test_skia%20on%20Windows-2008ServerR2-SP1/logs/stdio > https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win-MSVC-ShuttleC-GPU-iHD530-x86_64-Debug/builds/785/steps/test_skia%20on%20Windows/logs/stdio > > Original change's description: > > Add GrRenderTargetContext instantiate & asTextureProxy > > > > This CL also centralizes the instantiation code in GrSurfaceProxy and adds a test. > > > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4494 > > > > Change-Id: I0081d9a216dc0af293179f23bcb88acf6a822324 > > Reviewed-on: https://skia-review.googlesource.com/4494 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Robert Phillips <robertphillips@google.com> > > > > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Change-Id: I225ce7867ebd445067e5ea55ebbfd587f7fe782a > Reviewed-on: https://skia-review.googlesource.com/4528 > Commit-Queue: Leon Scroggins <scroggo@google.com> > Reviewed-by: Leon Scroggins <scroggo@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,scroggo@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ifc3b9ac343009a3808f5f47500eef50df438e3d9 Reviewed-on: https://skia-review.googlesource.com/4537 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* src/gpu: s/SkAutoTUnref/sk_sp/gGravatar Hal Canary2016-11-07
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4527 Change-Id: I23f0548f98e7c355da05e143e8baa330d4bc04cc Reviewed-on: https://skia-review.googlesource.com/4527 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Revert "Add GrRenderTargetContext instantiate & asTextureProxy"Gravatar Leon Scroggins2016-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9113edfff89e657dabc0ba095c54f7720550196c. Reason for revert: Looks to be causing EXCEPTION_ACCESS_VIOLATION: https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win-MSVC-NUC-GPU-IntelIris6100-x86_64-Debug/builds/121/steps/test_skia%20on%20Windows/logs/stdio https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win-MSVC-GCE-CPU-AVX2-x86-Debug/builds/2384/steps/test_skia%20on%20Windows-2008ServerR2-SP1/logs/stdio https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win-MSVC-ShuttleC-GPU-iHD530-x86_64-Debug/builds/785/steps/test_skia%20on%20Windows/logs/stdio Original change's description: > Add GrRenderTargetContext instantiate & asTextureProxy > > This CL also centralizes the instantiation code in GrSurfaceProxy and adds a test. > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4494 > > Change-Id: I0081d9a216dc0af293179f23bcb88acf6a822324 > Reviewed-on: https://skia-review.googlesource.com/4494 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I225ce7867ebd445067e5ea55ebbfd587f7fe782a Reviewed-on: https://skia-review.googlesource.com/4528 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Add GrRenderTargetContext instantiate & asTextureProxyGravatar Robert Phillips2016-11-07
| | | | | | | | | | | This CL also centralizes the instantiation code in GrSurfaceProxy and adds a test. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4494 Change-Id: I0081d9a216dc0af293179f23bcb88acf6a822324 Reviewed-on: https://skia-review.googlesource.com/4494 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Fix Vulkan command buffer assert on device lostGravatar Jim Van Verth2016-11-07
| | | | | | | | | | | | BUG=skia:5939 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4483 Change-Id: Id363c4d774095b1707adbe6c8ab537c6e5ecab6c Reviewed-on: https://skia-review.googlesource.com/4483 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Add GrTextureRenderTargetProxy and support switching between RT & Tex ProxiesGravatar Robert Phillips2016-11-07
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4427 Change-Id: Ie7662299953592f564bb27a4df4ea101f743403e Reviewed-on: https://skia-review.googlesource.com/4427 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Limit GL_TEXTURE_RECTANGLE filtering to bilinear.""Gravatar Brian Salomon2016-11-07
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit ce4d04ae8eace6ba53ff8b8c8d8f4a2e6af4e59f. BUG=skia:5932 Original CL description: > >Limit GL_TEXTURE_RECTANGLE filtering to bilinear. > >Adds a clamp for GrTexture filtering that can be set by a subclass at construction. The clamping is performed by GrTextureParams. GrGLTexture limits filtering to bilinear for rectangle and external textures. > >Also moves samplerType() to GrTexturePriv from GrTexture. > >BUG=skia:5932 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4455 Change-Id: I4a9f4abac44979cb900f5b04fe741524eade66b1 Reviewed-on: https://skia-review.googlesource.com/4455 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Further centralize computation of GrSurface VRAM consumption - take 2Gravatar Robert Phillips2016-11-07
| | | | | | | | | | | This is the same as https://skia-review.googlesource.com/c/4383/ (Further centralize computation of GrSurface VRAM consumption) but with a suppression for Vulkan in the new test and removal of an assert Chromium was triggering. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4450 Change-Id: Ie87d32fd5f0d35c21326b066a0c733cb6f8a5bea Reviewed-on: https://skia-review.googlesource.com/4450 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Further centralize computation of GrSurface VRAM consumption"Gravatar Ben Wagner2016-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ccd3c8937fce4bb28df19533ed043cad209e277d. Reason for revert: Blocking Chromium roll: https://codereview.chromium.org/2482643002/ Original change's description: > Further centralize computation of GrSurface VRAM consumption > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4383 > > Change-Id: I054b74f2cd15f904f8e05af0fda58d6e8a523eb9 > Reviewed-on: https://skia-review.googlesource.com/4383 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=662630 Change-Id: I186db2a41eb2bd789e6f681b3547e32d9ca374cf Reviewed-on: https://skia-review.googlesource.com/4443 Commit-Queue: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>