| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 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 "GrGLCaps.h" | 9 #include "GrGLCaps.h" |
| 10 #include "GrGLContext.h" | 10 #include "GrGLContext.h" |
| (...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 458 void GrGLCaps::initFSAASupport(const GrGLContextInfo& ctxInfo, const GrGLInterfa
ce* gli) { | 458 void GrGLCaps::initFSAASupport(const GrGLContextInfo& ctxInfo, const GrGLInterfa
ce* gli) { |
| 459 | 459 |
| 460 fMSFBOType = kNone_MSFBOType; | 460 fMSFBOType = kNone_MSFBOType; |
| 461 if (kGL_GrGLStandard != ctxInfo.standard()) { | 461 if (kGL_GrGLStandard != ctxInfo.standard()) { |
| 462 // We prefer the EXT/IMG extension over ES3 MSAA because we've observed | 462 // We prefer the EXT/IMG extension over ES3 MSAA because we've observed |
| 463 // ES3 driver bugs on at least one device with a tiled GPU (N10). | 463 // ES3 driver bugs on at least one device with a tiled GPU (N10). |
| 464 if (ctxInfo.hasExtension("GL_EXT_multisampled_render_to_texture")) { | 464 if (ctxInfo.hasExtension("GL_EXT_multisampled_render_to_texture")) { |
| 465 fMSFBOType = kES_EXT_MsToTexture_MSFBOType; | 465 fMSFBOType = kES_EXT_MsToTexture_MSFBOType; |
| 466 } else if (ctxInfo.hasExtension("GL_IMG_multisampled_render_to_texture")
) { | 466 } else if (ctxInfo.hasExtension("GL_IMG_multisampled_render_to_texture")
) { |
| 467 fMSFBOType = kES_IMG_MsToTexture_MSFBOType; | 467 fMSFBOType = kES_IMG_MsToTexture_MSFBOType; |
| 468 } else if (!GR_GL_IGNORE_ES3_MSAA && ctxInfo.version() >= GR_GL_VER(3,0)
) { | 468 } else if (ctxInfo.version() >= GR_GL_VER(3,0)) { |
| 469 fMSFBOType = GrGLCaps::kES_3_0_MSFBOType; | 469 fMSFBOType = GrGLCaps::kES_3_0_MSFBOType; |
| 470 } else if (ctxInfo.hasExtension("GL_CHROMIUM_framebuffer_multisample"))
{ | 470 } else if (ctxInfo.hasExtension("GL_CHROMIUM_framebuffer_multisample"))
{ |
| 471 // chrome's extension is equivalent to the EXT msaa | 471 // chrome's extension is equivalent to the EXT msaa |
| 472 // and fbo_blit extensions. | 472 // and fbo_blit extensions. |
| 473 fMSFBOType = kDesktop_EXT_MSFBOType; | 473 fMSFBOType = kDesktop_EXT_MSFBOType; |
| 474 } else if (ctxInfo.hasExtension("GL_APPLE_framebuffer_multisample")) { | 474 } else if (ctxInfo.hasExtension("GL_APPLE_framebuffer_multisample")) { |
| 475 fMSFBOType = kES_Apple_MSFBOType; | 475 fMSFBOType = kES_Apple_MSFBOType; |
| 476 } | 476 } |
| 477 } else { | 477 } else { |
| 478 if ((ctxInfo.version() >= GR_GL_VER(3,0)) || | 478 if ((ctxInfo.version() >= GR_GL_VER(3,0)) || |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 655 r.appendf("Two Format Limit: %s\n", (fTwoFormatLimit ? "YES": "NO")); | 655 r.appendf("Two Format Limit: %s\n", (fTwoFormatLimit ? "YES": "NO")); |
| 656 r.appendf("Fragment coord conventions support: %s\n", | 656 r.appendf("Fragment coord conventions support: %s\n", |
| 657 (fFragCoordsConventionSupport ? "YES": "NO")); | 657 (fFragCoordsConventionSupport ? "YES": "NO")); |
| 658 r.appendf("Vertex array object support: %s\n", (fVertexArrayObjectSupport ?
"YES": "NO")); | 658 r.appendf("Vertex array object support: %s\n", (fVertexArrayObjectSupport ?
"YES": "NO")); |
| 659 r.appendf("Use non-VBO for dynamic data: %s\n", | 659 r.appendf("Use non-VBO for dynamic data: %s\n", |
| 660 (fUseNonVBOVertexAndIndexDynamicData ? "YES" : "NO")); | 660 (fUseNonVBOVertexAndIndexDynamicData ? "YES" : "NO")); |
| 661 r.appendf("Discard FrameBuffer support: %s\n", (fDiscardFBSupport ? "YES" :
"NO")); | 661 r.appendf("Discard FrameBuffer support: %s\n", (fDiscardFBSupport ? "YES" :
"NO")); |
| 662 r.appendf("Full screen clear is free: %s\n", (fFullClearIsFree ? "YES" : "NO
")); | 662 r.appendf("Full screen clear is free: %s\n", (fFullClearIsFree ? "YES" : "NO
")); |
| 663 return r; | 663 return r; |
| 664 } | 664 } |
| OLD | NEW |