History log of /external/skia/src/gpu/gl/GrGLGpu.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c320b1576850745a1011ada0bcef3de5f9b9f649 20-Feb-2018 Brian Salomon <bsalomon@google.com> Introduce GrColorType

This begins the journey towards using different types to refer to CPU data and GPU texture formats. This is one part of removing GrPixelConfig and more directly using GL/VK texture formats

GrColorType represents a particular layout of color/gray/alpha channels in CPU memory. It does not refer to texture formats or sRGB-encoding. It is basically SkColorType specialized to the GPU backend with some formats added and some removed.

Read/WritePixel interfaces use GrColorType to describe the CPU side of the transaction.

There's still a lot of punting to GrPixelConfig in API-specific code. There's a lot more to be done.

Bug: 6718
Bug: 7580

Change-Id: I8d813ae9a4416a06596f22a4b87da02091989718
Reviewed-on: https://skia-review.googlesource.com/107264
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
535ba8d2b862a364f7f8009d6e79cd41519f5643 20-Feb-2018 Chris Dalton <csmartdalton@google.com> Drop unused support for MSAA sample locations

Bug: skia:
Change-Id: I96f0c25732d79c5881e400b121e81c5696a747a6
Reviewed-on: https://skia-review.googlesource.com/107441
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
9b009bb069aa81425438d5403a1a29f2d047f77f 14-Feb-2018 Brian Salomon <bsalomon@google.com> Prepare sRGB encoding conversion for the removal of GrPixelConfig

Standardizes that GrGpu subclass's onRead/WritePixels never do sRGB<->linear conversion. This means that they can eventually take a color type rather than config. It also means direct callers of GrGpu::read/writePixels can never expect conversion (which in practice is no change).

Consolidate logic about whether to do sRGB<->linear encoding conversions in GrContext::read/writeSurfacePixels helpers. No change in when conversions are done (yet). This prepares this logic to operate on SkColorSpace and color type rather than config WRT the CPU data.

Bug: skia:6718
Change-Id: I346d669624861578f1bb9ea465a7ab4b549117fa
Reviewed-on: https://skia-review.googlesource.com/105286
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
1fabd51f585383b0f7b8f82c4489989e9379627b 09-Feb-2018 Brian Salomon <bsalomon@google.com> Track dirty rects on GrRenderTargets in native space rather than origin-relative

Change-Id: Icccf2fcb5d468696c42c5a0ccf405e30e5e9bc65
Reviewed-on: https://skia-review.googlesource.com/105980
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
5711133a1b216bfa5d1d24aaffd32dc02c64b333 05-Feb-2018 Brian Salomon <bsalomon@google.com> Remove integer texture support

Change-Id: I0db1c4d705711b8d980bbe0d986013daec6c8ef3
Reviewed-on: https://skia-review.googlesource.com/103762
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
7f861927fcd4f9fdef958b5ed9d50b1362ee3232 30-Jan-2018 Robert Phillips <robertphillips@google.com> Revert "Drop support for unused MSAA extensions"

This reverts commit 7df27465c4ecc8a4a0cdd95e9785c342903c2de9.

Reason for revert: experimental revert to see if this is the cause of the tree redness

Original change's description:
> Drop support for unused MSAA extensions
>
> Bug: skia:
> Change-Id: I113b80e3f991f195155148625ceb29242ea82776
> Reviewed-on: https://skia-review.googlesource.com/101403
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=bsalomon@google.com,csmartdalton@google.com,ethannicholas@google.com

Change-Id: I4fa4123e2d176bef88cd76a09a14053d9ac5809f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/101680
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
7df27465c4ecc8a4a0cdd95e9785c342903c2de9 29-Jan-2018 Chris Dalton <csmartdalton@google.com> Drop support for unused MSAA extensions

Bug: skia:
Change-Id: I113b80e3f991f195155148625ceb29242ea82776
Reviewed-on: https://skia-review.googlesource.com/101403
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
48661b868fbbf7a6193ef49bb6a05a0df61e7c45 22-Jan-2018 Greg Daniel <egdaniel@google.com> Make use of VkSemaphores thread safe assuming use of the same VkQueue.

This allows us to re-enable support for multiple GrContexts in
GrBackendTextureImageGenerator.

Bug: skia:
Change-Id: Ifd6ac1ad81cdfbd1fd986467d8beb359399d6588
Reviewed-on: https://skia-review.googlesource.com/98340
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
17b7c054339dfa592571ebd92d2419949baca6f0 09-Jan-2018 Greg Daniel <egdaniel@google.com> Update GrSemaphore to allow it to only be used once for signaling and once for waiting.

This is required for Vulkan which doesn't allow a semaphore to be waited on by
multiple things at once or signaled from multiple places.

Bug: skia:
Change-Id: Iac0cb782a6662167c2cab1fd6a2c80378834a480
Reviewed-on: https://skia-review.googlesource.com/92601
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
e42edcc8ef257d4c430344d6d208e994f20f9320 13-Dec-2017 Robert Phillips <robertphillips@google.com> Add stubbed out GrContext

This CL mainly just:
stores the GrContextOptions in GrContextThreadSafeProxy (so they can be passed on to a stubbed out GrContext)
adds a method to create a stubbed out GrContext that has a GrStubGpu
- the stubbed out GrContext isn't quite ready for prime time yet

Change-Id: I31be6763640e406c5963e6f0714489ac358339e4
Reviewed-on: https://skia-review.googlesource.com/79601
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
c25db637532cd10dde7855d868c0d033e96f61f2 13-Dec-2017 Robert Phillips <robertphillips@google.com> Update SkImage::MakeFromYUVTexturesCopy to GrBackendTexture

Change-Id: I7ba030c5d7856309709e892a2b1b625cf74c70b8
Reviewed-on: https://skia-review.googlesource.com/82823
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
d21b2a5d5c5dca87b7df02713782e722a2c0ae92 12-Dec-2017 Robert Phillips <robertphillips@google.com> Remove GrBackendObject from tests (except image_from_yuv_textures)

This sets the stage for landing https://skia-review.googlesource.com/c/skia/+/82823 (Update SkImage::MakeFromYUVTexturesCopy to GrBackendTexture)

Change-Id: I2c62f23dc447b9ad55c0b5f06bcd6d7ca0ec4d2b
Reviewed-on: https://skia-review.googlesource.com/83920
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
f06c3582677270c741a5e4fb366ec8b5d4ec4c21 07-Dec-2017 Brian Salomon <bsalomon@google.com> Remove instanced rendering

Change-Id: I4219b1d23a647b849ee41fe71b53e1c45edfc3f4
Reviewed-on: https://skia-review.googlesource.com/82241
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
8ab1cc477b039684f61c0a7a0a996979cf5d33cc 07-Dec-2017 Brian Salomon <bsalomon@google.com> Make GrGLContext be uniquely owned.

Make GrGLContext take GrGLInterface by sk_sp

Change-Id: Iab11b27a7093ec897aaeeab9253958aeaa590b63
Reviewed-on: https://skia-review.googlesource.com/81701
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
384fab467e2a5f1754ec26eecde946ce28046d20 07-Dec-2017 Brian Salomon <bsalomon@google.com> sk_spification of GrGpu creation.

Make GrContext::MakeGL take interface as sk_sp.

Make GrContext::MakeVulkan take GrVkBackendContext as sk_sp.

Change-Id: I13c22a57bd281c51738f503d9ed3418d35a466df
Reviewed-on: https://skia-review.googlesource.com/81842
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
559f556d9d70ef9d1202e436a56d48364b279ac6 15-Nov-2017 Brian Salomon <bsalomon@google.com> Remove support for image load/store

This isn't used and has become a maintenance burden.

Change-Id: I5f3af8f91e5c4f073fe4ea30e0a7f1f61efeea47
Reviewed-on: https://skia-review.googlesource.com/70640
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
43f8bf0f784f4182ed0fca9053ecf570caf7ad70 18-Oct-2017 Brian Salomon <bsalomon@google.com> Move clear-as-draw workaround to GrGLGpu and expose via GrContextOptions.


Bug: skia:7154
Change-Id: I23ffc11dab4a377fbd6b7e4e33722b3fa0793d58
Reviewed-on: https://skia-review.googlesource.com/60681
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
177e695589edb1f776cc5c28b9d3eee244d48284 12-Oct-2017 Greg Daniel <egdaniel@google.com> Add flag on GrBackendTexture to say whether texture is mipped or not

Bug: skia:
Change-Id: Ia684e3daf779ec2feaaec64c04dabf5cb03cd07a
Reviewed-on: https://skia-review.googlesource.com/57821
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
0fc4d2d269c0aff1eadf57da2e571d0d54c38f5a 12-Oct-2017 Greg Daniel <egdaniel@google.com> Use enum to track MipMapsStatus throughout Texture creation

Bug: skia:
Change-Id: I1de1105d74b45f7b02ff52e6b8333801d98ef1ce
Reviewed-on: https://skia-review.googlesource.com/58501
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
834f12076f703c114173486de6470412d92f6506 09-Oct-2017 Greg Daniel <egdaniel@google.com> Set correct mip map status on GrTexture since we no longer require all mip data

Bug: skia:
Change-Id: I5074028f307187eef3201523cbd1ddc7d9bf9013
Reviewed-on: https://skia-review.googlesource.com/54102
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
2bbdcc44c63974f29f3743bb58d929601a3f65c6 07-Sep-2017 Brian Salomon <bsalomon@google.com> Rework GrSamplerParams to be more compact and use its own wrap mode enum.

The main change is to make GrSamplerParams smaller by making its enums have byte-sized underlying types. The rest is cosmetic.

Change-Id: Ib71ea50612d24619a85e463826c6b8dfb9b445e3
Reviewed-on: https://skia-review.googlesource.com/43200
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
9b560247c73b0306b5eb732bab804ea9519e0b82 05-Sep-2017 Brian Osman <brianosman@google.com> Unbind xfer buffer in a couple more places

Move code into a helper function, make sure that all TexImage and
TexSubImage calls are correctly unbinding.

Bug: skia:
Change-Id: I79bfa0af43a08f775186a867167fa67b4437688c
Reviewed-on: https://skia-review.googlesource.com/42640
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
fb4a20c7f54110d6c43dee4b78801c163ad6c8f3 29-Aug-2017 Robert Phillips <robertphillips@google.com> Remove kDefault_GrSurfaceOrigin

Change-Id: Ic55d488287add32e5a32b5a77415e16cebf4c1ee
Reviewed-on: https://skia-review.googlesource.com/29120
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
b0e93a22bbfad05bb834e33387880ece56e0f6d2 29-Aug-2017 Robert Phillips <robertphillips@google.com> Remove origin field from GrSurface (take 2)

This mainly consists of rm origin from GrSurface and the wrapBackEnd*
methods and then re-adding an explicit origin parameter to all the
GrGpu methods that need it.

TBR=bsalomon@google.com

Change-Id: I4248b2a4749ef844da4233ce53b0dc504bc9eb74
Reviewed-on: https://skia-review.googlesource.com/30280
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
500d58b2a6e6fd03239622da42b67b2c9843b7be 24-Aug-2017 Greg Daniel <egdaniel@google.com> Make Copy Ops to go through GpuCommandBuffer instead of straigt to GPU.

Bug: skia:
Change-Id: I4eae4507e07278997e26419e94586eef0780c423
Reviewed-on: https://skia-review.googlesource.com/38361
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
71a1889a1432715e515e000f1f4ef277e90e9ae1 10-Aug-2017 Brian Osman <brianosman@google.com> Revert "Revert "GrContext::dump that produces JSON formatted output""

This reverts commit 0f450acd76fd58a2f7464f99869ed6afbfac303c.

Bug: skia:
Change-Id: I97428fbbc6d82bf8b186ec5fdbf1a939c00e4126
Reviewed-on: https://skia-review.googlesource.com/32726
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
0f450acd76fd58a2f7464f99869ed6afbfac303c 09-Aug-2017 Brian Osman <brianosman@google.com> Revert "GrContext::dump that produces JSON formatted output"

This reverts commit 175af0d01177fc6e5a81e979cd2ae3009c375940.

Reason for revert: Chrome doesn't know about portable format specifiers. Sigh.

Original change's description:
> GrContext::dump that produces JSON formatted output
>
> Includes caps, GL strings, and extensions
>
> Bug: skia:
> Change-Id: I1e8b3dd50fb68357f9de8ca6149cf65443d027ef
> Reviewed-on: https://skia-review.googlesource.com/32340
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,brianosman@google.com

Change-Id: Ie280b25275725f0661da7541f54ed62897abb82f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/32861
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
175af0d01177fc6e5a81e979cd2ae3009c375940 09-Aug-2017 Brian Osman <brianosman@google.com> GrContext::dump that produces JSON formatted output

Includes caps, GL strings, and extensions

Bug: skia:
Change-Id: I1e8b3dd50fb68357f9de8ca6149cf65443d027ef
Reviewed-on: https://skia-review.googlesource.com/32340
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
19e51dcd1eb0bcdc70f29620ce4ca30ddbfc2042 09-Aug-2017 Robert Phillips <robertphillips@google.com> Store GrRenderTarget in GrGpuCommandBuffer

Change-Id: I545d53ffb5f9d450b87a360516b03bdd47232a70
Reviewed-on: https://skia-review.googlesource.com/32460
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
952144753dc31d9d935683123cae43fca483bade 09-Aug-2017 Robert Phillips <robertphillips@google.com> Add explicit clear of stencil buffer before opLists that use them

Change-Id: I9e2468e1331c6593dbc6da3ad510f08d1c589e8d
Reviewed-on: https://skia-review.googlesource.com/32041
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
65a88fadab72abd104fdf4cc4a97488b2e901c60 08-Aug-2017 Robert Phillips <robertphillips@google.com> Add GrDebugMarkerOp

Change-Id: I948838dea13d2f36194ca1043ab37e72759794e0
Reviewed-on: https://skia-review.googlesource.com/31740
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
5131678123839cec0e974069b6d3f047c8a82049 02-Aug-2017 Greg Daniel <egdaniel@google.com> Revert "Revert "Revert "Revert "Add support for semaphores to be inserted on GrContext flush""""

This reverts commit cc8eb60c486eaf397685c60b28998682025fee1a.

Reason for revert: Chrome change landed that should fix chrome roll

Original change's description:
> Revert "Revert "Revert "Add support for semaphores to be inserted on GrContext flush"""
>
> This reverts commit 876aed8758b7109574999ffac43b1ea47f359bd7.
>
> Reason for revert: the bots seem to be unhappily red with this CL
>
> Original change's description:
> > Revert "Revert "Add support for semaphores to be inserted on GrContext flush""
> >
> > This reverts commit 8724b4609996eb6369b454611e31b065f3d8d2cf.
> >
> > Reason for revert: Creating a test CL to see what happens on the bots
> >
> > Original change's description:
> > > Revert "Add support for semaphores to be inserted on GrContext flush"
> > >
> > > This reverts commit cd1416efbc7af6f115dbaa09dce48e075d1d96ca.
> > >
> > > Reason for revert: speculative, to try to fix roll see gpu_tests.pixel_integration_test.PixelIntegrationTest.Pixel_GpuRasterization_ConcavePaths
> > >
> > > Original change's description:
> > > > Add support for semaphores to be inserted on GrContext flush
> > > >
> > > > This also moves the logic of inserting semaphores down into GrDrawingManager
> > > > and finishFlush on GrGpu. With it being on finishFlush, there should be no
> > > > issues when the DrawingManager starts respecting the proxy passed in assuming
> > > > it always calls finishFlush at the end (which it should).
> > > >
> > > > Bug: skia:
> > > > Change-Id: I925c2a289dcbbb9159b9120878af1d34f21a2dc7
> > > > Reviewed-on: https://skia-review.googlesource.com/25641
> > > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > >
> > > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
> > >
> > > Change-Id: I9c5b9cf8c060193e1861dbb8f0c10fb11dfb5249
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: skia:
> > > Reviewed-on: https://skia-review.googlesource.com/25980
> > > Reviewed-by: Mike Reed <reed@google.com>
> > > Commit-Queue: Mike Reed <reed@google.com>
> >
> > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reed@google.com
> >
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> >
> > Bug: skia:
> > Change-Id: I5edbeaa0769670ee58f362f0ccaa78319410aa6c
> > Reviewed-on: https://skia-review.googlesource.com/26160
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reed@google.com
>
> Change-Id: I22fd6febafe70489a5fdb695c6f4263368eb423d
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/29422
> Reviewed-by: Yuqian Li <liyuqian@google.com>
> Commit-Queue: Yuqian Li <liyuqian@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,liyuqian@google.com,reed@google.com

Change-Id: Ie3eae818b02599a70f714ef6b6635ce7d171bde6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/30000
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
cc8eb60c486eaf397685c60b28998682025fee1a 01-Aug-2017 Yuqian Li <liyuqian@google.com> Revert "Revert "Revert "Add support for semaphores to be inserted on GrContext flush"""

This reverts commit 876aed8758b7109574999ffac43b1ea47f359bd7.

Reason for revert: the bots seem to be unhappily red with this CL

Original change's description:
> Revert "Revert "Add support for semaphores to be inserted on GrContext flush""
>
> This reverts commit 8724b4609996eb6369b454611e31b065f3d8d2cf.
>
> Reason for revert: Creating a test CL to see what happens on the bots
>
> Original change's description:
> > Revert "Add support for semaphores to be inserted on GrContext flush"
> >
> > This reverts commit cd1416efbc7af6f115dbaa09dce48e075d1d96ca.
> >
> > Reason for revert: speculative, to try to fix roll see gpu_tests.pixel_integration_test.PixelIntegrationTest.Pixel_GpuRasterization_ConcavePaths
> >
> > Original change's description:
> > > Add support for semaphores to be inserted on GrContext flush
> > >
> > > This also moves the logic of inserting semaphores down into GrDrawingManager
> > > and finishFlush on GrGpu. With it being on finishFlush, there should be no
> > > issues when the DrawingManager starts respecting the proxy passed in assuming
> > > it always calls finishFlush at the end (which it should).
> > >
> > > Bug: skia:
> > > Change-Id: I925c2a289dcbbb9159b9120878af1d34f21a2dc7
> > > Reviewed-on: https://skia-review.googlesource.com/25641
> > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> >
> > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
> >
> > Change-Id: I9c5b9cf8c060193e1861dbb8f0c10fb11dfb5249
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: skia:
> > Reviewed-on: https://skia-review.googlesource.com/25980
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reed@google.com
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: skia:
> Change-Id: I5edbeaa0769670ee58f362f0ccaa78319410aa6c
> Reviewed-on: https://skia-review.googlesource.com/26160
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reed@google.com

Change-Id: I22fd6febafe70489a5fdb695c6f4263368eb423d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/29422
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
876aed8758b7109574999ffac43b1ea47f359bd7 01-Aug-2017 Greg Daniel <egdaniel@google.com> Revert "Revert "Add support for semaphores to be inserted on GrContext flush""

This reverts commit 8724b4609996eb6369b454611e31b065f3d8d2cf.

Reason for revert: Creating a test CL to see what happens on the bots

Original change's description:
> Revert "Add support for semaphores to be inserted on GrContext flush"
>
> This reverts commit cd1416efbc7af6f115dbaa09dce48e075d1d96ca.
>
> Reason for revert: speculative, to try to fix roll see gpu_tests.pixel_integration_test.PixelIntegrationTest.Pixel_GpuRasterization_ConcavePaths
>
> Original change's description:
> > Add support for semaphores to be inserted on GrContext flush
> >
> > This also moves the logic of inserting semaphores down into GrDrawingManager
> > and finishFlush on GrGpu. With it being on finishFlush, there should be no
> > issues when the DrawingManager starts respecting the proxy passed in assuming
> > it always calls finishFlush at the end (which it should).
> >
> > Bug: skia:
> > Change-Id: I925c2a289dcbbb9159b9120878af1d34f21a2dc7
> > Reviewed-on: https://skia-review.googlesource.com/25641
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
>
> Change-Id: I9c5b9cf8c060193e1861dbb8f0c10fb11dfb5249
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/25980
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reed@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:
Change-Id: I5edbeaa0769670ee58f362f0ccaa78319410aa6c
Reviewed-on: https://skia-review.googlesource.com/26160
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
7294b851d277d8e703b23657e1a990f1ae24ead6 01-Aug-2017 Robert Phillips <robertphillips@google.com> Revert "Remove origin field from GrSurface"

This reverts commit df0e09feacb29290fe94d37f921731b18f2edae0.

Reason for revert: Experimental revert to see if this is blocking the roll


Original change's description:
> Remove origin field from GrSurface
>
> This mainly consists of rm origin from GrSurface and the wrapBackEnd*
> methods and then re-adding an explicit origin parameter to all the
> GrGpu methods that need it.
>
> Change-Id: Iabd79ae98b227b5b9409f3ab5bbcc48af9613c18
> Reviewed-on: https://skia-review.googlesource.com/26363
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

TBR=bsalomon@google.com,robertphillips@google.com

Change-Id: Id606aa01e84e2b83be71d833eefca477c1ad0d01
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/29220
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
df0e09feacb29290fe94d37f921731b18f2edae0 28-Jul-2017 Robert Phillips <robertphillips@google.com> Remove origin field from GrSurface

This mainly consists of rm origin from GrSurface and the wrapBackEnd*
methods and then re-adding an explicit origin parameter to all the
GrGpu methods that need it.

Change-Id: Iabd79ae98b227b5b9409f3ab5bbcc48af9613c18
Reviewed-on: https://skia-review.googlesource.com/26363
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
02611d9afdd887ee443825ac88377f2eea093380 25-Jul-2017 Greg Daniel <egdaniel@google.com> Add Make[backend] calls for creating GrContexts

