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

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

Issue 1234883002: [Oilpan] Migrate classes under module/webgl onto oilpan heap (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Work for comments Created 5 years, 4 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
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 "config.h" 5 #include "config.h"
6 #include "modules/webgl/WebGL2RenderingContextBase.h" 6 #include "modules/webgl/WebGL2RenderingContextBase.h"
7 7
8 #include "bindings/modules/v8/WebGLAny.h" 8 #include "bindings/modules/v8/WebGLAny.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 1103 matching lines...) Expand 10 before | Expand all | Expand 10 after
1114 } 1114 }
1115 1115
1116 void WebGL2RenderingContextBase::clearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) 1116 void WebGL2RenderingContextBase::clearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
1117 { 1117 {
1118 if (isContextLost()) 1118 if (isContextLost())
1119 return; 1119 return;
1120 1120
1121 webContext()->clearBufferfi(buffer, drawbuffer, depth, stencil); 1121 webContext()->clearBufferfi(buffer, drawbuffer, depth, stencil);
1122 } 1122 }
1123 1123
1124 PassRefPtrWillBeRawPtr<WebGLQuery> WebGL2RenderingContextBase::createQuery() 1124 WebGLQuery* WebGL2RenderingContextBase::createQuery()
1125 { 1125 {
1126 if (isContextLost()) 1126 if (isContextLost())
1127 return nullptr; 1127 return nullptr;
1128 RefPtrWillBeRawPtr<WebGLQuery> o = WebGLQuery::create(this); 1128 WebGLQuery* o = WebGLQuery::create(this);
1129 addSharedObject(o.get()); 1129 addSharedObject(o);
1130 return o; 1130 return o;
1131 } 1131 }
1132 1132
1133 void WebGL2RenderingContextBase::deleteQuery(WebGLQuery* query) 1133 void WebGL2RenderingContextBase::deleteQuery(WebGLQuery* query)
1134 { 1134 {
1135 if (m_currentBooleanOcclusionQuery == query) { 1135 if (m_currentBooleanOcclusionQuery == query) {
1136 webContext()->endQueryEXT(m_currentBooleanOcclusionQuery->getTarget()); 1136 webContext()->endQueryEXT(m_currentBooleanOcclusionQuery->getTarget());
1137 m_currentBooleanOcclusionQuery = nullptr; 1137 m_currentBooleanOcclusionQuery = nullptr;
1138 } 1138 }
1139 1139
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
1227 } 1227 }
1228 break; 1228 break;
1229 default: 1229 default:
1230 synthesizeGLError(GL_INVALID_ENUM, "endQuery", "invalid target"); 1230 synthesizeGLError(GL_INVALID_ENUM, "endQuery", "invalid target");
1231 return; 1231 return;
1232 } 1232 }
1233 1233
1234 webContext()->endQueryEXT(target); 1234 webContext()->endQueryEXT(target);
1235 } 1235 }
1236 1236
1237 PassRefPtrWillBeRawPtr<WebGLQuery> WebGL2RenderingContextBase::getQuery(GLenum t arget, GLenum pname) 1237 WebGLQuery* WebGL2RenderingContextBase::getQuery(GLenum target, GLenum pname)
1238 { 1238 {
1239 if (isContextLost()) 1239 if (isContextLost())
1240 return nullptr; 1240 return nullptr;
1241 1241
1242 if (pname != GL_CURRENT_QUERY) { 1242 if (pname != GL_CURRENT_QUERY) {
1243 synthesizeGLError(GL_INVALID_ENUM, "getQuery", "invalid parameter name") ; 1243 synthesizeGLError(GL_INVALID_ENUM, "getQuery", "invalid parameter name") ;
1244 return nullptr; 1244 return nullptr;
1245 } 1245 }
1246 1246
1247 switch (target) { 1247 switch (target) {
1248 case GL_ANY_SAMPLES_PASSED: 1248 case GL_ANY_SAMPLES_PASSED:
1249 case GL_ANY_SAMPLES_PASSED_CONSERVATIVE: 1249 case GL_ANY_SAMPLES_PASSED_CONSERVATIVE:
1250 if (m_currentBooleanOcclusionQuery && m_currentBooleanOcclusionQuery->ge tTarget() == target) 1250 if (m_currentBooleanOcclusionQuery && m_currentBooleanOcclusionQuery->ge tTarget() == target)
1251 return PassRefPtrWillBeRawPtr<WebGLQuery>(m_currentBooleanOcclusionQ uery.get()); 1251 return m_currentBooleanOcclusionQuery;
1252 break; 1252 break;
1253 case GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 1253 case GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:
1254 return PassRefPtrWillBeRawPtr<WebGLQuery>(m_currentTransformFeedbackPrim itivesWrittenQuery.get()); 1254 return m_currentTransformFeedbackPrimitivesWrittenQuery;
1255 default: 1255 default:
1256 synthesizeGLError(GL_INVALID_ENUM, "getQuery", "invalid target"); 1256 synthesizeGLError(GL_INVALID_ENUM, "getQuery", "invalid target");
1257 return nullptr; 1257 return nullptr;
1258 } 1258 }
1259 return nullptr; 1259 return nullptr;
1260 } 1260 }
1261 1261
1262 ScriptValue WebGL2RenderingContextBase::getQueryParameter(ScriptState* scriptSta te, WebGLQuery* query, GLenum pname) 1262 ScriptValue WebGL2RenderingContextBase::getQueryParameter(ScriptState* scriptSta te, WebGLQuery* query, GLenum pname)
1263 { 1263 {
1264 if (isContextLost() || !validateWebGLObject("getQueryParameter", query)) 1264 if (isContextLost() || !validateWebGLObject("getQueryParameter", query))
(...skipping 11 matching lines...) Expand all
1276 GLuint value; 1276 GLuint value;
1277 webContext()->getQueryObjectuivEXT(objectOrZero(query), pname, &valu e); 1277 webContext()->getQueryObjectuivEXT(objectOrZero(query), pname, &valu e);
1278 return WebGLAny(scriptState, value == GL_TRUE); 1278 return WebGLAny(scriptState, value == GL_TRUE);
1279 } 1279 }
1280 default: 1280 default:
1281 synthesizeGLError(GL_INVALID_ENUM, "getQueryParameter", "invalid paramet er name"); 1281 synthesizeGLError(GL_INVALID_ENUM, "getQueryParameter", "invalid paramet er name");
1282 return ScriptValue::createNull(scriptState); 1282 return ScriptValue::createNull(scriptState);
1283 } 1283 }
1284 } 1284 }
1285 1285
1286 PassRefPtrWillBeRawPtr<WebGLSampler> WebGL2RenderingContextBase::createSampler() 1286 WebGLSampler* WebGL2RenderingContextBase::createSampler()
1287 { 1287 {
1288 if (isContextLost()) 1288 if (isContextLost())
1289 return nullptr; 1289 return nullptr;
1290 RefPtrWillBeRawPtr<WebGLSampler> o = WebGLSampler::create(this); 1290 WebGLSampler* o = WebGLSampler::create(this);
1291 addSharedObject(o.get()); 1291 addSharedObject(o);
1292 return o; 1292 return o;
1293 } 1293 }
1294 1294
1295 void WebGL2RenderingContextBase::deleteSampler(WebGLSampler* sampler) 1295 void WebGL2RenderingContextBase::deleteSampler(WebGLSampler* sampler)
1296 { 1296 {
1297 for (size_t i = 0; i < m_samplerUnits.size(); ++i) { 1297 for (size_t i = 0; i < m_samplerUnits.size(); ++i) {
1298 if (sampler == m_samplerUnits[i]) { 1298 if (sampler == m_samplerUnits[i]) {
1299 m_samplerUnits[i] = nullptr; 1299 m_samplerUnits[i] = nullptr;
1300 webContext()->bindSampler(i, 0); 1300 webContext()->bindSampler(i, 0);
1301 } 1301 }
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
1372 GLfloat value = 0.f; 1372 GLfloat value = 0.f;
1373 webContext()->getSamplerParameterfv(objectOrZero(sampler), pname, &v alue); 1373 webContext()->getSamplerParameterfv(objectOrZero(sampler), pname, &v alue);
1374 return WebGLAny(scriptState, value); 1374 return WebGLAny(scriptState, value);
1375 } 1375 }
1376 default: 1376 default:
1377 synthesizeGLError(GL_INVALID_ENUM, "getSamplerParameter", "invalid param eter name"); 1377 synthesizeGLError(GL_INVALID_ENUM, "getSamplerParameter", "invalid param eter name");
1378 return ScriptValue::createNull(scriptState); 1378 return ScriptValue::createNull(scriptState);
1379 } 1379 }
1380 } 1380 }
1381 1381
1382 PassRefPtrWillBeRawPtr<WebGLSync> WebGL2RenderingContextBase::fenceSync(GLenum c ondition, GLbitfield flags) 1382 WebGLSync* WebGL2RenderingContextBase::fenceSync(GLenum condition, GLbitfield fl ags)
1383 { 1383 {
1384 if (isContextLost()) 1384 if (isContextLost())
1385 return nullptr; 1385 return nullptr;
1386 1386
1387 RefPtrWillBeRawPtr<WebGLSync> o = WebGLFenceSync::create(this, condition, fl ags); 1387 WebGLSync* o = WebGLFenceSync::create(this, condition, flags);
1388 addSharedObject(o.get()); 1388 addSharedObject(o);
1389 return o.release(); 1389 return o;
1390 } 1390 }
1391 1391
1392 GLboolean WebGL2RenderingContextBase::isSync(WebGLSync* sync) 1392 GLboolean WebGL2RenderingContextBase::isSync(WebGLSync* sync)
1393 { 1393 {
1394 if (isContextLost() || !sync) 1394 if (isContextLost() || !sync)
1395 return 0; 1395 return 0;
1396 1396
1397 return webContext()->isSync(sync->object()); 1397 return webContext()->isSync(sync->object());
1398 } 1398 }
1399 1399
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1445 GLsizei length = -1; 1445 GLsizei length = -1;
1446 webContext()->getSynciv(syncObjectOrZero(sync), pname, 1, &length, & value); 1446 webContext()->getSynciv(syncObjectOrZero(sync), pname, 1, &length, & value);
1447 return WebGLAny(scriptState, static_cast<unsigned>(value)); 1447 return WebGLAny(scriptState, static_cast<unsigned>(value));
1448 } 1448 }
1449 default: 1449 default:
1450 synthesizeGLError(GL_INVALID_ENUM, "getSyncParameter", "invalid paramete r name"); 1450 synthesizeGLError(GL_INVALID_ENUM, "getSyncParameter", "invalid paramete r name");
1451 return ScriptValue::createNull(scriptState); 1451 return ScriptValue::createNull(scriptState);
1452 } 1452 }
1453 } 1453 }
1454 1454
1455 PassRefPtrWillBeRawPtr<WebGLTransformFeedback> WebGL2RenderingContextBase::creat eTransformFeedback() 1455 WebGLTransformFeedback* WebGL2RenderingContextBase::createTransformFeedback()
1456 { 1456 {
1457 if (isContextLost()) 1457 if (isContextLost())
1458 return nullptr; 1458 return nullptr;
1459 RefPtrWillBeRawPtr<WebGLTransformFeedback> o = WebGLTransformFeedback::creat e(this); 1459 WebGLTransformFeedback* o = WebGLTransformFeedback::create(this);
1460 addSharedObject(o.get()); 1460 addSharedObject(o);
1461 return o; 1461 return o;
1462 } 1462 }
1463 1463
1464 void WebGL2RenderingContextBase::deleteTransformFeedback(WebGLTransformFeedback* feedback) 1464 void WebGL2RenderingContextBase::deleteTransformFeedback(WebGLTransformFeedback* feedback)
1465 { 1465 {
1466 if (feedback == m_transformFeedbackBinding) 1466 if (feedback == m_transformFeedbackBinding)
1467 m_transformFeedbackBinding = nullptr; 1467 m_transformFeedbackBinding = nullptr;
1468 1468
1469 deleteObject(feedback); 1469 deleteObject(feedback);
1470 } 1470 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1526 Vector<CString> keepAlive; // Must keep these instances alive while looking at their data 1526 Vector<CString> keepAlive; // Must keep these instances alive while looking at their data
1527 Vector<const char*> varyingStrings; 1527 Vector<const char*> varyingStrings;
1528 for (size_t i = 0; i < varyings.size(); ++i) { 1528 for (size_t i = 0; i < varyings.size(); ++i) {
1529 keepAlive.append(varyings[i].ascii()); 1529 keepAlive.append(varyings[i].ascii());
1530 varyingStrings.append(keepAlive.last().data()); 1530 varyingStrings.append(keepAlive.last().data());
1531 } 1531 }
1532 1532
1533 webContext()->transformFeedbackVaryings(objectOrZero(program), varyings.size (), varyingStrings.data(), bufferMode); 1533 webContext()->transformFeedbackVaryings(objectOrZero(program), varyings.size (), varyingStrings.data(), bufferMode);
1534 } 1534 }
1535 1535
1536 PassRefPtrWillBeRawPtr<WebGLActiveInfo> WebGL2RenderingContextBase::getTransform FeedbackVarying(WebGLProgram* program, GLuint index) 1536 WebGLActiveInfo* WebGL2RenderingContextBase::getTransformFeedbackVarying(WebGLPr ogram* program, GLuint index)
1537 { 1537 {
1538 if (isContextLost() || !validateWebGLObject("getTransformFeedbackVarying", p rogram)) 1538 if (isContextLost() || !validateWebGLObject("getTransformFeedbackVarying", p rogram))
1539 return nullptr; 1539 return nullptr;
1540 1540
1541 notImplemented(); 1541 notImplemented();
1542 return nullptr; 1542 return nullptr;
1543 } 1543 }
1544 1544
1545 void WebGL2RenderingContextBase::pauseTransformFeedback() 1545 void WebGL2RenderingContextBase::pauseTransformFeedback()
1546 { 1546 {
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
1703 } 1703 }
1704 1704
1705 void WebGL2RenderingContextBase::uniformBlockBinding(WebGLProgram* program, GLui nt uniformBlockIndex, GLuint uniformBlockBinding) 1705 void WebGL2RenderingContextBase::uniformBlockBinding(WebGLProgram* program, GLui nt uniformBlockIndex, GLuint uniformBlockBinding)
1706 { 1706 {
1707 if (isContextLost() || !validateWebGLObject("uniformBlockBinding", program)) 1707 if (isContextLost() || !validateWebGLObject("uniformBlockBinding", program))
1708 return; 1708 return;
1709 1709
1710 webContext()->uniformBlockBinding(objectOrZero(program), uniformBlockIndex, uniformBlockBinding); 1710 webContext()->uniformBlockBinding(objectOrZero(program), uniformBlockIndex, uniformBlockBinding);
1711 } 1711 }
1712 1712
1713 PassRefPtrWillBeRawPtr<WebGLVertexArrayObject> WebGL2RenderingContextBase::creat eVertexArray() 1713 WebGLVertexArrayObject* WebGL2RenderingContextBase::createVertexArray()
1714 { 1714 {
1715 if (isContextLost()) 1715 if (isContextLost())
1716 return nullptr; 1716 return nullptr;
1717 1717
1718 RefPtrWillBeRawPtr<WebGLVertexArrayObject> o = WebGLVertexArrayObject::creat e(this, WebGLVertexArrayObjectBase::VaoTypeUser); 1718 WebGLVertexArrayObject* o = WebGLVertexArrayObject::create(this, WebGLVertex ArrayObjectBase::VaoTypeUser);
1719 addContextObject(o.get()); 1719 addContextObject(o);
1720 return o.release(); 1720 return o;
1721 } 1721 }
1722 1722
1723 void WebGL2RenderingContextBase::deleteVertexArray(WebGLVertexArrayObject* verte xArray) 1723 void WebGL2RenderingContextBase::deleteVertexArray(WebGLVertexArrayObject* verte xArray)
1724 { 1724 {
1725 if (isContextLost() || !vertexArray) 1725 if (isContextLost() || !vertexArray)
1726 return; 1726 return;
1727 1727
1728 if (!vertexArray->isDefaultObject() && vertexArray == m_boundVertexArrayObje ct) 1728 if (!vertexArray->isDefaultObject() && vertexArray == m_boundVertexArrayObje ct)
1729 setBoundVertexArrayObject(nullptr); 1729 setBoundVertexArrayObject(nullptr);
1730 1730
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
1816 { 1816 {
1817 if (isContextLost()) 1817 if (isContextLost())
1818 return ScriptValue::createNull(scriptState); 1818 return ScriptValue::createNull(scriptState);
1819 switch (pname) { 1819 switch (pname) {
1820 case GL_SHADING_LANGUAGE_VERSION: 1820 case GL_SHADING_LANGUAGE_VERSION:
1821 return WebGLAny(scriptState, "WebGL GLSL ES 3.00 (" + String(webContext( )->getString(GL_SHADING_LANGUAGE_VERSION)) + ")"); 1821 return WebGLAny(scriptState, "WebGL GLSL ES 3.00 (" + String(webContext( )->getString(GL_SHADING_LANGUAGE_VERSION)) + ")");
1822 case GL_VERSION: 1822 case GL_VERSION:
1823 return WebGLAny(scriptState, "WebGL 2.0 (" + String(webContext()->getStr ing(GL_VERSION)) + ")"); 1823 return WebGLAny(scriptState, "WebGL 2.0 (" + String(webContext()->getStr ing(GL_VERSION)) + ")");
1824 1824
1825 case GL_COPY_READ_BUFFER_BINDING: 1825 case GL_COPY_READ_BUFFER_BINDING:
1826 return WebGLAny(scriptState, PassRefPtrWillBeRawPtr<WebGLObject>(m_bound CopyReadBuffer.get())); 1826 return WebGLAny(scriptState, m_boundCopyReadBuffer.get());
1827 case GL_COPY_WRITE_BUFFER_BINDING: 1827 case GL_COPY_WRITE_BUFFER_BINDING:
1828 return WebGLAny(scriptState, PassRefPtrWillBeRawPtr<WebGLObject>(m_bound CopyWriteBuffer.get())); 1828 return WebGLAny(scriptState, m_boundCopyWriteBuffer.get());
1829 case GL_DRAW_FRAMEBUFFER_BINDING: 1829 case GL_DRAW_FRAMEBUFFER_BINDING:
1830 return WebGLAny(scriptState, PassRefPtrWillBeRawPtr<WebGLObject>(m_frame bufferBinding.get())); 1830 return WebGLAny(scriptState, m_framebufferBinding.get());
1831 case GL_FRAGMENT_SHADER_DERIVATIVE_HINT: 1831 case GL_FRAGMENT_SHADER_DERIVATIVE_HINT:
1832 return getUnsignedIntParameter(scriptState, pname); 1832 return getUnsignedIntParameter(scriptState, pname);
1833 case GL_MAX_3D_TEXTURE_SIZE: 1833 case GL_MAX_3D_TEXTURE_SIZE:
1834 return getIntParameter(scriptState, pname); 1834 return getIntParameter(scriptState, pname);
1835 case GL_MAX_ARRAY_TEXTURE_LAYERS: 1835 case GL_MAX_ARRAY_TEXTURE_LAYERS:
1836 return getIntParameter(scriptState, pname); 1836 return getIntParameter(scriptState, pname);
1837 case GC3D_MAX_CLIENT_WAIT_TIMEOUT_WEBGL: 1837 case GC3D_MAX_CLIENT_WAIT_TIMEOUT_WEBGL:
1838 return WebGLAny(scriptState, 0u); 1838 return WebGLAny(scriptState, 0u);
1839 case GL_MAX_COLOR_ATTACHMENTS: 1839 case GL_MAX_COLOR_ATTACHMENTS:
1840 return getIntParameter(scriptState, pname); 1840 return getIntParameter(scriptState, pname);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1886 return getIntParameter(scriptState, pname); 1886 return getIntParameter(scriptState, pname);
1887 case GL_MIN_PROGRAM_TEXEL_OFFSET: 1887 case GL_MIN_PROGRAM_TEXEL_OFFSET:
1888 return getIntParameter(scriptState, pname); 1888 return getIntParameter(scriptState, pname);
1889 case GL_PACK_ROW_LENGTH: 1889 case GL_PACK_ROW_LENGTH:
1890 return getIntParameter(scriptState, pname); 1890 return getIntParameter(scriptState, pname);
1891 case GL_PACK_SKIP_PIXELS: 1891 case GL_PACK_SKIP_PIXELS:
1892 return getIntParameter(scriptState, pname); 1892 return getIntParameter(scriptState, pname);
1893 case GL_PACK_SKIP_ROWS: 1893 case GL_PACK_SKIP_ROWS:
1894 return getIntParameter(scriptState, pname); 1894 return getIntParameter(scriptState, pname);
1895 case GL_PIXEL_PACK_BUFFER_BINDING: 1895 case GL_PIXEL_PACK_BUFFER_BINDING:
1896 return WebGLAny(scriptState, PassRefPtrWillBeRawPtr<WebGLObject>(m_bound PixelPackBuffer.get())); 1896 return WebGLAny(scriptState, m_boundPixelPackBuffer.get());
1897 case GL_PIXEL_UNPACK_BUFFER_BINDING: 1897 case GL_PIXEL_UNPACK_BUFFER_BINDING:
1898 return WebGLAny(scriptState, PassRefPtrWillBeRawPtr<WebGLObject>(m_bound PixelUnpackBuffer.get())); 1898 return WebGLAny(scriptState, m_boundPixelUnpackBuffer.get());
1899 case GL_RASTERIZER_DISCARD: 1899 case GL_RASTERIZER_DISCARD:
1900 return getBooleanParameter(scriptState, pname); 1900 return getBooleanParameter(scriptState, pname);
1901 case GL_READ_BUFFER: 1901 case GL_READ_BUFFER:
1902 { 1902 {
1903 GLenum value = 0; 1903 GLenum value = 0;
1904 if (!isContextLost()) { 1904 if (!isContextLost()) {
1905 WebGLFramebuffer* readFramebufferBinding = getFramebufferBinding (GL_READ_FRAMEBUFFER); 1905 WebGLFramebuffer* readFramebufferBinding = getFramebufferBinding (GL_READ_FRAMEBUFFER);
1906 if (!readFramebufferBinding) 1906 if (!readFramebufferBinding)
1907 value = m_readBufferOfDefaultFramebuffer; 1907 value = m_readBufferOfDefaultFramebuffer;
1908 else 1908 else
1909 value = readFramebufferBinding->getReadBuffer(); 1909 value = readFramebufferBinding->getReadBuffer();
1910 } 1910 }
1911 return WebGLAny(scriptState, value); 1911 return WebGLAny(scriptState, value);
1912 } 1912 }
1913 case GL_READ_FRAMEBUFFER_BINDING: 1913 case GL_READ_FRAMEBUFFER_BINDING:
1914 return WebGLAny(scriptState, PassRefPtrWillBeRawPtr<WebGLObject>(m_readF ramebufferBinding.get())); 1914 return WebGLAny(scriptState, m_readFramebufferBinding.get());
1915 case GL_SAMPLE_ALPHA_TO_COVERAGE: 1915 case GL_SAMPLE_ALPHA_TO_COVERAGE:
1916 return getBooleanParameter(scriptState, pname); 1916 return getBooleanParameter(scriptState, pname);
1917 case GL_SAMPLE_COVERAGE: 1917 case GL_SAMPLE_COVERAGE:
1918 return getBooleanParameter(scriptState, pname); 1918 return getBooleanParameter(scriptState, pname);
1919 case GL_SAMPLER_BINDING: 1919 case GL_SAMPLER_BINDING:
1920 return WebGLAny(scriptState, PassRefPtrWillBeRawPtr<WebGLObject>(m_sampl erUnits[m_activeTextureUnit].get())); 1920 return WebGLAny(scriptState, m_samplerUnits[m_activeTextureUnit].get());
1921 case GL_TEXTURE_BINDING_2D_ARRAY: 1921 case GL_TEXTURE_BINDING_2D_ARRAY:
1922 return WebGLAny(scriptState, PassRefPtrWillBeRawPtr<WebGLObject>(m_textu reUnits[m_activeTextureUnit].m_texture2DArrayBinding.get())); 1922 return WebGLAny(scriptState, m_textureUnits[m_activeTextureUnit].m_textu re2DArrayBinding.get());
1923 case GL_TEXTURE_BINDING_3D: 1923 case GL_TEXTURE_BINDING_3D:
1924 return WebGLAny(scriptState, PassRefPtrWillBeRawPtr<WebGLObject>(m_textu reUnits[m_activeTextureUnit].m_texture3DBinding.get())); 1924 return WebGLAny(scriptState, m_textureUnits[m_activeTextureUnit].m_textu re3DBinding.get());
1925 case GL_TRANSFORM_FEEDBACK_ACTIVE: 1925 case GL_TRANSFORM_FEEDBACK_ACTIVE:
1926 return getBooleanParameter(scriptState, pname); 1926 return getBooleanParameter(scriptState, pname);
1927 case GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: 1927 case GL_TRANSFORM_FEEDBACK_BUFFER_BINDING:
1928 return WebGLAny(scriptState, PassRefPtrWillBeRawPtr<WebGLObject>(m_bound TransformFeedbackBuffer.get())); 1928 return WebGLAny(scriptState, m_boundTransformFeedbackBuffer.get());
1929 case GL_TRANSFORM_FEEDBACK_BINDING: 1929 case GL_TRANSFORM_FEEDBACK_BINDING:
1930 return WebGLAny(scriptState, PassRefPtrWillBeRawPtr<WebGLObject>(m_trans formFeedbackBinding.get())); 1930 return WebGLAny(scriptState, m_transformFeedbackBinding.get());
1931 case GL_TRANSFORM_FEEDBACK_PAUSED: 1931 case GL_TRANSFORM_FEEDBACK_PAUSED:
1932 return getBooleanParameter(scriptState, pname); 1932 return getBooleanParameter(scriptState, pname);
1933 case GL_UNIFORM_BUFFER_BINDING: 1933 case GL_UNIFORM_BUFFER_BINDING:
1934 return WebGLAny(scriptState, PassRefPtrWillBeRawPtr<WebGLObject>(m_bound UniformBuffer.get())); 1934 return WebGLAny(scriptState, m_boundUniformBuffer.get());
1935 case GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: 1935 case GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT:
1936 return getIntParameter(scriptState, pname); 1936 return getIntParameter(scriptState, pname);
1937 case GL_UNPACK_IMAGE_HEIGHT: 1937 case GL_UNPACK_IMAGE_HEIGHT:
1938 return getIntParameter(scriptState, pname); 1938 return getIntParameter(scriptState, pname);
1939 case GL_UNPACK_ROW_LENGTH: 1939 case GL_UNPACK_ROW_LENGTH:
1940 return getIntParameter(scriptState, pname); 1940 return getIntParameter(scriptState, pname);
1941 case GL_UNPACK_SKIP_IMAGES: 1941 case GL_UNPACK_SKIP_IMAGES:
1942 return getBooleanParameter(scriptState, pname); 1942 return getBooleanParameter(scriptState, pname);
1943 case GL_UNPACK_SKIP_PIXELS: 1943 case GL_UNPACK_SKIP_PIXELS:
1944 return getBooleanParameter(scriptState, pname); 1944 return getBooleanParameter(scriptState, pname);
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
2227 } 2227 }
2228 ASSERT(attachmentObject->isTexture() || attachmentObject->isRenderbuffer ()); 2228 ASSERT(attachmentObject->isTexture() || attachmentObject->isRenderbuffer ());
2229 if (attachmentObject->isTexture()) 2229 if (attachmentObject->isTexture())
2230 return WebGLAny(scriptState, GL_TEXTURE); 2230 return WebGLAny(scriptState, GL_TEXTURE);
2231 if (attachmentObject->isRenderbuffer()) 2231 if (attachmentObject->isRenderbuffer())
2232 return WebGLAny(scriptState, GL_RENDERBUFFER); 2232 return WebGLAny(scriptState, GL_RENDERBUFFER);
2233 break; 2233 break;
2234 case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 2234 case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:
2235 if (!attachmentObject) 2235 if (!attachmentObject)
2236 break; 2236 break;
2237 return WebGLAny(scriptState, PassRefPtrWillBeRawPtr<WebGLObject>(attachm entObject)); 2237 return WebGLAny(scriptState, attachmentObject);
2238 case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 2238 case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:
2239 case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 2239 case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:
2240 case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 2240 case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:
2241 if (!attachmentObject || !attachmentObject->isTexture()) 2241 if (!attachmentObject || !attachmentObject->isTexture())
2242 break; 2242 break;
2243 case GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE: 2243 case GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE:
2244 case GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 2244 case GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:
2245 case GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 2245 case GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:
2246 case GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 2246 case GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:
2247 case GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 2247 case GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
2350 default: 2350 default:
2351 return WebGLRenderingContextBase::getTexParameter(scriptState, target, p name); 2351 return WebGLRenderingContextBase::getTexParameter(scriptState, target, p name);
2352 } 2352 }
2353 } 2353 }
2354 2354
2355 WebGLBuffer* WebGL2RenderingContextBase::validateBufferDataTarget(const char* fu nctionName, GLenum target) 2355 WebGLBuffer* WebGL2RenderingContextBase::validateBufferDataTarget(const char* fu nctionName, GLenum target)
2356 { 2356 {
2357 WebGLBuffer* buffer = nullptr; 2357 WebGLBuffer* buffer = nullptr;
2358 switch (target) { 2358 switch (target) {
2359 case GL_ELEMENT_ARRAY_BUFFER: 2359 case GL_ELEMENT_ARRAY_BUFFER:
2360 buffer = m_boundVertexArrayObject->boundElementArrayBuffer().get(); 2360 buffer = m_boundVertexArrayObject->boundElementArrayBuffer();
2361 break; 2361 break;
2362 case GL_ARRAY_BUFFER: 2362 case GL_ARRAY_BUFFER:
2363 buffer = m_boundArrayBuffer.get(); 2363 buffer = m_boundArrayBuffer.get();
2364 break; 2364 break;
2365 case GL_COPY_READ_BUFFER: 2365 case GL_COPY_READ_BUFFER:
2366 buffer = m_boundCopyReadBuffer.get(); 2366 buffer = m_boundCopyReadBuffer.get();
2367 break; 2367 break;
2368 case GL_COPY_WRITE_BUFFER: 2368 case GL_COPY_WRITE_BUFFER:
2369 buffer = m_boundCopyWriteBuffer.get(); 2369 buffer = m_boundCopyWriteBuffer.get();
2370 break; 2370 break;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
2418 GLenum WebGL2RenderingContextBase::boundFramebufferColorFormat() 2418 GLenum WebGL2RenderingContextBase::boundFramebufferColorFormat()
2419 { 2419 {
2420 if (m_readFramebufferBinding && m_readFramebufferBinding->object()) 2420 if (m_readFramebufferBinding && m_readFramebufferBinding->object())
2421 return m_readFramebufferBinding->colorBufferFormat(); 2421 return m_readFramebufferBinding->colorBufferFormat();
2422 if (m_requestedAttributes.alpha()) 2422 if (m_requestedAttributes.alpha())
2423 return GL_RGBA; 2423 return GL_RGBA;
2424 return GL_RGB; 2424 return GL_RGB;
2425 } 2425 }
2426 2426
2427 } // namespace blink 2427 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698