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

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

Issue 12379025: Add support to GrGLInterface for vertex array objects (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 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 | Annotate | Revision Log
« no previous file with comments | « include/gpu/gl/GrGLInterface.h ('k') | src/gpu/gl/GrGLInterface.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 8
9 #include "gl/GrGLInterface.h" 9 #include "gl/GrGLInterface.h"
10 #include "GrGLDefines.h" 10 #include "GrGLDefines.h"
11 #include "SkTDArray.h" 11 #include "SkTDArray.h"
12 #include "GrGLNoOpInterface.h" 12 #include "GrGLNoOpInterface.h"
13 13
14 // Functions not declared in GrGLBogusInterface.h (not common with the Debug GL interface). 14 // Functions not declared in GrGLBogusInterface.h (not common with the Debug GL interface).
15 15
16 namespace { // added to suppress 'no previous prototype' warning 16 namespace { // added to suppress 'no previous prototype' warning
17 17
18 GrGLvoid GR_GL_FUNCTION_TYPE nullGLActiveTexture(GrGLenum texture) {} 18 GrGLvoid GR_GL_FUNCTION_TYPE nullGLActiveTexture(GrGLenum texture) {}
19 GrGLvoid GR_GL_FUNCTION_TYPE nullGLAttachShader(GrGLuint program, GrGLuint shade r) {} 19 GrGLvoid GR_GL_FUNCTION_TYPE nullGLAttachShader(GrGLuint program, GrGLuint shade r) {}
20 GrGLvoid GR_GL_FUNCTION_TYPE nullGLBeginQuery(GrGLenum target, GrGLuint id) {} 20 GrGLvoid GR_GL_FUNCTION_TYPE nullGLBeginQuery(GrGLenum target, GrGLuint id) {}
21 GrGLvoid GR_GL_FUNCTION_TYPE nullGLBindAttribLocation(GrGLuint program, GrGLuint index, const char* name) {} 21 GrGLvoid GR_GL_FUNCTION_TYPE nullGLBindAttribLocation(GrGLuint program, GrGLuint index, const char* name) {}
22 GrGLvoid GR_GL_FUNCTION_TYPE nullGLBindTexture(GrGLenum target, GrGLuint texture ) {} 22 GrGLvoid GR_GL_FUNCTION_TYPE nullGLBindTexture(GrGLenum target, GrGLuint texture ) {}
23 GrGLvoid GR_GL_FUNCTION_TYPE nullGLBindVertexArray(GrGLuint id) {}
23 GrGLvoid GR_GL_FUNCTION_TYPE nullGLBufferData(GrGLenum target, GrGLsizeiptr size , const GrGLvoid* data, GrGLenum usage) {} 24 GrGLvoid GR_GL_FUNCTION_TYPE nullGLBufferData(GrGLenum target, GrGLsizeiptr size , const GrGLvoid* data, GrGLenum usage) {}
24 GrGLvoid GR_GL_FUNCTION_TYPE nullGLPixelStorei(GrGLenum pname, GrGLint param) {} 25 GrGLvoid GR_GL_FUNCTION_TYPE nullGLPixelStorei(GrGLenum pname, GrGLint param) {}
25 GrGLvoid GR_GL_FUNCTION_TYPE nullGLReadPixels(GrGLint x, GrGLint y, GrGLsizei wi dth, GrGLsizei height, GrGLenum format, GrGLenum type, GrGLvoid* pixels) {} 26 GrGLvoid GR_GL_FUNCTION_TYPE nullGLReadPixels(GrGLint x, GrGLint y, GrGLsizei wi dth, GrGLsizei height, GrGLenum format, GrGLenum type, GrGLvoid* pixels) {}
26 GrGLvoid GR_GL_FUNCTION_TYPE nullGLUseProgram(GrGLuint program) {} 27 GrGLvoid GR_GL_FUNCTION_TYPE nullGLUseProgram(GrGLuint program) {}
27 GrGLvoid GR_GL_FUNCTION_TYPE nullGLViewport(GrGLint x, GrGLint y, GrGLsizei widt h, GrGLsizei height) {} 28 GrGLvoid GR_GL_FUNCTION_TYPE nullGLViewport(GrGLint x, GrGLint y, GrGLsizei widt h, GrGLsizei height) {}
28 GrGLvoid GR_GL_FUNCTION_TYPE nullGLBindFramebuffer(GrGLenum target, GrGLuint fra mebuffer) {} 29 GrGLvoid GR_GL_FUNCTION_TYPE nullGLBindFramebuffer(GrGLenum target, GrGLuint fra mebuffer) {}
29 GrGLvoid GR_GL_FUNCTION_TYPE nullGLBindRenderbuffer(GrGLenum target, GrGLuint re nderbuffer) {} 30 GrGLvoid GR_GL_FUNCTION_TYPE nullGLBindRenderbuffer(GrGLenum target, GrGLuint re nderbuffer) {}
30 GrGLvoid GR_GL_FUNCTION_TYPE nullGLDeleteFramebuffers(GrGLsizei n, const GrGLuin t *framebuffers) {} 31 GrGLvoid GR_GL_FUNCTION_TYPE nullGLDeleteFramebuffers(GrGLsizei n, const GrGLuin t *framebuffers) {}
31 GrGLvoid GR_GL_FUNCTION_TYPE nullGLDeleteRenderbuffers(GrGLsizei n, const GrGLui nt *renderbuffers) {} 32 GrGLvoid GR_GL_FUNCTION_TYPE nullGLDeleteRenderbuffers(GrGLsizei n, const GrGLui nt *renderbuffers) {}
32 GrGLvoid GR_GL_FUNCTION_TYPE nullGLFramebufferRenderbuffer(GrGLenum target, GrGL enum attachment, GrGLenum renderbuffertarget, GrGLuint renderbuffer) {} 33 GrGLvoid GR_GL_FUNCTION_TYPE nullGLFramebufferRenderbuffer(GrGLenum target, GrGL enum attachment, GrGLenum renderbuffertarget, GrGLuint renderbuffer) {}
33 GrGLvoid GR_GL_FUNCTION_TYPE nullGLFramebufferTexture2D(GrGLenum target, GrGLenu m attachment, GrGLenum textarget, GrGLuint texture, GrGLint level) {} 34 GrGLvoid GR_GL_FUNCTION_TYPE nullGLFramebufferTexture2D(GrGLenum target, GrGLenu m attachment, GrGLenum textarget, GrGLuint texture, GrGLint level) {}
34 35
35 GrGLuint GR_GL_FUNCTION_TYPE nullGLCreateProgram() { 36 GrGLuint GR_GL_FUNCTION_TYPE nullGLCreateProgram() {
36 static int gCurrID = 0; 37 static int gCurrID = 0;
37 return ++gCurrID; 38 return ++gCurrID;
38 } 39 }
39 40
40 GrGLuint GR_GL_FUNCTION_TYPE nullGLCreateShader(GrGLenum type) { 41 GrGLuint GR_GL_FUNCTION_TYPE nullGLCreateShader(GrGLenum type) {
41 static int gCurrID = 0; 42 static int gCurrID = 0;
42 return ++gCurrID; 43 return ++gCurrID;
43 } 44 }
44 45
45 // same delete used for shaders and programs 46 // same delete used for shaders and programs
46 GrGLvoid GR_GL_FUNCTION_TYPE nullGLDelete(GrGLuint program) { 47 GrGLvoid GR_GL_FUNCTION_TYPE nullGLDelete(GrGLuint program) {
47 } 48 }
48 49
49
50 // In debug builds we do asserts that ensure we agree with GL about when a buffe r 50 // In debug builds we do asserts that ensure we agree with GL about when a buffe r
51 // is mapped. 51 // is mapped.
52 static SkTDArray<GrGLuint> gMappedBuffers; 52 static SkTDArray<GrGLuint> gMappedBuffers;
53 static GrGLuint gCurrArrayBuffer; 53 static GrGLuint gCurrArrayBuffer;
54 static GrGLuint gCurrElementArrayBuffer; 54 static GrGLuint gCurrElementArrayBuffer;
55 55
56 GrGLvoid GR_GL_FUNCTION_TYPE nullGLBindBuffer(GrGLenum target, GrGLuint buffer) { 56 GrGLvoid GR_GL_FUNCTION_TYPE nullGLBindBuffer(GrGLenum target, GrGLuint buffer) {
57 switch (target) { 57 switch (target) {
58 case GR_GL_ARRAY_BUFFER: 58 case GR_GL_ARRAY_BUFFER:
59 gCurrArrayBuffer = buffer; 59 gCurrArrayBuffer = buffer;
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 GrGLInterface* interface = SkNEW(GrGLInterface); 161 GrGLInterface* interface = SkNEW(GrGLInterface);
162 glInterface.reset(interface); 162 glInterface.reset(interface);
163 interface->fBindingsExported = kDesktop_GrGLBinding; 163 interface->fBindingsExported = kDesktop_GrGLBinding;
164 interface->fActiveTexture = nullGLActiveTexture; 164 interface->fActiveTexture = nullGLActiveTexture;
165 interface->fAttachShader = nullGLAttachShader; 165 interface->fAttachShader = nullGLAttachShader;
166 interface->fBeginQuery = nullGLBeginQuery; 166 interface->fBeginQuery = nullGLBeginQuery;
167 interface->fBindAttribLocation = nullGLBindAttribLocation; 167 interface->fBindAttribLocation = nullGLBindAttribLocation;
168 interface->fBindBuffer = nullGLBindBuffer; 168 interface->fBindBuffer = nullGLBindBuffer;
169 interface->fBindFragDataLocation = noOpGLBindFragDataLocation; 169 interface->fBindFragDataLocation = noOpGLBindFragDataLocation;
170 interface->fBindTexture = nullGLBindTexture; 170 interface->fBindTexture = nullGLBindTexture;
171 interface->fBindVertexArray = nullGLBindVertexArray;
171 interface->fBlendColor = noOpGLBlendColor; 172 interface->fBlendColor = noOpGLBlendColor;
172 interface->fBlendFunc = noOpGLBlendFunc; 173 interface->fBlendFunc = noOpGLBlendFunc;
173 interface->fBufferData = nullGLBufferData; 174 interface->fBufferData = nullGLBufferData;
174 interface->fBufferSubData = noOpGLBufferSubData; 175 interface->fBufferSubData = noOpGLBufferSubData;
175 interface->fClear = noOpGLClear; 176 interface->fClear = noOpGLClear;
176 interface->fClearColor = noOpGLClearColor; 177 interface->fClearColor = noOpGLClearColor;
177 interface->fClearStencil = noOpGLClearStencil; 178 interface->fClearStencil = noOpGLClearStencil;
178 interface->fColorMask = noOpGLColorMask; 179 interface->fColorMask = noOpGLColorMask;
179 interface->fCompileShader = noOpGLCompileShader; 180 interface->fCompileShader = noOpGLCompileShader;
180 interface->fCompressedTexImage2D = noOpGLCompressedTexImage2D; 181 interface->fCompressedTexImage2D = noOpGLCompressedTexImage2D;
181 interface->fCreateProgram = nullGLCreateProgram; 182 interface->fCreateProgram = nullGLCreateProgram;
182 interface->fCreateShader = nullGLCreateShader; 183 interface->fCreateShader = nullGLCreateShader;
183 interface->fCullFace = noOpGLCullFace; 184 interface->fCullFace = noOpGLCullFace;
184 interface->fDeleteBuffers = nullGLDeleteBuffers; 185 interface->fDeleteBuffers = nullGLDeleteBuffers;
185 interface->fDeleteProgram = nullGLDelete; 186 interface->fDeleteProgram = nullGLDelete;
186 interface->fDeleteQueries = noOpGLDeleteIds; 187 interface->fDeleteQueries = noOpGLDeleteIds;
187 interface->fDeleteShader = nullGLDelete; 188 interface->fDeleteShader = nullGLDelete;
188 interface->fDeleteTextures = noOpGLDeleteIds; 189 interface->fDeleteTextures = noOpGLDeleteIds;
190 interface->fDeleteVertexArrays = noOpGLDeleteIds;
189 interface->fDepthMask = noOpGLDepthMask; 191 interface->fDepthMask = noOpGLDepthMask;
190 interface->fDisable = noOpGLDisable; 192 interface->fDisable = noOpGLDisable;
191 interface->fDisableVertexAttribArray = noOpGLDisableVertexAttribArray; 193 interface->fDisableVertexAttribArray = noOpGLDisableVertexAttribArray;
192 interface->fDrawArrays = noOpGLDrawArrays; 194 interface->fDrawArrays = noOpGLDrawArrays;
193 interface->fDrawBuffer = noOpGLDrawBuffer; 195 interface->fDrawBuffer = noOpGLDrawBuffer;
194 interface->fDrawBuffers = noOpGLDrawBuffers; 196 interface->fDrawBuffers = noOpGLDrawBuffers;
195 interface->fDrawElements = noOpGLDrawElements; 197 interface->fDrawElements = noOpGLDrawElements;
196 interface->fEnable = noOpGLEnable; 198 interface->fEnable = noOpGLEnable;
197 interface->fEnableVertexAttribArray = noOpGLEnableVertexAttribArray; 199 interface->fEnableVertexAttribArray = noOpGLEnableVertexAttribArray;
198 interface->fEndQuery = noOpGLEndQuery; 200 interface->fEndQuery = noOpGLEndQuery;
199 interface->fFinish = noOpGLFinish; 201 interface->fFinish = noOpGLFinish;
200 interface->fFlush = noOpGLFlush; 202 interface->fFlush = noOpGLFlush;
201 interface->fFrontFace = noOpGLFrontFace; 203 interface->fFrontFace = noOpGLFrontFace;
202 interface->fGenBuffers = noOpGLGenIds; 204 interface->fGenBuffers = noOpGLGenIds;
203 interface->fGenQueries = noOpGLGenIds; 205 interface->fGenQueries = noOpGLGenIds;
204 interface->fGenTextures = noOpGLGenIds; 206 interface->fGenTextures = noOpGLGenIds;
207 interface->fGenVertexArrays = noOpGLGenIds;
205 interface->fGetBufferParameteriv = nullGLGetBufferParameteriv; 208 interface->fGetBufferParameteriv = nullGLGetBufferParameteriv;
206 interface->fGetError = noOpGLGetError; 209 interface->fGetError = noOpGLGetError;
207 interface->fGetIntegerv = noOpGLGetIntegerv; 210 interface->fGetIntegerv = noOpGLGetIntegerv;
208 interface->fGetQueryObjecti64v = noOpGLGetQueryObjecti64v; 211 interface->fGetQueryObjecti64v = noOpGLGetQueryObjecti64v;
209 interface->fGetQueryObjectiv = noOpGLGetQueryObjectiv; 212 interface->fGetQueryObjectiv = noOpGLGetQueryObjectiv;
210 interface->fGetQueryObjectui64v = noOpGLGetQueryObjectui64v; 213 interface->fGetQueryObjectui64v = noOpGLGetQueryObjectui64v;
211 interface->fGetQueryObjectuiv = noOpGLGetQueryObjectuiv; 214 interface->fGetQueryObjectuiv = noOpGLGetQueryObjectuiv;
212 interface->fGetQueryiv = noOpGLGetQueryiv; 215 interface->fGetQueryiv = noOpGLGetQueryiv;
213 interface->fGetProgramInfoLog = noOpGLGetInfoLog; 216 interface->fGetProgramInfoLog = noOpGLGetInfoLog;
214 interface->fGetProgramiv = noOpGLGetShaderOrProgramiv; 217 interface->fGetProgramiv = noOpGLGetShaderOrProgramiv;
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 interface->fRenderbufferStorageMultisample = noOpGLRenderbufferStorageMu ltisample; 278 interface->fRenderbufferStorageMultisample = noOpGLRenderbufferStorageMu ltisample;
276 interface->fBlitFramebuffer = noOpGLBlitFramebuffer; 279 interface->fBlitFramebuffer = noOpGLBlitFramebuffer;
277 interface->fResolveMultisampleFramebuffer = noOpGLResolveMultisampleFram ebuffer; 280 interface->fResolveMultisampleFramebuffer = noOpGLResolveMultisampleFram ebuffer;
278 interface->fMapBuffer = nullGLMapBuffer; 281 interface->fMapBuffer = nullGLMapBuffer;
279 interface->fUnmapBuffer = nullGLUnmapBuffer; 282 interface->fUnmapBuffer = nullGLUnmapBuffer;
280 interface->fBindFragDataLocationIndexed = noOpGLBindFragDataLocationInde xed; 283 interface->fBindFragDataLocationIndexed = noOpGLBindFragDataLocationInde xed;
281 } 284 }
282 glInterface.get()->ref(); 285 glInterface.get()->ref();
283 return glInterface.get(); 286 return glInterface.get();
284 } 287 }
OLDNEW
« no previous file with comments | « include/gpu/gl/GrGLInterface.h ('k') | src/gpu/gl/GrGLInterface.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698