Make legacy texture prototypes more concise, fix minor bugs needed to support it.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20650 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
1aec044854
commit
e396a22632
@ -386,74 +386,78 @@ void TBuiltIns::initialize(int version, EProfile profile)
|
|||||||
s.append(TString("bvec3 not(bvec3 x);"));
|
s.append(TString("bvec3 not(bvec3 x);"));
|
||||||
s.append(TString("bvec4 not(bvec4 x);"));
|
s.append(TString("bvec4 not(bvec4 x);"));
|
||||||
|
|
||||||
|
s.append(TString("\n"));
|
||||||
|
|
||||||
//
|
//
|
||||||
// Texture Functions.
|
// Texture Functions.
|
||||||
//
|
//
|
||||||
if (profile != EEsProfile || version == 100) {
|
if (profile != EEsProfile || version == 100) {
|
||||||
s.append(TString("vec4 texture2D(sampler2D sampler, vec2 coord);"));
|
s.append(TString("vec4 texture2D(sampler2D, vec2);"));
|
||||||
s.append(TString("vec4 texture2D(sampler2D sampler, vec2 coord, float bias);"));
|
s.append(TString("vec4 texture2D(sampler2D, vec2, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 texture2DProj(sampler2D sampler, vec3 coord);"));
|
s.append(TString("vec4 texture2DProj(sampler2D, vec3);"));
|
||||||
s.append(TString("vec4 texture2DProj(sampler2D sampler, vec4 coord);"));
|
s.append(TString("vec4 texture2DProj(sampler2D, vec4);"));
|
||||||
s.append(TString("vec4 texture2DProj(sampler2D sampler, vec3 coord, float bias);"));
|
s.append(TString("vec4 texture2DProj(sampler2D, vec3, float);"));
|
||||||
s.append(TString("vec4 texture2DProj(sampler2D sampler, vec4 coord, float bias);"));
|
s.append(TString("vec4 texture2DProj(sampler2D, vec4, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 texture2DLod(sampler2D sampler, vec2 coord, float lod);"));
|
s.append(TString("vec4 texture2DLod(sampler2D, vec2, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod);"));
|
s.append(TString("vec4 texture2DProjLod(sampler2D, vec3, float);"));
|
||||||
s.append(TString("vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod);"));
|
s.append(TString("vec4 texture2DProjLod(sampler2D, vec4, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 textureCube(samplerCube sampler, vec3 coord);"));
|
s.append(TString("vec4 textureCube(samplerCube, vec3);"));
|
||||||
s.append(TString("vec4 textureCube(samplerCube sampler, vec3 coord, float bias);"));
|
s.append(TString("vec4 textureCube(samplerCube, vec3, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 textureCubeLod(samplerCube sampler, vec3 coord, float lod);"));
|
s.append(TString("vec4 textureCubeLod(samplerCube, vec3, float);"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (profile != EEsProfile || version > 100) {
|
if (profile != EEsProfile && version > 100) {
|
||||||
s.append(TString("vec4 texture1D(sampler1D sampler, float coord);"));
|
s.append(TString("vec4 texture1D(sampler1D, float);"));
|
||||||
s.append(TString("vec4 texture1D(sampler1D sampler, float coord, float bias);"));
|
s.append(TString("vec4 texture1D(sampler1D, float, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 texture1DProj(sampler1D sampler, vec2 coord);"));
|
s.append(TString("vec4 texture1DProj(sampler1D, vec2);"));
|
||||||
s.append(TString("vec4 texture1DProj(sampler1D sampler, vec4 coord);"));
|
s.append(TString("vec4 texture1DProj(sampler1D, vec4);"));
|
||||||
s.append(TString("vec4 texture1DProj(sampler1D sampler, vec2 coord, float bias);"));
|
s.append(TString("vec4 texture1DProj(sampler1D, vec2, float);"));
|
||||||
s.append(TString("vec4 texture1DProj(sampler1D sampler, vec4 coord, float bias);"));
|
s.append(TString("vec4 texture1DProj(sampler1D, vec4, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 texture1DProjLod(sampler1D sampler, vec2 coord, float lod);"));
|
s.append(TString("vec4 texture1DProjLod(sampler1D, vec2, float);"));
|
||||||
s.append(TString("vec4 texture1DProjLod(sampler1D sampler, vec4 coord, float lod);"));
|
s.append(TString("vec4 texture1DProjLod(sampler1D, vec4, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 texture3D(sampler3D sampler, vec3 coord);"));
|
s.append(TString("vec4 texture3D(sampler3D, vec3);"));
|
||||||
s.append(TString("vec4 texture3D(sampler3D sampler, vec3 coord, float bias);"));
|
s.append(TString("vec4 texture3D(sampler3D, vec3, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 texture3DProj(sampler3D sampler, vec4 coord);"));
|
s.append(TString("vec4 texture3DProj(sampler3D, vec4);"));
|
||||||
s.append(TString("vec4 texture3DProj(sampler3D sampler, vec4 coord, float bias);"));
|
s.append(TString("vec4 texture3DProj(sampler3D, vec4, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 texture3DLod(sampler3D sampler, vec3 coord, float lod);"));
|
s.append(TString("vec4 texture3DLod(sampler3D, vec3, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 texture3DProjLod(sampler3D sampler, vec4 coord, float lod);"));
|
s.append(TString("vec4 texture3DProjLod(sampler3D, vec4, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 shadow1D(sampler1DShadow sampler, vec3 coord);"));
|
s.append(TString("vec4 shadow1D(sampler1DShadow, vec3);"));
|
||||||
s.append(TString("vec4 shadow1D(sampler1DShadow sampler, vec3 coord, float bias);"));
|
s.append(TString("vec4 shadow1D(sampler1DShadow, vec3, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 shadow2D(sampler2DShadow sampler, vec3 coord);"));
|
s.append(TString("vec4 shadow2D(sampler2DShadow, vec3);"));
|
||||||
s.append(TString("vec4 shadow2D(sampler2DShadow sampler, vec3 coord, float bias);"));
|
s.append(TString("vec4 shadow2D(sampler2DShadow, vec3, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 shadow1DProj(sampler1DShadow sampler, vec4 coord);"));
|
s.append(TString("vec4 shadow1DProj(sampler1DShadow, vec4);"));
|
||||||
s.append(TString("vec4 shadow1DProj(sampler1DShadow sampler, vec4 coord, float bias);"));
|
s.append(TString("vec4 shadow1DProj(sampler1DShadow, vec4, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 shadow2DProj(sampler2DShadow sampler, vec4 coord);"));
|
s.append(TString("vec4 shadow2DProj(sampler2DShadow, vec4);"));
|
||||||
s.append(TString("vec4 shadow2DProj(sampler2DShadow sampler, vec4 coord, float bias);"));
|
s.append(TString("vec4 shadow2DProj(sampler2DShadow, vec4, float);"));
|
||||||
|
|
||||||
s.append(TString("vec4 shadow1DProjLod(sampler1DShadow sampler, vec4 coord, float lod);"));
|
s.append(TString("vec4 shadow1DProjLod(sampler1DShadow, vec4, float);"));
|
||||||
s.append(TString("vec4 shadow2DProjLod(sampler2DShadow sampler, vec4 coord, float lod);"));
|
s.append(TString("vec4 shadow2DProjLod(sampler2DShadow, vec4, float);"));
|
||||||
|
|
||||||
// ARB_texture_rectangle
|
// ARB_texture_rectangle
|
||||||
s.append(TString("vec4 texture2DRect(sampler2DRect sampler, vec2 coord);"));
|
s.append(TString("vec4 texture2DRect(sampler2DRect, vec2);"));
|
||||||
s.append(TString("vec4 texture2DRectProj(sampler2DRect sampler, vec3 coord);"));
|
s.append(TString("vec4 texture2DRectProj(sampler2DRect, vec3);"));
|
||||||
s.append(TString("vec4 texture2DRectProj(sampler2DRect sampler, vec4 coord);"));
|
s.append(TString("vec4 texture2DRectProj(sampler2DRect, vec4);"));
|
||||||
s.append(TString("vec4 shadow2DRect(sampler2DRectShadow sampler, vec3 coord);"));
|
s.append(TString("vec4 shadow2DRect(sampler2DRectShadow, vec3);"));
|
||||||
s.append(TString("vec4 shadow2DRectProj(sampler2DRectShadow sampler, vec4 coord);"));
|
s.append(TString("vec4 shadow2DRectProj(sampler2DRectShadow, vec4);"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s.append(TString("\n"));
|
||||||
|
|
||||||
//
|
//
|
||||||
// Noise functions.
|
// Noise functions.
|
||||||
//
|
//
|
||||||
|
@ -144,8 +144,12 @@ protected:
|
|||||||
struct TParameter {
|
struct TParameter {
|
||||||
TString *name;
|
TString *name;
|
||||||
TType* type;
|
TType* type;
|
||||||
void copyParam(const TParameter& param, const TStructureMap& remapper) {
|
void copyParam(const TParameter& param, const TStructureMap& remapper)
|
||||||
|
{
|
||||||
|
if (param.name)
|
||||||
name = NewPoolTString(param.name->c_str());
|
name = NewPoolTString(param.name->c_str());
|
||||||
|
else
|
||||||
|
name = 0;
|
||||||
type = param.type->clone(remapper);
|
type = param.type->clone(remapper);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user