Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(378)

Side by Side Diff: src/gpu/gl/GrGLGpu.cpp

Issue 1157683006: Refactor GrGpu path rendering functions to GrPathRendering (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: rebase, remove include ordering Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/gpu/gl/GrGLGpu.h ('k') | src/gpu/gl/GrGLPathRendering.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2011 Google Inc. 2 * Copyright 2011 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 8
9 #include "GrGLGpu.h" 9 #include "GrGLGpu.h"
10 #include "GrGLStencilAttachment.h" 10 #include "GrGLStencilAttachment.h"
(...skipping 1933 matching lines...) Expand 10 before | Expand all | Expand 10 after
1944 int set_a_break_pt_here = 9; 1944 int set_a_break_pt_here = 9;
1945 aglSwapBuffers(aglGetCurrentContext()); 1945 aglSwapBuffers(aglGetCurrentContext());
1946 #elif defined(SK_BUILD_FOR_WIN32) 1946 #elif defined(SK_BUILD_FOR_WIN32)
1947 SwapBuf(); 1947 SwapBuf();
1948 int set_a_break_pt_here = 9; 1948 int set_a_break_pt_here = 9;
1949 SwapBuf(); 1949 SwapBuf();
1950 #endif 1950 #endif
1951 #endif 1951 #endif
1952 } 1952 }
1953 1953
1954 void GrGLGpu::onStencilPath(const GrPath* path, const StencilPathState& state) {
1955 this->flushColorWrite(false);
1956 this->flushDrawFace(GrPipelineBuilder::kBoth_DrawFace);
1957
1958 GrGLRenderTarget* rt = static_cast<GrGLRenderTarget*>(state.fRenderTarget);
1959 SkISize size = SkISize::Make(rt->width(), rt->height());
1960 this->glPathRendering()->setProjectionMatrix(*state.fViewMatrix, size, rt->o rigin());
1961 this->flushScissor(*state.fScissor, rt->getViewport(), rt->origin());
1962 this->flushHWAAState(rt, state.fUseHWAA);
1963 this->flushRenderTarget(rt, NULL);
1964
1965 fPathRendering->stencilPath(path, *state.fStencil);
1966 }
1967
1968 void GrGLGpu::onDrawPath(const DrawArgs& args, const GrPath* path,
1969 const GrStencilSettings& stencil) {
1970 if (!this->flushGLState(args)) {
1971 return;
1972 }
1973 fPathRendering->drawPath(path, stencil);
1974 }
1975
1976 void GrGLGpu::onDrawPaths(const DrawArgs& args,
1977 const GrPathRange* pathRange,
1978 const void* indices,
1979 GrDrawTarget::PathIndexType indexType,
1980 const float transformValues[],
1981 GrDrawTarget::PathTransformType transformType,
1982 int count,
1983 const GrStencilSettings& stencil) {
1984 if (!this->flushGLState(args)) {
1985 return;
1986 }
1987 fPathRendering->drawPaths(pathRange, indices, indexType, transformValues,
1988 transformType, count, stencil);
1989 }
1990
1991 void GrGLGpu::onResolveRenderTarget(GrRenderTarget* target) { 1954 void GrGLGpu::onResolveRenderTarget(GrRenderTarget* target) {
1992 GrGLRenderTarget* rt = static_cast<GrGLRenderTarget*>(target); 1955 GrGLRenderTarget* rt = static_cast<GrGLRenderTarget*>(target);
1993 if (rt->needsResolve()) { 1956 if (rt->needsResolve()) {
1994 // Some extensions automatically resolves the texture when it is read. 1957 // Some extensions automatically resolves the texture when it is read.
1995 if (this->glCaps().usesMSAARenderBuffers()) { 1958 if (this->glCaps().usesMSAARenderBuffers()) {
1996 SkASSERT(rt->textureFBOID() != rt->renderFBOID()); 1959 SkASSERT(rt->textureFBOID() != rt->renderFBOID());
1997 fStats.incRenderTargetBinds(); 1960 fStats.incRenderTargetBinds();
1998 fStats.incRenderTargetBinds(); 1961 fStats.incRenderTargetBinds();
1999 GL_CALL(BindFramebuffer(GR_GL_READ_FRAMEBUFFER, rt->renderFBOID())); 1962 GL_CALL(BindFramebuffer(GR_GL_READ_FRAMEBUFFER, rt->renderFBOID()));
2000 GL_CALL(BindFramebuffer(GR_GL_DRAW_FRAMEBUFFER, rt->textureFBOID())) ; 1963 GL_CALL(BindFramebuffer(GR_GL_DRAW_FRAMEBUFFER, rt->textureFBOID())) ;
(...skipping 890 matching lines...) Expand 10 before | Expand all | Expand 10 after
2891 this->setVertexArrayID(gpu, 0); 2854 this->setVertexArrayID(gpu, 0);
2892 } 2855 }
2893 int attrCount = gpu->glCaps().maxVertexAttributes(); 2856 int attrCount = gpu->glCaps().maxVertexAttributes();
2894 if (fDefaultVertexArrayAttribState.count() != attrCount) { 2857 if (fDefaultVertexArrayAttribState.count() != attrCount) {
2895 fDefaultVertexArrayAttribState.resize(attrCount); 2858 fDefaultVertexArrayAttribState.resize(attrCount);
2896 } 2859 }
2897 attribState = &fDefaultVertexArrayAttribState; 2860 attribState = &fDefaultVertexArrayAttribState;
2898 } 2861 }
2899 return attribState; 2862 return attribState;
2900 } 2863 }
OLDNEW
« no previous file with comments | « src/gpu/gl/GrGLGpu.h ('k') | src/gpu/gl/GrGLPathRendering.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698