@@ -315,7 +315,7 @@ void RendererD3D11::set_dest_texture(const std::shared_ptr<Texture> &new_texture
315315void RendererD3D11::upload_scene (SegmentsD3D11 &draw_segments, SegmentsD3D11 &clip_segments) {
316316 auto encoder = device->create_command_encoder (" upload scene" );
317317 scene_buffers.upload (draw_segments, clip_segments, allocator, device, encoder);
318- queue->submit_and_wait (encoder);
318+ queue->submit (encoder, fence );
319319}
320320
321321void RendererD3D11::prepare_and_draw_tiles (DrawTileBatchD3D11 &batch) {
@@ -425,7 +425,7 @@ void RendererD3D11::draw_tiles(uint64_t tiles_d3d11_buffer_id,
425425
426426 encoder->end_compute_pass ();
427427
428- queue->submit_and_wait (encoder);
428+ queue->submit (encoder, fence );
429429}
430430
431431Vec2I RendererD3D11::tile_size () const {
@@ -475,7 +475,7 @@ PropagateMetadataBufferIDsD3D11 RendererD3D11::upload_propagate_metadata(
475475 0 ,
476476 propagate_metadata.size () * sizeof (PropagateMetadataD3D11),
477477 propagate_metadata.data ());
478- queue->submit_and_wait (encoder);
478+ queue->submit (encoder, fence );
479479
480480 return {propagate_metadata_storage_id, backdrops_storage_id};
481481}
@@ -485,7 +485,7 @@ void RendererD3D11::upload_initial_backdrops(uint64_t backdrops_buffer_id, std::
485485
486486 auto encoder = device->create_command_encoder (" upload initial backdrops" );
487487 encoder->write_buffer (backdrops_buffer, 0 , backdrops.size () * sizeof (BackdropInfoD3D11), backdrops.data ());
488- queue->submit_and_wait (encoder);
488+ queue->submit (encoder, fence );
489489}
490490
491491void RendererD3D11::prepare_tiles (TileBatchDataD3D11 &batch) {
@@ -684,7 +684,7 @@ std::shared_ptr<MicrolinesBufferIDsD3D11> RendererD3D11::dice_segments(std::vect
684684
685685 encoder->end_compute_pass ();
686686
687- queue->submit_and_wait (encoder);
687+ queue->submit (encoder, fence );
688688
689689 // Read indirect draw params back to CPU memory.
690690 indirect_draw_params_buffer->download_via_mapping (FILL_INDIRECT_DRAW_PARAMS_SIZE * sizeof (uint32_t ),
@@ -751,7 +751,7 @@ void RendererD3D11::bound(uint64_t tiles_d3d11_buffer_id,
751751
752752 encoder->end_compute_pass ();
753753
754- queue->submit_and_wait (encoder);
754+ queue->submit (encoder, fence );
755755
756756 allocator->free_buffer (path_info_buffer_id);
757757}
@@ -811,7 +811,7 @@ std::shared_ptr<FillBufferInfoD3D11> RendererD3D11::bin_segments(
811811
812812 encoder->end_compute_pass ();
813813
814- queue->submit_and_wait (encoder);
814+ queue->submit (encoder, fence );
815815
816816 // Read buffer.
817817 z_buffer->download_via_mapping (FILL_INDIRECT_DRAW_PARAMS_SIZE * sizeof (uint32_t ), 0 , indirect_draw_params);
@@ -919,7 +919,7 @@ PropagateTilesInfoD3D11 RendererD3D11::propagate_tiles(uint32_t column_count,
919919
920920 uint32_t fill_indirect_draw_params[FILL_INDIRECT_DRAW_PARAMS_SIZE];
921921
922- queue->submit_and_wait (encoder);
922+ queue->submit (encoder, fence );
923923
924924 // Read buffer.
925925 z_buffer->download_via_mapping (FILL_INDIRECT_DRAW_PARAMS_SIZE * sizeof (uint32_t ), 0 , fill_indirect_draw_params);
@@ -980,7 +980,7 @@ void RendererD3D11::draw_fills(FillBufferInfoD3D11 &fill_storage_info,
980980
981981 encoder->end_compute_pass ();
982982
983- queue->submit_and_wait (encoder);
983+ queue->submit (encoder, fence );
984984}
985985
986986void RendererD3D11::sort_tiles (uint64_t tiles_d3d11_buffer_id,
@@ -1017,7 +1017,7 @@ void RendererD3D11::sort_tiles(uint64_t tiles_d3d11_buffer_id,
10171017
10181018 encoder->end_compute_pass ();
10191019
1020- queue->submit_and_wait (encoder);
1020+ queue->submit (encoder, fence );
10211021}
10221022
10231023void RendererD3D11::free_tile_batch_buffers () {
0 commit comments