Map renderer sampler tokens to OpenGL

This commit is contained in:
2026-06-02 18:28:25 +02:00
parent c5c31f0a56
commit 647dd81992
5 changed files with 77 additions and 2 deletions

View File

@@ -370,6 +370,43 @@ void maps_sampler_parameters(pp::tests::Harness& h)
PP_EXPECT(h, pp::renderer::gl::sampler_border_color_parameter_name() == 0x1004U);
}
void maps_renderer_sampler_tokens(pp::tests::Harness& h)
{
const auto nearest = pp::renderer::gl::sampler_filter_for_renderer_filter(
pp::renderer::SamplerFilter::nearest);
const auto linear = pp::renderer::gl::sampler_filter_for_renderer_filter(
pp::renderer::SamplerFilter::linear);
const auto invalid_filter = pp::renderer::gl::sampler_filter_for_renderer_filter(
static_cast<pp::renderer::SamplerFilter>(255U));
const auto clamp_to_edge = pp::renderer::gl::sampler_address_mode_for_renderer_mode(
pp::renderer::SamplerAddressMode::clamp_to_edge);
const auto repeat = pp::renderer::gl::sampler_address_mode_for_renderer_mode(
pp::renderer::SamplerAddressMode::repeat);
const auto mirrored_repeat = pp::renderer::gl::sampler_address_mode_for_renderer_mode(
pp::renderer::SamplerAddressMode::mirrored_repeat);
const auto clamp_to_border = pp::renderer::gl::sampler_address_mode_for_renderer_mode(
pp::renderer::SamplerAddressMode::clamp_to_border);
const auto invalid_mode = pp::renderer::gl::sampler_address_mode_for_renderer_mode(
static_cast<pp::renderer::SamplerAddressMode>(255U));
PP_EXPECT(h, nearest.supported);
PP_EXPECT(h, nearest.value == 0x2600U);
PP_EXPECT(h, linear.supported);
PP_EXPECT(h, linear.value == 0x2601U);
PP_EXPECT(h, !invalid_filter.supported);
PP_EXPECT(h, invalid_filter.value == 0U);
PP_EXPECT(h, clamp_to_edge.supported);
PP_EXPECT(h, clamp_to_edge.value == 0x812FU);
PP_EXPECT(h, repeat.supported);
PP_EXPECT(h, repeat.value == 0x2901U);
PP_EXPECT(h, mirrored_repeat.supported);
PP_EXPECT(h, mirrored_repeat.value == 0x8370U);
PP_EXPECT(h, clamp_to_border.supported);
PP_EXPECT(h, clamp_to_border.value == 0x812DU);
PP_EXPECT(h, !invalid_mode.supported);
PP_EXPECT(h, invalid_mode.value == 0U);
}
void exposes_shader_attribute_binding_catalog(pp::tests::Harness& h)
{
const auto bindings = pp::renderer::gl::panopainter_shader_attribute_bindings();
@@ -654,6 +691,7 @@ int main()
harness.run("maps_panopainter_cube_faces_to_texture_targets", maps_panopainter_cube_faces_to_texture_targets);
harness.run("exposes_default_render_target_texture_parameters", exposes_default_render_target_texture_parameters);
harness.run("maps_sampler_parameters", maps_sampler_parameters);
harness.run("maps_renderer_sampler_tokens", maps_renderer_sampler_tokens);
harness.run("exposes_shader_attribute_binding_catalog", exposes_shader_attribute_binding_catalog);
harness.run("maps_app_initialization_parameters", maps_app_initialization_parameters);
harness.run("maps_renderer_blend_state_tokens", maps_renderer_blend_state_tokens);