MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ detect_stage_from_extension()

std::optional< ShaderStage > MayaFlux::Portal::Graphics::ShaderFoundry::detect_stage_from_extension ( const std::string &  filepath)
static

Auto-detect shader stage from file extension.

Parameters
filepathPath to shader file
Returns
Detected stage, or nullopt if unknown

Delegates to VKShaderModule::detect_stage_from_extension().

Definition at line 1109 of file ShaderFoundry.cpp.

1110{
1111 auto vk_stage = Core::VKShaderModule::detect_stage_from_extension(filepath);
1112 if (!vk_stage.has_value()) {
1113 return std::nullopt;
1114 }
1115
1116 switch (*vk_stage) {
1117 case vk::ShaderStageFlagBits::eCompute:
1118 return ShaderStage::COMPUTE;
1119 case vk::ShaderStageFlagBits::eVertex:
1120 return ShaderStage::VERTEX;
1121 case vk::ShaderStageFlagBits::eFragment:
1122 return ShaderStage::FRAGMENT;
1123 case vk::ShaderStageFlagBits::eGeometry:
1124 return ShaderStage::GEOMETRY;
1125 case vk::ShaderStageFlagBits::eTessellationControl:
1127 case vk::ShaderStageFlagBits::eTessellationEvaluation:
1129 default:
1130 return std::nullopt;
1131 }
1132}
static std::optional< vk::ShaderStageFlagBits > detect_stage_from_extension(const std::string &filepath)
Auto-detect shader stage from file extension.

References MayaFlux::Portal::Graphics::COMPUTE, MayaFlux::Core::VKShaderModule::detect_stage_from_extension(), MayaFlux::Portal::Graphics::FRAGMENT, MayaFlux::Portal::Graphics::GEOMETRY, MayaFlux::Portal::Graphics::TESS_CONTROL, MayaFlux::Portal::Graphics::TESS_EVALUATION, and MayaFlux::Portal::Graphics::VERTEX.

Referenced by load_shader().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: