Ensure specialization constants come sorted from reflection

This commit is contained in:
Pedro J. Estébanez
2024-03-12 14:42:01 +01:00
parent b18942d429
commit 49625beac2
2 changed files with 4 additions and 0 deletions

View File

@ -912,6 +912,8 @@ public:
struct ShaderSpecializationConstant : public PipelineSpecializationConstant { struct ShaderSpecializationConstant : public PipelineSpecializationConstant {
BitField<ShaderStage> stages; BitField<ShaderStage> stages;
bool operator<(const ShaderSpecializationConstant &p_other) const { return constant_id < p_other.constant_id; }
}; };
struct ShaderDescription { struct ShaderDescription {

View File

@ -265,6 +265,8 @@ Error RenderingDeviceDriver::_reflect_spirv(VectorView<ShaderStageSPIRVData> p_s
r_reflection.specialization_constants.push_back(sconst); r_reflection.specialization_constants.push_back(sconst);
} }
} }
r_reflection.specialization_constants.sort();
} }
} }