aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
* Add transfer buffer support.Gravatar jvanverth2015-12-03
| | | | | | | | BUG=skia:4604 Committed: https://skia.googlesource.com/skia/+/fa498fe12239988578465d0dee69f0d5645bb361 Review URL: https://codereview.chromium.org/1490473003
* Revert of Add transfer buffer support. (patchset #9 id:160001 of ↵Gravatar egdaniel2015-12-03
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1490473003/ ) Reason for revert: speculative revert for deps roll failures Original issue's description: > Add transfer buffer support. > > BUG=skia:4604 > > Committed: https://skia.googlesource.com/skia/+/fa498fe12239988578465d0dee69f0d5645bb361 TBR=bsalomon@google.com,jvanverth@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4604 Review URL: https://codereview.chromium.org/1496843003
* Wire up resource cache stats dumping in nanobenchGravatar joshualitt2015-12-02
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1495543003
* reset shader compilations for statsGravatar joshualitt2015-12-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1491823003
* Add transfer buffer support.Gravatar jvanverth2015-12-02
| | | | | | BUG=skia:4604 Review URL: https://codereview.chromium.org/1490473003
* Reduce use of GrRenderTarget in GrTextContextsGravatar robertphillips2015-12-02
| | | | | | Cleanup prior to switching over to GrRenderTargetProxy. Review URL: https://codereview.chromium.org/1485973004
* Began logging more gpu stats from nanobenchGravatar joshualitt2015-12-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1489033004
* Remove plumbing of clipRect thoughout the TextContextsGravatar robertphillips2015-12-02
| | | | | | The RenderTarget was only being passed around to be able to recreate the clipRect. Review URL: https://codereview.chromium.org/1486323002
* Add in shader blending for CoverageSetOp XPGravatar egdaniel2015-12-01
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1488213002
* Retract GrRenderTarget a bitGravatar robertphillips2015-12-01
| | | | | | These sites don't necessarily need the full power of a GrRenderTarget object. This is a clean up for switching over to GrRenderTargetProxys. Review URL: https://codereview.chromium.org/1486923004
* Revert of Make NVPR a GL context option instead of a GL context (patchset #2 ↵Gravatar bsalomon2015-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:20001 of https://codereview.chromium.org/1448883002/ ) Reason for revert: BUG=skia:4609 skbug.com/4609 Seems like GrContextFactory needs to fail when the NVPR option is requested but the driver version isn't sufficiently high. Original issue's description: > Make NVPR a GL context option instead of a GL context > > Make NVPR a GL context option instead of a GL context. > This may enable NVPR to be run with command buffer > interface. > > No functionality change in DM or nanobench. NVPR can > only be run with normal GL APIs. > > BUG=skia:2992 > > Committed: https://skia.googlesource.com/skia/+/eeebdb538d476c1bfc8b63a946094ca1b505ecd1 TBR=mtklein@google.com,jvanverth@google.com,kkinnunen@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:2992 Review URL: https://codereview.chromium.org/1486153002
* Make NVPR a GL context option instead of a GL contextGravatar kkinnunen2015-12-01
| | | | | | | | | | | | | Make NVPR a GL context option instead of a GL context. This may enable NVPR to be run with command buffer interface. No functionality change in DM or nanobench. NVPR can only be run with normal GL APIs. BUG=skia:2992 Review URL: https://codereview.chromium.org/1448883002
* Fix stroking of zero length paths with end caps on NVPRGravatar kkinnunen2015-12-01
| | | | | | | | | | Fix stroking of zero length paths with end caps on NVPR. In case of such paths, stroke them using Skia and just fill the path with NVPR. BUG=skia:4427 Review URL: https://codereview.chromium.org/1471763002
* Disable using dev bounds in Gr clip reduction code.Gravatar Brian Salomon2015-11-30
| | | | | | | | Enabling this broke GPU raster in Chrome. Disabling until bug diagnosed/fixed. TBR=joshualitt@googole.com Review URL: https://codereview.chromium.org/1484973002 .
* Add debug option to clip each GrBatch to its device boundsGravatar bsalomon2015-11-30
| | | | Review URL: https://codereview.chromium.org/1471083002
* Make onPrepareDraws constGravatar joshualitt2015-11-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1483103003
* Create a static instances of SrcOver XferProcessorGravatar egdaniel2015-11-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1471293003
* Fix bug in reads fragment position on gpu.Gravatar egdaniel2015-11-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1482223004
* APIs which took colorPOI / coveragePOI pairs updated to take a ↵Gravatar ethannicholas2015-11-30
| | | | | | | | GrPipelineOptimizations struct TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/1480353002
* Clean up Ganesh path render a little bitGravatar robertphillips2015-11-30
| | | | | | | | I'm not sure if this is an improvement but this is an attempt to start moving the handling of pathEffects up the call stack (ideally to SkGpuDevice). Note that the duplicate path sniffing in GrDrawContext::drawPath is still useful since it can be invoked if a path has to be explicitly drawn for a mask filter. Review URL: https://codereview.chromium.org/1472333003
* Include conic weights in GrPath cache kSimpleVolatilePathDomain keysGravatar kkinnunen2015-11-26
| | | | | | | | | Include conic weights in the keys when caching GrPath in kSimpleVolatilePathDomain. BUG=skia:4580 Review URL: https://codereview.chromium.org/1472733002
* Remove SkDrawProcsGravatar herb2015-11-24
| | | | | | TBR=reed@google.com Review URL: https://codereview.chromium.org/1476563002
* New API for computing optimization invariants.Gravatar ethannicholas2015-11-24
| | | | Review URL: https://codereview.chromium.org/1467553002
* Sniff out rects, ovals & rrects in SkGpuDevice::drawPathGravatar robertphillips2015-11-24
| | | | Review URL: https://codereview.chromium.org/1468423002
* Clarify when oval & rrects get devolved to paths in ↵Gravatar robertphillips2015-11-24
| | | | | | | | SkGpuDevice/GrDrawContext boundary The GrDrawContext drawOval and drawRRect methods are only called from SkGpuDevice so there is no value in delaying the conversion to a path when dashing is involved. Review URL: https://codereview.chromium.org/1470103002
* Appeasing the compilersGravatar egdaniel2015-11-23
| | | | | | | | | | | NOTRY=True NOTREECHECKS=True TBR=robertphillips@google.com BUG=skia: Review URL: https://codereview.chromium.org/1471143002
* Fix for recent SrcOver XP ChangeGravatar egdaniel2015-11-23
| | | | | | | | | NOTREECHECKS=True NOTRY=True BUG=skia: Review URL: https://codereview.chromium.org/1473443004
* Make stencil and cover path rendering have more reasonable bounds.Gravatar bsalomon2015-11-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1471883002
* Remove unecessary GetGlyphIdMetrics callGravatar joshualitt2015-11-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1467133003
* Don't create a GXPFactory when blend is SrcOverGravatar egdaniel2015-11-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1471053002
* Move GrAtlasTextBatch blob regeneration to templateGravatar joshualitt2015-11-23
| | | | | | | | | This will remove the runtime branches. I don't think it makes the code any harder to read either BUG=skia: Review URL: https://codereview.chromium.org/1466333003
* Add stroking support to distance field path rendererGravatar jvanverth2015-11-23
| | | | | | | | | | | Also slightly increases sizes of paths accepted for distance field caching. Committed: https://skia.googlesource.com/skia/+/5ce76efd1c847308c7bcac17bd87d567c42cd786 Committed: https://skia.googlesource.com/skia/+/73ee6770260dbeeabc4a78eee4f13533f0031211 Review URL: https://codereview.chromium.org/1460873002
* Restrict query bounds for reduce clip to dev boundsGravatar bsalomon2015-11-23
| | | | Review URL: https://codereview.chromium.org/1467253002
* Review URL: https://codereview.chromium.org/1464593004Gravatar bsalomon2015-11-23
|
* Remove GrContextFactory::getGLContextGravatar kkinnunen2015-11-22
| | | | | | | | | | | | | | | | | Remove GrContextFactory::getGLContext, it is problematic: It has the bug of not checking for the context type. It also is error-prone, since the GL context is not made current, but it is callers may assume it is current. It is also not used very much. Clients can use GrContextFactory::getContextInfo. BUG=skia: Review URL: https://codereview.chromium.org/1455093003
* Initial version of external_oes texture support and unit testGravatar bsalomon2015-11-22
| | | | | | Committed: https://skia.googlesource.com/skia/+/27a048700778d4cebfc23301d1780649791b0e03 Review URL: https://codereview.chromium.org/1451683002
* Revert of Add stroking support to distance field path renderer (patchset #8 ↵Gravatar fmalita2015-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:160001 of https://codereview.chromium.org/1460873002/ ) Reason for revert: Valgrind failures: http://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind/builds/420/steps/dm/logs/stdio ==7062== Use of uninitialised value of size 8 ==7062== at 0x8ECA9A: AADistanceFieldPathBatch::onPrepareDraws(GrVertexBatch::Target*) (SkTDynamicHash.h:94) ==7062== by 0x90DCF5: GrVertexBatch::onPrepare(GrBatchFlushState*) (GrVertexBatch.cpp:16) ==7062== by 0x8B592A: GrDrawTarget::prepareBatches(GrBatchFlushState*) (GrBatch.h:100) ==7062== by 0x8B51EA: GrDrawingManager::flush() (GrDrawingManager.cpp:78) ==7062== by 0x8AE568: GrContext::flush(int) (GrContext.cpp:191) ==7062== by 0x6C118A: GrContext::getTestTarget(GrTestTarget*, GrRenderTarget*) (GrTest.cpp:56) ==7062== by 0x4F4D82: GrDrawingManager::ProgramUnitTest(GrContext*, int) (GLProgramsTest.cpp:360) ==7062== by 0x4F58EC: test_GLPrograms(skiatest::Reporter*, GrContextFactory*) (GLProgramsTest.cpp:450) ==7062== by 0x40925E: run_test(skiatest::Test*) (DM.cpp:1022) ==7062== by 0x40BAC2: run_enclave_and_gpu_tests(SkTArray<Task, false>*) (DM.cpp:1033) ==7062== by 0x7621A9: SkTaskGroup::wait() (SkTaskGroup.cpp:88) ==7062== by 0x40B756: dm_main() (DM.cpp:1124) ==7062== by 0x40BA5F: main (DM.cpp:1211) ==7062== Uninitialised value was created by a stack allocation ==7062== at 0x8DB484: GrTest::TestStrokeRec(SkRandom*) (GrTestUtils.cpp:232) ==7062== { <insert_a_suppression_name_here> Memcheck:Value8 fun:_ZN24AADistanceFieldPathBatch14onPrepareDrawsEPN13GrVertexBatch6TargetE fun:_ZN13GrVertexBatch9onPrepareEP17GrBatchFlushState fun:_ZN12GrDrawTarget14prepareBatchesEP17GrBatchFlushState fun:_ZN16GrDrawingManager5flushEv fun:_ZN9GrContext5flushEi fun:_ZN9GrContext13getTestTargetEP12GrTestTargetP14GrRenderTarget fun:_ZN16GrDrawingManager15ProgramUnitTestEP9GrContexti fun:_ZL15test_GLProgramsPN8skiatest8ReporterEP16GrContextFactory fun:_ZL8run_testPN8skiatest4TestE fun:_ZL25run_enclave_and_gpu_testsP8SkTArrayI4TaskLb0EE fun:_ZN11SkTaskGroup4waitEv fun:_Z7dm_mainv fun:main } Original issue's description: > Add stroking support to distance field path renderer > > Also slightly increases sizes of paths accepted for distance field > caching. > > Committed: https://skia.googlesource.com/skia/+/5ce76efd1c847308c7bcac17bd87d567c42cd786 > > Committed: https://skia.googlesource.com/skia/+/73ee6770260dbeeabc4a78eee4f13533f0031211 TBR=robertphillips@google.com,jvanverth@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1465053002
* Revert of Initial version of external_oes texture support and unit test ↵Gravatar bsalomon2015-11-20
| | | | | | | | | | | | | | | | | | | (patchset #14 id:260001 of https://codereview.chromium.org/1451683002/ ) Reason for revert: Error wrapping external texture in GrTexture on some devices. Original issue's description: > Initial version of external_oes texture support and unit test > > Committed: https://skia.googlesource.com/skia/+/27a048700778d4cebfc23301d1780649791b0e03 TBR=joshualitt@google.com,egdaniel@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1459323004
* Initial version of external_oes texture support and unit testGravatar bsalomon2015-11-20
| | | | Review URL: https://codereview.chromium.org/1451683002
* Revert of Make specialized SrcOver XPFactory (patchset #3 id:40001 of ↵Gravatar egdaniel2015-11-20
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1455273006/ ) Reason for revert: breaking some builds Original issue's description: > Make specialized SrcOver XPFactory > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/a7006d45217d128a94fa53cb4b827cca79bc7049 TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1464933003
* Add stroking support to distance field path rendererGravatar jvanverth2015-11-20
| | | | | | | | | Also slightly increases sizes of paths accepted for distance field caching. Committed: https://skia.googlesource.com/skia/+/5ce76efd1c847308c7bcac17bd87d567c42cd786 Review URL: https://codereview.chromium.org/1460873002
* Create GrGLSLVaryingHandler class for program buildingGravatar egdaniel2015-11-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1462123003
* Make specialized SrcOver XPFactoryGravatar egdaniel2015-11-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1455273006
* Move glyph choosing to the find and place glyph code.Gravatar herb2015-11-20
| | | | | | | | | | This duplicates the functionality of the (private) SkPaint::getDrawCacheProc method into SkFindAndPlaceGlyph::LookupGlyph. Eventually LookupGlyph should replace getDrawCacheProc, at which point it should be removed. The remaining users are gpu and pdf. Review URL: https://codereview.chromium.org/1458193003
* Factor out GrAtlasTextBatch fromt GrAtlasTextContextGravatar joshualitt2015-11-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1458233003
* Generate list of GPU contexts outside SurfaceTest testsGravatar kkinnunen2015-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for feeding the tests with contexts directly to the unit test framework. This fixes the problem where tests are more complex than needed just in order to run the test code with multiple backends. Also makes it possible to change the logic how contexts are created. Instead of direct numbering, the different testable contexts may be generated from filtered cross-product of context options. For example: currently NVPR is a type of context. However, it could be also an on/off feature of any context. In order to test this kind of context, the enumeration can not be just of context type. It's simpler to move the enumeration out of the tests. A test targeting both normal and GPU backends would look like: static void test_obj_behavior(skiatest::Reporter* reporter, SkObj* obj, [other params] ) { ... test with obj and param .. } DEF_TEST(ObjBehavior, reporter) { for (auto& object : generate_object) { for (auto& other_param : generate_other_variant) { test_obj_behavior(reporter, object, other_param); } } } #if SK_SUPPORT_GPU DEF_GPUTEST_FOR_ALL_CONTEXTS(ObjBehavior_Gpu, reporter, context) { for (auto& object : generate_gpu_object) { for (auto& other_param : generate_other_variant) { test_obj_behavior(reporter, object, other_param); } } } #endif Uses the feature in SurfaceTests as an example. Moves SkSurface -related tests from ImageTest to SurfaceTest. BUG=skia:2992 Review URL: https://codereview.chromium.org/1446453003
* Avoid geometric ninepatch if rendertarget has MSAAGravatar joshualitt2015-11-19
| | | | | | BUG=skia:4586 Review URL: https://codereview.chromium.org/1458883009
* Add more batch information printoutsGravatar robertphillips2015-11-19
| | | | Review URL: https://codereview.chromium.org/1457373003
* Revert of Add stroking support to distance field path renderer (patchset #7 ↵Gravatar jvanverth2015-11-19
| | | | | | | | | | | | | | | | | | | | | | id:120001 of https://codereview.chromium.org/1460873002/ ) Reason for revert: Asserting in nanobench and dm. Original issue's description: > Add stroking support to distance field path renderer > > Also slightly increases sizes of paths accepted for distance field > caching. > > Committed: https://skia.googlesource.com/skia/+/5ce76efd1c847308c7bcac17bd87d567c42cd786 TBR=robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1458233002
* Add stroking support to distance field path rendererGravatar jvanverth2015-11-19
| | | | | | | Also slightly increases sizes of paths accepted for distance field caching. Review URL: https://codereview.chromium.org/1460873002