Map render pass clear values to OpenGL

This commit is contained in:
2026-06-02 20:35:28 +02:00
parent c18297f221
commit cc33fbdde2
5 changed files with 68 additions and 2 deletions

View File

@@ -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(