remove all stage specifics and dynamic naming

always running into issues with this as at times features are coming in with a different index and that affects how another stage is interacting with that shader. This produces alot more shaders, previous run with these was around 500 but without it is producing over 800 (this includes tso compiled output)

This may be something that will only work for the shadernodes as users will be designing those.
This commit is contained in:
marauder2k7 2025-12-10 14:17:00 +00:00
parent dc2a9ed2e5
commit 2ca11b4a94
7 changed files with 13 additions and 44 deletions

View file

@ -46,8 +46,6 @@ public:
void processVert( Vector<ShaderComponent*> &componentList,
const MaterialFeatureData &fd ) override;
U32 getShaderStages() override { return GFXShaderStage::VERTEX_SHADER; }
String getName() override
{
return "Wind Effect";

View file

@ -138,8 +138,6 @@ public:
void processPix( Vector<ShaderComponent*> &componentList,
const MaterialFeatureData &fd ) override;
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
String getName() override
{
return "Sub-Surface Approximation [Deferred]";

View file

@ -57,8 +57,6 @@ public:
const MaterialFeatureData &fd ) override;
U32 getOutputTargets(const MaterialFeatureData& fd) const override;
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
};
class ORMConfigVarsHLSL : public ShaderFeatureHLSL
@ -70,8 +68,6 @@ public:
void processPix( Vector<ShaderComponent*> &componentList,
const MaterialFeatureData &fd ) override;
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
};
class GlowMapHLSL : public ShaderFeatureHLSL
@ -82,8 +78,6 @@ public:
void processPix(Vector<ShaderComponent*> &componentList,
const MaterialFeatureData &fd) override;
//U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
U32 getOutputTargets(const MaterialFeatureData& fd) const override;
Resources getResources(const MaterialFeatureData& fd) override;

View file

@ -98,8 +98,6 @@ public:
}
}
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
String getName() override { return "Accu Scale"; }
};
@ -120,8 +118,6 @@ public:
}
}
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
String getName() override { return "Accu Direction"; }
};
@ -142,8 +138,6 @@ public:
}
}
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
String getName() override { return "Accu Strength"; }
};
@ -164,8 +158,6 @@ public:
}
}
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
String getName() override { return "Accu Coverage"; }
};
@ -187,8 +179,6 @@ public:
}
}
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
String getName() override { return "Accu Specular"; }
};

View file

@ -37,7 +37,5 @@ public:
void processPix(Vector<ShaderComponent*>& componentList,
const MaterialFeatureData& fd) override;
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
String getName() override { return "Debug Viz"; }
};

View file

@ -307,8 +307,6 @@ public:
void processPix( Vector<ShaderComponent*> &componentList,
const MaterialFeatureData &fd ) override;
//U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
Material::BlendOp getBlendOp() override{ return Material::None; }
U32 getOutputTargets(const MaterialFeatureData &fd) const override;
@ -561,8 +559,6 @@ public:
void processPix( Vector<ShaderComponent*> &componentList,
const MaterialFeatureData &fd ) override;
//U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
String getName() override
{
return "Glow Mask";
@ -587,8 +583,6 @@ public:
void processPix( Vector<ShaderComponent*> &componentList,
const MaterialFeatureData &fd ) override;
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
Material::BlendOp getBlendOp() override { return Material::None; }
String getName() override { return "HDR Output"; }
@ -633,8 +627,6 @@ public:
void processVert( Vector<ShaderComponent*> &componentList,
const MaterialFeatureData &fd ) override;
U32 getShaderStages() override { return GFXShaderStage::VERTEX_SHADER; }
String getName() override
{
return "Particle Normal Generation Feature";
@ -681,8 +673,6 @@ public:
void processVert( Vector<ShaderComponent*> &componentList,
const MaterialFeatureData &fd ) override;
U32 getShaderStages() override { return GFXShaderStage::VERTEX_SHADER; }
String getName() override { return "Hardware Skinning"; }
};

View file

@ -229,20 +229,21 @@ void ShaderGen::generateShader( const MaterialFeatureData& featureData,
const char* postfix = _getStagePostfix(curStage);
String stageName;
if (curStage & GFXShaderStage::VERTEX_SHADER)
stageName += vertexFormat->getDescription();
//if (curStage & GFXShaderStage::VERTEX_SHADER)
// stageName += vertexFormat->getDescription();
// build our filename.
for (U32 i = 0; i < features.getCount(); i++)
{
const FeatureType& type = features.getAt(i);
if (stage & FEATUREMGR->getByType(type)->getShaderStages())
{
stageName += type.getName();
}
}
//// build our filename.
//for (U32 i = 0; i < features.getCount(); i++)
//{
// const FeatureType& type = features.getAt(i);
// if (stage & FEATUREMGR->getByType(type)->getShaderStages())
// {
// stageName += type.getName();
// }
//}
stageName = Torque::getStringHash64(stageName);
//stageName = Torque::getStringHash64(stageName);
stageName = cacheName;
stageName += postfix;
FileCacheSet::iterator file = mFileCache.find(stageName);