author | Benoit Jacob <bjacob@mozilla.com> |
Sun, 04 Dec 2011 14:15:43 -0500 | |
changeset 81409 | 2facd7e6fd7c78644c9d5e25efc0c190c97dfb35 |
parent 81408 | 1a4f061c4f2d5a174fec2f7b87179561cc6ca4ff |
child 81410 | 3a7aa2475d3cd9b5024501ebc6d4cc0cca42461b |
push id | 3801 |
push user | bjacob@mozilla.com |
push date | Sun, 04 Dec 2011 19:18:01 +0000 |
treeherder | mozilla-inbound@d75664a67e3b [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | jgilbert |
bugs | 704839 |
milestone | 11.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/content/canvas/src/WebGLContext.h +++ b/content/canvas/src/WebGLContext.h @@ -496,62 +496,16 @@ private: mRawPtr = newPtr; if (oldPtr) { oldPtr->RemoveRefOwner(this); oldPtr->Release(); } } }; -struct WebGLVertexAttribData { - // note that these initial values are what GL initializes vertex attribs to - WebGLVertexAttribData() - : buf(0), stride(0), size(4), byteOffset(0), - type(LOCAL_GL_FLOAT), enabled(false), normalized(false) - { } - - WebGLRefPtr<WebGLBuffer> buf; - WebGLuint stride; - WebGLuint size; - GLuint byteOffset; - GLenum type; - bool enabled; - bool normalized; - - GLuint componentSize() const { - switch(type) { - case LOCAL_GL_BYTE: - return sizeof(GLbyte); - break; - case LOCAL_GL_UNSIGNED_BYTE: - return sizeof(GLubyte); - break; - case LOCAL_GL_SHORT: - return sizeof(GLshort); - break; - case LOCAL_GL_UNSIGNED_SHORT: - return sizeof(GLushort); - break; - // XXX case LOCAL_GL_FIXED: - case LOCAL_GL_FLOAT: - return sizeof(GLfloat); - break; - default: - NS_ERROR("Should never get here!"); - return 0; - } - } - - GLuint actualStride() const { - if (stride) return stride; - return size * componentSize(); - } -}; - - struct WebGLContextOptions { // these are defaults WebGLContextOptions() : alpha(true), depth(true), stencil(false), premultipliedAlpha(true), antialias(true), preserveDrawingBuffer(false) { } @@ -1085,16 +1039,61 @@ public: mContextGeneration == other->Generation(); } protected: WebGLContext *mContext; PRUint32 mContextGeneration; }; +struct WebGLVertexAttribData { + // note that these initial values are what GL initializes vertex attribs to + WebGLVertexAttribData() + : buf(0), stride(0), size(4), byteOffset(0), + type(LOCAL_GL_FLOAT), enabled(false), normalized(false) + { } + + WebGLRefPtr<WebGLBuffer> buf; + WebGLuint stride; + WebGLuint size; + GLuint byteOffset; + GLenum type; + bool enabled; + bool normalized; + + GLuint componentSize() const { + switch(type) { + case LOCAL_GL_BYTE: + return sizeof(GLbyte); + break; + case LOCAL_GL_UNSIGNED_BYTE: + return sizeof(GLubyte); + break; + case LOCAL_GL_SHORT: + return sizeof(GLshort); + break; + case LOCAL_GL_UNSIGNED_SHORT: + return sizeof(GLushort); + break; + // XXX case LOCAL_GL_FIXED: + case LOCAL_GL_FLOAT: + return sizeof(GLfloat); + break; + default: + NS_ERROR("Should never get here!"); + return 0; + } + } + + GLuint actualStride() const { + if (stride) return stride; + return size * componentSize(); + } +}; + class WebGLBuffer : public nsIWebGLBuffer , public WebGLRefCountedObject<WebGLBuffer> , public WebGLContextBoundObject { public: WebGLBuffer(WebGLContext *context) : WebGLContextBoundObject(context)