Added getter methods to renderer for checking maximum uniform and transform feedback buffers.

TRAC #22753 Signed-off-by: Jamie Madill Signed-off-by: Nicolas Capens Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2109 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 8736bd6b
...@@ -161,6 +161,9 @@ class Renderer ...@@ -161,6 +161,9 @@ class Renderer
virtual unsigned int getMaxVertexUniformVectors() const = 0; virtual unsigned int getMaxVertexUniformVectors() const = 0;
virtual unsigned int getMaxFragmentUniformVectors() const = 0; virtual unsigned int getMaxFragmentUniformVectors() const = 0;
virtual unsigned int getMaxVaryingVectors() const = 0; virtual unsigned int getMaxVaryingVectors() const = 0;
virtual unsigned int getMaxVertexShaderUniformBuffers() const = 0;
virtual unsigned int getMaxFragmentShaderUniformBuffers() const = 0;
virtual unsigned int getMaxTransformFeedbackBuffers() const = 0;
virtual bool getNonPower2TextureSupport() const = 0; virtual bool getNonPower2TextureSupport() const = 0;
virtual bool getDepthTextureSupport() const = 0; virtual bool getDepthTextureSupport() const = 0;
virtual bool getOcclusionQuerySupport() const = 0; virtual bool getOcclusionQuerySupport() const = 0;
......
...@@ -2191,6 +2191,48 @@ unsigned int Renderer11::getMaxVaryingVectors() const ...@@ -2191,6 +2191,48 @@ unsigned int Renderer11::getMaxVaryingVectors() const
} }
} }
unsigned int Renderer11::getMaxVertexShaderUniformBuffers() const
{
switch (mFeatureLevel)
{
case D3D_FEATURE_LEVEL_11_0:
return D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT;
case D3D_FEATURE_LEVEL_10_1:
case D3D_FEATURE_LEVEL_10_0:
return D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT;
default: UNREACHABLE();
return 0;
}
}
unsigned int Renderer11::getMaxFragmentShaderUniformBuffers() const
{
switch (mFeatureLevel)
{
case D3D_FEATURE_LEVEL_11_0:
return D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT;
case D3D_FEATURE_LEVEL_10_1:
case D3D_FEATURE_LEVEL_10_0:
return D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT;
default: UNREACHABLE();
return 0;
}
}
unsigned int Renderer11::getMaxTransformFeedbackBuffers() const
{
switch (mFeatureLevel)
{
case D3D_FEATURE_LEVEL_11_0:
return D3D11_SO_BUFFER_SLOT_COUNT;
case D3D_FEATURE_LEVEL_10_1:
case D3D_FEATURE_LEVEL_10_0:
return D3D10_SO_BUFFER_SLOT_COUNT;
default: UNREACHABLE();
return 0;
}
}
bool Renderer11::getNonPower2TextureSupport() const bool Renderer11::getNonPower2TextureSupport() const
{ {
switch (mFeatureLevel) switch (mFeatureLevel)
......
...@@ -108,6 +108,9 @@ class Renderer11 : public Renderer ...@@ -108,6 +108,9 @@ class Renderer11 : public Renderer
virtual unsigned int getMaxVertexUniformVectors() const; virtual unsigned int getMaxVertexUniformVectors() const;
virtual unsigned int getMaxFragmentUniformVectors() const; virtual unsigned int getMaxFragmentUniformVectors() const;
virtual unsigned int getMaxVaryingVectors() const; virtual unsigned int getMaxVaryingVectors() const;
virtual unsigned int getMaxVertexShaderUniformBuffers() const;
virtual unsigned int getMaxFragmentShaderUniformBuffers() const;
virtual unsigned int getMaxTransformFeedbackBuffers() const;
virtual bool getNonPower2TextureSupport() const; virtual bool getNonPower2TextureSupport() const;
virtual bool getDepthTextureSupport() const; virtual bool getDepthTextureSupport() const;
virtual bool getOcclusionQuerySupport() const; virtual bool getOcclusionQuerySupport() const;
......
...@@ -2316,6 +2316,21 @@ unsigned int Renderer9::getMaxVaryingVectors() const ...@@ -2316,6 +2316,21 @@ unsigned int Renderer9::getMaxVaryingVectors() const
return (getMajorShaderModel() >= 3) ? MAX_VARYING_VECTORS_SM3 : MAX_VARYING_VECTORS_SM2; return (getMajorShaderModel() >= 3) ? MAX_VARYING_VECTORS_SM3 : MAX_VARYING_VECTORS_SM2;
} }
unsigned int Renderer9::getMaxVertexShaderUniformBuffers() const
{
return 0;
}
unsigned int Renderer9::getMaxFragmentShaderUniformBuffers() const
{
return 0;
}
unsigned int Renderer9::getMaxTransformFeedbackBuffers() const
{
return 0;
}
bool Renderer9::getNonPower2TextureSupport() const bool Renderer9::getNonPower2TextureSupport() const
{ {
return mSupportsNonPower2Textures; return mSupportsNonPower2Textures;
......
...@@ -123,6 +123,9 @@ class Renderer9 : public Renderer ...@@ -123,6 +123,9 @@ class Renderer9 : public Renderer
virtual unsigned int getMaxVertexUniformVectors() const; virtual unsigned int getMaxVertexUniformVectors() const;
virtual unsigned int getMaxFragmentUniformVectors() const; virtual unsigned int getMaxFragmentUniformVectors() const;
virtual unsigned int getMaxVaryingVectors() const; virtual unsigned int getMaxVaryingVectors() const;
virtual unsigned int getMaxVertexShaderUniformBuffers() const;
virtual unsigned int getMaxFragmentShaderUniformBuffers() const;
virtual unsigned int getMaxTransformFeedbackBuffers() const;
virtual bool getNonPower2TextureSupport() const; virtual bool getNonPower2TextureSupport() const;
virtual bool getDepthTextureSupport() const; virtual bool getDepthTextureSupport() const;
virtual bool getOcclusionQuerySupport() const; virtual bool getOcclusionQuerySupport() 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