HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
pipeline_tone_mapper.hpp
1// Copyright Take Vos 2020.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
5#pragma once
6
7#include "pipeline_vulkan.hpp"
8#include "pipeline_tone_mapper_push_constants.hpp"
9#include "../vector_span.hpp"
10#include <vma/vk_mem_alloc.h>
11#include <span>
12
13namespace hi::inline v1::pipeline_tone_mapper {
14
18public:
19 pipeline_tone_mapper(gfx_surface const &surface);
21
23 pipeline_tone_mapper &operator=(const pipeline_tone_mapper &) = delete;
25 pipeline_tone_mapper &operator=(pipeline_tone_mapper &&) = delete;
26
27 void draw_in_command_buffer(vk::CommandBuffer commandBuffer, draw_context const& context) override;
28
29protected:
30 push_constants _push_constants;
31
32 std::vector<vk::PipelineShaderStageCreateInfo> createShaderStages() const override;
33 std::vector<vk::DescriptorSetLayoutBinding> createDescriptorSetLayoutBindings() const override;
34 std::vector<vk::WriteDescriptorSet> createWriteDescriptorSet() const override;
35 ssize_t getDescriptorSetVersion() const override;
36 std::vector<vk::PushConstantRange> createPushConstantRanges() const override;
37 vk::PipelineDepthStencilStateCreateInfo getPipelineDepthStencilStateCreateInfo() const override;
38};
39
40} // namespace hi::inline v1::pipeline_tone_mapper
Draw context for drawing using the HikoGUI shaders.
Definition draw_context.hpp:52
Definition gfx_surface.hpp:16
Definition pipeline_alpha_push_constants.hpp:13
Definition pipeline_tone_mapper.hpp:17
Definition pipeline_vulkan.hpp:16