fixes the use of texture2DLod on IOS with OpenGLES backend (#1133)

* fixes the use of texture2DLod on IOS with OpenGLES backend

* fix type in previous commit
This commit is contained in:
PpluX
2017-05-17 20:17:50 +02:00
committed by Branimir Karadžić
parent e8c630c001
commit c6fd7dc095

View File

@@ -5535,7 +5535,8 @@ namespace bgfx { namespace gl
if (usesTextureLod)
{
BX_WARN(s_extension[Extension::ARB_shader_texture_lod].m_supported
, "ARB_shader_texture_lod is used but not supported by GLES2 driver."
|| s_extension[Extension::EXT_shader_texture_lod].m_supported
, "(ARB|EXT)_shader_texture_lod is used but not supported by GLES2 driver."
);
if (s_extension[Extension::ARB_shader_texture_lod].m_supported)
@@ -5552,11 +5553,23 @@ namespace bgfx { namespace gl
}
else
{
writeString(&writer
, "#define texture2DLod(_sampler, _coord, _level) texture2D(_sampler, _coord)\n"
"#define texture2DProjLod(_sampler, _coord, _level) texture2DProj(_sampler, _coord)\n"
"#define textureCubeLod(_sampler, _coord, _level) textureCube(_sampler, _coord)\n"
if(s_extension[Extension::EXT_shader_texture_lod].m_supported)
{
writeString(&writer
, "#extension GL_EXT_shader_texture_lod : enable\n"
"#define texture2DLod texture2DLodEXT\n"
"#define texture2DProjLod texture2DProjLodEXT\n"
"#define textureCubeLod textureCubeLodEXT\n"
);
}
else
{
writeString(&writer
, "#define texture2DLod(_sampler, _coord, _level) texture2D(_sampler, _coord)\n"
"#define texture2DProjLod(_sampler, _coord, _level) texture2DProj(_sampler, _coord)\n"
"#define textureCubeLod(_sampler, _coord, _level) textureCube(_sampler, _coord)\n"
);
}
}
}