diff options
author | Robert Phillips <robertphillips@google.com> | 2017-07-26 15:48:41 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-07-26 20:59:00 +0000 |
commit | 2890fbfe1400b81e4d6af98d14dfe757fec93650 (patch) | |
tree | bbc22dc56d4cdb0b1f6b06740c68738808506f67 /src/gpu/gl | |
parent | 480c90afc4382d03fa7cda534a702459ace72953 (diff) |
Make GrPipeline hold a GrRenderTargetProxy (instead of a GrRenderTarget)
In a future world where GrSurface no longer has an origin it will be
useful for the GrPipeline to be holding the GrRenderTargetProxy (which will
still have an origin).
Change-Id: I743a8cc07b6b92f8116227fb77b7c37da43cde8a
Reviewed-on: https://skia-review.googlesource.com/26804
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu/gl')
-rw-r--r-- | src/gpu/gl/GrGLGpu.cpp | 8 | ||||
-rw-r--r-- | src/gpu/gl/GrGLGpuCommandBuffer.h | 2 | ||||
-rw-r--r-- | src/gpu/gl/GrGLGpuProgramCache.cpp | 2 | ||||
-rw-r--r-- | src/gpu/gl/GrGLProgram.cpp | 2 | ||||
-rw-r--r-- | src/gpu/gl/builders/GrGLProgramBuilder.cpp | 4 |
5 files changed, 9 insertions, 9 deletions
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp index 5209e3e2c9..412f3c57cb 100644 --- a/src/gpu/gl/GrGLGpu.cpp +++ b/src/gpu/gl/GrGLGpu.cpp @@ -1845,13 +1845,13 @@ bool GrGLGpu::flushGLState(const GrPipeline& pipeline, const GrPrimitiveProcesso if (blendInfo.fWriteColor) { // Swizzle the blend to match what the shader will output. const GrSwizzle& swizzle = this->caps()->shaderCaps()->configOutputSwizzle( - pipeline.getRenderTarget()->config()); + pipeline.proxy()->config()); this->flushBlend(blendInfo, swizzle); } program->setData(primProc, pipeline); - GrGLRenderTarget* glRT = static_cast<GrGLRenderTarget*>(pipeline.getRenderTarget()); + GrGLRenderTarget* glRT = static_cast<GrGLRenderTarget*>(pipeline.renderTarget()); GrStencilSettings stencil; if (pipeline.isStencilEnabled()) { // TODO: attach stencil and create settings during render target flush. @@ -2546,12 +2546,12 @@ void GrGLGpu::draw(const GrPipeline& pipeline, for (int i = 0; i < meshCount; ++i) { if (GrXferBarrierType barrierType = pipeline.xferBarrierType(*this->caps())) { - this->xferBarrier(pipeline.getRenderTarget(), barrierType); + this->xferBarrier(pipeline.renderTarget(), barrierType); } if (dynamicStates) { if (pipeline.getScissorState().enabled()) { - GrGLRenderTarget* glRT = static_cast<GrGLRenderTarget*>(pipeline.getRenderTarget()); + GrGLRenderTarget* glRT = static_cast<GrGLRenderTarget*>(pipeline.renderTarget()); this->flushScissor(dynamicStates[i].fScissorRect, glRT->getViewport(), glRT->origin()); } diff --git a/src/gpu/gl/GrGLGpuCommandBuffer.h b/src/gpu/gl/GrGLGpuCommandBuffer.h index c67aeaf2e1..5ca211a214 100644 --- a/src/gpu/gl/GrGLGpuCommandBuffer.h +++ b/src/gpu/gl/GrGLGpuCommandBuffer.h @@ -55,7 +55,7 @@ private: const GrPipeline::DynamicState dynamicStates[], int meshCount, const SkRect& bounds) override { - GrGLRenderTarget* target = static_cast<GrGLRenderTarget*>(pipeline.getRenderTarget()); + GrGLRenderTarget* target = static_cast<GrGLRenderTarget*>(pipeline.renderTarget()); if (!fRenderTarget) { fRenderTarget = target; } diff --git a/src/gpu/gl/GrGLGpuProgramCache.cpp b/src/gpu/gl/GrGLGpuProgramCache.cpp index 2ff5dc79b4..b79c17feaa 100644 --- a/src/gpu/gl/GrGLGpuProgramCache.cpp +++ b/src/gpu/gl/GrGLGpuProgramCache.cpp @@ -82,7 +82,7 @@ GrGLProgram* GrGLGpu::ProgramCache::refProgram(const GrGLGpu* gpu, std::unique_ptr<Entry>* entry = fMap.find(desc); if (!entry) { // Didn't find an origin-independent version, check with the specific origin - GrSurfaceOrigin origin = pipeline.getRenderTarget()->origin(); + GrSurfaceOrigin origin = pipeline.proxy()->origin(); desc.setSurfaceOriginKey(GrGLSLFragmentShaderBuilder::KeyForSurfaceOrigin(origin)); desc.finalize(); entry = fMap.find(desc); diff --git a/src/gpu/gl/GrGLProgram.cpp b/src/gpu/gl/GrGLProgram.cpp index f133c1b377..aa67bed65c 100644 --- a/src/gpu/gl/GrGLProgram.cpp +++ b/src/gpu/gl/GrGLProgram.cpp @@ -70,7 +70,7 @@ void GrGLProgram::abandon() { /////////////////////////////////////////////////////////////////////////////// void GrGLProgram::setData(const GrPrimitiveProcessor& primProc, const GrPipeline& pipeline) { - this->setRenderTargetState(primProc, pipeline.getRenderTarget()); + this->setRenderTargetState(primProc, pipeline.renderTarget()); // we set the textures, and uniforms for installed processors in a generic way, but subclasses // of GLProgram determine how to set coord transforms diff --git a/src/gpu/gl/builders/GrGLProgramBuilder.cpp b/src/gpu/gl/builders/GrGLProgramBuilder.cpp index dc70bd6b69..8172002a4e 100644 --- a/src/gpu/gl/builders/GrGLProgramBuilder.cpp +++ b/src/gpu/gl/builders/GrGLProgramBuilder.cpp @@ -90,7 +90,7 @@ bool GrGLProgramBuilder::compileAndAttachShaders(GrGLSLShaderBuilder& shader, if (outInputs->fFlipY) { GrProgramDesc* d = this->desc(); d->setSurfaceOriginKey(GrGLSLFragmentShaderBuilder::KeyForSurfaceOrigin( - this->pipeline().getRenderTarget()->origin())); + this->pipeline().proxy()->origin())); d->finalize(); } @@ -113,7 +113,7 @@ GrGLProgram* GrGLProgramBuilder::finalize() { // compile shaders and bind attributes / uniforms SkSL::Program::Settings settings; settings.fCaps = this->gpu()->glCaps().shaderCaps(); - settings.fFlipY = this->pipeline().getRenderTarget()->origin() != kTopLeft_GrSurfaceOrigin; + settings.fFlipY = this->pipeline().proxy()->origin() != kTopLeft_GrSurfaceOrigin; SkSL::Program::Inputs inputs; SkTDArray<GrGLuint> shadersToDelete; if (!this->compileAndAttachShaders(fVS, programID, GR_GL_VERTEX_SHADER, &shadersToDelete, |