skia2/tools/gpu
Michael Ludwig 0426947243 Centralize geometry processor vertex shader transform code
GrGLSLGeometryProcessors no longer have to call emitTransforms() in
their onEmitCode() function. Instead, the GpArgs struct allows them to
set a GrShaderVar that holds the computed or explicitly provided local
coordinates in the vertex shader.

The base GrGLSLGeometryProcessor now automatically uses that to collect
all of the transforms that can then be lifted out of FPs to the vertex
shader, and base their computation on the GP provided local coordinate.

As part of this, there is no more built-in magic concatenation of a
local matrix / inverse view matrix to these coordinate transforms. GP
implementations that relied on this now manage their own uniform for this
matrix and compute the local coordinate before assigning to GpArgs.

The base GrGLSLGeometryProcessor is updated to provide helpers for this
pattern.

Bug: skia:10396
Change-Id: I56afb3fff4b806f6015ab13626ac1afde9ef5c2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297027
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-06-19 20:26:05 +00:00
..
d3d Implement flush finish proc support for d3d backend. 2020-06-19 16:28:33 +00:00
dawn Dawn: fix memory corruption in DawnTestContext. 2020-06-03 18:40:49 +00:00
gl Revert "Make it easier to test rectangle textures by using createBackendTexture." 2020-06-19 19:14:39 +00:00
mock Update nanobench and skpbench to use flush API for gpu syncing. 2020-02-24 17:21:35 +00:00
mtl Reland "Set up eGPU/discrete support for MacOS." 2020-03-18 19:27:41 +00:00
vk Refine VkYcbcrSamplerHelper to only hold backend memory for YCbCr textures 2020-06-16 14:05:30 +00:00
FenceSync.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
FlushFinishTracker.h Update nanobench and skpbench to use flush API for gpu syncing. 2020-02-24 17:21:35 +00:00
GpuTimer.h Replace skstd::exchange with std::exchange 2020-04-30 11:14:20 +00:00
GrContextFactory.cpp Dawn: fix for crash on GrContextFactory_sharedContexts unit test. 2020-06-05 18:00:44 +00:00
GrContextFactory.h Revert "Revert "Revert "Revert "Don't build GL on Metal, Vulkan, Dawn, Direct3D bots"""" 2020-03-20 17:11:58 +00:00
GrTest.cpp Pass file and line number when asserting single owner 2020-06-01 17:10:40 +00:00
MemoryCache.cpp Reland "Switch persistent cache to use SkReadBuffer/SkWriteBuffer" 2020-06-10 14:55:37 +00:00
MemoryCache.h Fix caching of GL program binaries 2020-06-05 15:54:19 +00:00
ProxyUtils.cpp Remove GrAtlasManager.h from all other .h files 2020-04-07 12:43:46 +00:00
ProxyUtils.h Rename outputView->writeView and outputSwizzle->writeSwizzle 2020-04-02 15:06:16 +00:00
TestContext.cpp Update internal skia uses to use flushAndSubmit and submit calls. 2020-05-14 20:26:44 +00:00
TestContext.h Update nanobench and skpbench to use flush API for gpu syncing. 2020-02-24 17:21:35 +00:00
TestOps.cpp Centralize geometry processor vertex shader transform code 2020-06-19 20:26:05 +00:00
TestOps.h Test texture domain effect with local matrix. 2019-11-22 22:37:33 +00:00
YUVUtils.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
YUVUtils.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00