diff --git a/src/freedreno/ci/deqp-freedreno-a630-fails.txt b/src/freedreno/ci/deqp-freedreno-a630-fails.txt index 3ead68cc544..44b3eab5d4b 100644 --- a/src/freedreno/ci/deqp-freedreno-a630-fails.txt +++ b/src/freedreno/ci/deqp-freedreno-a630-fails.txt @@ -7,7 +7,6 @@ KHR-GL33.transform_feedback.draw_xfb_instanced_test,Crash KHR-GL33.transform_feedback.draw_xfb_stream_instanced_test,Crash KHR-GL33.transform_feedback.query_vertex_interleaved_test,Fail KHR-GL33.transform_feedback.query_vertex_separate_test,Fail -dEQP-VK.api.command_buffers.record_many_draws_secondary_2,Fail dEQP-VK.api.copy_and_blit.core.resolve_image.whole_array_image_one_region.4_bit,Fail dEQP-VK.api.copy_and_blit.core.resolve_image.whole_copy_before_resolving.4_bit,Fail dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail,Fail diff --git a/src/freedreno/ci/deqp-freedreno-a630-flakes.txt b/src/freedreno/ci/deqp-freedreno-a630-flakes.txt index c1a0824090d..94666089091 100644 --- a/src/freedreno/ci/deqp-freedreno-a630-flakes.txt +++ b/src/freedreno/ci/deqp-freedreno-a630-flakes.txt @@ -86,3 +86,7 @@ dEQP-GLES31.functional.tessellation.invariance.primitive_set.quads_equal_spacing dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_basic dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_scale dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_stencil_only + +# Could trip hangcheck timeout +dEQP-VK.api.command_buffers.record_many_draws_primary_2 +dEQP-VK.api.command_buffers.record_many_draws_secondary_2 \ No newline at end of file diff --git a/src/freedreno/vulkan/tu_cs.c b/src/freedreno/vulkan/tu_cs.c index cce9b78836f..59f7f702296 100644 --- a/src/freedreno/vulkan/tu_cs.c +++ b/src/freedreno/vulkan/tu_cs.c @@ -372,8 +372,10 @@ tu_cs_reserve_space(struct tu_cs *cs, uint32_t reserved_size) tu_cs_emit(cs, CP_COND_REG_EXEC_1_DWORDS(0)); } - /* double the size for the next bo */ - new_size <<= 1; + /* double the size for the next bo, also there is an upper + * bound on IB size, which appears to be 0x0fffff + */ + new_size = MIN2(new_size << 1, 0x0fffff); if (cs->next_bo_size < new_size) cs->next_bo_size = new_size; }