diff options
author | Subv <subv2112@gmail.com> | 2018-04-14 18:42:07 +0200 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2018-04-15 05:54:23 +0200 |
commit | ae58e46036944ebadfed611b657911720383d60f (patch) | |
tree | 951caf616779423ce11f1b260701492ceb07f187 /src/video_core/engines/maxwell_3d.cpp | |
parent | Merge pull request #332 from bunnei/fix-total-mem-usage (diff) | |
download | yuzu-ae58e46036944ebadfed611b657911720383d60f.tar yuzu-ae58e46036944ebadfed611b657911720383d60f.tar.gz yuzu-ae58e46036944ebadfed611b657911720383d60f.tar.bz2 yuzu-ae58e46036944ebadfed611b657911720383d60f.tar.lz yuzu-ae58e46036944ebadfed611b657911720383d60f.tar.xz yuzu-ae58e46036944ebadfed611b657911720383d60f.tar.zst yuzu-ae58e46036944ebadfed611b657911720383d60f.zip |
Diffstat (limited to 'src/video_core/engines/maxwell_3d.cpp')
-rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index 2d7c3152f..98ed11ec5 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -301,5 +301,26 @@ u32 Maxwell3D::GetRegisterValue(u32 method) const { return regs.reg_array[method]; } +bool Maxwell3D::IsShaderStageEnabled(Regs::ShaderStage stage) const { + // The Vertex stage is always enabled. + if (stage == Regs::ShaderStage::Vertex) + return true; + + switch (stage) { + case Regs::ShaderStage::TesselationControl: + return regs.shader_config[static_cast<size_t>(Regs::ShaderProgram::TesselationControl)] + .enable != 0; + case Regs::ShaderStage::TesselationEval: + return regs.shader_config[static_cast<size_t>(Regs::ShaderProgram::TesselationEval)] + .enable != 0; + case Regs::ShaderStage::Geometry: + return regs.shader_config[static_cast<size_t>(Regs::ShaderProgram::Geometry)].enable != 0; + case Regs::ShaderStage::Fragment: + return regs.shader_config[static_cast<size_t>(Regs::ShaderProgram::Fragment)].enable != 0; + } + + UNREACHABLE(); +} + } // namespace Engines } // namespace Tegra |