25 float saturation = 1.0;
29 return {{vk::ShaderStageFlagBits::eFragment, 0,
sizeof(
push_constants)}};
33struct device_shared final {
34 gfx_device
const &device;
36 vk::ShaderModule vertexShaderModule;
37 vk::ShaderModule fragmentShaderModule;
40 device_shared(gfx_device
const &device);
43 device_shared(device_shared
const &) =
delete;
44 device_shared &operator=(device_shared
const &) =
delete;
45 device_shared(device_shared &&) =
delete;
46 device_shared &operator=(device_shared &&) =
delete;
51 void destroy(gfx_device
const *vulkanDevice);
53 void drawInCommandBuffer(vk::CommandBuffer
const &commandBuffer);
57 void teardownShaders(gfx_device
const*vulkanDevice);
60 ~gfx_pipeline_tone_mapper() =
default;
61 gfx_pipeline_tone_mapper(
const gfx_pipeline_tone_mapper&) =
delete;
62 gfx_pipeline_tone_mapper& operator=(
const gfx_pipeline_tone_mapper&) =
delete;
63 gfx_pipeline_tone_mapper(gfx_pipeline_tone_mapper&&) =
delete;
64 gfx_pipeline_tone_mapper& operator=(gfx_pipeline_tone_mapper&&) =
delete;
66 gfx_pipeline_tone_mapper(gfx_surface *surface) : gfx_pipeline(surface) {}
68 void draw_in_command_buffer(vk::CommandBuffer commandBuffer,
draw_context const& context)
override;
71 push_constants _push_constants;
76 [[nodiscard]]
size_t getDescriptorSetVersion()
const override;
78 [[nodiscard]] vk::PipelineDepthStencilStateCreateInfo getPipelineDepthStencilStateCreateInfo()
const override;