MayaFlux 1.0.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 1530 of file ShaderFoundry.cpp.

1531{
1532 auto vk_stage = Core::VKShaderModule::detect_stage_from_extension(filepath);
1533 if (!vk_stage.has_value()) {
1534 return std::nullopt;
1535 }
1536
1537 switch (*vk_stage) {
1538 case vk::ShaderStageFlagBits::eCompute:
1539 return ShaderStage::COMPUTE;
1540 case vk::ShaderStageFlagBits::eVertex:
1541 return ShaderStage::VERTEX;
1542 case vk::ShaderStageFlagBits::eFragment:
1543 return ShaderStage::FRAGMENT;
1544 case vk::ShaderStageFlagBits::eGeometry:
1545 return ShaderStage::GEOMETRY;
1546 case vk::ShaderStageFlagBits::eTessellationControl:
1548 case vk::ShaderStageFlagBits::eTessellationEvaluation:
1550 case vk::ShaderStageFlagBits::eMeshEXT:
1551 return ShaderStage::MESH;
1552 case vk::ShaderStageFlagBits::eTaskEXT:
1553 return ShaderStage::TASK;
1554 default:
1555 return std::nullopt;
1556 }
1557}
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::MESH, MayaFlux::Portal::Graphics::TASK, 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: