OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "modules/webgl/WebGL2RenderingContextBase.h" | 5 #include "modules/webgl/WebGL2RenderingContextBase.h" |
6 | 6 |
7 #include "bindings/modules/v8/WebGLAny.h" | 7 #include "bindings/modules/v8/WebGLAny.h" |
8 #include "core/frame/ImageBitmap.h" | 8 #include "core/frame/ImageBitmap.h" |
9 #include "core/html/HTMLCanvasElement.h" | 9 #include "core/html/HTMLCanvasElement.h" |
10 #include "core/html/HTMLImageElement.h" | 10 #include "core/html/HTMLImageElement.h" |
(...skipping 619 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
630 GLsizei width, | 630 GLsizei width, |
631 GLsizei height) { | 631 GLsizei height) { |
632 return IntRect(m_unpackSkipPixels, m_unpackSkipRows, width, height); | 632 return IntRect(m_unpackSkipPixels, m_unpackSkipRows, width, height); |
633 } | 633 } |
634 | 634 |
635 bool WebGL2RenderingContextBase::canUseTexImageByGPU( | 635 bool WebGL2RenderingContextBase::canUseTexImageByGPU( |
636 TexImageFunctionID functionID, | 636 TexImageFunctionID functionID, |
637 GLint internalformat, | 637 GLint internalformat, |
638 GLenum type) { | 638 GLenum type) { |
639 switch (internalformat) { | 639 switch (internalformat) { |
640 case GL_RGB565: | 640 #if OS(MACOSX) |
641 case GL_RGBA4: | 641 // RGB5_A1 is not color-renderable on NVIDIA Mac, see crbug.com/676209. |
642 case GL_RGB5_A1: | 642 case GL_RGB5_A1: |
643 // FIXME: ES3 limitation that CopyTexImage with sized internalformat, | 643 #endif |
644 // component sizes have to match the source color format. | 644 // TODO(qiankun.miao@intel.com): in ES3, component sizes have to match the |
| 645 // source color format for CopyTexImage with sized internalformat. |
| 646 case GL_RGB9_E5: |
645 return false; | 647 return false; |
646 default: | 648 default: |
647 break; | 649 break; |
648 } | 650 } |
649 return WebGLRenderingContextBase::canUseTexImageByGPU(functionID, | 651 return WebGLRenderingContextBase::canUseTexImageByGPU(functionID, |
650 internalformat, type); | 652 internalformat, type); |
651 } | 653 } |
652 | 654 |
653 void WebGL2RenderingContextBase::invalidateFramebuffer( | 655 void WebGL2RenderingContextBase::invalidateFramebuffer( |
654 GLenum target, | 656 GLenum target, |
(...skipping 5012 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5667 | 5669 |
5668 void WebGL2RenderingContextBase:: | 5670 void WebGL2RenderingContextBase:: |
5669 DrawingBufferClientRestorePixelUnpackBufferBinding() { | 5671 DrawingBufferClientRestorePixelUnpackBufferBinding() { |
5670 if (!contextGL()) | 5672 if (!contextGL()) |
5671 return; | 5673 return; |
5672 contextGL()->BindBuffer(GL_PIXEL_UNPACK_BUFFER, | 5674 contextGL()->BindBuffer(GL_PIXEL_UNPACK_BUFFER, |
5673 objectOrZero(m_boundPixelUnpackBuffer.get())); | 5675 objectOrZero(m_boundPixelUnpackBuffer.get())); |
5674 } | 5676 } |
5675 | 5677 |
5676 } // namespace blink | 5678 } // namespace blink |
OLD | NEW |