@@ -250,7 +250,9 @@ void ShaderGenerator::generateVertexDomainDefines(io::sstream& out, VertexDomain
250250}
251251
252252void ShaderGenerator::generatePostProcessMaterialVariantDefines (io::sstream& out,
253- PostProcessVariant const variant) noexcept {
253+ ShaderStage const , MaterialBuilder::FeatureLevel const featureLevel,
254+ MaterialInfo const &, PostProcessVariant const variant) noexcept {
255+ CodeGenerator::generateDefine (out, " MATERIAL_FEATURE_LEVEL" , uint32_t (featureLevel));
254256 switch (variant) {
255257 case PostProcessVariant::OPAQUE:
256258 CodeGenerator::generateDefine (out, " POST_PROCESS_OPAQUE" , 1u );
@@ -737,7 +739,8 @@ std::string ShaderGenerator::createPostProcessVertexProgram(ShaderModel const sm
737739 }
738740
739741 CodeGenerator::generatePostProcessInputs (vs, ShaderStage::VERTEX);
740- generatePostProcessMaterialVariantDefines (vs, PostProcessVariant (variantKey));
742+ generatePostProcessMaterialVariantDefines (vs, ShaderStage::VERTEX,
743+ featureLevel, material, PostProcessVariant (variantKey));
741744
742745 cg.generateUniforms (vs, ShaderStage::VERTEX,
743746 DescriptorSetBindingPoints::PER_VIEW,
@@ -765,14 +768,16 @@ std::string ShaderGenerator::createPostProcessVertexProgram(ShaderModel const sm
765768std::string ShaderGenerator::createPostProcessFragmentProgram (ShaderModel const sm,
766769 MaterialBuilder::TargetApi const targetApi, MaterialBuilder::TargetLanguage const targetLanguage,
767770 MaterialBuilder::FeatureLevel const featureLevel,
768- MaterialInfo const & material, uint8_t variant, uint32_t apiLevel) const noexcept {
771+ MaterialInfo const & material, filament::Variant::type_t variantKey,
772+ uint32_t apiLevel) const noexcept {
769773 const CodeGenerator cg (sm, targetApi, targetLanguage, featureLevel);
770774 io::sstream fs;
771775 cg.generateCommonProlog (fs, ShaderStage::FRAGMENT, material, {}, apiLevel);
772776
773777 generateUserSpecConstants (cg, fs, mConstants );
774778
775- generatePostProcessMaterialVariantDefines (fs, PostProcessVariant (variant));
779+ generatePostProcessMaterialVariantDefines (fs, ShaderStage::FRAGMENT,
780+ featureLevel, material, PostProcessVariant (variantKey));
776781
777782 // custom material variables
778783 size_t variableIndex = 0 ;
0 commit comments