Map render pass clear values to OpenGL
This commit is contained in:
@@ -492,6 +492,20 @@ std::uint32_t clear_mask_for_render_pass(pp::renderer::RenderPassDesc desc) noex
|
||||
return mask;
|
||||
}
|
||||
|
||||
OpenGlClearValues clear_values_for_render_pass(pp::renderer::RenderPassDesc desc) noexcept
|
||||
{
|
||||
return OpenGlClearValues {
|
||||
.color = {
|
||||
desc.clear_color.r,
|
||||
desc.clear_color.g,
|
||||
desc.clear_color.b,
|
||||
desc.clear_color.a,
|
||||
},
|
||||
.depth = desc.clear_depth,
|
||||
.stencil = desc.clear_stencil,
|
||||
};
|
||||
}
|
||||
|
||||
std::uint32_t color_write_mask_query() noexcept
|
||||
{
|
||||
return gl_color_writemask;
|
||||
|
||||
@@ -72,6 +72,12 @@ struct OpenGlColorWriteMask {
|
||||
std::uint8_t a = 0;
|
||||
};
|
||||
|
||||
struct OpenGlClearValues {
|
||||
std::array<float, 4> color {};
|
||||
float depth = 1.0F;
|
||||
std::uint8_t stencil = 0;
|
||||
};
|
||||
|
||||
struct OpenGlBlendState {
|
||||
std::uint8_t enabled = 0;
|
||||
std::uint32_t source_color_factor = 0;
|
||||
@@ -153,6 +159,8 @@ struct OpenGlWindowsWglContextConfig {
|
||||
[[nodiscard]] std::uint32_t framebuffer_stencil_buffer_mask() noexcept;
|
||||
[[nodiscard]] std::uint32_t clear_mask_for_render_pass(
|
||||
pp::renderer::RenderPassDesc desc) noexcept;
|
||||
[[nodiscard]] OpenGlClearValues clear_values_for_render_pass(
|
||||
pp::renderer::RenderPassDesc desc) noexcept;
|
||||
[[nodiscard]] std::uint32_t color_write_mask_query() noexcept;
|
||||
[[nodiscard]] std::uint32_t framebuffer_blit_filter(bool linear) noexcept;
|
||||
[[nodiscard]] OpenGlEnumMapping blit_filter_for_renderer_filter(
|
||||
|
||||
Reference in New Issue
Block a user