Map renderer depth state to OpenGL
This commit is contained in:
@@ -274,26 +274,31 @@ void maps_render_pass_clear_masks(pp::tests::Harness& h)
|
||||
{
|
||||
const auto no_clear = pp::renderer::gl::clear_mask_for_render_pass(pp::renderer::RenderPassDesc {
|
||||
.clear_color_enabled = false,
|
||||
.clear_color = {},
|
||||
.clear_depth_enabled = false,
|
||||
.clear_stencil_enabled = false,
|
||||
});
|
||||
const auto color_only = pp::renderer::gl::clear_mask_for_render_pass(pp::renderer::RenderPassDesc {
|
||||
.clear_color_enabled = true,
|
||||
.clear_color = {},
|
||||
.clear_depth_enabled = false,
|
||||
.clear_stencil_enabled = false,
|
||||
});
|
||||
const auto depth_only = pp::renderer::gl::clear_mask_for_render_pass(pp::renderer::RenderPassDesc {
|
||||
.clear_color_enabled = false,
|
||||
.clear_color = {},
|
||||
.clear_depth_enabled = true,
|
||||
.clear_stencil_enabled = false,
|
||||
});
|
||||
const auto stencil_only = pp::renderer::gl::clear_mask_for_render_pass(pp::renderer::RenderPassDesc {
|
||||
.clear_color_enabled = false,
|
||||
.clear_color = {},
|
||||
.clear_depth_enabled = false,
|
||||
.clear_stencil_enabled = true,
|
||||
});
|
||||
const auto all_buffers = pp::renderer::gl::clear_mask_for_render_pass(pp::renderer::RenderPassDesc {
|
||||
.clear_color_enabled = true,
|
||||
.clear_color = {},
|
||||
.clear_depth_enabled = true,
|
||||
.clear_stencil_enabled = true,
|
||||
});
|
||||
@@ -635,6 +640,37 @@ void maps_renderer_depth_compare_tokens(pp::tests::Harness& h)
|
||||
PP_EXPECT(h, invalid.value == 0U);
|
||||
}
|
||||
|
||||
void maps_renderer_depth_states(pp::tests::Harness& h)
|
||||
{
|
||||
const auto disabled = pp::renderer::gl::depth_state_for_renderer_depth_state(
|
||||
pp::renderer::DepthState {});
|
||||
const auto read_write = pp::renderer::gl::depth_state_for_renderer_depth_state(
|
||||
pp::renderer::DepthState {
|
||||
.test_enabled = true,
|
||||
.write_enabled = true,
|
||||
.compare = pp::renderer::CompareOp::greater,
|
||||
});
|
||||
const auto invalid_compare = pp::renderer::gl::depth_state_for_renderer_depth_state(
|
||||
pp::renderer::DepthState {
|
||||
.test_enabled = true,
|
||||
.write_enabled = false,
|
||||
.compare = static_cast<pp::renderer::CompareOp>(255U),
|
||||
});
|
||||
|
||||
PP_EXPECT(h, disabled.supported);
|
||||
PP_EXPECT(h, disabled.test_enabled == 0U);
|
||||
PP_EXPECT(h, disabled.write_enabled == 0U);
|
||||
PP_EXPECT(h, disabled.compare_function == 0x0203U);
|
||||
PP_EXPECT(h, read_write.supported);
|
||||
PP_EXPECT(h, read_write.test_enabled == 1U);
|
||||
PP_EXPECT(h, read_write.write_enabled == 1U);
|
||||
PP_EXPECT(h, read_write.compare_function == 0x0204U);
|
||||
PP_EXPECT(h, !invalid_compare.supported);
|
||||
PP_EXPECT(h, invalid_compare.test_enabled == 1U);
|
||||
PP_EXPECT(h, invalid_compare.write_enabled == 0U);
|
||||
PP_EXPECT(h, invalid_compare.compare_function == 0U);
|
||||
}
|
||||
|
||||
void maps_windows_wgl_core_context_parameters(pp::tests::Harness& h)
|
||||
{
|
||||
const auto config = pp::renderer::gl::windows_wgl_core_context_3_3_config();
|
||||
@@ -768,6 +804,7 @@ int main()
|
||||
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_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);
|
||||
harness.run("rejects_invalid_shader_attribute_binding_catalogs", rejects_invalid_shader_attribute_binding_catalogs);
|
||||
harness.run("exposes_shader_uniform_catalog", exposes_shader_uniform_catalog);
|
||||
|
||||
Reference in New Issue
Block a user