Map renderer blit filters to OpenGL

This commit is contained in:
2026-06-02 18:30:46 +02:00
parent 647dd81992
commit 77c2a68cc5
5 changed files with 29 additions and 2 deletions

View File

@@ -475,6 +475,18 @@ std::uint32_t framebuffer_blit_filter(bool linear) noexcept
return linear ? gl_linear : gl_nearest;
}
OpenGlEnumMapping blit_filter_for_renderer_filter(pp::renderer::BlitFilter filter) noexcept
{
switch (filter) {
case pp::renderer::BlitFilter::nearest:
return OpenGlEnumMapping { .value = gl_nearest, .supported = true };
case pp::renderer::BlitFilter::linear:
return OpenGlEnumMapping { .value = gl_linear, .supported = true };
default:
return OpenGlEnumMapping {};
}
}
std::uint32_t primitive_mode_for_renderer_topology(pp::renderer::PrimitiveTopology topology) noexcept
{
switch (topology) {

View File

@@ -100,6 +100,8 @@ struct OpenGlWindowsWglContextConfig {
[[nodiscard]] std::uint32_t framebuffer_depth_buffer_mask() 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(
pp::renderer::BlitFilter filter) noexcept;
[[nodiscard]] std::uint32_t primitive_mode_for_renderer_topology(
pp::renderer::PrimitiveTopology topology) noexcept;
[[nodiscard]] std::uint32_t index_type_for_index_size(std::uint32_t index_size_bytes) noexcept;