Docs-Preview: https://skia.org/?cl=26369
Bug: skia:
Change-Id: I460ee63e466f85b05918479f068a2e5ca2d70550
Reviewed-on: https://skia-review.googlesource.com/26369
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
8724b4609996eb6369b454611e31b065f3d8d2cf 22-Jul-2017 Mike Reed <reed@google.com> Revert "Add support for semaphores to be inserted on GrContext flush"

This reverts commit cd1416efbc7af6f115dbaa09dce48e075d1d96ca.

Reason for revert: speculative, to try to fix roll see gpu_tests.pixel_integration_test.PixelIntegrationTest.Pixel_GpuRasterization_ConcavePaths

Original change's description:
> Add support for semaphores to be inserted on GrContext flush
>
> This also moves the logic of inserting semaphores down into GrDrawingManager
> and finishFlush on GrGpu. With it being on finishFlush, there should be no
> issues when the DrawingManager starts respecting the proxy passed in assuming
> it always calls finishFlush at the end (which it should).
>
> Bug: skia:
> Change-Id: I925c2a289dcbbb9159b9120878af1d34f21a2dc7
> Reviewed-on: https://skia-review.googlesource.com/25641
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com

Change-Id: I9c5b9cf8c060193e1861dbb8f0c10fb11dfb5249
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/25980
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
cd1416efbc7af6f115dbaa09dce48e075d1d96ca 21-Jul-2017 Greg Daniel <egdaniel@google.com> Add support for semaphores to be inserted on GrContext flush

This also moves the logic of inserting semaphores down into GrDrawingManager
and finishFlush on GrGpu. With it being on finishFlush, there should be no
issues when the DrawingManager starts respecting the proxy passed in assuming
it always calls finishFlush at the end (which it should).

Bug: skia:
Change-Id: I925c2a289dcbbb9159b9120878af1d34f21a2dc7
Reviewed-on: https://skia-review.googlesource.com/25641
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
d17f6584df9e48146dac28a1df56fb4978de6ba3 20-Jul-2017 Brian Salomon <bsalomon@google.com> Remove GrBackendTextureDesc

Change-Id: I2b123d1782400e97ab2ce2f11e3e3d325a13e6c8
Reviewed-on: https://skia-review.googlesource.com/24748
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
590533f066035a48df9f78395a80314b559f4714 11-Jul-2017 Robert Phillips <robertphillips@google.com> Plumb raw GrMipLevel* down instead of SkTArray<GrMipLevel> in GrGpu

Change-Id: I34033b6ecb469458eb820cbc01aad8c7bb876312
Reviewed-on: https://skia-review.googlesource.com/22212
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
2e5eaf022e9389b1382cc856fcd7a8e90a078e13 21-Jun-2017 Jim Van Verth <jvanverth@google.com> Revert "Revert "Clean up onTransferPixels""

Bug: skia:5126
Change-Id: Ia1eaef56cca266ad4c413e711e63646e913222be
Reviewed-on: https://skia-review.googlesource.com/20445
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
ce57552e11776c8f93798c3a2244fa378604b4af 21-Jun-2017 Jim Van Verth <jvanverth@google.com> Revert "Clean up onTransferPixels"

This reverts commit f7037d003c936f59e4d02244821e223c2e7af8e8.

Reason for revert: Issues on test bots.

Original change's description:
> Clean up onTransferPixels
>
> Bug: skia:5126
> Change-Id: I323c50e7854744302007b4ae7bd25e5742c14cbc
> Reviewed-on: https://skia-review.googlesource.com/19055
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com

Change-Id: I923fda4d5cd8c2896fb347f9b2695b7f83d9137b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:5126
Reviewed-on: https://skia-review.googlesource.com/20444
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
f7037d003c936f59e4d02244821e223c2e7af8e8 21-Jun-2017 Jim Van Verth <jvanverth@google.com> Clean up onTransferPixels

Bug: skia:5126
Change-Id: I323c50e7854744302007b4ae7bd25e5742c14cbc
Reviewed-on: https://skia-review.googlesource.com/19055
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
a5cb781c17c09e01655defd0a84b431996b6a015 16-Jun-2017 Greg Daniel <egdaniel@google.com> Revert "Revert "Add API for flushing surfaces with gpu semaphores""

This reverts commit 7292231905c34ed290ba479338f26b56ae2a7792.

This change relands the original plus the follow on change:
https://skia-review.googlesource.com/20059.

Additionally it adds a blacklist for the mac intel bots which
don't see to respect the added fences on the GPU.

Original change's description:
> Revert "Add API for flushing surfaces with gpu semaphores"
>
> This reverts commit 66366c697853e906d961ae691e2bc5209cdcfa62.
>
> Reason for revert: Failing test on mac bots
>
> Original change's description:
> > Add API for flushing surfaces with gpu semaphores
> >
> > BUG=skia:
> >
> > Change-Id: Ia4bfef784cd5f2516ceccafce958be18a86f91d1
> > Reviewed-on: https://skia-review.googlesource.com/11488
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Forrest Reiling <freiling@google.com>
>
> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com,freiling@google.com
>
> Change-Id: I75633a2732d2d48b1926f9ad818a9f1a9196d211
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/20063
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com,freiling@google.com

Change-Id: I4dc6c0e1deb0398eeb165a34f0a26af7a58259f1
Reviewed-on: https://skia-review.googlesource.com/20141
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
7292231905c34ed290ba479338f26b56ae2a7792 15-Jun-2017 Greg Daniel <egdaniel@google.com> Revert "Add API for flushing surfaces with gpu semaphores"

This reverts commit 66366c697853e906d961ae691e2bc5209cdcfa62.

Reason for revert: Failing test on mac bots

Original change's description:
> Add API for flushing surfaces with gpu semaphores
>
> BUG=skia:
>
> Change-Id: Ia4bfef784cd5f2516ceccafce958be18a86f91d1
> Reviewed-on: https://skia-review.googlesource.com/11488
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Forrest Reiling <freiling@google.com>

TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com,freiling@google.com

Change-Id: I75633a2732d2d48b1926f9ad818a9f1a9196d211
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/20063
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
66366c697853e906d961ae691e2bc5209cdcfa62 15-Jun-2017 Greg Daniel <egdaniel@google.com> Add API for flushing surfaces with gpu semaphores

BUG=skia:

Change-Id: Ia4bfef784cd5f2516ceccafce958be18a86f91d1
Reviewed-on: https://skia-review.googlesource.com/11488
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Forrest Reiling <freiling@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
646e4293f06d9de6d44dbfa3c32cdc15a6f5906e 13-Jun-2017 Robert Phillips <robertphillips@google.com> Retract GrTexture*.h & GrRenderTarget*.h from other headers

This does push some additional work (& includes) into the .cpp files.

Change-Id: I27c847e371802270d13594dcc22aae44039990bb
Reviewed-on: https://skia-review.googlesource.com/19660
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
af971de661c695a1ae52936de7ff15ea5015c9f9 08-Jun-2017 Brian Salomon <bsalomon@google.com> Add flush before drawing lines workaround for Adreno 3xx

Bug: skia:6309
Change-Id: I354c678ca4e833c523a89b3196804fbe1adcf9d1
Reviewed-on: https://skia-review.googlesource.com/19087
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
46983b7dd88603bb2a9a3c3e1ce3e147f5615f2f 06-Jun-2017 Chris Dalton <csmartdalton@google.com> Introduce dynamic pipeline state

Adds a DynamicState struct to GrPipeline that has a field for the
scissor rect. Eventually this should become the only way to specify a
scissor rectangle and may grow to contain more fields. Adds an array of
DynamicStates to GrGpuCommandBuffer::draw and implements support in GL
and Vulkan.

Bug: skia:
Change-Id: If5aebbf9da5d192acf7e68e7def4674ffc7ec310
Reviewed-on: https://skia-review.googlesource.com/18510
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
31550dbc9804dafb18a71c968deb513cc8857cf3 07-Jun-2017 Mike Klein <mtklein@google.com> Revert "Revert "Workaround Adreno driver issue with stencil clears.""

This reverts commit 8b06ed7c9f76760563ed3c46716e8e8f27ec2311.

Reason for revert: try again.

Original change's description:
> Revert "Workaround Adreno driver issue with stencil clears."
>
> This reverts commit 4e8c581f2aa911bf49f97a246cc26134da292a8c.
>
> Reason for revert: breaks Google3 roll
>
> Original change's description:
> > Workaround Adreno driver issue with stencil clears.
> >
> > This also removes the "debug wire rect" which was not used and not implemented for Vulkan.
> >
> > Also some declared but not implemented methods are removed from GrGLGpu.
> >
> > Bug: skia:5587
> >
> > Change-Id: I750051e90e6cfbfad6a6fe20792226182f698bcf
> > Reviewed-on: https://skia-review.googlesource.com/18639
> > Reviewed-by: Chris Dalton <csmartdalton@google.com>
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
>
> TBR=bsalomon@google.com,csmartdalton@google.com
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:5587
>
> Change-Id: I65aa16b3f8c70cdef56ff16e16304ba09604c475
> Reviewed-on: https://skia-review.googlesource.com/18924
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,bsalomon@google.com,reviews@skia.org,csmartdalton@google.com
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:5587

Change-Id: Ice49027bda1c1ff7e0362d0680341ac862159850
Reviewed-on: https://skia-review.googlesource.com/18928
Reviewed-by: Mike Klein <mtklein@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
8b06ed7c9f76760563ed3c46716e8e8f27ec2311 06-Jun-2017 Mike Klein <mtklein@google.com> Revert "Workaround Adreno driver issue with stencil clears."

This reverts commit 4e8c581f2aa911bf49f97a246cc26134da292a8c.

Reason for revert: breaks Google3 roll

Original change's description:
> Workaround Adreno driver issue with stencil clears.
>
> This also removes the "debug wire rect" which was not used and not implemented for Vulkan.
>
> Also some declared but not implemented methods are removed from GrGLGpu.
>
> Bug: skia:5587
>
> Change-Id: I750051e90e6cfbfad6a6fe20792226182f698bcf
> Reviewed-on: https://skia-review.googlesource.com/18639
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,csmartdalton@google.com
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:5587

Change-Id: I65aa16b3f8c70cdef56ff16e16304ba09604c475
Reviewed-on: https://skia-review.googlesource.com/18924
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
4e8c581f2aa911bf49f97a246cc26134da292a8c 06-Jun-2017 Brian Salomon <bsalomon@google.com> Workaround Adreno driver issue with stencil clears.

This also removes the "debug wire rect" which was not used and not implemented for Vulkan.

Also some declared but not implemented methods are removed from GrGLGpu.

Bug: skia:5587

Change-Id: I750051e90e6cfbfad6a6fe20792226182f698bcf
Reviewed-on: https://skia-review.googlesource.com/18639
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
67d52cf0d8baff02fd4337a62f1f9cd975edc18f 05-Jun-2017 Robert Phillips <robertphillips@google.com> sk_sp-ify GrResourceProvider some more

I believe this addresses the concerns of this particular bug (although more remains to be done)

Bug: skia:5327
Change-Id: Ie82f08f87b3cf3d7986fe4eeb16a5d2553173913
Reviewed-on: https://skia-review.googlesource.com/18599
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
1d6163577c8a4f1372208e2c9e03b1a69906d385 31-May-2017 Chris Dalton <csmartdalton@google.com> Add support for instanced draws

Adds an instance buffer to GrMesh and instance attribs to
GrPrimitiveProcessor. Implements support in GL and Vulkan. Adds unit
tests for instanced rendering with GrMesh.

Bug: skia:
Change-Id: If1a9920feb9366f346b8c37cf914713c49129b3a
Reviewed-on: https://skia-review.googlesource.com/16200
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
114a3c0b2b26c84b9d0907a99fd8ab7938631246 26-May-2017 Chris Dalton <csmartdalton@google.com> Fix glDrawRangeElements

Adds explicit min/max index value fields to GrMesh. This eliminates the
previous assumption that the index values were within the range
[0..vertexCount-1]. In the pattern case we still maintain this
assumption.

Updates GrMesh to hide its fields and handle its new complexity using a
"helper" interface instead.

Adds a unit test for GrMesh.

Bug: skia:
Change-Id: Ia23de72d510f8827cee56072b727fb70a6e46b8d
Reviewed-on: https://skia-review.googlesource.com/17964
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
d17b4a678b4b1df49a8eb84fb8c3c954d292a12c 23-May-2017 Brian Salomon <bsalomon@google.com> Revert "Revert "Add a flag to GrSurfaceFlags that requires the texture to be cleared upon creation. ""

This reverts commit a9e795eab5f59a52d96b8fdc39351452835f5eb9.

Bug: skia:
Change-Id: Ibfc51497ae99f332f8f72a799393a1b2996f7f3f
Reviewed-on: https://skia-review.googlesource.com/17767
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
a9e795eab5f59a52d96b8fdc39351452835f5eb9 23-May-2017 Brian Salomon <bsalomon@google.com> Revert "Add a flag to GrSurfaceFlags that requires the texture to be cleared upon creation. "

This reverts commit 45e5068a6d10f4e4fd4658824310f8871f02ccf7.

Reason for revert: :'(

Original change's description:
> Add a flag to GrSurfaceFlags that requires the texture to be cleared upon creation.
>
> Bug: chromium:656320
>
> Change-Id: I940bfa24540516ab83a2ed52f761b96eb6ad19f1
> Reviewed-on: https://skia-review.googlesource.com/17391
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Bug: chromium:656320

Change-Id: I8a4f71537e45f3c4cf37b10b2dc8ee38fe6959ba
Reviewed-on: https://skia-review.googlesource.com/17765
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
45e5068a6d10f4e4fd4658824310f8871f02ccf7 23-May-2017 Brian Salomon <bsalomon@google.com> Add a flag to GrSurfaceFlags that requires the texture to be cleared upon creation.

Bug: chromium:656320

Change-Id: I940bfa24540516ab83a2ed52f761b96eb6ad19f1
Reviewed-on: https://skia-review.googlesource.com/17391
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
92de631edd3eb9b3430332d1f1d566e903ea2ea9 23-May-2017 Robert Phillips <robertphillips@google.com> Remove compressed (ETC1) texture support from Ganesh (take 2)

Reland of https://skia-review.googlesource.com/c/17456/ (Remove compressed (ETC1) texture support from Ganesh) but w/o removing third_part\etc1 files

TBR=bsalomon@google.com
Change-Id: I8ec4b7e3ddf47d213cb24c382731c050ffb8847f
Reviewed-on: https://skia-review.googlesource.com/17700
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
bc262e110a7292950ce912e42de75b7573d0367e 22-May-2017 Brian Osman <brianosman@google.com> Revert "Remove compressed (ETC1) texture support from Ganesh"

This reverts commit ee26363aaae62db2a851f2873e2405a9cf7f995a.

Reason for revert: Failing Google 3 roll.

Original change's description:
> Remove compressed (ETC1) texture support from Ganesh
>
> Change-Id: If4cf286df87ea87338aba47001d90a5fcc4f2667
> Reviewed-on: https://skia-review.googlesource.com/17456
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ie1a57187287e03600a69e374501478e93c41415c
Reviewed-on: https://skia-review.googlesource.com/17527
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
ee26363aaae62db2a851f2873e2405a9cf7f995a 22-May-2017 Robert Phillips <robertphillips@google.com> Remove compressed (ETC1) texture support from Ganesh

Change-Id: If4cf286df87ea87338aba47001d90a5fcc4f2667
Reviewed-on: https://skia-review.googlesource.com/17456
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
d1eaf49e0b8b2776b1558ffd3ee1d3d9f9592b6b 18-May-2017 Brian Salomon <bsalomon@google.com> Revert "Revert "Remove GrSurface::desc() method.""

This reverts commit c96da1e51e1ca72d54dda49f32891bd41530ad31.

Bug: skia:
Change-Id: I8242400a137413c01c7ef614b4fa733be7dcf939
Reviewed-on: https://skia-review.googlesource.com/17311
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
c96da1e51e1ca72d54dda49f32891bd41530ad31 18-May-2017 Greg Daniel <egdaniel@google.com> Revert "Remove GrSurface::desc() method."

This reverts commit 9ac995354428a916df81253e0c0c3f582db18976.

Reason for revert: Lots of broken gold images

Original change's description:
> Remove GrSurface::desc() method.
>
> Change-Id: If158dee90b3b0f80aa9c674180fbe6abd5b27d3f
> Reviewed-on: https://skia-review.googlesource.com/17268
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I5608c0e287e301aeac81dd3249a5c34d4603fcc6
Reviewed-on: https://skia-review.googlesource.com/17306
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
9ac995354428a916df81253e0c0c3f582db18976 17-May-2017 Brian Salomon <bsalomon@google.com> Remove GrSurface::desc() method.

Change-Id: If158dee90b3b0f80aa9c674180fbe6abd5b27d3f
Reviewed-on: https://skia-review.googlesource.com/17268
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
13dddce65fd87a8175a209a49f35615735a2886a 09-May-2017 Brian Osman <brianosman@google.com> Added SkImage::MakeCrossContextFromEncoded

Designed for Flutter's threading architecture, with
an eye to being useful to other clients. Under the
hood, uses a new image generator class to lazily wrap
a texture for multiple GrContexts.

Re-land of https://skia-review.googlesource.com/c/14180/

Bug: skia:
Change-Id: I3dd382640629b79b3058f18fee68d043566e43e5
Reviewed-on: https://skia-review.googlesource.com/15895
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
449d78f5a8e73407b314aa6cb4e60a8273f0d410 08-May-2017 Brian Salomon <bsalomon@google.com> Revert "Added SkImage::MakeCrossContextFromEncoded"

This reverts commit 83b1b3db36e8622f4bbc8c391d5c714e258d1e03.

Reason for revert: unit test failing and asan leaks

Original change's description:
> Added SkImage::MakeCrossContextFromEncoded
>
> Designed for Flutter's threading architecture, with
> an eye to being useful to other clients. Under the
> hood, uses a new image generator class to lazily wrap
> a texture for multiple GrContexts.
>
> Bug: skia:
> Change-Id: I6c37b12c8ab5bce94b91190e5f0beb91d31ae81b
> Reviewed-on: https://skia-review.googlesource.com/14180
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I1f0bf580aa0ea2d132e18b64ff610ddac9d073a7
Reviewed-on: https://skia-review.googlesource.com/15892
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
83b1b3db36e8622f4bbc8c391d5c714e258d1e03 08-May-2017 Brian Osman <brianosman@google.com> Added SkImage::MakeCrossContextFromEncoded

Designed for Flutter's threading architecture, with
an eye to being useful to other clients. Under the
hood, uses a new image generator class to lazily wrap
a texture for multiple GrContexts.

Bug: skia:
Change-Id: I6c37b12c8ab5bce94b91190e5f0beb91d31ae81b
Reviewed-on: https://skia-review.googlesource.com/14180
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
f0861675d7fdef3f8f51a586c6ddfbcecdc4cb0a 08-May-2017 Brian Salomon <bsalomon@google.com> Remove support for GLs without separate stencil.


As a consequence we no longer need GrDrawFace.

This effectively raises the minimum bar for non-ES OpenGL to 2.0 as there is no extension that adds the GL 2.0 separate stencil functionality. GL_ATI_separate_stencil is close but it does not have glStencilMaskSeparate.
Bug: skia:
Change-Id: I36d17a69400c8beeacb6dab8d8c5c3317814cfe4
Reviewed-on: https://skia-review.googlesource.com/15603
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
ff926502069d0ddafaecc18dc08973762e4befd2 03-May-2017 Chris Dalton <csmartdalton@google.com> Convert GrMesh to a struct

Converts GrMesh to a struct and changes the names/semantics of its
fields to be more inline with their GL counterparts. Also renames the
"instancing" feature to "pattern", to avoid ambiguity with hardware
instancing.

Bug: skia:
Change-Id: Ia0999d4f9c83b5dd31f81b9bf4f36ed9abd26286
Reviewed-on: https://skia-review.googlesource.com/15157
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
bcf612b5d0032f09d58c2ea5671de977130395db 01-May-2017 Greg Daniel <egdaniel@google.com> Revert "Revert "Plumb the use of GrBackendRenderTarget throughout Skia""

This reverts commit e3bd422fafc74dd3410c3de24a576635be92c3b4.

Reason for revert: Pre-req changes have all landed in other projects at this point.

Original change's description:
> Revert "Plumb the use of GrBackendRenderTarget throughout Skia"
>
> This reverts commit fdd77daedbba3b7c53be74a82fb9fae891b51696.
>
> Reason for revert: Apparently I have a few more build files to update before this can land.
>
> Original change's description:
> > Plumb the use of GrBackendRenderTarget throughout Skia
> >
> > Bug: skia:
> > Change-Id: Ib99a58d9552f5c7b8d77c09dcc72fa88326c26aa
> > Reviewed-on: https://skia-review.googlesource.com/14148
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> >
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I984e1909870182474c4c3cce257f01b6a9d8581f
> Reviewed-on: https://skia-review.googlesource.com/14531
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reviews@skia.org
# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Ib7ab94aada8a7cb80fe38f24daf32f9208c5b169
Reviewed-on: https://skia-review.googlesource.com/14826
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
dc87c95382d5beab7fdae2e654d6de568fbe1671 28-Apr-2017 Brian Osman <brianosman@google.com> Combine GPU flush with semaphore API

Bug: skia:
Change-Id: I5f388760d43b19755b2767d95d32065f6d0f926e
Reviewed-on: https://skia-review.googlesource.com/14646
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
e3bd422fafc74dd3410c3de24a576635be92c3b4 27-Apr-2017 Greg Daniel <egdaniel@google.com> Revert "Plumb the use of GrBackendRenderTarget throughout Skia"

This reverts commit fdd77daedbba3b7c53be74a82fb9fae891b51696.

Reason for revert: Apparently I have a few more build files to update before this can land.

