Add ComputeParticlesTest

Renderer: Add a way to execute commands on the device
This commit is contained in:
SirLynix
2023-01-04 17:57:26 +01:00
committed by Jérôme Leclercq
parent 9e7b98a017
commit e34ba8c05d
13 changed files with 736 additions and 4 deletions

View File

@@ -22,6 +22,7 @@
#include <Nazara/Renderer/Texture.hpp>
#include <Nazara/Renderer/TextureSampler.hpp>
#include <Nazara/Utility/PixelFormat.hpp>
#include <Nazara/Utils/FunctionRef.hpp>
#include <NZSL/ShaderWriter.hpp>
#include <NZSL/Ast/Module.hpp>
#include <memory>
@@ -29,6 +30,7 @@
namespace Nz
{
class CommandBufferBuilder;
class CommandPool;
class ShaderModule;
@@ -38,6 +40,8 @@ namespace Nz
RenderDevice() = default;
virtual ~RenderDevice();
virtual void Execute(const FunctionRef<void(CommandBufferBuilder& builder)>& callback, QueueType queueType) = 0;
virtual const RenderDeviceInfo& GetDeviceInfo() const = 0;
virtual const RenderDeviceFeatures& GetEnabledFeatures() const = 0;
@@ -58,6 +62,8 @@ namespace Nz
virtual bool IsTextureFormatSupported(PixelFormat format, TextureUsage usage) const = 0;
virtual void WaitForIdle() = 0;
static void ValidateFeatures(const RenderDeviceFeatures& supportedFeatures, RenderDeviceFeatures& enabledFeatures);
};
}