aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLUtil.h
Commit message (Collapse)AuthorAge
* Disable framebuffer fetch on the Adreno5xx devices.Gravatar egdaniel2016-09-20
| | | | | | | | | | This should help with some of the rendering bugs currently in GL for the S7. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2348293004 Review-Url: https://codereview.chromium.org/2348293004
* Switch to a whitelist for manual mip-map generationGravatar brianosman2016-06-07
| | | | | | | | | | | | | Due to performance regression on various GPUs, we're only going to use the new draw-call based mip-mapper when necessary. Of the bots where we have test coverage, that means Intel and Mac-NVIDIA. We also had failures on our AMD 7770 bots - I'm upgrading the drivers on those two machines, and I'm leaving them out of the whitelist for now. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2042313002 Review-Url: https://codereview.chromium.org/2042313002
* Separate user and raw stencil settingsGravatar cdalton2016-05-11
| | | | | | | | | | | | | | | | | | | | | | | | Adds a new GrUserStencilSettings class that describes in abstract terms how a draw will use the stencil (e.g. kAlwaysIfInClip, kSetClipBit, etc.). GrPipelineBuilder now only defines the GrUserStencilSettings. When the GrPipeline is finalized, the user stencil settings are then translated into concrete GrStencilSettings. At this point, GrClipMaskManager only needs to tell the GrAppliedClip whether or not there is a stencil clip. It does not need to modify stencil settings and GrPipelineBuilder does not need AutoRestoreStencil. This is one step of the stencil overhaul. In the future it will also allow us to clean up the special case handling for nvpr and the stateful fClipMode member of GrClipMaskManager. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962243002 Committed: https://skia.googlesource.com/skia/+/12dbb3947e1aaf205b4fcf13b40e54e50650eb37 Review-Url: https://codereview.chromium.org/1962243002
* Revert of Separate user and raw stencil settings (patchset #8 id:140001 of ↵Gravatar robertphillips2016-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1962243002/ ) Reason for revert: This seems to be breaking nanobench on the Windows bots with: Caught exception 3221225477 EXCEPTION_ACCESS_VIOLATION GrDrawTarget::stencilPath +c7 GrStencilAndCoverPathRenderer::onDrawPath +fd GrDrawContext::internalDrawPath +509 GrDrawContext::drawPath +223 GrBlurUtils::drawPathWithMaskFilter +250 SkGpuDevice::drawPath +2ea SkCanvas::onDrawPath +2e3 SkRecordDraw +2e6 SkBigPicture::playback +e5 SkCanvas::onDrawPicture +12c SkCanvas::drawPicture +145 SkRecordDraw +2e6 SkBigPicture::playback +e5 SkCanvas::onDrawPicture +12c SkCanvas::drawPicture +145 SkRecordDraw +261 SkBigPicture::playback +e5 SkCanvas::onDrawPicture +12c SkCanvas::drawPicture +145 SkMultiPictureDraw::draw +bf SKPBench::drawMPDPicture +1e0 SKPBench::onDraw +34 Benchmark::draw +32 time +92 setup_gpu_bench +6e nanobench_main +77b Original issue's description: > Separate user and raw stencil settings > > Adds a new GrUserStencilSettings class that describes in abstract terms > how a draw will use the stencil (e.g. kAlwaysIfInClip, kSetClipBit, > etc.). GrPipelineBuilder now only defines the GrUserStencilSettings. > When the GrPipeline is finalized, the user stencil settings are then > translated into concrete GrStencilSettings. > > At this point, GrClipMaskManager only needs to tell the GrAppliedClip > whether or not there is a stencil clip. It does not need to modify > stencil settings and GrPipelineBuilder does not need > AutoRestoreStencil. > > This is one step of the stencil overhaul. In the future it will also > allow us to clean up the special case handling for nvpr and the > stateful fClipMode member of GrClipMaskManager. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962243002 > > Committed: https://skia.googlesource.com/skia/+/12dbb3947e1aaf205b4fcf13b40e54e50650eb37 TBR=bsalomon@google.com,cdalton@nvidia.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/1969693003
* Separate user and raw stencil settingsGravatar cdalton2016-05-10
| | | | | | | | | | | | | | | | | | | | | | Adds a new GrUserStencilSettings class that describes in abstract terms how a draw will use the stencil (e.g. kAlwaysIfInClip, kSetClipBit, etc.). GrPipelineBuilder now only defines the GrUserStencilSettings. When the GrPipeline is finalized, the user stencil settings are then translated into concrete GrStencilSettings. At this point, GrClipMaskManager only needs to tell the GrAppliedClip whether or not there is a stencil clip. It does not need to modify stencil settings and GrPipelineBuilder does not need AutoRestoreStencil. This is one step of the stencil overhaul. In the future it will also allow us to clean up the special case handling for nvpr and the stateful fClipMode member of GrClipMaskManager. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962243002 Review-Url: https://codereview.chromium.org/1962243002
* Fix unit test crash caused by OSMesa not supporting rendering to GL_ALPHA8Gravatar bsalomon2016-05-05
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1947373003 Review-Url: https://codereview.chromium.org/1947373003
* Remove the GrGLInterface callback mechanism.Gravatar bsalomon2016-03-28
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1836013002 Review URL: https://codereview.chromium.org/1836013002
* Avoid pixel GPU readback in saveLayerWithPickupGravatar robertphillips2015-12-16
| | | | | | When the default framebuffer is wrapped in a device for rendering we don't get a GrTexture. This CL adds a copy to a temporary texture in this instance so the rest of the Ganesh pipeline can continue on as usual. Review URL: https://codereview.chromium.org/1531493002
* Make all GrFragmentProcessors GL independent.Gravatar egdaniel2015-11-13
| | | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1434313002
* Create GLSL base class for ProgramDataManagerGravatar egdaniel2015-10-28
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1428543003
* Make ANGLE perf decisions be runtime rather than compile timeGravatar bsalomon2015-07-31
| | | | | | R=robertphillips@google.com Review URL: https://codereview.chromium.org/1268953002
* Review URL: https://codereview.chromium.org/1166513002Gravatar cdalton2015-06-12
|
* Begin tracking driver info in GrGLContextInfoGravatar cdalton2015-06-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1165463005
* Limit clear as draw workaround to Adreno 3xx.Gravatar bsalomon2015-02-13
| | | | | | This causes more problems than it fixes on the Nexus 6. Review URL: https://codereview.chromium.org/917313005
* Use texture size to determine precision of texture coord varyings.Gravatar bsalomon2014-12-09
| | | | Review URL: https://codereview.chromium.org/778783002
* Workaround for PowerVR clear issue.Gravatar bsalomon2014-11-05
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/701573002
* Cleanup: Go with SkDebugf instead of GrPrintf.Gravatar tfarina2014-10-31
| | | | | | | | | | | Since GrPrintf is just defined to SkDebugf, we can go with the later directly. BUG=None TEST=None R=bsalomon@google.com Review URL: https://codereview.chromium.org/695663003
* Separate GL path rendering state from GrGpuGL to GrGLPathRenderingGravatar kkinnunen2014-08-20
| | | | | | | | | | | | | | | | | | | Separate GL path rendering state from GrGpuGL to GrGLPathRendering. This makes GrGpuGL code simpler. The intention is that while GrGpuGL represents the global environment for GL, the GrGLPathRendering represents the global environment for path rendering extension. Add GrPathRendering, a base class for path rendering, and inherit GrGLPathRendering from that. Move the path rendering virtual functions from GrGpu to GrPathRendering. R=bsalomon@google.com, cdalton@nvidia.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/452823002
* Fix alpha textures in NV ES3 contexts on Windows.Gravatar bsalomon2014-07-17
| | | | | | | | | | | | Make unit tests iterate over all the rendering GL context types rather than using kNative. Fix the extension printing when gStartupSpew is set. R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/398183002
* Fail to create GrContext when we get a NULL for a GL/GLSL version stringGravatar commit-bot@chromium.org2014-04-30
| | | | | | | | | | | BUG=368107 R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/254083002 git-svn-id: http://skia.googlecode.com/svn/trunk@14452 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add workaround for Xoom crashing after discard removed from shader.Gravatar commit-bot@chromium.org2014-02-07
| | | | | | | | | | | | | R=robertphillips@google.com TBR=robertphillips@google.com BUG=skia:2149 Author: bsalomon@google.com Review URL: https://codereview.chromium.org/133703016 git-svn-id: http://skia.googlecode.com/svn/trunk@13373 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move GrGLInterface function pointers into a nested structGravatar commit-bot@chromium.org2014-01-21
| | | | | | | | | | | BUG=skia:2042 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/133073009 git-svn-id: http://skia.googlecode.com/svn/trunk@13130 2bbb7eff-a529-9590-31e7-b0007b416f81
* Rename GrGLBinding->GrGLStandard, no longer a bitfieldGravatar commit-bot@chromium.org2014-01-16
| | | | | | | | | | | BUG=skia:2042 R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/133413003 git-svn-id: http://skia.googlecode.com/svn/trunk@13108 2bbb7eff-a529-9590-31e7-b0007b416f81
* Don't check if shaders compile or program links in release ChromiumGravatar commit-bot@chromium.org2013-10-30
| | | | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/52843003 git-svn-id: http://skia.googlecode.com/svn/trunk@12032 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix to allow ovals GM to finish on N7Gravatar commit-bot@chromium.org2013-09-18
| | | | | | | | | | R=jvanverth@google.com, robertphillips@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/23477079 git-svn-id: http://skia.googlecode.com/svn/trunk@11340 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add getGLMatrix method to MatrixStateGravatar commit-bot@chromium.org2013-09-05
| | | | | | | | | | | | | Removes redundant code by consolidating it into a single method. No change in functionality, this is strictly a refactoring. R=bsalomon@google.com Author: cdalton@nvidia.com Review URL: https://chromiumcodereview.appspot.com/23767005 git-svn-id: http://skia.googlecode.com/svn/trunk@11112 2bbb7eff-a529-9590-31e7-b0007b416f81
* Recognize that ES3 supports texture storage. Add workaround for apparent ↵Gravatar commit-bot@chromium.org2013-08-21
| | | | | | | | | | | | Adreno bug. R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/22856006 git-svn-id: http://skia.googlecode.com/svn/trunk@10845 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Changed rules about sized internal formats on GLES3."Gravatar bsalomon@google.com2013-08-20
| | | | | | This reverts commit r10806. git-svn-id: http://skia.googlecode.com/svn/trunk@10811 2bbb7eff-a529-9590-31e7-b0007b416f81
* Changed rules about sized internal formats on GLES3.Gravatar commit-bot@chromium.org2013-08-20
| | | | | | | | | | R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/22823006 git-svn-id: http://skia.googlecode.com/svn/trunk@10806 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add MESA detection to GrContextInfo and use to decide whether to use ↵Gravatar commit-bot@chromium.org2013-06-14
| | | | | | | | | | | | | | GL_ALPHA or GL_RED. Based on yunchao.he@intel.com's original change here: https://codereview.chromium.org/15994006/ R=yunchao.he@intel.com, robertphillips@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/16955005 git-svn-id: http://skia.googlecode.com/svn/trunk@9608 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use glGetStringi to get extensions when available.Gravatar bsalomon@google.com2013-02-26
| | | | | | Review URL: https://codereview.chromium.org/12328111 git-svn-id: http://skia.googlecode.com/svn/trunk@7872 2bbb7eff-a529-9590-31e7-b0007b416f81
* Enable cpu-array dynamic vertex data on SGX.Gravatar bsalomon@google.com2013-02-22
| | | | | | | R=robertphillips@google.com Review URL: https://codereview.appspot.com/7388045 git-svn-id: http://skia.googlecode.com/svn/trunk@7830 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use CPU arrays for dynamic indices/vertices on ARM GPUs.Gravatar bsalomon@google.com2013-02-21
| | | | | | Review URL: https://codereview.appspot.com/7365047 git-svn-id: http://skia.googlecode.com/svn/trunk@7810 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add vendor to context info.Gravatar bsalomon@google.com2012-10-23
| | | | | | | R=robertphillips@google.com Review URL: https://codereview.appspot.com/6741062 git-svn-id: http://skia.googlecode.com/svn/trunk@6043 2bbb7eff-a529-9590-31e7-b0007b416f81
* move more stuff that should be private out from GrGLConfig.hGravatar bsalomon@google.com2012-05-07
| | | | | | | | | Review URL: http://codereview.appspot.com/6202053/ git-svn-id: http://skia.googlecode.com/svn/trunk@3856 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make GrGLDefines.h be a private headerGravatar bsalomon@google.com2012-05-07
| | | | | | | | Review URL: http://codereview.appspot.com/6198048/ git-svn-id: http://skia.googlecode.com/svn/trunk@3851 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove incorrect includeGravatar bsalomon@google.com2012-05-07
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3850 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move function decls and macros out of public headers that are meant for ↵Gravatar bsalomon@google.com2012-05-07
internal use. git-svn-id: http://skia.googlecode.com/svn/trunk@3849 2bbb7eff-a529-9590-31e7-b0007b416f81