aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/SkGLContext.cpp
Commit message (Collapse)AuthorAge
* Revert to old behavior for swap buffersGravatar joshualitt2016-01-20
| | | | | | | | | New behavior is preserved with 'syncOrSwap' call BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1606883005 Review URL: https://codereview.chromium.org/1606883005
* add wait on fence without flushGravatar joshualitt2016-01-20
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1610183002 Review URL: https://codereview.chromium.org/1610183002
* Texturing support for RECTANGLE textures.Gravatar bsalomon2016-01-20
| | | | | | | | | | | | | | Uses textureSize() to unnormalize texture coords when reading from a RECTANGLE texture. Because of this we also require a later GLSL version to use rectangle textures (1.40). Note that this causes a issue with the bicubic effect. The texture coords seem to have poor precision and the result is ugly. textureSize() is intended as a workaround until effects can be updated to handle unnormalized coords themselves. Updates places where we were looking for OpenGL version 3.2 for rectangle support. It was actually added in 3.1. BUG=skia:3868 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1594483003 Review URL: https://codereview.chromium.org/1594483003
* Beginning of support for texture rectangles.Gravatar bsalomon2016-01-14
| | | | | | | | | | | | | Adds support for importing a RECTANGLE texture into Skia via GrTexureProvider::wrapBackendTexture(). Tests read/writing pixels, copySurface, and clear. Does not add support for texturing from a RECTANGLE texture as the coords will be incorrectly normalized. BUG=skia:3868 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1583863002 Review URL: https://codereview.chromium.org/1583863002
* Style Change: NULL->nullptrGravatar halcanary2015-08-27
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316233002 Review URL: https://codereview.chromium.org/1316233002
* Style Change: SkNEW->new; SkDELETE->deleteGravatar halcanary2015-08-26
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316123003 Review URL: https://codereview.chromium.org/1316123003
* Implement SkGLContext swapBuffers with fence syncsGravatar cdalton2015-06-23
| | | | | | | | | | | Improves the GPU measuring accuracy of nanobench by using fence syncs. Fence syncs are very widely supported and available on almost every platform. NO_MERGE_BUILDS BUG=skia: Review URL: https://codereview.chromium.org/1194783003
* Refactor SkGLContext to be actually extendableGravatar kkinnunen2014-10-15
| | | | | | | | | | | | | | | | | | | | | | Refactor SkGLContext to be actually extendable. Before, non-trivial subclass would need to destroy the GL connection upon running the destructor. However, the base class would run GL commands in its own destructor (with destroyed GL connection) Refactor so that SkGLContext subclass object creation is completely done by the factory function. If the factory function returns a non-NULL ptr, it means the context is usable. The destruction is done with the destructor instead of virtual function called upon destruction. Make the destructors not to call virtual functions, for clarity. Remove custom 1x1 FBO setup code from the base class. It appears not to be used anymore. BUG=skia:2992 Review URL: https://codereview.chromium.org/640283004
* Make the Sk GL context class an abstract base classGravatar kkinnunen2014-10-09
| | | | | | | | | | | | | | | | | | | | | | | Make the Sk GL context class, SkGLNativeContext, an abstract base class. Before, it depended on ifdefs to implement the platform dependent polymorphism. Move the logic to subclasses of the various platform implementations. This a step to enable Skia embedders to compile dm and bench_pictures. The concrete goal is to support running these test apps with Chromium command buffer. With this change, Chromium can implement its own version of SkGLNativeContext that uses command buffer, and host the implementation in its own repository. Implements the above by renaming the SkGLContextHelper to SkGLContext and removing the unneeded SkGLNativeContext. Also removes SkGLNativeContext::AutoRestoreContext functionality, it appeared to be unused: no use in Skia code, and no tests. BUG=skia:2992 Committed: https://skia.googlesource.com/skia/+/a90ed4e83897b45d6331ee4c54e1edd4054de9a8 Review URL: https://codereview.chromium.org/630843002
* Revert of Make the Sk GL context class an abstract base class (patchset #4 ↵Gravatar bsalomon2014-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:60001 of https://codereview.chromium.org/630843002/) Reason for revert: nanobech failing on Android Original issue's description: > Make the Sk GL context class an abstract base class > > Make the Sk GL context class, SkGLNativeContext, an abstract base class. Before, > it depended on ifdefs to implement the platform dependent polymorphism. Move > the logic to subclasses of the various platform implementations. > > This a step to enable Skia embedders to compile dm and bench_pictures. The > concrete goal is to support running these test apps with Chromium command buffer. > > With this change, Chromium can implement its own version of SkGLNativeContext > that uses command buffer, and host the implementation in its own repository. > > Implements the above by renaming the SkGLContextHelper to SkGLContext and > removing the unneeded SkGLNativeContext. Also removes > SkGLNativeContext::AutoRestoreContext functionality, it appeared to be unused: > no use in Skia code, and no tests. > > BUG=skia:2992 > > Committed: https://skia.googlesource.com/skia/+/a90ed4e83897b45d6331ee4c54e1edd4054de9a8 TBR=kkinnunen@nvidia.com NOTREECHECKS=true NOTRY=true BUG=skia:2992 Review URL: https://codereview.chromium.org/639793002
* Make the Sk GL context class an abstract base classGravatar kkinnunen2014-10-08
| | | | | | | | | | | | | | | | | | | | | Make the Sk GL context class, SkGLNativeContext, an abstract base class. Before, it depended on ifdefs to implement the platform dependent polymorphism. Move the logic to subclasses of the various platform implementations. This a step to enable Skia embedders to compile dm and bench_pictures. The concrete goal is to support running these test apps with Chromium command buffer. With this change, Chromium can implement its own version of SkGLNativeContext that uses command buffer, and host the implementation in its own repository. Implements the above by renaming the SkGLContextHelper to SkGLContext and removing the unneeded SkGLNativeContext. Also removes SkGLNativeContext::AutoRestoreContext functionality, it appeared to be unused: no use in Skia code, and no tests. BUG=skia:2992 Review URL: https://codereview.chromium.org/630843002
* Split GrGLContextInfo into GrGLContext & GrGLContextInfoGravatar robertphillips@google.com2013-02-28
| | | | | | | | https://codereview.appspot.com/7436045/ git-svn-id: http://skia.googlecode.com/svn/trunk@7905 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
* Temporarily disable new GL error checking in ~SkGLContextGravatar robertphillips@google.com2013-02-07
| | | | | | | | https://codereview.appspot.com/7308064/ git-svn-id: http://skia.googlecode.com/svn/trunk@7657 2bbb7eff-a529-9590-31e7-b0007b416f81
* Enhance GL error checking for non-Ganesh GL callsGravatar robertphillips@google.com2013-02-07
| | | | | | | | https://codereview.appspot.com/7312057/ git-svn-id: http://skia.googlecode.com/svn/trunk@7647 2bbb7eff-a529-9590-31e7-b0007b416f81
* Result of running tools/sanitize_source_files.py (which was added in ↵Gravatar rmistry@google.com2012-08-23
| | | | | | | | | https://codereview.appspot.com/6465078/) This CL is part I of IV (I broke down the 1280 files into 4 CLs). Review URL: https://codereview.appspot.com/6485054 git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
* Expanded distribution of instance countingGravatar robertphillips@google.com2012-06-21
| | | | | | | | http://codereview.appspot.com/6300114/ git-svn-id: http://skia.googlecode.com/svn/trunk@4291 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
* Extended debug GL interface to include tracking of render buffersGravatar robertphillips@google.com2012-03-22
| | | | | | | | http://codereview.appspot.com/5875050/ git-svn-id: http://skia.googlecode.com/svn/trunk@3469 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added tracking of frame buffer objects to debug GL interfaceGravatar robertphillips@google.com2012-03-21
| | | | | | | | | http://codereview.appspot.com/5866043/ git-svn-id: http://skia.googlecode.com/svn/trunk@3455 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move GL-specific include files to their own subdirectory, to betterGravatar tomhudson@google.com2012-02-14
| | | | | | | | | | | coexist alongside D3D backend. Requires gyp change. http://codereview.appspot.com/5665045/ git-svn-id: http://skia.googlecode.com/svn/trunk@3185 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move GL-specific source code to make room for D3D back end.Gravatar tomhudson@google.com2012-02-10
git-svn-id: http://skia.googlecode.com/svn/trunk@3165 2bbb7eff-a529-9590-31e7-b0007b416f81