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

Side by Side Diff: third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp

Issue 2501243002: Fix a minor bug in compressedTex{Sub}Image in blink. (Closed)
Patch Set: Created 4 years, 1 month 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 | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/dom/DOMException.h" 8 #include "core/dom/DOMException.h"
9 #include "core/frame/ImageBitmap.h" 9 #include "core/frame/ImageBitmap.h"
10 #include "core/html/HTMLCanvasElement.h" 10 #include "core/html/HTMLCanvasElement.h"
(...skipping 1992 matching lines...) Expand 10 before | Expand all | Expand 10 after
2003 if (srcOffset > data->byteLength()) { 2003 if (srcOffset > data->byteLength()) {
2004 synthesizeGLError(GL_INVALID_VALUE, "compressedTexImage2D", 2004 synthesizeGLError(GL_INVALID_VALUE, "compressedTexImage2D",
2005 "srcOffset is out of range"); 2005 "srcOffset is out of range");
2006 return; 2006 return;
2007 } 2007 }
2008 if (srcLengthOverride == 0) { 2008 if (srcLengthOverride == 0) {
2009 srcLengthOverride = data->byteLength() - srcOffset; 2009 srcLengthOverride = data->byteLength() - srcOffset;
2010 } else if (srcLengthOverride > data->byteLength() - srcOffset) { 2010 } else if (srcLengthOverride > data->byteLength() - srcOffset) {
2011 synthesizeGLError(GL_INVALID_VALUE, "compressedTexImage2D", 2011 synthesizeGLError(GL_INVALID_VALUE, "compressedTexImage2D",
2012 "srcLengthOverride is out of range"); 2012 "srcLengthOverride is out of range");
2013 return;
2013 } 2014 }
2014 contextGL()->CompressedTexImage2D( 2015 contextGL()->CompressedTexImage2D(
2015 target, level, internalformat, width, height, border, srcLengthOverride, 2016 target, level, internalformat, width, height, border, srcLengthOverride,
2016 static_cast<uint8_t*>(data->baseAddress()) + srcOffset); 2017 static_cast<uint8_t*>(data->baseAddress()) + srcOffset);
2017 } 2018 }
2018 2019
2019 void WebGL2RenderingContextBase::compressedTexSubImage2D( 2020 void WebGL2RenderingContextBase::compressedTexSubImage2D(
2020 GLenum target, 2021 GLenum target,
2021 GLint level, 2022 GLint level,
2022 GLint xoffset, 2023 GLint xoffset,
(...skipping 26 matching lines...) Expand all
2049 if (srcOffset > data->byteLength()) { 2050 if (srcOffset > data->byteLength()) {
2050 synthesizeGLError(GL_INVALID_VALUE, "compressedTexSubImage2D", 2051 synthesizeGLError(GL_INVALID_VALUE, "compressedTexSubImage2D",
2051 "srcOffset is out of range"); 2052 "srcOffset is out of range");
2052 return; 2053 return;
2053 } 2054 }
2054 if (srcLengthOverride == 0) { 2055 if (srcLengthOverride == 0) {
2055 srcLengthOverride = data->byteLength() - srcOffset; 2056 srcLengthOverride = data->byteLength() - srcOffset;
2056 } else if (srcLengthOverride > data->byteLength() - srcOffset) { 2057 } else if (srcLengthOverride > data->byteLength() - srcOffset) {
2057 synthesizeGLError(GL_INVALID_VALUE, "compressedTexImage2D", 2058 synthesizeGLError(GL_INVALID_VALUE, "compressedTexImage2D",
2058 "srcLengthOverride is out of range"); 2059 "srcLengthOverride is out of range");
2060 return;
2059 } 2061 }
2060 contextGL()->CompressedTexSubImage2D( 2062 contextGL()->CompressedTexSubImage2D(
2061 target, level, xoffset, yoffset, width, height, format, srcLengthOverride, 2063 target, level, xoffset, yoffset, width, height, format, srcLengthOverride,
2062 static_cast<uint8_t*>(data->baseAddress()) + srcOffset); 2064 static_cast<uint8_t*>(data->baseAddress()) + srcOffset);
2063 } 2065 }
2064 2066
2065 void WebGL2RenderingContextBase::compressedTexImage3D( 2067 void WebGL2RenderingContextBase::compressedTexImage3D(
2066 GLenum target, 2068 GLenum target,
2067 GLint level, 2069 GLint level,
2068 GLenum internalformat, 2070 GLenum internalformat,
(...skipping 13 matching lines...) Expand all
2082 if (srcOffset > data->byteLength()) { 2084 if (srcOffset > data->byteLength()) {
2083 synthesizeGLError(GL_INVALID_VALUE, "compressedTexImage3D", 2085 synthesizeGLError(GL_INVALID_VALUE, "compressedTexImage3D",
2084 "srcOffset is out of range"); 2086 "srcOffset is out of range");
2085 return; 2087 return;
2086 } 2088 }
2087 if (srcLengthOverride == 0) { 2089 if (srcLengthOverride == 0) {
2088 srcLengthOverride = data->byteLength() - srcOffset; 2090 srcLengthOverride = data->byteLength() - srcOffset;
2089 } else if (srcLengthOverride > data->byteLength() - srcOffset) { 2091 } else if (srcLengthOverride > data->byteLength() - srcOffset) {
2090 synthesizeGLError(GL_INVALID_VALUE, "compressedTexImage3D", 2092 synthesizeGLError(GL_INVALID_VALUE, "compressedTexImage3D",
2091 "srcLengthOverride is out of range"); 2093 "srcLengthOverride is out of range");
2094 return;
2092 } 2095 }
2093 contextGL()->CompressedTexImage3D( 2096 contextGL()->CompressedTexImage3D(
2094 target, level, internalformat, width, height, depth, border, 2097 target, level, internalformat, width, height, depth, border,
2095 srcLengthOverride, 2098 srcLengthOverride,
2096 static_cast<uint8_t*>(data->baseAddress()) + srcOffset); 2099 static_cast<uint8_t*>(data->baseAddress()) + srcOffset);
2097 } 2100 }
2098 2101
2099 void WebGL2RenderingContextBase::compressedTexSubImage3D( 2102 void WebGL2RenderingContextBase::compressedTexSubImage3D(
2100 GLenum target, 2103 GLenum target,
2101 GLint level, 2104 GLint level,
(...skipping 16 matching lines...) Expand all
2118 if (srcOffset > data->byteLength()) { 2121 if (srcOffset > data->byteLength()) {
2119 synthesizeGLError(GL_INVALID_VALUE, "compressedTexSubImage3D", 2122 synthesizeGLError(GL_INVALID_VALUE, "compressedTexSubImage3D",
2120 "srcOffset is out of range"); 2123 "srcOffset is out of range");
2121 return; 2124 return;
2122 } 2125 }
2123 if (srcLengthOverride == 0) { 2126 if (srcLengthOverride == 0) {
2124 srcLengthOverride = data->byteLength() - srcOffset; 2127 srcLengthOverride = data->byteLength() - srcOffset;
2125 } else if (srcLengthOverride > data->byteLength() - srcOffset) { 2128 } else if (srcLengthOverride > data->byteLength() - srcOffset) {
2126 synthesizeGLError(GL_INVALID_VALUE, "compressedTexSubImage3D", 2129 synthesizeGLError(GL_INVALID_VALUE, "compressedTexSubImage3D",
2127 "srcLengthOverride is out of range"); 2130 "srcLengthOverride is out of range");
2131 return;
2128 } 2132 }
2129 contextGL()->CompressedTexSubImage3D( 2133 contextGL()->CompressedTexSubImage3D(
2130 target, level, xoffset, yoffset, zoffset, width, height, depth, format, 2134 target, level, xoffset, yoffset, zoffset, width, height, depth, format,
2131 srcLengthOverride, 2135 srcLengthOverride,
2132 static_cast<uint8_t*>(data->baseAddress()) + srcOffset); 2136 static_cast<uint8_t*>(data->baseAddress()) + srcOffset);
2133 } 2137 }
2134 2138
2135 GLint WebGL2RenderingContextBase::getFragDataLocation(WebGLProgram* program, 2139 GLint WebGL2RenderingContextBase::getFragDataLocation(WebGLProgram* program,
2136 const String& name) { 2140 const String& name) {
2137 if (isContextLost() || !validateWebGLObject("getFragDataLocation", program)) 2141 if (isContextLost() || !validateWebGLObject("getFragDataLocation", program))
(...skipping 2827 matching lines...) Expand 10 before | Expand all | Expand 10 after
4965 4969
4966 void WebGL2RenderingContextBase:: 4970 void WebGL2RenderingContextBase::
4967 DrawingBufferClientRestorePixelUnpackBufferBinding() { 4971 DrawingBufferClientRestorePixelUnpackBufferBinding() {
4968 if (!contextGL()) 4972 if (!contextGL())
4969 return; 4973 return;
4970 contextGL()->BindBuffer(GL_PIXEL_UNPACK_BUFFER, 4974 contextGL()->BindBuffer(GL_PIXEL_UNPACK_BUFFER,
4971 objectOrZero(m_boundPixelUnpackBuffer.get())); 4975 objectOrZero(m_boundPixelUnpackBuffer.get()));
4972 } 4976 }
4973 4977
4974 } // namespace blink 4978 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698