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

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

Issue 1796713005: Begin tracking GL_TEXTURE_ and GL_DRAW_INDIRECT_ buffer bindings (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 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 | « no previous file | src/gpu/gl/GrGLGpu.cpp » ('j') | src/gpu/gl/GrGLGpu.cpp » ('J')
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 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 fHWGeometryState.notifyVertexBufferDelete(id); 92 fHWGeometryState.notifyVertexBufferDelete(id);
93 } 93 }
94 void notifyIndexBufferDelete(GrGLuint id) { 94 void notifyIndexBufferDelete(GrGLuint id) {
95 fHWGeometryState.notifyIndexBufferDelete(id); 95 fHWGeometryState.notifyIndexBufferDelete(id);
96 } 96 }
97 97
98 void buildProgramDesc(GrProgramDesc*, 98 void buildProgramDesc(GrProgramDesc*,
99 const GrPrimitiveProcessor&, 99 const GrPrimitiveProcessor&,
100 const GrPipeline&) const override; 100 const GrPipeline&) const override;
101 101
102 // id and type (GL_ARRAY_BUFFER or GL_ELEMENT_ARRAY_BUFFER) of buffer to bin d 102 // id and type (GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, etc.) of buffer to bind
103 void bindBuffer(GrGLuint id, GrGLenum type); 103 void bindBuffer(GrGLuint id, GrGLenum type);
104 104
105 void releaseBuffer(GrGLuint id, GrGLenum type); 105 void releaseBuffer(GrGLuint id, GrGLenum type);
106 106
107 // sizes are in bytes 107 // sizes are in bytes
108 void* mapBuffer(GrGLuint id, GrGLenum type, GrGLBufferImpl::Usage usage, siz e_t currentSize, 108 void* mapBuffer(GrGLuint id, GrGLenum type, GrGLBufferImpl::Usage usage, siz e_t currentSize,
109 size_t requestedSize); 109 size_t requestedSize);
110 110
111 void unmapBuffer(GrGLuint id, GrGLenum type, void* mapPtr); 111 void unmapBuffer(GrGLuint id, GrGLenum type, void* mapPtr);
112 112
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 bool fDefaultVertexArrayBoundIndexBufferIDIsValid; 535 bool fDefaultVertexArrayBoundIndexBufferIDIsValid;
536 // We return a non-const pointer to this from bindArrayAndBuffersToDraw when vertex array 0 536 // We return a non-const pointer to this from bindArrayAndBuffersToDraw when vertex array 0
537 // is bound. However, this class is internal to GrGLGpu and this object never leaks out of 537 // is bound. However, this class is internal to GrGLGpu and this object never leaks out of
538 // GrGLGpu. 538 // GrGLGpu.
539 GrGLAttribArrayState fDefaultVertexArrayAttribState; 539 GrGLAttribArrayState fDefaultVertexArrayAttribState;
540 540
541 // This is used when we're using a core profile and the vertices are in a VBO. 541 // This is used when we're using a core profile and the vertices are in a VBO.
542 GrGLVertexArray* fVBOVertexArray; 542 GrGLVertexArray* fVBOVertexArray;
543 } fHWGeometryState; 543 } fHWGeometryState;
544 544
545 GrGLuint fHWBoundTextureBufferID;
546 GrGLuint fHWBoundDrawIndirectBufferID;
547 bool fHWBoundTextureBufferIDIsValid;
548 bool fHWBoundDrawIndirectBufferIDIsValid;
549
545 struct { 550 struct {
546 GrBlendEquation fEquation; 551 GrBlendEquation fEquation;
547 GrBlendCoeff fSrcCoeff; 552 GrBlendCoeff fSrcCoeff;
548 GrBlendCoeff fDstCoeff; 553 GrBlendCoeff fDstCoeff;
549 GrColor fConstColor; 554 GrColor fConstColor;
550 bool fConstColorValid; 555 bool fConstColorValid;
551 TriState fEnabled; 556 TriState fEnabled;
552 557
553 void invalidate() { 558 void invalidate() {
554 fEquation = static_cast<GrBlendEquation>(-1); 559 fEquation = static_cast<GrBlendEquation>(-1);
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 } fPLSSetupProgram; 618 } fPLSSetupProgram;
614 619
615 bool fHWPLSEnabled; 620 bool fHWPLSEnabled;
616 bool fPLSHasBeenUsed; 621 bool fPLSHasBeenUsed;
617 622
618 typedef GrGpu INHERITED; 623 typedef GrGpu INHERITED;
619 friend class GrGLPathRendering; // For accessing setTextureUnit. 624 friend class GrGLPathRendering; // For accessing setTextureUnit.
620 }; 625 };
621 626
622 #endif 627 #endif
OLDNEW
« no previous file with comments | « no previous file | src/gpu/gl/GrGLGpu.cpp » ('j') | src/gpu/gl/GrGLGpu.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698