20 float saturation = 1.0;
24 return {{vk::ShaderStageFlagBits::eFragment, 0,
sizeof(
push_constants)}};
28struct device_shared final {
29 gfx_device
const &device;
31 vk::ShaderModule vertexShaderModule;
32 vk::ShaderModule fragmentShaderModule;
35 device_shared(gfx_device
const &device);
38 device_shared(device_shared
const &) =
delete;
39 device_shared &operator=(device_shared
const &) =
delete;
40 device_shared(device_shared &&) =
delete;
41 device_shared &operator=(device_shared &&) =
delete;
46 void destroy(gfx_device
const *vulkanDevice);
48 void drawInCommandBuffer(vk::CommandBuffer
const &commandBuffer);
52 void teardownShaders(gfx_device
const*vulkanDevice);
55 ~gfx_pipeline_tone_mapper() =
default;
56 gfx_pipeline_tone_mapper(
const gfx_pipeline_tone_mapper&) =
delete;
57 gfx_pipeline_tone_mapper& operator=(
const gfx_pipeline_tone_mapper&) =
delete;
58 gfx_pipeline_tone_mapper(gfx_pipeline_tone_mapper&&) =
delete;
59 gfx_pipeline_tone_mapper& operator=(gfx_pipeline_tone_mapper&&) =
delete;
61 gfx_pipeline_tone_mapper(gfx_surface *surface) : gfx_pipeline(surface) {}
63 void draw_in_command_buffer(vk::CommandBuffer commandBuffer,
draw_context const& context)
override;
66 push_constants _push_constants;
71 [[nodiscard]]
size_t getDescriptorSetVersion()
const override;
73 [[nodiscard]] vk::PipelineDepthStencilStateCreateInfo getPipelineDepthStencilStateCreateInfo()
const override;