| 89 | FullScreenPass::~FullScreenPass() = default; |
| 90 | |
| 91 | ref<FullScreenPass> FullScreenPass::create(ref<Device> pDevice, const ProgramDesc& desc, const DefineList& defines, uint32_t viewportMask) |
| 92 | { |
| 93 | ProgramDesc d = desc; |
| 94 | DefineList defs = defines; |
| 95 | std::string gs; |
| 96 | |
| 97 | if (viewportMask) |
| 98 | { |
| 99 | defs.add("_VIEWPORT_MASK", std::to_string(viewportMask)); |
| 100 | defs.add("_OUTPUT_VERTEX_COUNT", std::to_string(3 * popcount(viewportMask))); |
| 101 | d.addShaderLibrary("Core/Pass/FullScreenPass.gs.slang").gsEntry("main"); |
| 102 | } |
| 103 | if (!d.hasEntryPoint(ShaderType::Vertex)) |
| 104 | d.addShaderLibrary("Core/Pass/FullScreenPass.vs.slang").vsEntry("main"); |
| 105 | |
| 106 | return ref<FullScreenPass>(new FullScreenPass(pDevice, d, defs)); |
| 107 | } |
| 108 | |
| 109 | ref<FullScreenPass> FullScreenPass::create( |
| 110 | ref<Device> pDevice, |
nothing calls this directly
no test coverage detected