}
}
-static bool isCoreTextureTarget (glw::GLenum target)
+static bool isCoreTextureTarget (glw::GLenum target, const glu::ContextType& contextType)
{
switch (target)
{
case GL_TEXTURE_2D_MULTISAMPLE:
return true;
+ case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
+ case GL_TEXTURE_BUFFER:
+ case GL_TEXTURE_CUBE_MAP_ARRAY:
+ return glu::contextSupports(contextType, glu::ApiType::es(3, 2));
+
default:
return false;
}
void TextureLevelCase::init (void)
{
- if (!isCoreTextureTarget(m_target))
+ if (!isCoreTextureTarget(m_target, m_context.getRenderContext().getType()))
{
const char* const targetExtension = getTextureTargetExtension(m_target);
private:
void init (void)
{
- if (!m_context.getContextInfo().isExtensionSupported("GL_EXT_texture_buffer"))
+ if (!m_context.getContextInfo().isExtensionSupported("GL_EXT_texture_buffer") &&
+ !glu::contextSupports(m_context.getRenderContext().getType(), glu::ApiType::es(3, 2)))
throw tcu::NotSupportedError("Test requires GL_EXT_texture_buffer extension");
TextureLevelCase::init();
}
private:
void init (void)
{
- if (!m_context.getContextInfo().isExtensionSupported("GL_EXT_texture_buffer"))
+ if (!m_context.getContextInfo().isExtensionSupported("GL_EXT_texture_buffer") &&
+ !glu::contextSupports(m_context.getRenderContext().getType(), glu::ApiType::es(3, 2)))
throw tcu::NotSupportedError("Test requires GL_EXT_texture_buffer extension");
TextureLevelCase::init();
}
private:
void init (void)
{
- if (!m_context.getContextInfo().isExtensionSupported("GL_EXT_texture_buffer"))
+ if (!m_context.getContextInfo().isExtensionSupported("GL_EXT_texture_buffer") &&
+ !glu::contextSupports(m_context.getRenderContext().getType(), glu::ApiType::es(3, 2)))
throw tcu::NotSupportedError("Test requires GL_EXT_texture_buffer extension");
TextureLevelCase::init();
}