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

Unified Diff: Source/modules/webgl/WebGLRenderingContextBase.cpp

Issue 1317493003: Support ES 3.0 constants for bufferData's usage argument. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: 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 side-by-side diff with in-line comments
Download patch
Index: Source/modules/webgl/WebGLRenderingContextBase.cpp
diff --git a/Source/modules/webgl/WebGLRenderingContextBase.cpp b/Source/modules/webgl/WebGLRenderingContextBase.cpp
index 4e53c20f450f360fc3c6306714410d5e20994055..22cfe6a599191491d06b66479de3dc641ee58cd0 100644
--- a/Source/modules/webgl/WebGLRenderingContextBase.cpp
+++ b/Source/modules/webgl/WebGLRenderingContextBase.cpp
@@ -1569,15 +1569,8 @@ void WebGLRenderingContextBase::bufferDataImpl(GLenum target, long long size, co
if (!buffer)
return;
- switch (usage) {
- case GL_STREAM_DRAW:
- case GL_STATIC_DRAW:
- case GL_DYNAMIC_DRAW:
- break;
- default:
- synthesizeGLError(GL_INVALID_ENUM, "bufferData", "invalid usage");
+ if (!validateBufferDataUsage("bufferData", usage))
return;
- }
if (!validateValueFitNonNegInt32("bufferData", "size", size))
return;
@@ -6130,6 +6123,19 @@ WebGLBuffer* WebGLRenderingContextBase::validateBufferDataTarget(const char* fun
return buffer;
}
+bool WebGLRenderingContextBase::validateBufferDataUsage(const char* functionName, GLenum usage)
+{
+ switch (usage) {
+ case GL_STREAM_DRAW:
+ case GL_STATIC_DRAW:
+ case GL_DYNAMIC_DRAW:
+ return true;
+ default:
+ synthesizeGLError(GL_INVALID_ENUM, functionName, "invalid usage");
+ return false;
+ }
+}
+
void WebGLRenderingContextBase::removeBoundBuffer(WebGLBuffer* buffer)
{
if (m_boundArrayBuffer == buffer)

Powered by Google App Engine
This is Rietveld 408576698