skia2/include/gpu
egdaniel 09aa1fce69 Refactor how we store and use samplers in Ganesh
The main goal of this refactorization is to allow Vulkan to use separate
sampler and texture objects in the shader and descriptor sets and combine
them into a sampler2d in the shader where needed.

A large part of this is separating how we store samplers and uniforms in the
UniformHandler. We no longer need to store handles to samplers besides when
we are initially emitting code. After we emit code all we ever do is loop over
all samplers and do some processor independent work on them, so we have no need
for direct access to individual samplers.

In the GLProgram all we ever do is set the sampler uniforms in the ctor and never
touch them again, so no need to save sampler info there. The texture access on
program reuse just assume that they come in the same order as we set the texture
units for the samplers

For Vulkan, it is a similar story. We create the descriptor set layouts with the samplers,
then when we get new textures, we just assume they come in in the same order as we
set the samplers on the descriptor sets. Thus no need to save direct vulkan info.

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

Committed: https://skia.googlesource.com/skia/+/45b61a1c4c0be896e7b12fd1405abfece799114f

Review URL: https://codereview.chromium.org/1885863004
2016-04-20 07:09:46 -07:00
..
effects added support for PLS path rendering 2016-01-30 09:59:10 -08:00
gl Enable NV_path_rendering in the Null GL. 2016-04-20 00:36:53 -07:00
vk Add WSI functions to GrVkInterface 2016-03-28 07:03:06 -07:00
GrBlend.h Create fragment processor for performing input color blend with child processor 2015-09-15 15:33:27 -07:00
GrBuffer.h Implement texel buffers 2016-04-11 14:47:28 -07:00
GrBufferAccess.h Implement texel buffers 2016-04-11 14:47:28 -07:00
GrCaps.h Add GLSL support for texelFetch 2016-04-11 13:02:05 -07:00
GrClip.h Begin weaning GrClipMaskManager off of GrDrawTarget (take 2) 2016-03-02 09:26:36 -08:00
GrColor.h sRGB support in Ganesh. Several pieces: 2016-03-21 06:55:37 -07:00
GrConfig.h Remove version checks for _MSC_VER < 1800 (msvs2013). 2016-03-10 11:14:40 -08:00
GrContext.h Add GrContext::releaseAndAbandonContext() 2016-04-01 11:54:31 -07:00
GrContextOptions.h Consolidate GPU buffer implementations 2016-03-25 12:15:03 -07:00
GrCoordTransform.h some utils for rect and matrix 2015-03-13 06:08:28 -07:00
GrDrawContext.h Rename lots of things from 'sRGB' to 'GammaCorrect', where appropriate 2016-04-13 13:10:14 -07:00
GrFragmentProcessor.h Implement texel buffers 2016-04-11 14:47:28 -07:00
GrGpuResource.h Add onMemoryDump to GrContext 2015-09-15 14:16:10 -07:00
GrGpuResourceRef.h apply mozilla patch 2015-11-10 04:55:08 -08:00
GrInvariantOutput.h Make skpaint->grpaint flow work for composing draws (verts and atlas) 2015-09-28 06:26:29 -07:00
GrPaint.h Tweak distance field path renderer behavior in gamma-correct mode to match 2016-04-13 13:56:21 -07:00
GrProcessor.h Implement texel buffers 2016-04-11 14:47:28 -07:00
GrProcessorUnitTest.h Move SkTArray to include/private. 2016-02-17 13:13:44 -08:00
GrProgramElement.h Move SkTArray to include/private. 2016-02-17 13:13:44 -08:00
GrRenderTarget.h Dependencies are now added between the drawTargets in GrPipeline 2015-10-30 10:11:30 -07:00
GrResourceKey.h Modernize and trim down SkOnce. 2016-04-18 08:09:11 -07:00
GrShaderVar.h Refactor how we store and use samplers in Ganesh 2016-04-20 07:09:46 -07:00
GrSurface.h Cleaning up trailing spaces and typos. 2016-01-26 09:10:48 -08:00
GrTestUtils.h Appease valgrind wrt testing code initialization 2016-04-07 09:01:20 -07:00
GrTexture.h Add support for vertex and geometry shader textures 2016-03-11 10:07:37 -08:00
GrTextureAccess.h Infer sampler precision from pixel config 2016-04-11 12:03:08 -07:00
GrTextureParams.h sRGB support in Ganesh. Several pieces: 2016-03-21 06:55:37 -07:00
GrTextureProvider.h Don't allow nullptr in texels array params (unless using a transfer buffer). 2016-03-09 06:25:16 -08:00
GrTypes.h Remove GrTextureStorageAllocator. This was added from Chromium but never used and not expected to be used. 2016-04-13 14:29:25 -07:00
GrTypesPriv.h Implement texel buffers 2016-04-11 14:47:28 -07:00
GrXferProcessor.h added support for PLS path rendering 2016-01-30 09:59:10 -08:00
SkGr.h sRGB support in Ganesh. Several pieces: 2016-03-21 06:55:37 -07:00
SkGrPixelRef.h Make SkBitmap::CopyTo respect requested dst color type when bitmap is texture backed. 2016-01-11 11:14:17 -08:00
SkGrTexturePixelRef.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00