Original change's description:
> Plumb the use of GrBackendRenderTarget throughout Skia
>
> Bug: skia:
> Change-Id: Ib99a58d9552f5c7b8d77c09dcc72fa88326c26aa
> Reviewed-on: https://skia-review.googlesource.com/14148
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I984e1909870182474c4c3cce257f01b6a9d8581f
Reviewed-on: https://skia-review.googlesource.com/14531
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
fdd77daedbba3b7c53be74a82fb9fae891b51696 26-Apr-2017 Greg Daniel <egdaniel@google.com> Plumb the use of GrBackendRenderTarget throughout Skia

Bug: skia:
Change-Id: Ib99a58d9552f5c7b8d77c09dcc72fa88326c26aa
Reviewed-on: https://skia-review.googlesource.com/14148
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
e3302dfb81865051ad19cd1c91e2ec3a27df3417 24-Apr-2017 Robert Phillips <robertphillips@google.com> Make InstancedRendering more opList-splitting friendly

This CL splits the InstancedRendering class into an allocator and a per-opList op tracker. This was done because we need to allocate the InstancedRendering ops before we know the final destination opList. The InstancedRendering ops are now still all allocated from the same pool but the tracking and execution is done per opList.

Change-Id: Ieddabb6f85f8f187c5e7373f7f6cb155d69a9685
Reviewed-on: https://skia-review.googlesource.com/13860
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
7ef28f35a2f7d17b90c776f76d4b374ccee6c347 20-Apr-2017 Greg Daniel <egdaniel@google.com> Revert "Revert "Plumb GrBackendTexture throughout skia.""

This reverts commit 7fa5c31c2c9af834bee66d5fcf476e250076c8d6.

Reason for revert: Relanding this change now that other fixes have landed.

Original change's description:
> Revert "Plumb GrBackendTexture throughout skia."
>
> This reverts commit 7da62b9059f3c1d31624a0e4da96ee5f908f9c12.
>
> Reason for revert: fix android roll
>
> Original change's description:
> > Plumb GrBackendTexture throughout skia.
> >
> > Bug: skia:
> > Change-Id: I1bae6768ee7229818a83ba608035a1f7867e6875
> > Reviewed-on: https://skia-review.googlesource.com/13645
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
> >
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,brianosman@google.com,reviews@skia.org,stani@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I5cb8763cc837c83ebc6d10366fe2dd3efe35fb89
> Reviewed-on: https://skia-review.googlesource.com/13773
> Reviewed-by: Stan Iliev <stani@google.com>
> Commit-Queue: Stan Iliev <stani@google.com>
>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reviews@skia.org,brianosman@google.com,stani@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I92bc074e4fe37fa5c83186afadc472c03802e8f2
Reviewed-on: https://skia-review.googlesource.com/13975
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
7fa5c31c2c9af834bee66d5fcf476e250076c8d6 19-Apr-2017 Stan Iliev <stani@google.com> Revert "Plumb GrBackendTexture throughout skia."

This reverts commit 7da62b9059f3c1d31624a0e4da96ee5f908f9c12.

Reason for revert: fix android roll

Original change's description:
> Plumb GrBackendTexture throughout skia.
>
> Bug: skia:
> Change-Id: I1bae6768ee7229818a83ba608035a1f7867e6875
> Reviewed-on: https://skia-review.googlesource.com/13645
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,brianosman@google.com,reviews@skia.org,stani@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I5cb8763cc837c83ebc6d10366fe2dd3efe35fb89
Reviewed-on: https://skia-review.googlesource.com/13773
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
7da62b9059f3c1d31624a0e4da96ee5f908f9c12 18-Apr-2017 Greg Daniel <egdaniel@google.com> Plumb GrBackendTexture throughout skia.

Bug: skia:
Change-Id: I1bae6768ee7229818a83ba608035a1f7867e6875
Reviewed-on: https://skia-review.googlesource.com/13645
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
3798c86f6885f0b47fb2e659a43b48a4468a97ef 27-Mar-2017 Robert Phillips <robertphillips@google.com> Remove GrFragmentProcessor-derived class' GrTexture-based ctors

Split out into:

https://skia-review.googlesource.com/c/8881/ (Switch GrTextureStripAtlas over to GrTextureProxies)
https://skia-review.googlesource.com/c/8942/ (Wrap cached GrTextures in GrTextureProxies (e.g., blur profiles, nine-patch blurs, etc.))
https://skia-review.googlesource.com/c/8997/ (Clean up/remove unused GrFragmentProcessor-derived ctors)
https://skia-review.googlesource.com/c/9191/ (Switch SkImageGenerator over to generating GrTextureProxies)
https://skia-review.googlesource.com/c/9448/ (Switch GrYUVProvider over to GrTextureProxies)
https://skia-review.googlesource.com/c/9559/ (Preparatory Proxification)
https://skia-review.googlesource.com/c/9626/ (Consolidate Proxy caching code in GrResourceProvider)
https://skia-review.googlesource.com/c/9683/ (More pre-emptive proxification)
https://skia-review.googlesource.com/c/9917/ (Make experimental Perlin noise shader take texture proxies)
https://skia-review.googlesource.com/c/9961/ (rename makeCopyForTextureParams to isACopyNeededForTextureParams)
https://skia-review.googlesource.com/c/9945/ (Make SkImageCacherator be deferred)
https://skia-review.googlesource.com/c/10180/ (Add new proxy-based DetermineDomainMode w/ test)

Change-Id: Ia33389d92360e542a9d2bf395948deb04d017465
Reviewed-on: https://skia-review.googlesource.com/8823
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
81444fbc22d09c92f6c577254c6c82dfa9967391 21-Mar-2017 Robert Phillips <robertphillips@google.com> rename makeCopyForTextureParams to isACopyNeededForTextureParams

I thought the old name was misleading

split out of: https://skia-review.googlesource.com/c/8823/ (Remove GrFragmentProcessor-derived class' GrTexture-based ctors)

Change-Id: I8c5fc6de487b50c9ec37843ff7501b52140dde00
Reviewed-on: https://skia-review.googlesource.com/9961
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
9a7677273a3f270e6137d396e972c83c036a47a7 13-Mar-2017 Brian Salomon <bsalomon@google.com> Remove origin from GrClipStackClip and GrWindowRectsState.

Change-Id: I993f426fee0f21cf1f529f58d242de3017253678
Reviewed-on: https://skia-review.googlesource.com/9623
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
0b791f57c4a158fa3cab7250f0955b7f8abd5755 10-Mar-2017 Brian Osman <brianosman@google.com> Remove ownership aruments from render target wrap functions

We never adopt render targets (just borrow them).

BUG=skia:

Change-Id: Ie899b814a7a81339a8735bbd7ad9facc66e580d7
Reviewed-on: https://skia-review.googlesource.com/9525
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
467921e5e6479fe9cebba125657d8e33d89004ae 06-Mar-2017 Brian Salomon <bsalomon@google.com> Move GrDrawOp pipeline/clip processing to GrRenderTargetContext

This is currently done in GrOpList. However, it can trigger resource creation, which in turn can trigger a flush. In the future flushing may destroy the op list.

Change-Id: I21cb1e10060bf31c95431c0511fcfff637cd6498
Reviewed-on: https://skia-review.googlesource.com/9304
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
42c456fd20bd45dd02f6d5eb0af7acf04341b1ee 06-Mar-2017 Brian Salomon <bsalomon@google.com> Remove PLS path renderer

Change-Id: Ib727b0749a5a7da95832970e79804417e8b6a247
Reviewed-on: https://skia-review.googlesource.com/9300
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
6be35238855dbbc7575e78d6723936293a4b38e6 01-Mar-2017 Greg Daniel <egdaniel@google.com> Add support for Semaphores (gpu waiting on gpu) in Ganesh

BUG=skia:

Change-Id: I4324b65bc50a3dfd90372459899870d5f1952fdc
Reviewed-on: https://skia-review.googlesource.com/9120
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
2c2bc11aea4dfcd7ee2f5859838a2aa0a56939e0 28-Feb-2017 Brian Osman <brianosman@google.com> Add GrExternalTextureData and SkCrossContextImageData

GrExternalTextureData is an API for exporting the backend-specific
information about a texture in a type-safe way, and without pointing
into the GrTexture. The new detachBackendTexture API lets us release
ownership of a texture to the client.

SkCrossContextImageData is the public API that lets clients upload
textures on one thread/GrContext, then safely transfer ownership to
another thread and GrContext for rendering.

Only GL is implemented/supported right now. Vulkan support requires
that we add thread-safe memory pools, or otherwise transfer the
actual memory block containing the texture to the new context.

Re-land of https://skia-review.googlesource.com/c/8529/

BUG=skia:

Change-Id: I48ebd57d1ea0cfd3a1db10c475f2903afb821966
Reviewed-on: https://skia-review.googlesource.com/8960
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
aa1ab8905e74096f0460af467f126fdb1998a5f9 24-Feb-2017 Brian Osman <brianosman@google.com> Revert "Add GrExternalTextureData and SkCrossContextImageData"

This reverts commit 9ad1f92e2fceea33215c0f13cee42a679fb88d44.

Reason for revert: Breaking lots of bots

Original change's description:
> Add GrExternalTextureData and SkCrossContextImageData
>
> GrExternalTextureData is an API for exporting the backend-specific
> information about a texture in a type-safe way, and without pointing
> into the GrTexture. The new detachBackendTexture API lets us release
> ownership of a texture to the client.
>
> SkCrossContextImageData is the public API that lets clients upload
> textures on one thread/GrContext, then safely transfer ownership to
> another thread and GrContext for rendering.
>
> Only GL is implemented/supported right now. Vulkan support requires
> that we add thread-safe memory pools, or otherwise transfer the
> actual memory block containing the texture to the new context.
>
> BUG=skia:
>
> Change-Id: I784a3a74be69807df038c7d192eaed002c7e45ca
> Reviewed-on: https://skia-review.googlesource.com/8529
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,brianosman@google.com,reviews@skia.org,chinmaygarde@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: If27d1f4c3a169efb6533170f67a172664c0fe8ce
Reviewed-on: https://skia-review.googlesource.com/8955
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
9ad1f92e2fceea33215c0f13cee42a679fb88d44 23-Feb-2017 Brian Osman <brianosman@google.com> Add GrExternalTextureData and SkCrossContextImageData

GrExternalTextureData is an API for exporting the backend-specific
information about a texture in a type-safe way, and without pointing
into the GrTexture. The new detachBackendTexture API lets us release
ownership of a texture to the client.

SkCrossContextImageData is the public API that lets clients upload
textures on one thread/GrContext, then safely transfer ownership to
another thread and GrContext for rendering.

Only GL is implemented/supported right now. Vulkan support requires
that we add thread-safe memory pools, or otherwise transfer the
actual memory block containing the texture to the new context.

BUG=skia:

Change-Id: I784a3a74be69807df038c7d192eaed002c7e45ca
Reviewed-on: https://skia-review.googlesource.com/8529
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
67c18d6b5188a0497f6912a73d964c763d2f8f84 20-Jan-2017 Robert Phillips <robertphillips@google.com> Continue making Ganesh use absolute texture coordinates - take 2

The idea here is that the GrCoordTransform will actually hold a GrTextureProxy (rather than a GrTexture) and then, in GrGLSLPrimitiveProcessor::GetTransformMatrix, use the instantiated width & height (when uploading the transform matrix)

Relanding of: https://skia-review.googlesource.com/c/6977/


Change-Id: Ibc9b9e354f7fc23b1a6e6e4fe7c9fe3cef771c02
Reviewed-on: https://skia-review.googlesource.com/7265
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
1b9924ffb7602fd6871359aee0a9660cefbaa812 15-Dec-2016 Ethan Nicholas <ethannicholas@google.com> Added SkLRUCache.h and converted GPU program cache to use it.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4221

Change-Id: I7e4094c2f2a2ecc5909895a8a68b27047acdcbd0
Reviewed-on: https://skia-review.googlesource.com/4221
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/gpu/gl/GrGLGpu.h
c293a29bc2fced15ac44a66efa813d42cb3f2e0b 30-Nov-2016 Brian Salomon <bsalomon@google.com> Make GrGpuCommandBuffer infer its render target from first draw

This is a temporary workaround to allow removal of GrBatch::renderTarget().

Change-Id: Ic14710a369802064cf6446e8191a98ea3595556d
Reviewed-on: https://skia-review.googlesource.com/5342
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
f9f451213a3951d8a61568998de2ddbd643f6693 29-Nov-2016 Brian Salomon <bsalomon@google.com> Reland image storage with fixes.

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>
/external/skia/src/gpu/gl/GrGLGpu.h
59dc41175d99d0a31c046aec0c26c4d82a3a3574 23-Nov-2016 Brian Salomon <bsalomon@google.com> Revert "Initial OpenGL Image support."

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>
/external/skia/src/gpu/gl/GrGLGpu.h
be34882042048db096baca32ddf4a8b472529804 22-Nov-2016 Brian Salomon <bsalomon@google.com> 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>
/external/skia/src/gpu/gl/GrGLGpu.h
514baff8be7f71111aa7bfb9b099a096b31e16ec 17-Nov-2016 Brian Salomon <bsalomon@google.com> Rename GrTextureParams to GrSamplerParams

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>
/external/skia/src/gpu/gl/GrGLGpu.h
a8f0002f0c2f23167f1e6b3ae3f77d3c7768cac3 16-Nov-2016 Brian Salomon <bsalomon@google.com> Rename kTexture2DISampler to kITexture2DSampler.

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>
/external/skia/src/gpu/gl/GrGLGpu.h
bf7b620b1e44985b164a8bd68031a7613fe0bb9b 11-Nov-2016 Brian Salomon <bsalomon@google.com> Revert "Revert "Add integer texture support.""

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>
/external/skia/src/gpu/gl/GrGLGpu.h
294870ff119b89fc902773643b054f14e5d1f554 11-Nov-2016 Robert Phillips <robertphillips@google.com> Add explicit UniqueID classes for GrGpuResource & GrSurfaceProxy

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>
/external/skia/src/gpu/gl/GrGLGpu.h
9c7edb8311409a141b0dc1d5e480c68c629f1997 10-Nov-2016 Leon Scroggins <scroggo@google.com> Revert "Add integer texture support."

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>
/external/skia/src/gpu/gl/GrGLGpu.h
434c534bd0ec08cb355fecfb6d2110197b523e74 10-Nov-2016 Brian Salomon <bsalomon@google.com> 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>
/external/skia/src/gpu/gl/GrGLGpu.h
144caf55ffc692bcda77703a73bb9a894f7d024f 07-Nov-2016 Hal Canary <halcanary@google.com> src/gpu: s/SkAutoTUnref/sk_sp/g

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>
/external/skia/src/gpu/gl/GrGLGpu.h
71d9d84d6cd38b9dc8711849952bb9e668ab33a2 03-Nov-2016 Brian Salomon <bsalomon@google.com> Use temporary FBO for GrGLGpu::onReadPixels.

Allow configs to be supported as FBO attachments for copies/readbacks without being "renderable" elsewhere in Ganesh.

The motivation for this is to add support for int textures as srcs but not as dsts (at least initially) but to still be able to read them back. This means we don't pay for a unneeded GPU copy when reading back a GrSurface that is a GrTexture and not a GrRenderTarget.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4345

Change-Id: I824a73c6b8c1b9634206d76ccf0848d5f9b64441
Reviewed-on: https://skia-review.googlesource.com/4345
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
c25c5d73e9f4d840dc758c399496d5690709ad58 01-Nov-2016 csmartdalton <csmartdalton@google.com> Move memoization of multisample specs id to GrRenderTarget

GrGpu used to perform the memoization on behalf of GrRenderTarget via
a public accessor. This change updates GrRenderTarget to do its own
work.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2467593002

Review-Url: https://codereview.chromium.org/2467593002
/external/skia/src/gpu/gl/GrGLGpu.h
6bd5284415bd983b0628c4941dff5def40018f5a 27-Oct-2016 bungeman <bungeman@google.com> Remove SkAutoTUnref and SkAutoTDelete from public includes.

This also makes the required changed to src, tests, and tools. The few
public APIs modified by this change appear to be unused outside of Skia.

Removing these from the public API makes it easier to ensure users are
no longer using them.

This also updates GrGpu::wrapBackendXXX and the
::onWrapBackendXXX methods to clarify ownership.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2448593002

Review-Url: https://codereview.chromium.org/2448593002
/external/skia/src/gpu/gl/GrGLGpu.h
c7d853343a42e28edd9c38a3308afaa846fce1bc 26-Oct-2016 csmartdalton <csmartdalton@google.com> Add disableStencil method to GrGLGpu

Most the calls to flushStencil were just trying to disable it. This
change cleans up that code so it can just call "disableStencil"
instead of having to muck with GrStencilSettings. It should also make
those calls slightly faster.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2453793002

Review-Url: https://codereview.chromium.org/2453793002
/external/skia/src/gpu/gl/GrGLGpu.h
f2361d2d93c200cd4555b5e8ecea4531801abaaa 25-Oct-2016 Robert Phillips <robertphillips@google.com> Add GrOpList and rename GrDrawTarget to GrRenderTargetOpList

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3910

Change-Id: I026aa26ecc61a0d002e98892dca728536259e8b1
Reviewed-on: https://skia-review.googlesource.com/3910
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/gl/GrGLGpu.h
84741b308496409f4ff662658167221fc6801bbe 30-Sep-2016 jvanverth <jvanverth@google.com> Add fence support for TransferBuffers

BUG=skia:4604
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2384463003

Review-Url: https://codereview.chromium.org/2384463003
/external/skia/src/gpu/gl/GrGLGpu.h
8b4a2026fd4edd722d79c90a84000ab720622d71 26-Sep-2016 mtklein <mtklein@chromium.org> Typo?

This can't be what you intended...

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368273002

NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2368273002
/external/skia/src/gpu/gl/GrGLGpu.h
2eda5b3a65f54105ae3776160373eed5500c515f 21-Sep-2016 bsalomon <bsalomon@google.com> Conditionally insert gl_PointSize into shaders.

BUG=chromium:648816
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2358843002

Review-Url: https://codereview.chromium.org/2358843002
/external/skia/src/gpu/gl/GrGLGpu.h
bf4a8f90c87dddf6290aa774536715e55e6a12f5 06-Sep-2016 csmartdalton <csmartdalton@google.com> Improve usage of window rectangles

* Skips non-AA diff rect elements and replaces them with window
rectangles.
* Places window rectangles in the interiors of antialiased diff rects.
* Arranges two overlapping window rectangles in a plus shape inside of
diff rounded rects.
* Enables window rectangles when clearing and generating clip masks.

GTX 960 perf result (with vs. without window rectangles):

glinst4 msaa16 gpu
keymobi_pinterest.skp 0.48 -> 0.17 [ 35%] 2.77 -> 1.49 [ 54%] 0.22 -> 0.16 [ 70%]
keymobi_digg_com.skp 0.42 -> 0.23 [ 55%] 2.34 -> 1.08 [ 46%] 0.25 -> 0.21 [ 83%]
desk_jsfiddlebigcar.skp 0.28 -> 0.16 [ 59%] 1.70 -> 0.96 [ 57%] 0.19 -> 0.14 [ 70%]
top25desk_wordpress.skp 0.45 -> 0.18 [ 40%] 2.78 -> 1.53 [ 55%] 0.21 -> 0.19 [ 94%]
top25desk_weather_com.skp 2.01 -> 1.93 [ 96%] 23.5 -> 2.54 [ 11%] 1.90 -> 1.68 [ 88%]
keymobi_blogger.skp 0.57 -> 0.37 [ 65%] 2.87 -> 1.54 [ 54%] 0.43 -> 0.33 [ 77%]
keymobi_linkedin.skp 0.32 -> 0.17 [ 51%] 1.93 -> 1.04 [ 54%] 0.17 -> 0.15 [ 91%]
keymobi_bing_com_search_... 0.29 -> 0.25 [ 83%] 1.85 -> 1.23 [ 66%] 0.50 -> 0.24 [ 48%]
keymobi_theverge_com_201... 1.00 -> 0.67 [ 68%] 9.46 -> 3.84 [ 41%] 0.72 -> 0.65 [ 90%]
keymobi_sfgate_com_.skp 1.56 -> 1.13 [ 72%] 4.49 -> 2.86 [ 64%] 1.54 -> 1.11 [ 72%]
...
GEOMEAN (All 79 blink skps) 1.04 -> 0.90 [ 86%] 4.22 -> 2.81 [ 67%] 0.95 -> 0.89 [ 94%]

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289363005

