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

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

Issue 1002013006: Disable GL_MULTISAMPLE when it's not being used (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: rebase Created 5 years, 9 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/GrPipelineBuilder.cpp ('k') | src/gpu/gl/GrGLGpu.cpp » ('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 #ifndef GrGLGpu_DEFINED 8 #ifndef GrGLGpu_DEFINED
9 #define GrGLGpu_DEFINED 9 #define GrGLGpu_DEFINED
10 10
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 void clearStencil(GrRenderTarget*) SK_OVERRIDE; 159 void clearStencil(GrRenderTarget*) SK_OVERRIDE;
160 160
161 // GrDrawTarget overrides 161 // GrDrawTarget overrides
162 void didAddGpuTraceMarker() SK_OVERRIDE; 162 void didAddGpuTraceMarker() SK_OVERRIDE;
163 void didRemoveGpuTraceMarker() SK_OVERRIDE; 163 void didRemoveGpuTraceMarker() SK_OVERRIDE;
164 164
165 // binds texture unit in GL 165 // binds texture unit in GL
166 void setTextureUnit(int unitIdx); 166 void setTextureUnit(int unitIdx);
167 167
168 // Flushes state from GrPipeline to GL. Returns false if the state couldn't be set. 168 // Flushes state from GrPipeline to GL. Returns false if the state couldn't be set.
169 // TODO we only have need to know if this is a line draw for flushing AA sta te on some buggy 169 bool flushGLState(const DrawArgs&);
170 // hardware. Evaluate if this is really necessary anymore
171 bool flushGLState(const DrawArgs&, bool isLineDraw);
172 170
173 // Sets up vertex attribute pointers and strides. On return indexOffsetInByt es gives the offset 171 // Sets up vertex attribute pointers and strides. On return indexOffsetInByt es gives the offset
174 // an into the index buffer. It does not account for drawInfo.startIndex() b ut rather the start 172 // an into the index buffer. It does not account for drawInfo.startIndex() b ut rather the start
175 // index is relative to the returned offset. 173 // index is relative to the returned offset.
176 void setupGeometry(const GrPrimitiveProcessor&, 174 void setupGeometry(const GrPrimitiveProcessor&,
177 const GrDrawTarget::DrawInfo& info, 175 const GrDrawTarget::DrawInfo& info,
178 size_t* indexOffsetInBytes); 176 size_t* indexOffsetInBytes);
179 177
180 // Subclasses should call this to flush the blend state. 178 // Subclasses should call this to flush the blend state.
181 void flushBlend(const GrXferProcessor::BlendInfo& blendInfo); 179 void flushBlend(const GrXferProcessor::BlendInfo& blendInfo);
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 242
245 // sets a texture unit to use for texture operations other than binding a te xture to a program. 243 // sets a texture unit to use for texture operations other than binding a te xture to a program.
246 // ensures that such operations don't negatively interact with tracking boun d textures. 244 // ensures that such operations don't negatively interact with tracking boun d textures.
247 void setScratchTextureUnit(); 245 void setScratchTextureUnit();
248 246
249 // bounds is region that may be modified and therefore has to be resolved. 247 // bounds is region that may be modified and therefore has to be resolved.
250 // NULL means whole target. Can be an empty rect. 248 // NULL means whole target. Can be an empty rect.
251 void flushRenderTarget(GrGLRenderTarget*, const SkIRect* bounds); 249 void flushRenderTarget(GrGLRenderTarget*, const SkIRect* bounds);
252 250
253 void flushStencil(const GrStencilSettings&); 251 void flushStencil(const GrStencilSettings&);
254 void flushHWAAState(GrRenderTarget* rt, bool useHWAA, bool isLineDraw); 252 void flushHWAAState(GrRenderTarget* rt, bool useHWAA);
255 253
256 bool configToGLFormats(GrPixelConfig config, 254 bool configToGLFormats(GrPixelConfig config,
257 bool getSizedInternal, 255 bool getSizedInternal,
258 GrGLenum* internalFormat, 256 GrGLenum* internalFormat,
259 GrGLenum* externalFormat, 257 GrGLenum* externalFormat,
260 GrGLenum* externalType); 258 GrGLenum* externalType);
261 // helper for onCreateTexture and writeTexturePixels 259 // helper for onCreateTexture and writeTexturePixels
262 bool uploadTexData(const GrSurfaceDesc& desc, 260 bool uploadTexData(const GrSurfaceDesc& desc,
263 bool isNewTexture, 261 bool isNewTexture,
264 int left, int top, int width, int height, 262 int left, int top, int width, int height,
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 463
466 // we record what stencil format worked last time to hopefully exit early 464 // we record what stencil format worked last time to hopefully exit early
467 // from our loop that tries stencil formats and calls check fb status. 465 // from our loop that tries stencil formats and calls check fb status.
468 int fLastSuccessfulStencilFmtIdx; 466 int fLastSuccessfulStencilFmtIdx;
469 467
470 typedef GrGpu INHERITED; 468 typedef GrGpu INHERITED;
471 friend class GrGLPathRendering; // For accessing setTextureUnit. 469 friend class GrGLPathRendering; // For accessing setTextureUnit.
472 }; 470 };
473 471
474 #endif 472 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrPipelineBuilder.cpp ('k') | src/gpu/gl/GrGLGpu.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698