Add initial support for compute pipelines
This commit is contained in:
committed by
Jérôme Leclercq
parent
e4064997d8
commit
9578ba3ef5
@@ -45,6 +45,13 @@ namespace Nz
|
||||
UInt32 bindingIndex;
|
||||
};
|
||||
|
||||
struct ExternalSampler : ExternalData
|
||||
{
|
||||
UInt32 arraySize;
|
||||
nzsl::ImageType imageType;
|
||||
nzsl::Ast::PrimitiveType sampledType;
|
||||
};
|
||||
|
||||
struct ExternalStorageBlock : ExternalData
|
||||
{
|
||||
std::size_t structIndex;
|
||||
@@ -53,8 +60,10 @@ namespace Nz
|
||||
struct ExternalTexture : ExternalData
|
||||
{
|
||||
UInt32 arraySize;
|
||||
nzsl::AccessPolicy accessPolicy;
|
||||
nzsl::ImageFormat imageFormat;
|
||||
nzsl::ImageType imageType;
|
||||
nzsl::Ast::PrimitiveType sampledType;
|
||||
nzsl::Ast::PrimitiveType baseType;
|
||||
};
|
||||
|
||||
struct ExternalUniformBlock : ExternalData
|
||||
@@ -64,8 +73,9 @@ namespace Nz
|
||||
|
||||
struct ExternalBlockData
|
||||
{
|
||||
std::unordered_map<std::string /*tag*/, ExternalSampler> samplers;
|
||||
std::unordered_map<std::string /*tag*/, ExternalStorageBlock> storageBlocks;
|
||||
std::unordered_map<std::string /*tag*/, ExternalTexture> samplers;
|
||||
std::unordered_map<std::string /*tag*/, ExternalTexture> textures;
|
||||
std::unordered_map<std::string /*tag*/, ExternalUniformBlock> uniformBlocks;
|
||||
};
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace Nz
|
||||
|
||||
private:
|
||||
std::vector<ShaderBinding::Binding> m_bindingCache;
|
||||
std::vector<ShaderBinding::TextureBinding> m_textureBindingCache;
|
||||
std::vector<ShaderBinding::SampledTextureBinding> m_textureBindingCache;
|
||||
RenderElementPool<RenderSubmesh> m_submeshPool;
|
||||
};
|
||||
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
#include <Nazara/Core/Color.hpp>
|
||||
#include <Nazara/Graphics/Config.hpp>
|
||||
#include <Nazara/Graphics/InstancedRenderable.hpp>
|
||||
#include <Nazara/Utils/Bitset.hpp>
|
||||
#include <Nazara/Utility/VertexStruct.hpp>
|
||||
#include <Nazara/Utils/Bitset.hpp>
|
||||
#include <memory>
|
||||
|
||||
namespace Nz
|
||||
|
||||
Reference in New Issue
Block a user