Fix: DRW: Broken or non-deterministic tests

The test_draw_submit_only was broken because of the
empty pass optimization #135875. Making the passes
non-empty fixes the test.

`eevee_surfel_list` has non-deterministic result. This
should be investigated in the future.
This commit is contained in:
Clément Foucault
2025-04-16 21:48:47 +02:00
parent 0b2a178efc
commit f2cfa822da
2 changed files with 14 additions and 0 deletions

View File

@@ -516,9 +516,18 @@ static void test_draw_submit_only()
manager.end_sync();
view.sync(viewmat, projmat);
view_other.sync(viewmat, projmat);
/* Add some draws to prevent empty pass optimization. */
GPUShader *sh = GPU_shader_get_builtin_shader(GPU_SHADER_3D_IMAGE_COLOR);
pass.init();
pass.shader_set(sh);
pass.draw_procedural(GPU_PRIM_TRIS, 1, 3);
pass_main.init();
pass_main.shader_set(sh);
pass_main.draw_procedural(GPU_PRIM_TRIS, 1, 3);
pass_manual.init();
pass_manual.shader_set(sh);
pass_manual.draw_procedural(GPU_PRIM_TRIS, 1, 3);
/* Auto command and visibility computation. */
manager.submit(pass);
@@ -607,7 +616,10 @@ static void test_draw_submit_only()
manager.submit_only(pass_manual, view);
}
{
/* Add some draws to prevent empty pass optimization. */
pass_manual.init();
pass_manual.shader_set(sh);
pass_manual.draw_procedural(GPU_PRIM_TRIS, 1, 3);
/* Submit before command generation. */
EXPECT_BLI_ASSERT(manager.submit_only(pass_manual, view),

View File

@@ -1804,6 +1804,8 @@ DRAW_TEST(eevee_shadow_page_mask)
static void test_eevee_surfel_list()
{
GTEST_SKIP() << "Result is non-deterministic. To be revisited.";
GPU_render_begin();
StorageArrayBuffer<int> list_start_buf = {"list_start_buf"};
StorageVectorBuffer<Surfel> surfel_buf = {"surfel_buf"};