OLD | NEW |
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 "GrGpuGL.h" | 9 #include "GrGpuGL.h" |
10 #include "GrGLStencilBuffer.h" | 10 #include "GrGLStencilBuffer.h" |
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
415 if (kDesktop_GrGLBinding == this->glBinding()) { | 415 if (kDesktop_GrGLBinding == this->glBinding()) { |
416 // Desktop-only state that we never change | 416 // Desktop-only state that we never change |
417 if (!this->glCaps().isCoreProfile()) { | 417 if (!this->glCaps().isCoreProfile()) { |
418 GL_CALL(Disable(GR_GL_POINT_SMOOTH)); | 418 GL_CALL(Disable(GR_GL_POINT_SMOOTH)); |
419 GL_CALL(Disable(GR_GL_LINE_SMOOTH)); | 419 GL_CALL(Disable(GR_GL_LINE_SMOOTH)); |
420 GL_CALL(Disable(GR_GL_POLYGON_SMOOTH)); | 420 GL_CALL(Disable(GR_GL_POLYGON_SMOOTH)); |
421 GL_CALL(Disable(GR_GL_POLYGON_STIPPLE)); | 421 GL_CALL(Disable(GR_GL_POLYGON_STIPPLE)); |
422 GL_CALL(Disable(GR_GL_COLOR_LOGIC_OP)); | 422 GL_CALL(Disable(GR_GL_COLOR_LOGIC_OP)); |
423 GL_CALL(Disable(GR_GL_INDEX_LOGIC_OP)); | 423 GL_CALL(Disable(GR_GL_INDEX_LOGIC_OP)); |
424 } | 424 } |
425 if (this->glCaps().imagingSupport()) { | 425 // The windows NVIDIA driver has GL_ARB_imaging in the extension string
when using a core |
426 // This produces a GL error on the windows NVIDIA driver when using
a core profile but | 426 // profile. This seems like a bug since the core spec removes any mentio
n of GL_ARB_imaging. |
427 // I think that is a driver bug since GL_ARB_imaging is in the exten
sion string. | 427 if (this->glCaps().imagingSupport() && !this->glCaps().isCoreProfile())
{ |
428 GL_CALL(Disable(GR_GL_COLOR_TABLE)); | 428 GL_CALL(Disable(GR_GL_COLOR_TABLE)); |
429 } | 429 } |
430 GL_CALL(Disable(GR_GL_POLYGON_OFFSET_FILL)); | 430 GL_CALL(Disable(GR_GL_POLYGON_OFFSET_FILL)); |
431 // Since ES doesn't support glPointSize at all we always use the VS to | 431 // Since ES doesn't support glPointSize at all we always use the VS to |
432 // set the point size | 432 // set the point size |
433 GL_CALL(Enable(GR_GL_VERTEX_PROGRAM_POINT_SIZE)); | 433 GL_CALL(Enable(GR_GL_VERTEX_PROGRAM_POINT_SIZE)); |
434 | 434 |
435 // We should set glPolygonMode(FRONT_AND_BACK,FILL) here, too. It isn't | 435 // We should set glPolygonMode(FRONT_AND_BACK,FILL) here, too. It isn't |
436 // currently part of our gl interface. There are probably others as | 436 // currently part of our gl interface. There are probably others as |
437 // well. | 437 // well. |
(...skipping 1909 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2347 this->setVertexArrayID(gpu, 0); | 2347 this->setVertexArrayID(gpu, 0); |
2348 } | 2348 } |
2349 int attrCount = gpu->glCaps().maxVertexAttributes(); | 2349 int attrCount = gpu->glCaps().maxVertexAttributes(); |
2350 if (fDefaultVertexArrayAttribState.count() != attrCount) { | 2350 if (fDefaultVertexArrayAttribState.count() != attrCount) { |
2351 fDefaultVertexArrayAttribState.resize(attrCount); | 2351 fDefaultVertexArrayAttribState.resize(attrCount); |
2352 } | 2352 } |
2353 attribState = &fDefaultVertexArrayAttribState; | 2353 attribState = &fDefaultVertexArrayAttribState; |
2354 } | 2354 } |
2355 return attribState; | 2355 return attribState; |
2356 } | 2356 } |
OLD | NEW |