SPARK  0.1.0
A general purpose game engine written in C++.
Loading...
Searching...
No Matches
VulkanPushConstantsRange.h
1#pragma once
2
3#include "spark/render/PushConstantsRange.h"
4#include "spark/render/vk/Export.h"
5
6#include <memory>
7
8namespace spark::render::vk
9{
13 class SPARK_RENDER_VK_EXPORT VulkanPushConstantsRange final : public IPushConstantsRange
14 {
15 public:
29 explicit VulkanPushConstantsRange(ShaderStage shader_stage, unsigned int offset, unsigned int size, unsigned int space, unsigned int binding);
31
33 VulkanPushConstantsRange(VulkanPushConstantsRange&& other) noexcept = delete;
34 VulkanPushConstantsRange& operator=(const VulkanPushConstantsRange& other) = delete;
35 VulkanPushConstantsRange& operator=(VulkanPushConstantsRange&& other) noexcept = delete;
36
38 [[nodiscard]] unsigned space() const noexcept override;
39
41 [[nodiscard]] unsigned binding() const noexcept override;
42
44 [[nodiscard]] unsigned offset() const noexcept override;
45
47 [[nodiscard]] unsigned size() const noexcept override;
48
50 [[nodiscard]] ShaderStage stage() const noexcept override;
51
52 private:
53 struct Impl;
54 std::unique_ptr<Impl> m_impl;
55 };
56}
Interface for a push constants range in a push constants layout .
Definition PushConstantsRange.h:12
Vulkan implementation of IPushConstantsRange.
Definition VulkanPushConstantsRange.h:14
VulkanPushConstantsRange(ShaderStage shader_stage, unsigned int offset, unsigned int size, unsigned int space, unsigned int binding)
Initializes a new VulkanPushConstantsRange.
Definition VulkanPushConstantsRange.cpp:8