Committed: https://skia.googlesource.com/skia/+/db42be9a326c747ff92ed1da8c3536c5b3e8e22b
Review-Url: https://codereview.chromium.org/2289363005
/external/skia/src/gpu/gl/GrGLGpu.h
c3bfcb803abb1f45658e9eae9f75b428a4476e75 06-Sep-2016 caryclark <caryclark@google.com> Revert of Improve usage of window rectangles (patchset #9 id:160001 of https://codereview.chromium.org/2289363005/ )

Reason for revert:
broke build. See

https://build.chromium.org/p/client.skia/builders/Perf-Win8-MSVC-ShuttleA-GPU-GTX960-x86_64-Debug/builds/186

Original issue's description:
> Improve usage of window rectangles
>
> * Skips non-AA diff rect elements and replaces them with window
> rectangles.
> * Places window rectangles in the interiors of antialiased diff rects.
> * Arranges two overlapping window rectangles in a plus shape inside of
> diff rounded rects.
> * Enables window rectangles when clearing and generating clip masks.
>
> GTX 960 perf result (with vs. without window rectangles):
>
> glinst4 msaa16 gpu
> keymobi_pinterest.skp 0.48 -> 0.17 [ 35%] 2.77 -> 1.49 [ 54%] 0.22 -> 0.16 [ 70%]
> keymobi_digg_com.skp 0.42 -> 0.23 [ 55%] 2.34 -> 1.08 [ 46%] 0.25 -> 0.21 [ 83%]
> desk_jsfiddlebigcar.skp 0.28 -> 0.16 [ 59%] 1.70 -> 0.96 [ 57%] 0.19 -> 0.14 [ 70%]
> top25desk_wordpress.skp 0.45 -> 0.18 [ 40%] 2.78 -> 1.53 [ 55%] 0.21 -> 0.19 [ 94%]
> top25desk_weather_com.skp 2.01 -> 1.93 [ 96%] 23.5 -> 2.54 [ 11%] 1.90 -> 1.68 [ 88%]
> keymobi_blogger.skp 0.57 -> 0.37 [ 65%] 2.87 -> 1.54 [ 54%] 0.43 -> 0.33 [ 77%]
> keymobi_linkedin.skp 0.32 -> 0.17 [ 51%] 1.93 -> 1.04 [ 54%] 0.17 -> 0.15 [ 91%]
> keymobi_bing_com_search_... 0.29 -> 0.25 [ 83%] 1.85 -> 1.23 [ 66%] 0.50 -> 0.24 [ 48%]
> keymobi_theverge_com_201... 1.00 -> 0.67 [ 68%] 9.46 -> 3.84 [ 41%] 0.72 -> 0.65 [ 90%]
> keymobi_sfgate_com_.skp 1.56 -> 1.13 [ 72%] 4.49 -> 2.86 [ 64%] 1.54 -> 1.11 [ 72%]
> keymobi_ftw_usatoday_com... 0.59 -> 0.34 [ 57%] 2.80 -> 1.54 [ 55%] 1.21 -> 1.20 [ 99%]
> keymobi_shop_mobileweb_e... 0.46 -> 0.32 [ 70%] 2.60 -> 1.26 [ 48%] 0.35 -> 0.34 [ 97%]
> keymobi_cnn_com.skp 0.68 -> 0.42 [ 63%] 3.40 -> 2.10 [ 62%] 0.49 -> 0.45 [ 93%]
> keymobi_plus_google_com_... 0.77 -> 0.46 [ 60%] 4.83 -> 3.56 [ 74%] 0.52 -> 0.46 [ 89%]
> keymobi_wordpress.skp 0.50 -> 0.40 [ 81%] 2.60 -> 1.31 [ 50%] 0.40 -> 0.37 [ 91%]
> keymobi_androidpolice_co... 0.84 -> 0.73 [ 87%] 4.15 -> 2.05 [ 49%] 0.77 -> 0.67 [ 87%]
> keymobi_online_wsj_com_h... 0.55 -> 0.43 [ 78%] 2.91 -> 1.66 [ 57%] 0.45 -> 0.41 [ 90%]
> keymobi_iphone_capitolvo... 1.18 -> 0.96 [ 81%] 6.26 -> 4.96 [ 79%] 0.95 -> 0.92 [ 97%]
> keymobi_wikipedia__1_tab... 0.46 -> 0.41 [ 89%] 2.51 -> 1.24 [ 49%] 0.40 -> 0.38 [ 95%]
> keymobi_wikipedia__1_tab... 0.46 -> 0.42 [ 90%] 2.52 -> 1.25 [ 50%] 0.40 -> 0.38 [ 96%]
> keymobi_boingboing_net.skp 0.62 -> 0.56 [ 90%] 3.15 -> 1.80 [ 57%] 0.61 -> 0.56 [ 92%]
> keymobi_cnn_com_2012_10_... 0.86 -> 0.82 [ 95%] 2.81 -> 1.50 [ 53%] 0.91 -> 0.83 [ 91%]
> top25desk_techcrunch_com... 0.61 -> 0.56 [ 92%] 3.03 -> 1.76 [ 58%] 0.62 -> 0.56 [ 91%]
> top25desk_ebay_com.skp 1.18 -> 1.08 [ 92%] 2.23 -> 1.24 [ 56%] 1.14 -> 1.09 [ 96%]
> desk_css3gradients.skp 0.64 -> 0.61 [ 95%] 2.99 -> 1.54 [ 52%] 0.62 -> 0.61 [ 99%]
> top25desk_blogger.skp 0.61 -> 0.59 [ 96%] 2.50 -> 1.37 [ 55%] 0.60 -> 0.57 [ 95%]
> keymobi_nytimes_com_.skp 0.65 -> 0.64 [ 98%] 2.69 -> 1.42 [ 53%] 0.62 -> 0.59 [ 96%]
> keymobi_wowwiki_com_worl... 0.99 -> 0.92 [ 92%] 3.46 -> 2.06 [ 60%] 0.98 -> 0.95 [ 96%]
> keymobi_cuteoverload_com... 1.37 -> 1.26 [ 92%] 3.24 -> 2.45 [ 76%] 1.38 -> 1.35 [ 98%]
> keymobi_mobile_news_sand... 0.88 -> 0.81 [ 93%] 3.50 -> 2.07 [ 59%] 0.82 -> 0.81 [100%]
> top25desk_linkedin.skp 0.87 -> 0.87 [100%] 2.92 -> 1.73 [ 59%] 0.94 -> 0.86 [ 91%]
> top25desk_docs___1_open_... 1.43 -> 1.36 [ 95%] 1.87 -> 1.42 [ 76%] 0.73 -> 0.66 [ 91%]
> keymobi_reddit_com_r_pro... 0.68 -> 0.66 [ 96%] 2.49 -> 1.23 [ 49%] 0.65 -> 0.66 [102%]
> ...
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289363005
>
> Committed: https://skia.googlesource.com/skia/+/db42be9a326c747ff92ed1da8c3536c5b3e8e22b

TBR=bsalomon@google.com,egdaniel@google.com,robertphillips@google.com,csmartdalton@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:

Review-Url: https://codereview.chromium.org/2312173002
/external/skia/src/gpu/gl/GrGLGpu.h
db42be9a326c747ff92ed1da8c3536c5b3e8e22b 02-Sep-2016 csmartdalton <csmartdalton@google.com> Improve usage of window rectangles

* Skips non-AA diff rect elements and replaces them with window
rectangles.
* Places window rectangles in the interiors of antialiased diff rects.
* Arranges two overlapping window rectangles in a plus shape inside of
diff rounded rects.
* Enables window rectangles when clearing and generating clip masks.

GTX 960 perf result (with vs. without window rectangles):

glinst4 msaa16 gpu
keymobi_pinterest.skp 0.48 -> 0.17 [ 35%] 2.77 -> 1.49 [ 54%] 0.22 -> 0.16 [ 70%]
keymobi_digg_com.skp 0.42 -> 0.23 [ 55%] 2.34 -> 1.08 [ 46%] 0.25 -> 0.21 [ 83%]
desk_jsfiddlebigcar.skp 0.28 -> 0.16 [ 59%] 1.70 -> 0.96 [ 57%] 0.19 -> 0.14 [ 70%]
top25desk_wordpress.skp 0.45 -> 0.18 [ 40%] 2.78 -> 1.53 [ 55%] 0.21 -> 0.19 [ 94%]
top25desk_weather_com.skp 2.01 -> 1.93 [ 96%] 23.5 -> 2.54 [ 11%] 1.90 -> 1.68 [ 88%]
keymobi_blogger.skp 0.57 -> 0.37 [ 65%] 2.87 -> 1.54 [ 54%] 0.43 -> 0.33 [ 77%]
keymobi_linkedin.skp 0.32 -> 0.17 [ 51%] 1.93 -> 1.04 [ 54%] 0.17 -> 0.15 [ 91%]
keymobi_bing_com_search_... 0.29 -> 0.25 [ 83%] 1.85 -> 1.23 [ 66%] 0.50 -> 0.24 [ 48%]
keymobi_theverge_com_201... 1.00 -> 0.67 [ 68%] 9.46 -> 3.84 [ 41%] 0.72 -> 0.65 [ 90%]
keymobi_sfgate_com_.skp 1.56 -> 1.13 [ 72%] 4.49 -> 2.86 [ 64%] 1.54 -> 1.11 [ 72%]
keymobi_ftw_usatoday_com... 0.59 -> 0.34 [ 57%] 2.80 -> 1.54 [ 55%] 1.21 -> 1.20 [ 99%]
keymobi_shop_mobileweb_e... 0.46 -> 0.32 [ 70%] 2.60 -> 1.26 [ 48%] 0.35 -> 0.34 [ 97%]
keymobi_cnn_com.skp 0.68 -> 0.42 [ 63%] 3.40 -> 2.10 [ 62%] 0.49 -> 0.45 [ 93%]
keymobi_plus_google_com_... 0.77 -> 0.46 [ 60%] 4.83 -> 3.56 [ 74%] 0.52 -> 0.46 [ 89%]
keymobi_wordpress.skp 0.50 -> 0.40 [ 81%] 2.60 -> 1.31 [ 50%] 0.40 -> 0.37 [ 91%]
keymobi_androidpolice_co... 0.84 -> 0.73 [ 87%] 4.15 -> 2.05 [ 49%] 0.77 -> 0.67 [ 87%]
keymobi_online_wsj_com_h... 0.55 -> 0.43 [ 78%] 2.91 -> 1.66 [ 57%] 0.45 -> 0.41 [ 90%]
keymobi_iphone_capitolvo... 1.18 -> 0.96 [ 81%] 6.26 -> 4.96 [ 79%] 0.95 -> 0.92 [ 97%]
keymobi_wikipedia__1_tab... 0.46 -> 0.41 [ 89%] 2.51 -> 1.24 [ 49%] 0.40 -> 0.38 [ 95%]
keymobi_wikipedia__1_tab... 0.46 -> 0.42 [ 90%] 2.52 -> 1.25 [ 50%] 0.40 -> 0.38 [ 96%]
keymobi_boingboing_net.skp 0.62 -> 0.56 [ 90%] 3.15 -> 1.80 [ 57%] 0.61 -> 0.56 [ 92%]
keymobi_cnn_com_2012_10_... 0.86 -> 0.82 [ 95%] 2.81 -> 1.50 [ 53%] 0.91 -> 0.83 [ 91%]
top25desk_techcrunch_com... 0.61 -> 0.56 [ 92%] 3.03 -> 1.76 [ 58%] 0.62 -> 0.56 [ 91%]
top25desk_ebay_com.skp 1.18 -> 1.08 [ 92%] 2.23 -> 1.24 [ 56%] 1.14 -> 1.09 [ 96%]
desk_css3gradients.skp 0.64 -> 0.61 [ 95%] 2.99 -> 1.54 [ 52%] 0.62 -> 0.61 [ 99%]
top25desk_blogger.skp 0.61 -> 0.59 [ 96%] 2.50 -> 1.37 [ 55%] 0.60 -> 0.57 [ 95%]
keymobi_nytimes_com_.skp 0.65 -> 0.64 [ 98%] 2.69 -> 1.42 [ 53%] 0.62 -> 0.59 [ 96%]
keymobi_wowwiki_com_worl... 0.99 -> 0.92 [ 92%] 3.46 -> 2.06 [ 60%] 0.98 -> 0.95 [ 96%]
keymobi_cuteoverload_com... 1.37 -> 1.26 [ 92%] 3.24 -> 2.45 [ 76%] 1.38 -> 1.35 [ 98%]
keymobi_mobile_news_sand... 0.88 -> 0.81 [ 93%] 3.50 -> 2.07 [ 59%] 0.82 -> 0.81 [100%]
top25desk_linkedin.skp 0.87 -> 0.87 [100%] 2.92 -> 1.73 [ 59%] 0.94 -> 0.86 [ 91%]
top25desk_docs___1_open_... 1.43 -> 1.36 [ 95%] 1.87 -> 1.42 [ 76%] 0.73 -> 0.66 [ 91%]
keymobi_reddit_com_r_pro... 0.68 -> 0.66 [ 96%] 2.49 -> 1.23 [ 49%] 0.65 -> 0.66 [102%]
...

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289363005

Review-Url: https://codereview.chromium.org/2289363005
/external/skia/src/gpu/gl/GrGLGpu.h
29df76096fd30941086324902a82656df2d8becd 31-Aug-2016 csmartdalton <csmartdalton@google.com> Define clear regions in terms of GrFixedClip

Updates clear APIs to take GrFixedClip instead of a rectangle. This
will allow us to use window rectangles with clears. Removes stencil
knobs from GrFixedClip.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2262473003

Review-Url: https://codereview.chromium.org/2262473003
/external/skia/src/gpu/gl/GrGLGpu.h
4bcd62e3313da60c3aa96ccd12b7ea440c7266d4 31-Aug-2016 egdaniel <egdaniel@google.com> Add some copy support for vulkan msaa

This allows us to do copies from:
msaa->msaa with same sample count
msaa->no-msaa with a resolve

Still missing support for no-msaa to msaa which will require a copyAsDraw
which is currently stalled and fixing possible driver bugs.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2294533002

Review-Url: https://codereview.chromium.org/2294533002
/external/skia/src/gpu/gl/GrGLGpu.h
28341fad8438b294ed7311edbc68d8cb34a990ab 17-Aug-2016 csmartdalton <csmartdalton@google.com> Implement difference clip rects with window rectangles

Plumbs the pipeline for window rectangles and uses them for a very
basic implementation of difference clip rects. This puts a common
Blink pattern on fast path, but we will still eventually need to make
more comprehensive use of window rectangles during clipping.

GTX 960 perf result:
gpu glinst4 glinst16
desk_jsfiddlebigcar.skp 0.254 -> 0.177 [70%] 0.279 -> 0.197 [71%] 0.577 -> 0.196 [34%]
keymobi_sfgate_com_.skp 0.697 -> 0.513 [74%] 0.766 -> 0.451 [59%] 0.769 -> 0.597 [78%]
keymobi_blogger.skp 0.406 -> 0.314 [77%] 0.436 -> 0.292 [67%] 0.696 -> 0.319 [46%]
desk_pokemonwiki.skp 0.121 -> 0.098 [81%] 0.13 -> 0.105 [81%] 0.216 -> 0.097 [45%]
desk_wikipedia.skp 0.121 -> 0.098 [81%] 0.13 -> 0.104 [80%] 0.199 -> 0.104 [52%]
keymobi_androidpolice_co... 0.443 -> 0.382 [86%] 0.447 -> 0.398 [89%] 0.444 -> 0.396 [89%]
keymobi_booking_com_sear... 1 .15 -> 1.03 [90%] 1.17 -> 1.06 [91%] 1.17 -> 1.05 [90%]
keymobi_theverge_com.skp 0.417 -> 0.396 [95%] 0.426 -> 0.405 [95%] 0.429 -> 0.4 [93%]

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2251573002

Review-Url: https://codereview.chromium.org/2251573002
/external/skia/src/gpu/gl/GrGLGpu.h
e0d362929d6569e8737d80dead791c640390e819 29-Jul-2016 csmartdalton <csmartdalton@google.com> Add test configs for instanced rendering

Adds the following configs and enables them on select bots:

glinst, glinst4, glinstdit4, glinst16, glinstdit16,
esinst, esinst4, esinstdit4

Makes general changes to GrContextOptions, GrCaps, etc. to facilitate
this.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2182783004

Review-Url: https://codereview.chromium.org/2182783004
/external/skia/src/gpu/gl/GrGLGpu.h
5fa7f30331585f78cf0f81ac185abbff1fee1152 21-Jul-2016 robertphillips <robertphillips@google.com> Remove DrawFace enum from GrPipelineBuilder

This gets GrPipelineBuilder.h out of the headers

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165283002

Committed: https://skia.googlesource.com/skia/+/da152ebb032c61bb2561bbb3e9a78037ad174d34
Review-Url: https://codereview.chromium.org/2165283002
/external/skia/src/gpu/gl/GrGLGpu.h
5d1676c751040f4d9a6259720c15250f0c979874 21-Jul-2016 robertphillips <robertphillips@google.com> Revert of Remove DrawFace enum from GrPipelineBuilder (patchset #2 id:20001 of https://codereview.chromium.org/2165283002/ )

Reason for revert:
No Vulkan bot in CQ :(

Original issue's description:
> Remove DrawFace enum from GrPipelineBuilder
>
> This gets GrPipelineBuilder.h out of the headers
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165283002
>
> Committed: https://skia.googlesource.com/skia/+/da152ebb032c61bb2561bbb3e9a78037ad174d34

TBR=bsalomon@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2167193002
/external/skia/src/gpu/gl/GrGLGpu.h
da152ebb032c61bb2561bbb3e9a78037ad174d34 21-Jul-2016 robertphillips <robertphillips@google.com> Remove DrawFace enum from GrPipelineBuilder

This gets GrPipelineBuilder.h out of the headers

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165283002

Review-Url: https://codereview.chromium.org/2165283002
/external/skia/src/gpu/gl/GrGLGpu.h
485a12003ab48b54965d6f7172f3183358919d8e 13-Jul-2016 csmartdalton <csmartdalton@google.com> Add resource provider flag to avoid client-side buffers

On some platforms, a newly-created buffer was liable to be CPU backed.
This would break code that expected a VBO (aka instanced rendering).
This change adds an optional flag to GrResourceProvider that requires
a buffer to be created in GPU memory.

It also moves the CPU backing logic into Gr land in order to properly
cache real VBOs on platforms that prefer client-side buffers.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2143333002

Review-Url: https://codereview.chromium.org/2143333002
/external/skia/src/gpu/gl/GrGLGpu.h
a7f29640f6ab4eb50962a9d9f12d01ac2ce8b471 07-Jul-2016 csmartdalton <csmartdalton@google.com> Begin instanced rendering for simple shapes

Adds a module that performs instanced rendering and starts using it
for a select subset of draws on Mac GL platforms. The instance
processor can currently handle rects, ovals, round rects, and double
round rects. It can generalize shapes as round rects in order to
improve batching. The instance processor also employs new drawing
algorithms, irrespective of instanced rendering, that improve GPU-side
performance (e.g. sample mask, different triangle layouts, etc.).

This change only scratches the surface of instanced rendering. The
majority of draws still only have one instance. Future work may
include:

* Passing coord transforms through the texel buffer.
* Sending FP uniforms through instanced vertex attribs.
* Using instanced rendering for more draws (stencil writes,
drawAtlas, etc.).
* Adding more shapes to the instance processor’s repertoire.
* Batching draws that have mismatched scissors (analyzing draw
bounds, inserting clip planes, etc.).
* Bindless textures.
* Uber shaders.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2066993003

Committed: https://skia.googlesource.com/skia/+/42eafa4bc00354b132ad114d22ed6b95d8849891
Review-Url: https://codereview.chromium.org/2066993003
/external/skia/src/gpu/gl/GrGLGpu.h
0d28e574ac73fef8bf75cab083ffe23f2d8860a1 06-Jul-2016 csmartdalton <csmartdalton@google.com> Fix caching of sample locations

The original caching logic for sample locations wishfully assumed that
the GPU would always use the same sample pattern for render targets
that had the same number of samples. It turns out we can't rely on
that. This change improves the caching logic to handle mismatched
simple patterns with the same count, and adds a unit test that
emulates different sample patterns observed on real hardware.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111423002

Committed: https://skia.googlesource.com/skia/+/09d49a3bfe2d1e652a648ce1ea0962b38d10d166
Review-Url: https://codereview.chromium.org/2111423002
/external/skia/src/gpu/gl/GrGLGpu.h
ec7f2ac7285ad9b1ea84e7aa68a741ae2a07a777 05-Jul-2016 ksakamoto <ksakamoto@chromium.org> Revert of Begin instanced rendering for simple shapes (patchset #20 id:380001 of https://codereview.chromium.org/2066993003/ )

Reason for revert:
This caused static initializer regressions in Chromium (crbug.com/625728).

Relevant build logs here:
Linux:
https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/21849

Mac:
https://build.chromium.org/p/chromium/builders/Mac/builds/17350

Relevant lines from the error log:
Linux:
# InstanceProcessor.cpp GrUniqueKey::GenerateDomain()
# InstanceProcessor.cpp gr_instanced::kShapeBufferDomain
FAILED linux-release-64/sizes/nacl_helper-si/initializers: actual 8, expected 7, better lower
FAILED linux-release-64/sizes/chrome-si/initializers: actual 8, expected 7, better lower

Mac:
FAILED mac-release/sizes/chrome-si/initializers: actual 2, expected 0, better lower

Original issue's description:
> Begin instanced rendering for simple shapes
>
> Adds a module that performs instanced rendering and starts using it
> for a select subset of draws on Mac GL platforms. The instance
> processor can currently handle rects, ovals, round rects, and double
> round rects. It can generalize shapes as round rects in order to
> improve batching. The instance processor also employs new drawing
> algorithms, irrespective of instanced rendering, that improve GPU-side
> performance (e.g. sample mask, different triangle layouts, etc.).
>
> This change only scratches the surface of instanced rendering. The
> majority of draws still only have one instance. Future work may
> include:
>
> * Passing coord transforms through the texel buffer.
> * Sending FP uniforms through instanced vertex attribs.
> * Using instanced rendering for more draws (stencil writes,
> drawAtlas, etc.).
> * Adding more shapes to the instance processor’s repertoire.
> * Batching draws that have mismatched scissors (analyzing draw
> bounds, inserting clip planes, etc.).
> * Bindless textures.
> * Uber shaders.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2066993003
>
> Committed: https://skia.googlesource.com/skia/+/42eafa4bc00354b132ad114d22ed6b95d8849891

NOTREECHECKS=true
TBR=bsalomon@google.com,egdaniel@google.com,robertphillips@google.com,csmartdalton@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:

Review-Url: https://codereview.chromium.org/2123693002
/external/skia/src/gpu/gl/GrGLGpu.h
42e6798696ac3a93a2b7ba7a9d6a84b77eba0116 05-Jul-2016 rmistry <rmistry@google.com> Revert of Fix caching of sample locations (patchset #3 id:40001 of https://codereview.chromium.org/2111423002/ )

Reason for revert:
Seems to be causing Chromium roll failures:
* https://codereview.chromium.org/2120373003
* https://codereview.chromium.org/2117193002
* https://codereview.chromium.org/2124653002

Original issue's description:
> Fix caching of sample locations
>
> The original caching logic for sample locations wishfully assumed that
> the GPU would always use the same sample pattern for render targets
> that had the same number of samples. It turns out we can't rely on
> that. This change improves the caching logic to handle mismatched
> simple patterns with the same count, and adds a unit test that
> emulates different sample patterns observed on real hardware.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111423002
>
> Committed: https://skia.googlesource.com/skia/+/09d49a3bfe2d1e652a648ce1ea0962b38d10d166

TBR=bsalomon@google.com,csmartdalton@google.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/2120403002
/external/skia/src/gpu/gl/GrGLGpu.h
09d49a3bfe2d1e652a648ce1ea0962b38d10d166 05-Jul-2016 csmartdalton <csmartdalton@google.com> Fix caching of sample locations

The original caching logic for sample locations wishfully assumed that
the GPU would always use the same sample pattern for render targets
that had the same number of samples. It turns out we can't rely on
that. This change improves the caching logic to handle mismatched
simple patterns with the same count, and adds a unit test that
emulates different sample patterns observed on real hardware.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111423002

Review-Url: https://codereview.chromium.org/2111423002
/external/skia/src/gpu/gl/GrGLGpu.h
42eafa4bc00354b132ad114d22ed6b95d8849891 30-Jun-2016 csmartdalton <csmartdalton@google.com> Begin instanced rendering for simple shapes

Adds a module that performs instanced rendering and starts using it
for a select subset of draws on Mac GL platforms. The instance
processor can currently handle rects, ovals, round rects, and double
round rects. It can generalize shapes as round rects in order to
improve batching. The instance processor also employs new drawing
algorithms, irrespective of instanced rendering, that improve GPU-side
performance (e.g. sample mask, different triangle layouts, etc.).

This change only scratches the surface of instanced rendering. The
majority of draws still only have one instance. Future work may
include:

* Passing coord transforms through the texel buffer.
* Sending FP uniforms through instanced vertex attribs.
* Using instanced rendering for more draws (stencil writes,
drawAtlas, etc.).
* Adding more shapes to the instance processor’s repertoire.
* Batching draws that have mismatched scissors (analyzing draw
bounds, inserting clip planes, etc.).
* Bindless textures.
* Uber shaders.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2066993003

Review-Url: https://codereview.chromium.org/2066993003
/external/skia/src/gpu/gl/GrGLGpu.h
d46cdc4c99c0f400b9f7357eb2b877c35707e9c7 30-Jun-2016 egdaniel <egdaniel@google.com> Remove support for GL discards

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2112693003

Review-Url: https://codereview.chromium.org/2112693003
/external/skia/src/gpu/gl/GrGLGpu.h
0a3a7f7303273151f1585b3cf5f6968e3932bfed 24-Jun-2016 egdaniel <egdaniel@google.com> Have gpu createTestingOlyBackendTexture know if it is a render target or not

In Vulkan we need to know at create time of a texture whether or not we will
use it as a render target.

BUG=skia:5458
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2093943002

Review-Url: https://codereview.chromium.org/2093943002
/external/skia/src/gpu/gl/GrGLGpu.h
9cb6340a62a5d748e4189d50e51fa527c8c80c03 23-Jun-2016 egdaniel <egdaniel@google.com> Start using GrGpuCommandBuffer in GrDrawTarget.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2052263003

Review-Url: https://codereview.chromium.org/2078483002
/external/skia/src/gpu/gl/GrGLGpu.h
066df7ca911b65d416783f3bec6f4f1662948ad5 08-Jun-2016 egdaniel <egdaniel@google.com> Add GpuCommandBuffer support.

Currently this is not actually hooked into the system.

To give some context, in a follow up CL I'll add this to GrDrawTarget.
For this I will move the gpu onDraw command to the GpuCommandBuffer as well.
For GL this will end up just being a pass through to a non virtual draw(...)
on GrGLGpu, and for vulkan it will mostly do what it currently does but
adding commands to the secondary command buffer instead.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2038583002

Review-Url: https://codereview.chromium.org/2038583002
/external/skia/src/gpu/gl/GrGLGpu.h
1897cfd7a6e193b42ca95e830e9485f5201a995c 03-Jun-2016 csmartdalton <csmartdalton@google.com> Abandon offset support with texel buffers

We don't seem to require nonzero offsets for texel buffers at this
point in time, and requiring this feature greatly reduces the number
of desktop clients that can use texel buffers. If we find a use for
offsets later we can always add it back as a separate feature.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2036953002

Review-Url: https://codereview.chromium.org/2036953002
/external/skia/src/gpu/gl/GrGLGpu.h
33f6b3f6ee4de24282f5e7f2dc31a5f538bcf40c 02-Jun-2016 brianosman <brianosman@google.com> Manually generated sRGB mipmaps, with successively smaller draws.

Dirty GL-generated mipmaps whenever an sRGB texture is used with a new
value for TEXTURE_SRGB_DECODE. Add a new test rectangle to the gamma GM
that tests that textures are correctly converted to linear before
filtering when generating mipmaps.

Added a new unit test that alternates how a texture is interpreted (sRGB
or not), to verify that we rebuild mipmaps when needed, and that we get
the correct results out in both modes.

This test originally failed on four of our bots producing incorrect mips
in three different ways. I'm not real surprised, but it looks like
we can't rely on glGenerateMipmap to do the right thing, in conjunction
with TEXTURE_SRGB_DECODE.

Instead, actually create mip-chains using a series of draw calls.
(My first attempt used glBlitFramebuffer, and that still had bugs on
several bots). This approach appears to work correctly on any device
that fully supports sRGB.

Because the mipmap draws are fairly destructive to state, I had to
hoist them out of bindTexture. That means adding a second pass over
the texture accesses in the processor, at the very beginning of flush.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1840473002

Review-Url: https://codereview.chromium.org/2007973002
/external/skia/src/gpu/gl/GrGLGpu.h
a167e74b4bb78cfbbec3d8768e5853cd0b9314ab 24-May-2016 brianosman <brianosman@google.com> Remove sRGB overrides on GrTextureParams. Use GrPaint flags instead.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2002253002

Review-Url: https://codereview.chromium.org/2002253002
/external/skia/src/gpu/gl/GrGLGpu.h
900bd4a0463bc6471ef07a77120b413bd8f472b2 29-Apr-2016 jvanverth <jvanverth@google.com> Add mipmap loading to Vulkan.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1925303002

Review-Url: https://codereview.chromium.org/1925303002
/external/skia/src/gpu/gl/GrGLGpu.h
fb5916486f562b45474fba86ed4bede15b83ef4a 29-Apr-2016 jvanverth <jvanverth@chromium.org> Don't mark mipmaps dirty if uploading > 1 levels

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1933293002

Review-Url: https://codereview.chromium.org/1933293002
/external/skia/src/gpu/gl/GrGLGpu.h
efe46d20949efbc59bedd1f28e6f42a0dd069688 29-Apr-2016 djsollen <djsollen@google.com> Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER.

The Release_Developer build type is now used to build Skia with
release level optimizations but still enable SK_DEBUG. This in turn
means that SkASSERTS and SkRTConf are available in this mode.

Further we can then remove SK_DEVELOPER as a define as it is true
iff SK_DEBUG is true.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1931903002
DOCS_PREVIEW= https://skia.org/?cl=1931903002

Review-Url: https://codereview.chromium.org/1931903002
/external/skia/src/gpu/gl/GrGLGpu.h
28d5bdd97ebbbdfff49d2e719b24a6343b0f0b48 28-Apr-2016 reed <reed@google.com> Revert of Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER. (patchset #2 id:20001 of https://codereview.chromium.org/1927583002/ )

Reason for revert:
still blocking DEPS roll

Original issue's description:
> Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER.
>
> The Release_Developer build type is now used to build Skia with
> release level optimizations but still enable SK_DEBUG. This in turn
> means that SkASSERTS and SkRTConf are available in this mode.
>
> Further we can then remove SK_DEVELOPER as a define as it is true
> iff SK_DEBUG is true.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1927583002
> DOCS_PREVIEW= https://skia.org/?cl=1927583002
>
> Committed: https://skia.googlesource.com/skia/+/48d6f88479e72efaf9b9d8f9c0769acb1ba773db

TBR=bungeman@gmail.com,bungeman@google.com,benjaminwagner@google.com,djsollen@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/1918253006
/external/skia/src/gpu/gl/GrGLGpu.h
48d6f88479e72efaf9b9d8f9c0769acb1ba773db 27-Apr-2016 djsollen <djsollen@google.com> Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER.

The Release_Developer build type is now used to build Skia with
release level optimizations but still enable SK_DEBUG. This in turn
means that SkASSERTS and SkRTConf are available in this mode.

Further we can then remove SK_DEVELOPER as a define as it is true
iff SK_DEBUG is true.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1927583002
DOCS_PREVIEW= https://skia.org/?cl=1927583002

Review-Url: https://codereview.chromium.org/1927583002
/external/skia/src/gpu/gl/GrGLGpu.h
2e6055b3ea14a04fcde1ac1974a70bf00b1e295b 22-Apr-2016 kkinnunen <kkinnunen@nvidia.com> Refactor to separate backend object lifecycle and GpuResource budget decision

Refactor GrGpuResource to contain two different pieces of state:
a) instance is budgeted or not budgeted
b) instance references wrapped backend objects or not

The "object lifecycle" was also attached to backend object
handles (ids), which made the code a bit unclear. Backend objects
would be associated with GrGpuResource::LifeCycle, even though
GrGpuResource::LifeCycle refers to the GpuResource, and individual
backend objects in one GpuResource might be governed with different
"lifecycle".

Mark the budgeted/not budgeted with SkBudgeted::kYes, SkBudgeted::kNo.
This was previously GrGpuResource::kCached_LifeCycle,
GrGpuResource::kUncached_LifeCycle.

Mark the "references wrapped object" with boolean. This was previously
GrGpuResource::kBorrowed_LifeCycle,
GrGpuResource::kAdopted_LifeCycle for GrGpuResource.

Associate the backend object ownership status with
GrBackendObjectOwnership for the backend object handles.

The resource type leaf constuctors, such has GrGLTexture or
GrGLTextureRenderTarget take "budgeted" parameter. This parameter
is passed to GrGpuResource::registerWithCache().

The resource type intermediary constructors, such as GrGLTexture
constructors for class GrGLTextureRenderTarget do not take "budgeted"
parameters, intermediary construtors do not call registerWithCache.

Removes the need for tagging GrGpuResource -derived subclass
constructors with "Derived" parameter.

Makes instances that wrap backend objects be registered with
a new function GrGpuResource::registerWithCacheWrapped().

Removes "budgeted" parameter from classes such as StencilAttahment, as
they are always cached and never wrap any external backend objects.

Removes the use of concept "external" from the member function names.
The API refers to the objects as "wrapped", so make all related
functions use the term consistently.

No change in functionality. Resources referencing wrapped objects are
always inserted to the cache with budget decision kNo.

BUG=594928
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1862043002

Review URL: https://codereview.chromium.org/1862043002
/external/skia/src/gpu/gl/GrGLGpu.h
c3d706f7ce87cdd94158d2266ab2fe2f18f5020a 20-Apr-2016 jvanverth <jvanverth@google.com> Revert of Use transfer buffer for BatchAtlas texture copies (patchset #9 id:160001 of https://codereview.chromium.org/1888473002/ )

Reason for revert:
Lots of sync issues with paths and text.

Original issue's description:
> Use transfer buffer for BatchAtlas texture copies.
>
> Sets up use of transfer buffer (if available) to do one-copy transfers.
> Get transfer buffers working properly in GL.
> Implement GrVkGpu::onTransferPixels.
> Check caps to ensure we can create a transfer buffer.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1888473002
>
> Committed: https://skia.googlesource.com/skia/+/b0ec9836dbf7f2304a3a29289b818719ca0a39bd

TBR=robertphillips@google.com,egdaniel@google.com,bsalomon@google.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/1904723003
/external/skia/src/gpu/gl/GrGLGpu.h
b0ec9836dbf7f2304a3a29289b818719ca0a39bd 20-Apr-2016 jvanverth <jvanverth@google.com> Use transfer buffer for BatchAtlas texture copies.

Sets up use of transfer buffer (if available) to do one-copy transfers.
Get transfer buffers working properly in GL.
Implement GrVkGpu::onTransferPixels.
Check caps to ensure we can create a transfer buffer.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1888473002

Review URL: https://codereview.chromium.org/1888473002
/external/skia/src/gpu/gl/GrGLGpu.h
1bf3e71ad06a318613ccc09e1cf47d3c2465b23c 19-Apr-2016 cdalton <cdalton@nvidia.com> Add optional data parameter to createBuffer

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1877073002

Review URL: https://codereview.chromium.org/1877073002
/external/skia/src/gpu/gl/GrGLGpu.h
7e68ab73186ab02a6030d3959e7372f983f85af5 13-Apr-2016 bsalomon <bsalomon@google.com> Remove GrTextureStorageAllocator. This was added from Chromium but never used and not expected to be used.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1886613003

Review URL: https://codereview.chromium.org/1886613003
/external/skia/src/gpu/gl/GrGLGpu.h
74b8d323323c8533e3e5cc7719e0bd127aacd829 11-Apr-2016 cdalton <cdalton@nvidia.com> Implement texel buffers

Adds a mechanism for processors to add buffer accesses and implements
them in the GL backend.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1870893002

Review URL: https://codereview.chromium.org/1870893002
/external/skia/src/gpu/gl/GrGLGpu.h
e2e71c2df4e72e897bbe745752be0444aee5c29f 08-Apr-2016 cdalton <cdalton@nvidia.com> Track GL buffer state based on unique resource ID

Reworks GrGLGpu to track GL buffer state based on the unique
GrGpuResource ID. This eliminates the need to notify the gpu object
whenever a buffer is deleted.

This change also allows us to remove the type specifier from GrBuffer.
At this point a buffer is just a chunk of memory, and the type
given at creation time is just a suggestion to the GL backend about
which target to bind to for updates.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1854283004

Committed: https://skia.googlesource.com/skia/+/deacc97bc63513b5eacaf21f858727f6e8b98ce5

Review URL: https://codereview.chromium.org/1854283004
/external/skia/src/gpu/gl/GrGLGpu.h
044d3c185876f9960f07b88f068cf08d78311e33 07-Apr-2016 mtklein <mtklein@google.com> Revert of Track GL buffer state based on unique resource ID (patchset #6 id:100001 of https://codereview.chromium.org/1854283004/ )

Reason for revert:
Chrome roll's broken, seems to be missing fTarget:

https://codereview.chromium.org/1861473005

Original issue's description:
> Track GL buffer state based on unique resource ID
>
> Reworks GrGLGpu to track GL buffer state based on the unique
> GrGpuResource ID. This eliminates the need to notify the gpu object
> whenever a buffer is deleted.
>
> This change also allows us to remove the type specifier from GrBuffer.
> At this point a buffer is just a chunk of memory, and the type
> given at creation time is just a suggestion to the GL backend about
> which target to bind to for updates.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1854283004
>
> Committed: https://skia.googlesource.com/skia/+/deacc97bc63513b5eacaf21f858727f6e8b98ce5

TBR=bsalomon@google.com,jvanverth@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/1870553002
/external/skia/src/gpu/gl/GrGLGpu.h
deacc97bc63513b5eacaf21f858727f6e8b98ce5 06-Apr-2016 cdalton <cdalton@nvidia.com> Track GL buffer state based on unique resource ID

Reworks GrGLGpu to track GL buffer state based on the unique
GrGpuResource ID. This eliminates the need to notify the gpu object
whenever a buffer is deleted.

This change also allows us to remove the type specifier from GrBuffer.
At this point a buffer is just a chunk of memory, and the type
given at creation time is just a suggestion to the GL backend about
which target to bind to for updates.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1854283004

Review URL: https://codereview.chromium.org/1854283004
/external/skia/src/gpu/gl/GrGLGpu.h
6e2aad4e9f6280aa2b710e7324458fdc6d699ec5 01-Apr-2016 bsalomon <bsalomon@google.com> Add GrContext::releaseAndAbandonContext()

Like abandonContext() this disconnects the GrContext from the underlying 3D API. However, unlike abandonContext it first frees all allocated GPU resources.

BUG=skia:5142
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852733002

Review URL: https://codereview.chromium.org/1852733002
/external/skia/src/gpu/gl/GrGLGpu.h
49c4c22b3744d18e1cb38ecabcb8839d2e26afe0 01-Apr-2016 kkinnunen <kkinnunen@nvidia.com> Remove ownership parameter from GrResourceProvider::wrapBackendTextureAsRenderTarget

Remove ownership parameter from
GrResourceProvider::wrapBackendTextureAsRenderTarget.
The function leaks the texture id if kAdopt_LifeCycle is passed.

There is no public API to access the parameter.

BUG=594928
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842313003

Review URL: https://codereview.chromium.org/1842313003
/external/skia/src/gpu/gl/GrGLGpu.h
9d524f22bfde5dc3dc8f48e1be39bdebd3bb0304 29-Mar-2016 halcanary <halcanary@google.com> Style bikeshed - remove extraneous whitespace

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842753002

Review URL: https://codereview.chromium.org/1842753002
/external/skia/src/gpu/gl/GrGLGpu.h
397536cabe12a9936659870dd220c869789424ba 25-Mar-2016 cdalton <cdalton@nvidia.com> Consolidate GPU buffer implementations

Consolidates all the different buffer implementations into a single
GrBuffer class. This will allow us to add new buffer types, use DSA in
OpenGL, track buffer bindings by unique ID, cache buffers without
respect to the type of data they have been used for previously, etc.
This change is strictly a refactor; it introduces no change in
functionality.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825393002

Committed: https://skia.googlesource.com/skia/+/8b1bff29675afd25843439eade634a57f68fe16f

Review URL: https://codereview.chromium.org/1825393002
/external/skia/src/gpu/gl/GrGLGpu.h
28ef445d2e55ada7a45fd74e9248b4f22b16e061 25-Mar-2016 ethannicholas <ethannicholas@google.com> added support for glMinSampleShading
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1812223002

Review URL: https://codereview.chromium.org/1812223002
/external/skia/src/gpu/gl/GrGLGpu.h
64d094d7756534a9b9b0997aab225d9ceba098b6 25-Mar-2016 brianosman <brianosman@google.com> Require sRGB write control for sRGB support. Add flag to GrPaint to suppress linear -> sRGB conversion on write. Use that to fix YUV conversion, which directly produces sRGB data. (Technically, it produces data in whatever the color space of the JPEG might be).

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1830303002

Review URL: https://codereview.chromium.org/1830303002
/external/skia/src/gpu/gl/GrGLGpu.h
f8c3ba40cf4f42b2c2ba1b473c28d7733383223e 25-Mar-2016 robertphillips <robertphillips@google.com> Revert of Consolidate GPU buffer implementations (patchset #10 id:180001 of https://codereview.chromium.org/1825393002/ )

Reason for revert:
Lots of Android redness

Original issue's description:
> Consolidate GPU buffer implementations
>
> Consolidates all the different buffer implementations into a single
> GrBuffer class. This will allow us to add new buffer types, use DSA in
> OpenGL, track buffer bindings by unique ID, cache buffers without
> respect to the type of data they have been used for previously, etc.
> This change is strictly a refactor; it introduces no change in
> functionality.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825393002
>
> Committed: https://skia.googlesource.com/skia/+/8b1bff29675afd25843439eade634a57f68fe16f

TBR=bsalomon@google.com,egdaniel@google.com,jvanverth@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/1831133004
/external/skia/src/gpu/gl/GrGLGpu.h
8b1bff29675afd25843439eade634a57f68fe16f 25-Mar-2016 cdalton <cdalton@nvidia.com> Consolidate GPU buffer implementations

Consolidates all the different buffer implementations into a single
GrBuffer class. This will allow us to add new buffer types, use DSA in
OpenGL, track buffer bindings by unique ID, cache buffers without
respect to the type of data they have been used for previously, etc.
This change is strictly a refactor; it introduces no change in
functionality.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825393002

Review URL: https://codereview.chromium.org/1825393002
/external/skia/src/gpu/gl/GrGLGpu.h
22281c13a13c4b4e275516e9fe02185a53a7e5aa 23-Mar-2016 egdaniel <egdaniel@google.com> Set up cache in vulkan to reuse GrVkPrograms (aka VkPipelines)

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1816153002

Review URL: https://codereview.chromium.org/1816153002
/external/skia/src/gpu/gl/GrGLGpu.h
a6359365887048ef055196de75591311d7a015f0 21-Mar-2016 brianosman <brianosman@google.com> sRGB support in Ganesh. Several pieces:

sRGB support now also requires GL_EXT_texture_sRGB_decode, which allows
us to disable sRGB -> Linear conversion when reading textures. This gives
us an easy way to support "legacy" L32 mode. We disable decoding based on
the pixel config of the render target. Textures can override that behavior
(specifically for format-conversion draws where we want that behavior).

Added sBGRA pixel config, which is not-really-a-format. It's just sRGBA
internally, and the external format is BGR order, so TexImage calls will
swizzle correctly. This lets us interact with sRGB raster surfaces on BGR
platforms.

Devices without sRGB support behave like they always have: conversion from
color type and profile type ignores sRGB and always returns linear pixel
configs.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1789663002

Review URL: https://codereview.chromium.org/1789663002
/external/skia/src/gpu/gl/GrGLGpu.h
c571c001cee4e0dfacd7bd17d5cd0a2900a853a9 17-Mar-2016 brianosman <brianosman@google.com> Revert of sRGB support in Ganesh. Several pieces: (patchset #12 id:220001 of https://codereview.chromium.org/1789663002/ )

Reason for revert:
We're getting sRGB non-8888 configs?

Original issue's description:
> sRGB support in Ganesh. Several pieces:
>
> sRGB support now also requires GL_EXT_texture_sRGB_decode, which allows
> us to disable sRGB -> Linear conversion when reading textures. This gives
> us an easy way to support "legacy" L32 mode. We disable decoding based on
> the pixel config of the render target. Textures can override that behavior
> (specifically for format-conversion draws where we want that behavior).
>
> Added sBGRA pixel config, which is not-really-a-format. It's just sRGBA
> internally, and the external format is BGR order, so TexImage calls will
> swizzle correctly. This lets us interact with sRGB raster surfaces on BGR
> platforms.
>
> Devices without sRGB support behave like they always have: conversion from
> color type and profile type ignores sRGB and always returns linear pixel
> configs.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1789663002
>
> Committed: https://skia.googlesource.com/skia/+/9e3f1bf4e5cd8fc59554f986f36d6b034e99f9eb

TBR=reed@google.com,bsalomon@google.com,robertphillips@google.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/1814533003
/external/skia/src/gpu/gl/GrGLGpu.h
9e3f1bf4e5cd8fc59554f986f36d6b034e99f9eb 17-Mar-2016 brianosman <brianosman@google.com> sRGB support in Ganesh. Several pieces:

sRGB support now also requires GL_EXT_texture_sRGB_decode, which allows
us to disable sRGB -> Linear conversion when reading textures. This gives
us an easy way to support "legacy" L32 mode. We disable decoding based on
the pixel config of the render target. Textures can override that behavior
(specifically for format-conversion draws where we want that behavior).

Added sBGRA pixel config, which is not-really-a-format. It's just sRGBA
internally, and the external format is BGR order, so TexImage calls will
swizzle correctly. This lets us interact with sRGB raster surfaces on BGR
platforms.

Devices without sRGB support behave like they always have: conversion from
color type and profile type ignores sRGB and always returns linear pixel
configs.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1789663002

Review URL: https://codereview.chromium.org/1789663002
/external/skia/src/gpu/gl/GrGLGpu.h
0e1853c89615d14d0d03c87c7e0c604e5285cc54 17-Mar-2016 egdaniel <egdaniel@google.com> Update how we send draws to gpu backend to reduce state setting.

The main change here is that we pull primitive type off of the vertices, we set the gpu state on gpu once per pipeline/prim proc draw batch, and we create the ProgramDescriptor only for the Cache/ProgramBuilder.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1806983002

Review URL: https://codereview.chromium.org/1806983002
/external/skia/src/gpu/gl/GrGLGpu.h
c161310ffdbbcb3b023da2e375faefd211fa52e8 16-Mar-2016 cdalton <cdalton@nvidia.com> Begin tracking GL_TEXTURE_ and GL_DRAW_INDIRECT_ buffer bindings

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1796713005

Review URL: https://codereview.chromium.org/1796713005
/external/skia/src/gpu/gl/GrGLGpu.h
28f45b949acc746849100fbe112ee5280f0594c9 07-Mar-2016 cdalton <cdalton@nvidia.com> Add "sample locations" feature to GrProcessor

Adds a "sample locations" feature to GrProcessor. When enabled, this
allows a processor to know inside the shader where all the samples are
located. Also adds various infastructure to query, cache, and identify
multisample data.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1717393002

Review URL: https://codereview.chromium.org/1717393002
/external/skia/src/gpu/gl/GrGLGpu.h
55f2d2d57f4dd4109aa0c9dab6023373e3b928ec 26-Feb-2016 cblume <cblume@chromium.org> Creating functions for uploading a mipmapped texture.

BUG=476416
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1249543003

Review URL: https://codereview.chromium.org/1249543003
/external/skia/src/gpu/gl/GrGLGpu.h
f7b8b8affec91fcfab0d79199e466c16c254fe56 24-Feb-2016 ericrk <ericrk@chromium.org> Add wrapBackendTextureAsRenderTarget API

Skia's GrTextureProvider currently exposes two APIs for wrapping backend
objects:
* wrapBackendTexture - wraps a texture into a GrTexture. Depending on
flags, this GrTexture can be converted to a GrRenderTarget. Skia
manages the render target objects it may create to provide a render
target for the texture. This allows Skia to create stencil buffers
if needed and manager MSAA resolves.
* wrapBackendRenderTarget - wraps a FBO into a GrRenderTarget. This
object cannot be converted to a GrTexture. Skia does not manage
the render target objects for such a GrRenderTarget, and as such
cannot attach stencil buffers or perform MSAA resolves on the
created GrRenderTarget.

Given these two options, wrapBackendTexture provides more versatility
and allows Skia more room for optimization. Chrome currently uses
wrapBackendTexture for this reason.

While these two functions cover most cases, they do not provide a way
for Skia to wrap a texture into a render target (and gain the MSAA and
stencil buffer management), without also creating a GrTexture. This is
problematic in cases where a texture can be bound to a render target,
but cannot be textured from, as is the case in Chrome's limited support
for GL_TEXTURE_RECTANGLE.

To address this, a new function is created:
* wrapBackendTextureAsRenderTarget - wraps a texture into a
GrRenderTarget. As with wrapBackendTexture, the created render
target objects are fully managed by Skia. Unlike wrapBackendTexture
no GrTexture is created, and the created object will never be
textured from.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1709163003

Review URL: https://codereview.chromium.org/1709163003
/external/skia/src/gpu/gl/GrGLGpu.h
d2d2eb9a01777d8b1653407d8cb04eb21ce30bd2 17-Feb-2016 jvanverth <jvanverth@google.com> Add GrGpu support for Vulkan command buffer flush
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1705133002

Review URL: https://codereview.chromium.org/1705133002
/external/skia/src/gpu/gl/GrGLGpu.h
ed828001da75f4a3a5d31d9f1c1935e3595ce920 16-Feb-2016 cblume <cblume@chromium.org> There is an unused rowBytes parameter being passed along.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1636873002

Review URL: https://codereview.chromium.org/1636873002
/external/skia/src/gpu/gl/GrGLGpu.h
083617b9a7247dd4c52f8dfd195fa34a083e6f1d 12-Feb-2016 bsalomon <bsalomon@google.com> Make copySurface work in more situations.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1693923002

Review URL: https://codereview.chromium.org/1693923002
/external/skia/src/gpu/gl/GrGLGpu.h
9a1ed5d81dbfc7d5b67b568dfe12b4033a9af154 11-Feb-2016 erikchen <erikchen@chromium.org> skia: Add support for CHROMIUM_image backed textures.

I created a new abstract base class TextureStorageAllocator that consumers of
Skia can subclass and pass back to Skia. When a surface is created with a
pointer to a TextureStorageAllocator, any textures it creates, or that are
derived from the original surface, will allocate and deallocate storage using
the methods on TextureStorageAllocator.

BUG=https://code.google.com/p/chromium/issues/detail?id=579664
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623653002

Committed: https://skia.googlesource.com/skia/+/92098e691f10a010e7421125ba4d44c02506bb55

Committed: https://skia.googlesource.com/skia/+/7fec91ce6660190f8d7c5eb6f3061e4550cc672b

Committed: https://skia.googlesource.com/skia/+/b8d6e088590160f1198110c2371b802c1d541a36

Review URL: https://codereview.chromium.org/1623653002
/external/skia/src/gpu/gl/GrGLGpu.h
64e75330916f670cf9db9eb7a850afc325b18645 10-Feb-2016 caryclark <caryclark@google.com> Revert of skia: Add support for CHROMIUM_image backed textures. (patchset #19 id:380001 of https://codereview.chromium.org/1623653002/ )

Reason for revert:
Breaks ASAN bot:

Direct leak of 56 byte(s) in 1 object(s) allocated from:
...
test_CustomTexture

https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/2676/steps/dm/logs/stdio

Original issue's description:
> skia: Add support for CHROMIUM_image backed textures.
>
> I created a new abstract base class TextureStorageAllocator that consumers of
> Skia can subclass and pass back to Skia. When a surface is created with a
> pointer to a TextureStorageAllocator, any textures it creates, or that are
> derived from the original surface, will allocate and deallocate storage using
> the methods on TextureStorageAllocator.
>
> BUG=https://code.google.com/p/chromium/issues/detail?id=579664
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623653002
>
> Committed: https://skia.googlesource.com/skia/+/92098e691f10a010e7421125ba4d44c02506bb55
>
> Committed: https://skia.googlesource.com/skia/+/7fec91ce6660190f8d7c5eb6f3061e4550cc672b
>
> Committed: https://skia.googlesource.com/skia/+/b8d6e088590160f1198110c2371b802c1d541a36

TBR=bsalomon@chromium.org,cblume@chromium.org,bsalomon@google.com,robertphillips@google.com,egdaniel@google.com,reed@google.com,erikchen@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=https://code.google.com/p/chromium/issues/detail?id=579664

Review URL: https://codereview.chromium.org/1684993002
/external/skia/src/gpu/gl/GrGLGpu.h
b8d6e088590160f1198110c2371b802c1d541a36 09-Feb-2016 erikchen <erikchen@chromium.org> skia: Add support for CHROMIUM_image backed textures.

I created a new abstract base class TextureStorageAllocator that consumers of
Skia can subclass and pass back to Skia. When a surface is created with a
pointer to a TextureStorageAllocator, any textures it creates, or that are
derived from the original surface, will allocate and deallocate storage using
the methods on TextureStorageAllocator.

BUG=https://code.google.com/p/chromium/issues/detail?id=579664
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623653002

Committed: https://skia.googlesource.com/skia/+/92098e691f10a010e7421125ba4d44c02506bb55

Committed: https://skia.googlesource.com/skia/+/7fec91ce6660190f8d7c5eb6f3061e4550cc672b

Review URL: https://codereview.chromium.org/1623653002
/external/skia/src/gpu/gl/GrGLGpu.h
f1036b2c6610e106b299a1e2b69b814ff18b60f5 06-Feb-2016 bsalomon <bsalomon@google.com> Revert of skia: Add support for CHROMIUM_image backed textures. (patchset #17 id:340001 of https://codereview.chromium.org/1623653002/ )

Reason for revert:
New unit test is failing on Windows ANGLE bots:
http://build.chromium.org/p/client.skia/builders/Test-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Release-ANGLE/builds/1866/steps/dm/logs/stdio

Original issue's description:
> skia: Add support for CHROMIUM_image backed textures.
>
> I created a new abstract base class TextureStorageAllocator that consumers of
> Skia can subclass and pass back to Skia. When a surface is created with a
> pointer to a TextureStorageAllocator, any textures it creates, or that are
> derived from the original surface, will allocate and deallocate storage using
> the methods on TextureStorageAllocator.
>
> BUG=https://code.google.com/p/chromium/issues/detail?id=579664
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623653002
>
> Committed: https://skia.googlesource.com/skia/+/92098e691f10a010e7421125ba4d44c02506bb55
>
> Committed: https://skia.googlesource.com/skia/+/7fec91ce6660190f8d7c5eb6f3061e4550cc672b

TBR=bsalomon@chromium.org,cblume@chromium.org,robertphillips@google.com,egdaniel@google.com,reed@google.com,erikchen@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=https://code.google.com/p/chromium/issues/detail?id=579664

Review URL: https://codereview.chromium.org/1673923003
/external/skia/src/gpu/gl/GrGLGpu.h
7fec91ce6660190f8d7c5eb6f3061e4550cc672b 05-Feb-2016 erikchen <erikchen@chromium.org> skia: Add support for CHROMIUM_image backed textures.

I created a new abstract base class TextureStorageAllocator that consumers of
Skia can subclass and pass back to Skia. When a surface is created with a
pointer to a TextureStorageAllocator, any textures it creates, or that are
derived from the original surface, will allocate and deallocate storage using
the methods on TextureStorageAllocator.

BUG=https://code.google.com/p/chromium/issues/detail?id=579664
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623653002

Committed: https://skia.googlesource.com/skia/+/92098e691f10a010e7421125ba4d44c02506bb55

Review URL: https://codereview.chromium.org/1623653002
/external/skia/src/gpu/gl/GrGLGpu.h
af8bc7d7a4fb1fbbc15bb0881a360ff0d7551ea2 05-Feb-2016 cdalton <cdalton@nvidia.com> Add support for GL_EXT_raster_multisample

Updates the GrGLGpu to call glRasterSamplesEXT when multisample is
enabled for a mixed sampled render target, but the stencil test is not
active.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666563003

Review URL: https://codereview.chromium.org/1666563003
/external/skia/src/gpu/gl/GrGLGpu.h
e63ffef6248bd103b5f7827f1e4bc75e47ca9e20 05-Feb-2016 bsalomon <bsalomon@google.com> Remove deferred clear from SkGpuDevice

Add combining to GrClearBatch

Fix issue with state tracking in GrGLGpu::createTestingOnlyBackendTexture

Add tests for clearing GPU SkSurfaces and add tests for GrDrawContext::clear().

Add comment that SkCanvas::flush will resolve the RT in the GPU case.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658823002

Review URL: https://codereview.chromium.org/1658823002
/external/skia/src/gpu/gl/GrGLGpu.h
e7d7f90b59b15a291c113b449f5c6ac57f8d1aac 05-Feb-2016 jcgregorio <jcgregorio@google.com> Revert of skia: Add support for CHROMIUM_image backed textures. (patchset #14 id:260001 of https://codereview.chromium.org/1623653002/ )

Reason for revert:
Seems to causing the DEPS roll to fail:

https://codereview.chromium.org/1668293002/

Original issue's description:
> skia: Add support for CHROMIUM_image backed textures.
>
> I created a new abstract base class TextureStorageAllocator that consumers of
> Skia can subclass and pass back to Skia. When a surface is created with a
> pointer to a TextureStorageAllocator, any textures it creates, or that are
> derived from the original surface, will allocate and deallocate storage using
> the methods on TextureStorageAllocator.
>
> BUG=https://code.google.com/p/chromium/issues/detail?id=579664
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623653002
>
> Committed: https://skia.googlesource.com/skia/+/92098e691f10a010e7421125ba4d44c02506bb55

TBR=bsalomon@chromium.org,cblume@chromium.org,bsalomon@google.com,robertphillips@google.com,egdaniel@google.com,reed@google.com,erikchen@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=https://code.google.com/p/chromium/issues/detail?id=579664

Review URL: https://codereview.chromium.org/1669213002
/external/skia/src/gpu/gl/GrGLGpu.h
92098e691f10a010e7421125ba4d44c02506bb55 04-Feb-2016 erikchen <erikchen@chromium.org> skia: Add support for CHROMIUM_image backed textures.

I created a new abstract base class TextureStorageAllocator that consumers of
Skia can subclass and pass back to Skia. When a surface is created with a
pointer to a TextureStorageAllocator, any textures it creates, or that are
derived from the original surface, will allocate and deallocate storage using
the methods on TextureStorageAllocator.

BUG=https://code.google.com/p/chromium/issues/detail?id=579664
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623653002

Review URL: https://codereview.chromium.org/1623653002
/external/skia/src/gpu/gl/GrGLGpu.h
2279325d539700ee3da29d6e874b3b3ce1dcf49c 30-Jan-2016 ethannicholas <ethannicholas@google.com> added support for PLS path rendering

BUG=skia:3555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002

Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822

Review URL: https://codereview.chromium.org/1541903002
/external/skia/src/gpu/gl/GrGLGpu.h
5366a09ed07e886dd5fd1b94828241c53df3726d 22-Jan-2016 ethannicholas <ethannicholas@google.com> Revert of added support for PLS path rendering (patchset #16 id:360001 of https://codereview.chromium.org/1541903002/ )

Reason for revert:
ASAN failure at src/gpu/GrXferProcessor.cpp:224

Original issue's description:
> added support for PLS path rendering
>
> BUG=skia:3555
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002
>
> Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822

TBR=bsalomon@google.com,egdaniel@google.com,joshualitt@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1626553002

Review URL: https://codereview.chromium.org/1626553002
/external/skia/src/gpu/gl/GrGLGpu.h
1aa202935ff698f1f35c5435455073fd9f1d08de 22-Jan-2016 bsalomon <bsalomon@google.com> Add ability to query read pixels support without a render target.

Add more checks to onGetReadPixelsInfo.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1615023003

Review URL: https://codereview.chromium.org/1615023003
/external/skia/src/gpu/gl/GrGLGpu.h
7df3f5e127f8016d17b637cc48a6a4718f1a6822 22-Jan-2016 ethannicholas <ethannicholas@google.com> added support for PLS path rendering

BUG=skia:3555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002

Review URL: https://codereview.chromium.org/1541903002
/external/skia/src/gpu/gl/GrGLGpu.h
e179a9167f71dfc41668b05d40082aae76367fa6 20-Jan-2016 bsalomon <bsalomon@google.com> Texturing support for RECTANGLE textures.

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
/external/skia/src/gpu/gl/GrGLGpu.h
e5286e0b37abe4d0db67a6b3d87b2d5a12a70ab3 14-Jan-2016 bsalomon <bsalomon@google.com> Beginning of support for texture rectangles.

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
/external/skia/src/gpu/gl/GrGLGpu.h
7f9b2e4a45775e8cdd3f98260a66c0c6e1840550 12-Jan-2016 bsalomon <bsalomon@google.com> Swizzle shader output and blend when using GL_RED to implement kAlpha_8_GrPixelConfig
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1584473002

Review URL: https://codereview.chromium.org/1584473002
/external/skia/src/gpu/gl/GrGLGpu.h
17aa047066eaaa56637c4c2b93c8c4c374127dbf 05-Jan-2016 jvanverth <jvanverth@google.com> More framework support for TransferBuffers

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1534123003

Review URL: https://codereview.chromium.org/1534123003
/external/skia/src/gpu/gl/GrGLGpu.h
304473749db1ee877addb3ddf090d2e36ede2c2a 21-Dec-2015 bsalomon <bsalomon@google.com> Move config table to GrGLCaps from GrGLGpu.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535153002

Review URL: https://codereview.chromium.org/1535153002
/external/skia/src/gpu/gl/GrGLGpu.h
a11e5fce33f8d6f38c3324d639ca76ddf12598ba 18-Dec-2015 bsalomon <bsalomon@google.com> Remove GrGLGpu::configToGLFormats
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1533903004

Review URL: https://codereview.chromium.org/1533903004
/external/skia/src/gpu/gl/GrGLGpu.h
926cb023892378a2eb7c05fc0bce8650ec09ceb1 18-Dec-2015 bsalomon <bsalomon@google.com> Add field for internalFormat param to glTexImage to GrGLGpu::ConfigEntry.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1532273002

Review URL: https://codereview.chromium.org/1532273002
/external/skia/src/gpu/gl/GrGLGpu.h
5b30c6f6224f5e9d29ff7060311556ba0eee0fdc 17-Dec-2015 bsalomon <bsalomon@google.com> Add fExternalFormatForTexImage to GrGLGpu::ConfigEntry. Use it in GrGLGpu::uploadTexData.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1531343002

Review URL: https://codereview.chromium.org/1531343002
/external/skia/src/gpu/gl/GrGLGpu.h
62a627be6a7e3fdb4fe1c67de0c371a276c761f6 17-Dec-2015 bsalomon <bsalomon@google.com> Move the GrGLGpu config stencil format index into ConfigTable
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1526253007

Review URL: https://codereview.chromium.org/1526253007
/external/skia/src/gpu/gl/GrGLGpu.h
54c6fe8519f2927181a0847d22a61190529645e8 16-Dec-2015 bsalomon <bsalomon@google.com> Generate a table of config->glformat info. Precursor to lifting this to caps.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1527383003

Review URL: https://codereview.chromium.org/1527383003
/external/skia/src/gpu/gl/GrGLGpu.h
6dea83f244cfdea52901eef6b31cee60b07a8ea0 03-Dec-2015 bsalomon <bsalomon@google.com> Add option to draw wireframe batch bounds

Committed: https://skia.googlesource.com/skia/+/26489ef21ff5df33b8cb5943fddfd4604e203960

Review URL: https://codereview.chromium.org/1494473005
/external/skia/src/gpu/gl/GrGLGpu.h
e2725f584095cd0a2cc5100fb6f1dc6a1740284e 03-Dec-2015 scroggo <scroggo@google.com> Revert of Add option to draw wireframe batch bounds (patchset #6 id:100001 of https://codereview.chromium.org/1494473005/ )

Reason for revert:
Looks to be responsible for breaking builds e.g. https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Mac10.9-Clang-MacMini6.2-GPU-HD4000-x86_64-Debug/builds/3030/steps/dm/logs/stdio

Original issue's description:
> Add option to draw wireframe batch bounds
>
> Committed: https://skia.googlesource.com/skia/+/26489ef21ff5df33b8cb5943fddfd4604e203960

TBR=joshualitt@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1492633007
/external/skia/src/gpu/gl/GrGLGpu.h
26489ef21ff5df33b8cb5943fddfd4604e203960 03-Dec-2015 bsalomon <bsalomon@google.com> Add option to draw wireframe batch bounds

Review URL: https://codereview.chromium.org/1494473005
/external/skia/src/gpu/gl/GrGLGpu.h
73063dc517f424ad5660db0fbc5fe6fcc13f77f7 03-Dec-2015 jvanverth <jvanverth@google.com> Add transfer buffer support.

BUG=skia:4604

Committed: https://skia.googlesource.com/skia/+/fa498fe12239988578465d0dee69f0d5645bb361

Review URL: https://codereview.chromium.org/1490473003
/external/skia/src/gpu/gl/GrGLGpu.h
53c5d5fb795fe04bec050c0583223027c25b839b 03-Dec-2015 egdaniel <egdaniel@google.com> Revert of Add transfer buffer support. (patchset #9 id:160001 of 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
/external/skia/src/gpu/gl/GrGLGpu.h
8fd844f38ed46eaac78bb187623ffcc40b592707 02-Dec-2015 joshualitt <joshualitt@chromium.org> reset shader compilations for stats

BUG=skia:

Review URL: https://codereview.chromium.org/1491823003
/external/skia/src/gpu/gl/GrGLGpu.h
fa498fe12239988578465d0dee69f0d5645bb361 02-Dec-2015 jvanverth <jvanverth@google.com> Add transfer buffer support.

BUG=skia:4604

Review URL: https://codereview.chromium.org/1490473003
/external/skia/src/gpu/gl/GrGLGpu.h
7ea33f5e1ae9eb1fb1e7377d6edf6acdcf71d103 22-Nov-2015 bsalomon <bsalomon@google.com> Initial version of external_oes texture support and unit test

Committed: https://skia.googlesource.com/skia/+/27a048700778d4cebfc23301d1780649791b0e03

Review URL: https://codereview.chromium.org/1451683002
/external/skia/src/gpu/gl/GrGLGpu.h
0315dbcb554fe7f5fa80a81079fd8d2e61fc20e1 21-Nov-2015 bsalomon <bsalomon@google.com> Revert of Initial version of external_oes texture support and unit test (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
/external/skia/src/gpu/gl/GrGLGpu.h
27a048700778d4cebfc23301d1780649791b0e03 21-Nov-2015 bsalomon <bsalomon@google.com> Initial version of external_oes texture support and unit test

Review URL: https://codereview.chromium.org/1451683002
/external/skia/src/gpu/gl/GrGLGpu.h
7e806f3f8a542bb6b2026a843de99a8640e2e87f 12-Nov-2015 cdalton <cdalton@nvidia.com> Revert of Enable stencil clipping in mixed sampled render targets (patchset #6 id:100001 of https://codereview.chromium.org/1232103002/ )

Reason for revert:
Co-centered sample locations are not needed to do stencil clip with mixed samples

Original issue's description:
> Implement stencil clipping in mixed sampled render targets
>
> This change enables multisampled clipping for mixed sampled
> render targets. Previously clipping in mixed samples config
> behaved the same as in the gpu config.
>
> In order to retrofit non-MSAA draw methods, programmable sample
> locations are used in order to colocate all samples at (0.5, 0.5).
> Requires support for NV_sample_locations.
>
> BUG=skia:4399
>
> Committed:
> https://skia.googlesource.com/skia/+/3e77ba96d56d15db30ac6d8ccb900e30aafcbb16

BUG=skia:

Review URL: https://codereview.chromium.org/1415873011
/external/skia/src/gpu/gl/GrGLGpu.h
67d7620285cdfa60158add6615db03bd48e6d8b0 11-Nov-2015 bsalomon <bsalomon@google.com> Fix leaks in unit tests of GrGLTextureInfos

TBR=egdaniel@google.com

Review URL: https://codereview.chromium.org/1433353005
/external/skia/src/gpu/gl/GrGLGpu.h
d472792a72c0c433a205d42a73e0b77d65f8d76f 10-Nov-2015 cdalton <cdalton@nvidia.com> Revert of Fix mixed samples stencil clip (patchset #5 id:80001 of https://codereview.chromium.org/1431593006/ )

Reason for revert:
Co-centered sample locations are not needed to do stencil clip with mixed samples.

Original issue's description:
> Fix mixed samples stencil clip
>
> Fixes rendering bugs and nondeterminism in gm.
>
> Before, mixed samples stencil clip would try to infer whether the draw
> wanted co-centered sample locations from within GrGLGpu, which caused
> various errors. This change reworks it so the draw itself can request
> the co-centered sample locations when it knows it will need them.
>
> Also reduces framebuffer binds by moving the code that enables
> GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS into flushRenderTarget.
>
> Committed: https://skia.googlesource.com/skia/+/14184d5567b58085b6d8a6375796d405056f7f73

TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1407063011
/external/skia/src/gpu/gl/GrGLGpu.h
091f60c2a0e4504c017b8a67ff96a0e829519b14 10-Nov-2015 bsalomon <bsalomon@google.com> Use a struct for client GL texture handles

Review URL: https://codereview.chromium.org/1429863009
/external/skia/src/gpu/gl/GrGLGpu.h
14184d5567b58085b6d8a6375796d405056f7f73 10-Nov-2015 cdalton <cdalton@nvidia.com> Fix mixed samples stencil clip

Fixes rendering bugs and nondeterminism in gm.

Before, mixed samples stencil clip would try to infer whether the draw
wanted co-centered sample locations from within GrGLGpu, which caused
various errors. This change reworks it so the draw itself can request
the co-centered sample locations when it knows it will need them.

Also reduces framebuffer binds by moving the code that enables
GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS into flushRenderTarget.

Review URL: https://codereview.chromium.org/1431593006
/external/skia/src/gpu/gl/GrGLGpu.h
b7e7d5748d74c7482436b33733d7770484bb62e3 04-Nov-2015 egdaniel <egdaniel@google.com> Create swizzle table inside of glsl caps

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/4036674952f341dab0695c3b054fefa5bb8cdec1

Review URL: https://codereview.chromium.org/1420033005
/external/skia/src/gpu/gl/GrGLGpu.h
0c2999974d189ea257f82c9b7672d9afda52f6c2 03-Nov-2015 egdaniel <egdaniel@google.com> Revert of Create swizzle table inside of glsl caps (patchset #12 id:210001 of https://codereview.chromium.org/1420033005/ )

Reason for revert:
Breaking gm's on nexus7 and s3

Original issue's description:
> Create swizzle table inside of glsl caps
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4036674952f341dab0695c3b054fefa5bb8cdec1

TBR=bsalomon@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1426653008
/external/skia/src/gpu/gl/GrGLGpu.h
4036674952f341dab0695c3b054fefa5bb8cdec1 03-Nov-2015 egdaniel <egdaniel@google.com> Create swizzle table inside of glsl caps

BUG=skia:

Review URL: https://codereview.chromium.org/1420033005
/external/skia/src/gpu/gl/GrGLGpu.h
574a4c153d8a3f42b2806848f5c23cbf55e18bbb 02-Nov-2015 egdaniel <egdaniel@google.com> Move shader compiling to ProgramBuilder and various ShaderBuilder cleanups.

An additional positive of this CL is that GrGLShaderBuilder is now GL independent besides GrGLProgramBuilder

BUG=skia:

Review URL: https://codereview.chromium.org/1431433003
/external/skia/src/gpu/gl/GrGLGpu.h
93316b92e565072e2b6fe4147802a9ffaf92eb77 23-Oct-2015 joshualitt <joshualitt@chromium.org> Move GrGLBufferImpl's GL calls to behind GrGLGpu

BUG=skia:

Review URL: https://codereview.chromium.org/1417313003
/external/skia/src/gpu/gl/GrGLGpu.h
10528f1d5838ae1cac015024c4e8731484f888d1 14-Oct-2015 bsalomon <bsalomon@google.com> Store texture target on GrGLTexture. This is in preparation for using texture targets other than 2D.

Review URL: https://codereview.chromium.org/1403123002
/external/skia/src/gpu/gl/GrGLGpu.h
3e77ba96d56d15db30ac6d8ccb900e30aafcbb16 01-Oct-2015 vbuzinov <vbuzinov@nvidia.com> Implement stencil clipping in mixed sampled render targets

This change enables multisampled clipping for mixed sampled
render targets. Previously clipping in mixed samples config
behaved the same as in the gpu config.

In order to retrofit non-MSAA draw methods, programmable sample
locations are used in order to colocate all samples at (0.5, 0.5).
Requires support for NV_sample_locations.

BUG=skia:4399

Review URL: https://codereview.chromium.org/1232103002
/external/skia/src/gpu/gl/GrGLGpu.h
aca31fea8ca620bfdb2887641b7ba56e401a72d7 22-Sep-2015 bsalomon <bsalomon@google.com> Stop supporting HW dither

Review URL: https://codereview.chromium.org/1359833004
/external/skia/src/gpu/gl/GrGLGpu.h
ec00d94199fad7723b5987b86c1abef8ddafe2d8 14-Sep-2015 egdaniel <egdaniel@google.com> Move some of the adding stencil attachment logic of Gpu and into Render Target.

The new flow of calls for attaching a Stencil looks like:

Client
rt->attachStencilAttachment()
gpu->getStencilAttachment()
glgpu->createStencilAttachment()
glrt->completeStencilAttachment() //actually attaches

BUG=skia:

Review URL: https://codereview.chromium.org/1333383002
/external/skia/src/gpu/gl/GrGLGpu.h
465283cdf98ed9ab5285ca7b9814e430fca1d452 11-Sep-2015 joshualitt <joshualitt@chromium.org> Remove batchtracker

BUG=skia:

Review URL: https://codereview.chromium.org/1332923003
/external/skia/src/gpu/gl/GrGLGpu.h
ff1d547c72b7c70af7bddfba01d4646b2389db7a 10-Sep-2015 egdaniel <egdaniel@google.com> Calculate pixel config and stencil fmt pairs once per pixel config.

We use a temp FB and stencil buffer to test different stencil formats with
a given pixel config. We then keep a map from pixel config to desired stencil
format.

BUG=skia:

Review URL: https://codereview.chromium.org/1317443004
/external/skia/src/gpu/gl/GrGLGpu.h
dac7005b877c7c1c6f36b6e298133dfc7b85b9c0 01-Sep-2015 joshualitt <joshualitt@chromium.org> Remove GrGpuTraceMarker hooks until we rethink the design

TBR=bsalomon@google.com
BUG=526308

Review URL: https://codereview.chromium.org/1323823003
/external/skia/src/gpu/gl/GrGLGpu.h
96fcdcc219d2a0d3579719b84b28bede76efba64 27-Aug-2015 halcanary <halcanary@google.com> Style Change: NULL->nullptr
DOCS_PREVIEW= https://skia.org/?cl=1316233002

Review URL: https://codereview.chromium.org/1316233002
/external/skia/src/gpu/gl/GrGLGpu.h
385fe4d4b62d7d1dd76116dd570df3290a2f487b 26-Aug-2015 halcanary <halcanary@google.com> Style Change: SkNEW->new; SkDELETE->delete
DOCS_PREVIEW= https://skia.org/?cl=1316123003

Review URL: https://codereview.chromium.org/1316123003
/external/skia/src/gpu/gl/GrGLGpu.h
1cbdcde9116e9efb514236faf8cfa42649a041d1 21-Aug-2015 joshualitt <joshualitt@chromium.org> Fix for copy surface not handling dirty context

BUG=521943

Review URL: https://codereview.chromium.org/1304263003
/external/skia/src/gpu/gl/GrGLGpu.h
cb02b38b2c48bfde333ce3c699dd0451e2d867fa 12-Aug-2015 bsalomon <bsalomon@google.com> Check for xfer barriers in GrBatch, auto-issue barriers in GrGpu

Review URL: https://codereview.chromium.org/1287973003
/external/skia/src/gpu/gl/GrGLGpu.h
51c8d409ad55a72eceb46ec7b65702d6d540aa4f 06-Aug-2015 egdaniel <egdaniel@google.com> Move some work from backend onClear to base class clear

BUG=skia:

Review URL: https://codereview.chromium.org/1275543005
/external/skia/src/gpu/gl/GrGLGpu.h
16921ec30a81976129d507b1148c93a322e61a4f 31-Jul-2015 bsalomon <bsalomon@google.com> SRGB read and write pixels working and unit test

Review URL: https://codereview.chromium.org/1264003002
/external/skia/src/gpu/gl/GrGLGpu.h
6cb3cbe8e67db5fb94ba7d98f60833229b008544 30-Jul-2015 bsalomon <bsalomon@google.com> Make GrGpu read/write pixels take GrSurface

Review URL: https://codereview.chromium.org/1262473004
/external/skia/src/gpu/gl/GrGLGpu.h
f0674516cb18f6b13e34f404ff5793d9b9ebb56c 28-Jul-2015 bsalomon <bsalomon@google.com> Move draw on upload decision in GrGpu

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/0341b4427e5f037e3b501ed6e57dfdb7b40f150e

Review URL: https://codereview.chromium.org/1257073003
/external/skia/src/gpu/gl/GrGLGpu.h
c3fb74693e25cf6dffc8add8669c54c4b7ace3a2 28-Jul-2015 bsalomon <bsalomon@google.com> Revert of Move draw on upload decision in GrGpu (patchset #4 id:50001 of https://codereview.chromium.org/1257073003/)

Reason for revert:
breaking write pixels test on bots

Original issue's description:
> Move draw on upload decision in GrGpu
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/0341b4427e5f037e3b501ed6e57dfdb7b40f150e

TBR=robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1260293004
/external/skia/src/gpu/gl/GrGLGpu.h
0341b4427e5f037e3b501ed6e57dfdb7b40f150e 28-Jul-2015 bsalomon <bsalomon@google.com> Move draw on upload decision in GrGpu

BUG=skia:

Review URL: https://codereview.chromium.org/1257073003
/external/skia/src/gpu/gl/GrGLGpu.h
398260262f8508687614ec496a23b8152bcdc967 23-Jul-2015 bsalomon <bsalomon@google.com> Attempt to somewhat simplify GrContext::readSurfacePixels interaction with GrGpu.

Review URL: https://codereview.chromium.org/1255483005
/external/skia/src/gpu/gl/GrGLGpu.h
889579287770ba35156a73aa02d9ef5d2313c490 14-Jul-2015 jvanverth <jvanverth@google.com> Rename backing texture testing routines

Review URL: https://codereview.chromium.org/1230193006
/external/skia/src/gpu/gl/GrGLGpu.h
1c735488cbec9abdb25c9a12e0c11af9c302a776 13-Jul-2015 joshualitt <joshualitt@chromium.org> Start to propagate constness of GrPipelineBuilder up the stack

BUG=skia:

Review URL: https://codereview.chromium.org/1229143007
/external/skia/src/gpu/gl/GrGLGpu.h
672bb7fc6640e3fc68107354ed4ae45a2a1e2d29 13-Jul-2015 jvanverth <jvanverth@google.com> Remove GL-specific code from GMs and tests

TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1232173002
/external/skia/src/gpu/gl/GrGLGpu.h
cfe62e30848eadead4358b0385e57723779b762b 01-Jul-2015 kkinnunen <kkinnunen@nvidia.com> Cleanup legacy NVPR-related definitions

Fixed-function NVPR codepaths were removed a while ago. Only NVPR API
version 1.3 (PathFragmentInputGen) was left working. Remove
backwards-compatibility code that was left behind.

Remove some NVPR API function typedefs that were left from initial
commits.

Remove PathCoords function pointer from GrGLInterface, it has
never been called and causes problems in the future, since it will
not be implemented in the Chromium pseudo extension.

Avoid failing interface creation even if nvprmsaaXX config is
requested but the driver is not recent enough. The SAN bots have
old driver, but try to run nvprmsaa16 configs. Instead, print
out a warning.

Committed: https://skia.googlesource.com/skia/+/fb8d6884e0e01d0c2f8596adf5af1efb0d08de7e

Committed: https://skia.googlesource.com/skia/+/e35b5d99d8dfcc6b2be844df28cba47436380809

Review URL: https://codereview.chromium.org/1177243004
/external/skia/src/gpu/gl/GrGLGpu.h
439f23e563e2ef6a497f1894c8447921f1e1f7e2 30-Jun-2015 jvanverth <jvanverth@google.com> Revert of Cleanup legacy NVPR-related definitions (patchset #4 id:60001 of https://codereview.chromium.org/1177243004/)

Reason for revert:
Breaks the Ubuntu *SAN bots.

Original issue's description:
> Cleanup legacy NVPR-related definitions
>
> Fixed-function NVPR codepaths were removed a while ago. Only NVPR API
> version 1.3 (PathFragmentInputGen) was left working. Remove
> backwards-compatibility code that was left behind.
>
> Remove some NVPR API function typedefs that were left from initial
> commits.
>
> Remove PathCoords function pointer from GrGLInterface, it has
> never been called and causes problems in the future, since it will
> not be implemented in the Chromium pseudo extension.
>
> Committed: https://skia.googlesource.com/skia/+/fb8d6884e0e01d0c2f8596adf5af1efb0d08de7e
>
> Committed: https://skia.googlesource.com/skia/+/e35b5d99d8dfcc6b2be844df28cba47436380809

TBR=joshualitt@google.com,cdalton@nvidia.com,bsalomon@google.com,kkinnunen@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1219663005
/external/skia/src/gpu/gl/GrGLGpu.h
e35b5d99d8dfcc6b2be844df28cba47436380809 30-Jun-2015 kkinnunen <kkinnunen@nvidia.com> Cleanup legacy NVPR-related definitions

Fixed-function NVPR codepaths were removed a while ago. Only NVPR API
version 1.3 (PathFragmentInputGen) was left working. Remove
backwards-compatibility code that was left behind.

Remove some NVPR API function typedefs that were left from initial
commits.

Remove PathCoords function pointer from GrGLInterface, it has
never been called and causes problems in the future, since it will
not be implemented in the Chromium pseudo extension.

Committed: https://skia.googlesource.com/skia/+/fb8d6884e0e01d0c2f8596adf5af1efb0d08de7e

Review URL: https://codereview.chromium.org/1177243004
/external/skia/src/gpu/gl/GrGLGpu.h
f9ad558943ee14bdff824ebfb33988bece8ed3db 26-Jun-2015 reed <reed@chromium.org> Revert of Revert of Return GrGLContext from GrTestTarget (patchset #1 id:1 of https://codereview.chromium.org/1211123004/)

Reason for revert:
un-referting, did not help DEPS roll

Original issue's description:
> Revert of Return GrGLContext from GrTestTarget (patchset #3 id:40001 of https://codereview.chromium.org/1207393002/)
>
> Reason for revert:
> speculative revert to unblock DEPS roll (layout-tests)
>
> Original issue's description:
> > Return GrGLContext from GrTestTarget
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/b6d93ea428ca5d13641c35faca7d0380980a3a17
>
> TBR=bsalomon@google.com,joshualitt@google.com,joshualitt@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/1852ec2b46a2a0efbb3550ff4d8b640f56a810e9

TBR=bsalomon@google.com,joshualitt@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1215593002
/external/skia/src/gpu/gl/GrGLGpu.h
1852ec2b46a2a0efbb3550ff4d8b640f56a810e9 26-Jun-2015 reed <reed@chromium.org> Revert of Return GrGLContext from GrTestTarget (patchset #3 id:40001 of https://codereview.chromium.org/1207393002/)

Reason for revert:
speculative revert to unblock DEPS roll (layout-tests)

Original issue's description:
> Return GrGLContext from GrTestTarget
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/b6d93ea428ca5d13641c35faca7d0380980a3a17

TBR=bsalomon@google.com,joshualitt@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1211123004
/external/skia/src/gpu/gl/GrGLGpu.h
b6d93ea428ca5d13641c35faca7d0380980a3a17 26-Jun-2015 joshualitt <joshualitt@chromium.org> Return GrGLContext from GrTestTarget

BUG=skia:

Review URL: https://codereview.chromium.org/1207393002
/external/skia/src/gpu/gl/GrGLGpu.h
538bacb4bb3ceac7786108cd68b04ed58b1c29c7 25-Jun-2015 fmalita <fmalita@chromium.org> Revert of Cleanup legacy NVPR-related definitions (patchset #3 id:40001 of https://codereview.chromium.org/1177243004/)

Reason for revert:
Broke the GPU SAN bots: https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/779/steps/dm/logs/stdio

Original issue's description:
> Cleanup legacy NVPR-related definitions
>
> Fixed-function NVPR codepaths were removed a while ago. Only NVPR API
> version 1.3 (PathFragmentInputGen) was left working. Remove
> backwards-compatibility code that was left behind.
>
> Remove some NVPR API function typedefs that were left from initial
> commits.
>
> Remove PathCoords function pointer from GrGLInterface, it has
> never been called and causes problems in the future, since it will
> not be implemented in the Chromium pseudo extension.
>
> Committed: https://skia.googlesource.com/skia/+/fb8d6884e0e01d0c2f8596adf5af1efb0d08de7e

TBR=joshualitt@google.com,cdalton@nvidia.com,bsalomon@google.com,kkinnunen@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1206333003
/external/skia/src/gpu/gl/GrGLGpu.h
fb8d6884e0e01d0c2f8596adf5af1efb0d08de7e 25-Jun-2015 kkinnunen <kkinnunen@nvidia.com> Cleanup legacy NVPR-related definitions

Fixed-function NVPR codepaths were removed a while ago. Only NVPR API
version 1.3 (PathFragmentInputGen) was left working. Remove
backwards-compatibility code that was left behind.

Remove some NVPR API function typedefs that were left from initial
commits.

Remove PathCoords function pointer from GrGLInterface, it has
never been called and causes problems in the future, since it will
not be implemented in the Chromium pseudo extension.

Review URL: https://codereview.chromium.org/1177243004
/external/skia/src/gpu/gl/GrGLGpu.h
6dc6f5f4a153d33ed91565cb3cd397a310a937d0 18-Jun-2015 bsalomon <bsalomon@google.com> Add support for creating texture backed images where Skia will delete the texture.

Review URL: https://codereview.chromium.org/1187523005
/external/skia/src/gpu/gl/GrGLGpu.h
6df86409ca586c3cb34f616f03501bd96181f9e4 01-Jun-2015 bsalomon <bsalomon@google.com> Revert "Revert of Move copy-surface-as-draw fallback to GrGLGpu. (patchset #12 id:220001 of https://codereview.chromium.org/1144433002/)"

This reverts commit 404b3b264b833eb7cffdc833c7e2ebbd708e123a.

Review URL: https://codereview.chromium.org/1161063003
/external/skia/src/gpu/gl/GrGLGpu.h
cabe20cafd5f091a68bbc2c0c48755ba9b61b0b7 01-Jun-2015 kkinnunen <kkinnunen@nvidia.com> Refactor GrGpu path rendering functions to GrPathRendering

GrGpu, GrGLGpu, GrPathRendering, GrGLPathRendering all duplicated
each others' path rendering related member functions. Make
GrPathRending the logical extension of GrGpu by removing the methods
from GrGpu. Similarly to the GL variants.

Changes includes and forward declarations due to removing
GrDrawTarget.h include from GrGpu.h. This was necessary due to
GrDrawTarget.h including GrPathRendering.h, and now GrPathRendering.h
includes GrGpu.h. (Also GrGpu.h does not need GrDrawTarget.h anymore).

Very slight runtime improvement on x86_64:
desk_fontwipe.skp_1 836us -> 841us 1.01x
desk_silkfinance.skp_1 2.01ms -> 2.01ms 1x
desk_forecastio.skp_1 7.03ms -> 7.05ms 1x
desk_weather.skp_1 3.74ms -> 3.74ms 1x
desk_twitter.skp_1 8.02ms -> 8.01ms 1x
desk_mapsvg.skp_1 5.24ms -> 5.23ms 1x
desk_pokemonwiki.skp_1 7.06ms -> 7.03ms 1x
desk_sfgate.skp_1 3.19ms -> 3.17ms 1x
tabl_cuteoverload.skp_1 2.66ms -> 2.64ms 0.99x
...
tabl_transformice.skp_1 3.06ms -> 2.98ms 0.98x
tabl_googlecalendar.skp_1 11.3ms -> 11ms 0.97x
tabl_gamedeksiam.skp_1 12.8ms -> 12.4ms 0.97x
desk_samoasvg.skp_1 10.6ms -> 10.3ms 0.97x
tabl_worldjournal.skp_1 4.44ms -> 4.3ms 0.97x

Review URL: https://codereview.chromium.org/1157683006
/external/skia/src/gpu/gl/GrGLGpu.h
993a4216a6014b9de8f4d8120360c94550dc6761 29-May-2015 bsalomon <bsalomon@google.com> SkImage::NewFromYUVTexturesCopy

Review URL: https://codereview.chromium.org/1149553002
/external/skia/src/gpu/gl/GrGLGpu.h
682c269a1511200322916af83053e26004c0ec40 22-May-2015 bsalomon <bsalomon@google.com> Store context options on caps.

Committed: https://skia.googlesource.com/skia/+/f28cff71db2cbb1ff18a8fbf1e80ca761d1f69bc

Review URL: https://codereview.chromium.org/1158433006
/external/skia/src/gpu/gl/GrGLGpu.h
08bf86d1b7b03cc6829f2488d9adcb0502e84b97 22-May-2015 bsalomon <bsalomon@google.com> Revert of Store context options on caps. (patchset #3 id:40001 of https://codereview.chromium.org/1158433006/)

Reason for revert:
breaking chromeos build (???)

Original issue's description:
> Store context options on caps.
>
> Committed: https://skia.googlesource.com/skia/+/f28cff71db2cbb1ff18a8fbf1e80ca761d1f69bc

TBR=joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1151603005
/external/skia/src/gpu/gl/GrGLGpu.h
f28cff71db2cbb1ff18a8fbf1e80ca761d1f69bc 22-May-2015 bsalomon <bsalomon@google.com> Store context options on caps.

Review URL: https://codereview.chromium.org/1158433006
/external/skia/src/gpu/gl/GrGLGpu.h
424cc26add7ed491c6941d0c0c3a0e6d83190307 22-May-2015 bsalomon <bsalomon@google.com> Remove init from GrGLContextInfo and caps classes

Make Gr*Caps, GrGLContext* noncopyable

Review URL: https://codereview.chromium.org/1153813002
/external/skia/src/gpu/gl/GrGLGpu.h
404b3b264b833eb7cffdc833c7e2ebbd708e123a 18-May-2015 mtklein <mtklein@google.com> Revert of Move copy-surface-as-draw fallback to GrGLGpu. (patchset #12 id:220001 of https://codereview.chromium.org/1144433002/)

Reason for revert:
Many GMs changed, some totally busted.

Original issue's description:
> Move copy-surface-as-draw fallback to GrGLGpu.
>
> Committed: https://skia.googlesource.com/skia/+/5df6fee929823f50c55cc50f7c882a309c1b1de9

TBR=joshualitt@google.com,egdaniel@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1142003003
/external/skia/src/gpu/gl/GrGLGpu.h
5df6fee929823f50c55cc50f7c882a309c1b1de9 18-May-2015 bsalomon <bsalomon@google.com> Move copy-surface-as-draw fallback to GrGLGpu.

Review URL: https://codereview.chromium.org/1144433002
/external/skia/src/gpu/gl/GrGLGpu.h
231c5fd590c898957d65cbfbc51040c7fe236af6 13-May-2015 cdalton <cdalton@nvidia.com> Don't issue texture barriers for RT's with separate storage

BUG=skia:

Review URL: https://codereview.chromium.org/1137663004
/external/skia/src/gpu/gl/GrGLGpu.h
8780bc65bd5a53a38ac4b0a53a5fb283e066ec40 13-May-2015 bsalomon <bsalomon@google.com> Remove GrGLVertexArray from GrGpuResource hierarchy.

Review URL: https://codereview.chromium.org/1137093002
/external/skia/src/gpu/gl/GrGLGpu.h
f7cc87719e53df86784d0d953b88c45a3be38953 11-May-2015 bsalomon <bsalomon@google.com> Add function for logging blend info on XP.

Review URL: https://codereview.chromium.org/1132373003
/external/skia/src/gpu/gl/GrGLGpu.h
e64eb570a5b9480bc24d0656ccabcff1ab13a229 07-May-2015 bsalomon <bsalomon@google.com> Iterate over instanced draws in GrGpu rather than above GrBatchTarget

Review URL: https://codereview.chromium.org/1127273007
/external/skia/src/gpu/gl/GrGLGpu.h
8917d62ef4d9bde9ec4f879dc42b309b03a0ad98 06-May-2015 cdalton <cdalton@nvidia.com> Implement support for KHR_blend_equation_advanced

Uses KHR(or NV)_blend_equation_advanced to implement custom Xfer modes
in hardware.

BUG=skia:

Review URL: https://codereview.chromium.org/1037123003
/external/skia/src/gpu/gl/GrGLGpu.h
cb8979d088a66ebaf41f10ba6f5c830615aa0e03 05-May-2015 bsalomon <bsalomon@google.com> Move DrawInfo out from GrDrawTarget and rename to GrVertices.

Review URL: https://codereview.chromium.org/1124733004
/external/skia/src/gpu/gl/GrGLGpu.h
9954bc38c498f6b9e9d8c0bcc5cd00d45bfc6e23 29-Apr-2015 cdalton <cdalton@nvidia.com> Use texture barriers to read directly from the RT

Updates GrXferProcessor to read directly from the RT texture when
texture barriers are supported and it needs to know the dst color.
Also adds the notion of an Xfer barrier and uses it to issue texture
barriers when the XP will read the RT.

BUG=skia:

Review URL: https://codereview.chromium.org/1040303002
/external/skia/src/gpu/gl/GrGLGpu.h
e9c0fc616d2a1632c285885b9b656b68ca8d4f24 29-Apr-2015 jvanverth <jvanverth@google.com> Pull out shader-specific caps into GrShaderCaps and GrGLSLCaps

BUG=skia:

Review URL: https://codereview.chromium.org/1116713002
/external/skia/src/gpu/gl/GrGLGpu.h
b0e1be207f6b5a5346641b7b675bb9bd1993f9df 22-Apr-2015 egdaniel <egdaniel@google.com> Refactor createTexture and onCreateTexture

BUG=skia:

Review URL: https://codereview.chromium.org/1102663002
/external/skia/src/gpu/gl/GrGLGpu.h
8dc7c3a839b38b73af34cc2674a06f49eb1ce527 16-Apr-2015 egdaniel <egdaniel@google.com> Rename GrStencilBuffer to GrStencilAttachment

BUG=skia:

Review URL: https://codereview.chromium.org/1083133002
/external/skia/src/gpu/gl/GrGLGpu.h
36352bf5e38f45a70ee4f4fc132a38048d38206d 26-Mar-2015 mtklein <mtklein@chromium.org> C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}

NOPRESUBMIT=true

BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1037793002

Review URL: https://codereview.chromium.org/1037793002
/external/skia/src/gpu/gl/GrGLGpu.h
d803f2731f778317b46da64bce6e7a8a221ffccd 18-Mar-2015 egdaniel <egdaniel@google.com> Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #17 id:320001 of https://codereview.chromium.org/949263002/)

Reason for revert:
Perf regression on win8 hd7700 gpu skps

Original issue's description:
> Improve tracking of bound FBOs in GrGLGpu.
>
> Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0
>
> Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589
>
> Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef
>
> Committed: https://skia.googlesource.com/skia/+/6ba6fa15261be591f33cf0e5df7134e4fc6432ac
>
> Committed: https://skia.googlesource.com/skia/+/dc963b9264908f53650c40a97cff414101dd3e88
>
> Committed: https://skia.googlesource.com/skia/+/160f24ce0e8d6dd7ca80b78871e063d4f4609cfb

TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1009563003
/external/skia/src/gpu/gl/GrGLGpu.h
160f24ce0e8d6dd7ca80b78871e063d4f4609cfb 17-Mar-2015 bsalomon <bsalomon@google.com> Improve tracking of bound FBOs in GrGLGpu.

Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0

Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589

Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef

Committed: https://skia.googlesource.com/skia/+/6ba6fa15261be591f33cf0e5df7134e4fc6432ac

Committed: https://skia.googlesource.com/skia/+/dc963b9264908f53650c40a97cff414101dd3e88

Review URL: https://codereview.chromium.org/949263002
/external/skia/src/gpu/gl/GrGLGpu.h
5cd020f27b79ab6efc411b08883d4108868d81e9 17-Mar-2015 bsalomon <bsalomon@google.com> Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #16 id:300001 of https://codereview.chromium.org/949263002/)

Reason for revert:
locally hit assert.

Original issue's description:
> Improve tracking of bound FBOs in GrGLGpu.
>
> Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0
>
> Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589
>
> Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef
>
> Committed: https://skia.googlesource.com/skia/+/6ba6fa15261be591f33cf0e5df7134e4fc6432ac
>
> Committed: https://skia.googlesource.com/skia/+/dc963b9264908f53650c40a97cff414101dd3e88

TBR=egdaniel@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1017803002
/external/skia/src/gpu/gl/GrGLGpu.h
dc963b9264908f53650c40a97cff414101dd3e88 17-Mar-2015 bsalomon <bsalomon@google.com> Improve tracking of bound FBOs in GrGLGpu.

Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0

Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589

Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef

Committed: https://skia.googlesource.com/skia/+/6ba6fa15261be591f33cf0e5df7134e4fc6432ac

Review URL: https://codereview.chromium.org/949263002
/external/skia/src/gpu/gl/GrGLGpu.h
d0a840d4d8bb6ebc9981cc331b1b231a6c6e0928 17-Mar-2015 cdalton <cdalton@nvidia.com> Disable GL_MULTISAMPLE when it's not being used

Updates Gr to disable GL_MULTISAMPLE when drawing to an aliased render
target. This is an important step for NV_framebuffer_mixed_samples,
where just because the color buffer isn't multisampled doesn't mean
other stages in the graphics pipeline aren't. It also removes the need
for the "isLineDraw" workaround that was in GrGLGpu::flushHWAAState.

BUG=skia:

Review URL: https://codereview.chromium.org/1002013006
/external/skia/src/gpu/gl/GrGLGpu.h
1e0bf7e113f994a512a351cc2b25ddb1e742b7d4 14-Mar-2015 bsalomon <bsalomon@google.com> Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #12 id:220001 of https://codereview.chromium.org/949263002/)

Reason for revert:
That one needs to be reverted to fix black boxes with GPU
raster, and GPU bot failures.

BUG=466690

Original issue's description:
> Improve tracking of bound FBOs in GrGLGpu.
>
> Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0
>
> Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589
>
> Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef
>
> Committed: https://skia.googlesource.com/skia/+/6ba6fa15261be591f33cf0e5df7134e4fc6432ac

TBR=egdaniel@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1011493002
/external/skia/src/gpu/gl/GrGLGpu.h
6ba6fa15261be591f33cf0e5df7134e4fc6432ac 04-Mar-2015 bsalomon <bsalomon@google.com> Improve tracking of bound FBOs in GrGLGpu.

Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0

Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589

Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef

Review URL: https://codereview.chromium.org/949263002
/external/skia/src/gpu/gl/GrGLGpu.h
73165bd417d6cd4b4513df54b58e23e33f151a3f 01-Mar-2015 robertphillips <robertphillips@google.com> Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #10 id:180001 of https://codereview.chromium.org/949263002/)

Reason for revert:
Experimentally reverting to see if this is the cause of the mac_chromium_rel_ng roll-blocking failures.

Original issue's description:
> Improve tracking of bound FBOs in GrGLGpu.
>
> Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0
>
> Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589
>
> Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef

TBR=egdaniel@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/970613003
/external/skia/src/gpu/gl/GrGLGpu.h
0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef 28-Feb-2015 bsalomon <bsalomon@google.com> Improve tracking of bound FBOs in GrGLGpu.

Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0

Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589

Review URL: https://codereview.chromium.org/949263002
/external/skia/src/gpu/gl/GrGLGpu.h
bb8bca36b7eb8015f40e6ce2cfa229b673b19a34 28-Feb-2015 bsalomon <bsalomon@google.com> Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #8 id:140001 of https://codereview.chromium.org/949263002/)

Reason for revert:
breaking things

Original issue's description:
> Improve tracking of bound FBOs in GrGLGpu.
>
> Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0
>
> Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589

TBR=egdaniel@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/963973002
/external/skia/src/gpu/gl/GrGLGpu.h
b2af2d8b83ca4774c3b3bb1e49bc72605faa9589 28-Feb-2015 bsalomon <bsalomon@google.com> Improve tracking of bound FBOs in GrGLGpu.

Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0

Review URL: https://codereview.chromium.org/949263002
/external/skia/src/gpu/gl/GrGLGpu.h
ed0069a4c789eb65d41917f4a255b363e8d18f44 26-Feb-2015 bsalomon <bsalomon@google.com> Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #6 id:100001 of https://codereview.chromium.org/949263002/)

Reason for revert:
breaking hd2000 windows bots

Original issue's description:
> Improve tracking of bound FBOs in GrGLGpu.
>
> Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0

TBR=egdaniel@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/964543002
/external/skia/src/gpu/gl/GrGLGpu.h
d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 26-Feb-2015 bsalomon <bsalomon@google.com> Improve tracking of bound FBOs in GrGLGpu.

Review URL: https://codereview.chromium.org/949263002
/external/skia/src/gpu/gl/GrGLGpu.h
dd3143b0079f01980ca4886f00c39b3caa3fee6a 23-Feb-2015 bsalomon <bsalomon@google.com> clear stencil buffer using special purpose FBO

Review URL: https://codereview.chromium.org/941383003
/external/skia/src/gpu/gl/GrGLGpu.h
02a44a488605112aa6683c9d919e13b188112ce1 19-Feb-2015 bsalomon <bsalomon@google.com> Recycle stencil buffers across render targets.

Review URL: https://codereview.chromium.org/939093002
/external/skia/src/gpu/gl/GrGLGpu.h
50785a3d10b53bea5beb6e18431a2449860be237 06-Feb-2015 bsalomon <bsalomon@google.com> Revert of Revert of Move DstCopy on gpu into the GrXferProcessor. (patchset #1 id:1 of https://codereview.chromium.org/901663007/)

Reason for revert:
The revert didn't help the 10.9 bot. Unreverting by reverting the revert (which is basically relanding the original patch which itself was a revert of a revert). Revert.

Original issue's description:
> Revert of Move DstCopy on gpu into the GrXferProcessor. (patchset #11 id:200001 of https://codereview.chromium.org/885923002/)
>
> Reason for revert:
> Testing to see if reverting fixes 10.9 bots.
>
> Original issue's description:
> > Move DstCopy on gpu into the GrXferProcessor.
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/74a11753604768bf461b80cabb66060e8564d82c
> >
> > Committed: https://skia.googlesource.com/skia/+/5e1378d0e075a323144ba14e0a4cbcca35eccc69
>
> TBR=joshualitt@google.com,egdaniel@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/21b2c53218ab25f4268e3992e51d916076a2a7ee

TBR=joshualitt@google.com,egdaniel@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/873723009
/external/skia/src/gpu/gl/GrGLGpu.h
21b2c53218ab25f4268e3992e51d916076a2a7ee 05-Feb-2015 bsalomon <bsalomon@google.com> Revert of Move DstCopy on gpu into the GrXferProcessor. (patchset #11 id:200001 of https://codereview.chromium.org/885923002/)

Reason for revert:
Testing to see if reverting fixes 10.9 bots.

Original issue's description:
> Move DstCopy on gpu into the GrXferProcessor.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/74a11753604768bf461b80cabb66060e8564d82c
>
> Committed: https://skia.googlesource.com/skia/+/5e1378d0e075a323144ba14e0a4cbcca35eccc69

TBR=joshualitt@google.com,egdaniel@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/901663007
/external/skia/src/gpu/gl/GrGLGpu.h
5e1378d0e075a323144ba14e0a4cbcca35eccc69 05-Feb-2015 egdaniel <egdaniel@google.com> Move DstCopy on gpu into the GrXferProcessor.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/74a11753604768bf461b80cabb66060e8564d82c

Review URL: https://codereview.chromium.org/885923002
/external/skia/src/gpu/gl/GrGLGpu.h
4dce32c46675efb901618161771d450241af4307 04-Feb-2015 egdaniel <egdaniel@google.com> Revert "Move DstCopy on gpu into the GrXferProcessor."

This reverts commit 74a11753604768bf461b80cabb66060e8564d82c.

TBR=joshualitt@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/3e9dfdb3784c0cbfecf7589a74aa9aff7ef40abd

Review URL: https://codereview.chromium.org/896163003
/external/skia/src/gpu/gl/GrGLGpu.h
7adb35559430303a25be37f21af56c0df6c62f2b 04-Feb-2015 egdaniel <egdaniel@google.com> Revert of Revert "Move DstCopy on gpu into the GrXferProcessor." (patchset #1 id:1 of https://codereview.chromium.org/896163003/)

Reason for revert:
failed on my manual revert

Original issue's description:
> Revert "Move DstCopy on gpu into the GrXferProcessor."
>
> This reverts commit 74a11753604768bf461b80cabb66060e8564d82c.
>
> TBR=joshualitt@google.com,bsalomon@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3e9dfdb3784c0cbfecf7589a74aa9aff7ef40abd

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/900913002
/external/skia/src/gpu/gl/GrGLGpu.h
3e9dfdb3784c0cbfecf7589a74aa9aff7ef40abd 04-Feb-2015 egdaniel <egdaniel@google.com> Revert "Move DstCopy on gpu into the GrXferProcessor."

This reverts commit 74a11753604768bf461b80cabb66060e8564d82c.

TBR=joshualitt@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/896163003
/external/skia/src/gpu/gl/GrGLGpu.h
74a11753604768bf461b80cabb66060e8564d82c 04-Feb-2015 egdaniel <egdaniel@google.com> Move DstCopy on gpu into the GrXferProcessor.

BUG=skia:

Review URL: https://codereview.chromium.org/885923002
/external/skia/src/gpu/gl/GrGLGpu.h
0f5f967f6777612353c762e6d0095f733adfb326 03-Feb-2015 egdaniel <egdaniel@google.com> Save and temp dst and src FBO on GrGLGpu and use the temp FBOs for copySurface if needed.

BUG=skia:

Review URL: https://codereview.chromium.org/893703003
/external/skia/src/gpu/gl/GrGLGpu.h
36c57dfb4fe9bbaca436942d5eaa75b142ba251d 27-Jan-2015 kkinnunen <kkinnunen@nvidia.com> Make stencil buffers uncached for uncached render target textures

Make new stencil buffers of uncached render target textures not affect the
cache budgets. This is consistent with render buffer storage of uncached
render target textures.

Affects only newly created stencil buffers. An uncached render target
might still receive a cached stencil buffer if such is available from
cache.

BUG=skia:3119
BUG=skia:3301

Review URL: https://codereview.chromium.org/859013002
/external/skia/src/gpu/gl/GrGLGpu.h
8dd688b7569df569a672a8a67b2db86a9d376cfc 22-Jan-2015 egdaniel <egdaniel@google.com> Rename GrOptDrawState to GrPipeline and GrDrawState to GrPipelineBuilder

BUG=skia:

Review URL: https://codereview.chromium.org/858343002
/external/skia/src/gpu/gl/GrGLGpu.h
17e7314e0e3085ec6021997d7c0593c339ba6a2e 21-Jan-2015 joshualitt <joshualitt@chromium.org> remove drawtype

BUG=skia:

Review URL: https://codereview.chromium.org/862933005
/external/skia/src/gpu/gl/GrGLGpu.h
873ad0e0b4d67bdc7bad025018f597450e7004c6 20-Jan-2015 joshualitt <joshualitt@chromium.org> BUG=skia:

Review URL: https://codereview.chromium.org/815643005
/external/skia/src/gpu/gl/GrGLGpu.h
5236cf480daf82b2f36e42795abdbbc915533a59 14-Jan-2015 bsalomon <bsalomon@google.com> Make uncached textures uncached from the get go.

This avoids the problem of a newly created uncached texture causing a purge of cached resources.

BUG=chromium:445885

Review URL: https://codereview.chromium.org/846303002
/external/skia/src/gpu/gl/GrGLGpu.h
39edf7664f50b6c890b933b5bbed67a8735b349b 22-Dec-2014 jvanverth <jvanverth@google.com> Rename GrGpuGL -> GrGLGpu

Review URL: https://codereview.chromium.org/824753002
/external/skia/src/gpu/gl/GrGLGpu.h