Shader: Fix module overwriting
This commit is contained in:
parent
06406fc20e
commit
801b06abfe
|
|
@ -15,8 +15,8 @@ namespace Nz
|
||||||
{
|
{
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
const UInt8 r_blitShader[] = {
|
const UInt8 r_textureBlitShader[] = {
|
||||||
#include <Nazara/Graphics/Resources/Shaders/Blit.nzsl.h>
|
#include <Nazara/Graphics/Resources/Shaders/TextureBlit.nzsl.h>
|
||||||
};
|
};
|
||||||
|
|
||||||
const UInt8 r_basicMaterialShader[] = {
|
const UInt8 r_basicMaterialShader[] = {
|
||||||
|
|
@ -151,10 +151,12 @@ namespace Nz
|
||||||
if (!m_blitPipelineLayout)
|
if (!m_blitPipelineLayout)
|
||||||
throw std::runtime_error("failed to instantiate fullscreen renderpipeline layout");
|
throw std::runtime_error("failed to instantiate fullscreen renderpipeline layout");
|
||||||
|
|
||||||
|
ShaderAst::ModulePtr blitShaderModule = m_shaderModuleResolver->Resolve("TextureBlit");
|
||||||
|
|
||||||
ShaderWriter::States states;
|
ShaderWriter::States states;
|
||||||
states.shaderModuleResolver = m_shaderModuleResolver;
|
states.shaderModuleResolver = m_shaderModuleResolver;
|
||||||
|
|
||||||
auto blitShader = m_renderDevice->InstantiateShaderModule(ShaderStageType::Fragment | ShaderStageType::Vertex, ShaderLanguage::NazaraShader, r_blitShader, sizeof(r_blitShader), states);
|
auto blitShader = m_renderDevice->InstantiateShaderModule(ShaderStageType::Fragment | ShaderStageType::Vertex, *blitShaderModule, states);
|
||||||
if (!blitShader)
|
if (!blitShader)
|
||||||
throw std::runtime_error("failed to instantiate blit shader");
|
throw std::runtime_error("failed to instantiate blit shader");
|
||||||
|
|
||||||
|
|
@ -238,7 +240,7 @@ namespace Nz
|
||||||
RegisterEmbedShaderModule(r_basicMaterialShader);
|
RegisterEmbedShaderModule(r_basicMaterialShader);
|
||||||
RegisterEmbedShaderModule(r_depthMaterialShader);
|
RegisterEmbedShaderModule(r_depthMaterialShader);
|
||||||
RegisterEmbedShaderModule(r_phongMaterialShader);
|
RegisterEmbedShaderModule(r_phongMaterialShader);
|
||||||
RegisterEmbedShaderModule(r_blitShader);
|
RegisterEmbedShaderModule(r_textureBlitShader);
|
||||||
RegisterEmbedShaderModule(r_instanceDataModule);
|
RegisterEmbedShaderModule(r_instanceDataModule);
|
||||||
RegisterEmbedShaderModule(r_lightDataModule);
|
RegisterEmbedShaderModule(r_lightDataModule);
|
||||||
RegisterEmbedShaderModule(r_viewerDataModule);
|
RegisterEmbedShaderModule(r_viewerDataModule);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
[nzsl_version("1.0")]
|
[nzsl_version("1.0")]
|
||||||
module Blit;
|
module TextureBlit;
|
||||||
|
|
||||||
external
|
external
|
||||||
{
|
{
|
||||||
|
|
@ -29,7 +29,7 @@ namespace Nz
|
||||||
if (moduleName.empty())
|
if (moduleName.empty())
|
||||||
throw std::runtime_error("cannot register anonymous module");
|
throw std::runtime_error("cannot register anonymous module");
|
||||||
|
|
||||||
m_modules.emplace(std::move(moduleName), std::move(module));
|
m_modules.insert_or_assign(std::move(moduleName), std::move(module));
|
||||||
}
|
}
|
||||||
|
|
||||||
void FilesystemModuleResolver::RegisterModuleDirectory(const std::filesystem::path& realPath)
|
void FilesystemModuleResolver::RegisterModuleDirectory(const std::filesystem::path& realPath)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue