VertexBuffer has a new abstract method to determine if conversion is required…

VertexBuffer has a new abstract method to determine if conversion is required for a given attribute type. TRAC #22297 Signed-off-by: Jamie Madill Signed-off-by: Nicolas Capens Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1885 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 4587fee9
......@@ -37,6 +37,8 @@ class VertexBuffer
virtual unsigned int getSpaceRequired(const gl::VertexAttribute &attrib, GLsizei count,
GLsizei instances) const = 0;
virtual bool requiresConversion(const gl::VertexAttribute &attrib) const = 0;
virtual unsigned int getBufferSize() const = 0;
virtual bool setBufferSize(unsigned int size) = 0;
virtual bool discard() = 0;
......
......@@ -163,6 +163,11 @@ unsigned int VertexBuffer11::getSpaceRequired(const gl::VertexAttribute &attrib,
}
}
bool VertexBuffer11::requiresConversion(const gl::VertexAttribute &attrib) const
{
return !getVertexConversion(attrib).identity;
}
unsigned int VertexBuffer11::getBufferSize() const
{
return mBufferSize;
......
......@@ -33,6 +33,8 @@ class VertexBuffer11 : public VertexBuffer
virtual unsigned int getSpaceRequired(const gl::VertexAttribute &attrib, GLsizei count, GLsizei instances) const;
virtual bool requiresConversion(const gl::VertexAttribute &attrib) const;
virtual unsigned int getBufferSize() const;
virtual bool setBufferSize(unsigned int size);
virtual bool discard();
......
......@@ -170,6 +170,11 @@ unsigned int VertexBuffer9::getSpaceRequired(const gl::VertexAttribute &attrib,
return spaceRequired(attrib, count, instances);
}
bool VertexBuffer9::requiresConversion(const gl::VertexAttribute &attrib) const
{
return formatConverter(attrib).identity;
}
unsigned int VertexBuffer9::getVertexSize(const gl::VertexAttribute &attrib) const
{
return spaceRequired(attrib, 1, 0);
......
......@@ -33,6 +33,8 @@ class VertexBuffer9 : public VertexBuffer
virtual unsigned int getSpaceRequired(const gl::VertexAttribute &attrib, GLsizei count, GLsizei instances) const;
virtual bool requiresConversion(const gl::VertexAttribute &attrib) const;
unsigned int getVertexSize(const gl::VertexAttribute &attrib) const;
D3DDECLTYPE getDeclType(const gl::VertexAttribute &attrib) const;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment