mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-20 13:53:14 +01:00
Added support for texture2DGrad.
This commit is contained in:
@@ -851,10 +851,16 @@ namespace bgfx { namespace gl
|
||||
static const char* s_ARB_shader_texture_lod[] =
|
||||
{
|
||||
"texture2DLod",
|
||||
"texture2DArrayLod", // BK - interacts with ARB_texture_array.
|
||||
"texture2DProjLod",
|
||||
"texture2DGrad",
|
||||
"texture2DProjGrad",
|
||||
"texture3DLod",
|
||||
"texture3DProjLod",
|
||||
"texture3DGrad",
|
||||
"texture3DProjGrad",
|
||||
"textureCubeLod",
|
||||
"textureCubeGrad",
|
||||
"shadow2DLod",
|
||||
"shadow2DProjLod",
|
||||
NULL
|
||||
@@ -869,10 +875,10 @@ namespace bgfx { namespace gl
|
||||
"texture2DLod",
|
||||
"texture2DProjLod",
|
||||
"textureCubeLod",
|
||||
"texture2DGrad",
|
||||
"texture2DProjGrad",
|
||||
"textureCubeGrad",
|
||||
NULL
|
||||
// "texture2DGrad",
|
||||
// "texture2DProjGrad",
|
||||
// "textureCubeGrad",
|
||||
};
|
||||
|
||||
static const char* s_EXT_shadow_samplers[] =
|
||||
@@ -5499,15 +5505,20 @@ namespace bgfx { namespace gl
|
||||
|
||||
if (usesTextureLod)
|
||||
{
|
||||
BX_WARN(s_extension[Extension::EXT_shader_texture_lod].m_supported, "EXT_shader_texture_lod is used but not supported by GLES2 driver.");
|
||||
if (s_extension[Extension::EXT_shader_texture_lod].m_supported
|
||||
/*&& GL_VERTEX_SHADER == m_type*/)
|
||||
BX_WARN(s_extension[Extension::ARB_shader_texture_lod].m_supported
|
||||
, "ARB_shader_texture_lod is used but not supported by GLES2 driver."
|
||||
);
|
||||
|
||||
if (s_extension[Extension::ARB_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"
|
||||
, "#extension GL_ARB_shader_texture_lod : enable\n"
|
||||
"#define texture2DLod texture2DLodARB\n"
|
||||
"#define texture2DProjLod texture2DProjLodARB\n"
|
||||
"#define textureCubeLod textureCubeLodARB\n"
|
||||
"#define texture2DGrad texture2DGradARB\n"
|
||||
"#define texture2DProjGrad texture2DProjGradARB\n"
|
||||
"#define textureCubeGrad textureCubeGradARB\n"
|
||||
);
|
||||
}
|
||||
else
|
||||
@@ -5593,7 +5604,12 @@ namespace bgfx { namespace gl
|
||||
{
|
||||
if (m_type == GL_FRAGMENT_SHADER)
|
||||
{
|
||||
writeString(&writer, "#extension GL_ARB_shader_texture_lod : enable\n");
|
||||
writeString(&writer
|
||||
, "#extension GL_ARB_shader_texture_lod : enable\n"
|
||||
"#define texture2DGrad texture2DGradARB\n"
|
||||
"#define texture2DProjGrad texture2DProjGradARB\n"
|
||||
"#define textureCubeGrad textureCubeGradARB\n"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5695,9 +5711,12 @@ namespace bgfx { namespace gl
|
||||
writeString(&writer, "#version 140\n");
|
||||
}
|
||||
|
||||
writeString(&writer, "#define texture2DLod textureLod\n");
|
||||
writeString(&writer, "#define texture3DLod textureLod\n");
|
||||
writeString(&writer, "#define textureCubeLod textureLod\n");
|
||||
writeString(&writer, "#define texture2DLod textureLod\n");
|
||||
writeString(&writer, "#define texture3DLod textureLod\n");
|
||||
writeString(&writer, "#define textureCubeLod textureLod\n");
|
||||
writeString(&writer, "#define texture2DGrad textureGrad\n");
|
||||
writeString(&writer, "#define texture3DGrad textureGrad\n");
|
||||
writeString(&writer, "#define textureCubeGrad textureGrad\n");
|
||||
|
||||
if (m_type == GL_FRAGMENT_SHADER)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user