Map renderer blend state to OpenGL
This commit is contained in:
@@ -599,6 +599,68 @@ void maps_renderer_color_write_masks(pp::tests::Harness& h)
|
||||
PP_EXPECT(h, disabled_mask.a == 0U);
|
||||
}
|
||||
|
||||
void maps_renderer_blend_states(pp::tests::Harness& h)
|
||||
{
|
||||
const auto disabled = pp::renderer::gl::blend_state_for_renderer_blend_state(
|
||||
pp::renderer::BlendState {});
|
||||
const auto alpha_blend = pp::renderer::gl::blend_state_for_renderer_blend_state(
|
||||
pp::renderer::BlendState {
|
||||
.enabled = true,
|
||||
.source_color = pp::renderer::BlendFactor::source_alpha,
|
||||
.destination_color = pp::renderer::BlendFactor::one_minus_source_alpha,
|
||||
.color_op = pp::renderer::BlendOp::add,
|
||||
.source_alpha = pp::renderer::BlendFactor::one,
|
||||
.destination_alpha = pp::renderer::BlendFactor::one_minus_destination_alpha,
|
||||
.alpha_op = pp::renderer::BlendOp::reverse_subtract,
|
||||
.write_r = true,
|
||||
.write_g = false,
|
||||
.write_b = true,
|
||||
.write_a = false,
|
||||
});
|
||||
const auto invalid_factor = pp::renderer::gl::blend_state_for_renderer_blend_state(
|
||||
pp::renderer::BlendState {
|
||||
.enabled = true,
|
||||
.source_color = static_cast<pp::renderer::BlendFactor>(255U),
|
||||
});
|
||||
const auto invalid_op = pp::renderer::gl::blend_state_for_renderer_blend_state(
|
||||
pp::renderer::BlendState {
|
||||
.enabled = true,
|
||||
.color_op = static_cast<pp::renderer::BlendOp>(255U),
|
||||
});
|
||||
|
||||
PP_EXPECT(h, disabled.supported);
|
||||
PP_EXPECT(h, disabled.enabled == 0U);
|
||||
PP_EXPECT(h, disabled.source_color_factor == 1U);
|
||||
PP_EXPECT(h, disabled.destination_color_factor == 0U);
|
||||
PP_EXPECT(h, disabled.color_equation == 0x8006U);
|
||||
PP_EXPECT(h, disabled.source_alpha_factor == 1U);
|
||||
PP_EXPECT(h, disabled.destination_alpha_factor == 0U);
|
||||
PP_EXPECT(h, disabled.alpha_equation == 0x8006U);
|
||||
PP_EXPECT(h, disabled.color_write_mask.r == 1U);
|
||||
PP_EXPECT(h, disabled.color_write_mask.g == 1U);
|
||||
PP_EXPECT(h, disabled.color_write_mask.b == 1U);
|
||||
PP_EXPECT(h, disabled.color_write_mask.a == 1U);
|
||||
|
||||
PP_EXPECT(h, alpha_blend.supported);
|
||||
PP_EXPECT(h, alpha_blend.enabled == 1U);
|
||||
PP_EXPECT(h, alpha_blend.source_color_factor == 0x0302U);
|
||||
PP_EXPECT(h, alpha_blend.destination_color_factor == 0x0303U);
|
||||
PP_EXPECT(h, alpha_blend.color_equation == 0x8006U);
|
||||
PP_EXPECT(h, alpha_blend.source_alpha_factor == 1U);
|
||||
PP_EXPECT(h, alpha_blend.destination_alpha_factor == 0x0305U);
|
||||
PP_EXPECT(h, alpha_blend.alpha_equation == 0x800BU);
|
||||
PP_EXPECT(h, alpha_blend.color_write_mask.r == 1U);
|
||||
PP_EXPECT(h, alpha_blend.color_write_mask.g == 0U);
|
||||
PP_EXPECT(h, alpha_blend.color_write_mask.b == 1U);
|
||||
PP_EXPECT(h, alpha_blend.color_write_mask.a == 0U);
|
||||
|
||||
PP_EXPECT(h, !invalid_factor.supported);
|
||||
PP_EXPECT(h, invalid_factor.enabled == 1U);
|
||||
PP_EXPECT(h, invalid_factor.source_color_factor == 0U);
|
||||
PP_EXPECT(h, !invalid_op.supported);
|
||||
PP_EXPECT(h, invalid_op.color_equation == 0U);
|
||||
}
|
||||
|
||||
void maps_renderer_depth_compare_tokens(pp::tests::Harness& h)
|
||||
{
|
||||
const auto never = pp::renderer::gl::compare_function_for_renderer_compare_op(
|
||||
@@ -803,6 +865,7 @@ int main()
|
||||
harness.run("maps_app_initialization_parameters", maps_app_initialization_parameters);
|
||||
harness.run("maps_renderer_blend_state_tokens", maps_renderer_blend_state_tokens);
|
||||
harness.run("maps_renderer_color_write_masks", maps_renderer_color_write_masks);
|
||||
harness.run("maps_renderer_blend_states", maps_renderer_blend_states);
|
||||
harness.run("maps_renderer_depth_compare_tokens", maps_renderer_depth_compare_tokens);
|
||||
harness.run("maps_renderer_depth_states", maps_renderer_depth_states);
|
||||
harness.run("maps_windows_wgl_core_context_parameters", maps_windows_wgl_core_context_parameters);
|
||||
|
||||
Reference in New Issue
Block a user