@@ -423,7 +423,8 @@ IREE_API_EXPORT iree_status_t iree_hal_command_buffer_discard_buffer(
423423
424424IREE_API_EXPORT iree_status_t iree_hal_command_buffer_fill_buffer (
425425 iree_hal_command_buffer_t * command_buffer , iree_hal_buffer_ref_t target_ref ,
426- const void * pattern , iree_host_size_t pattern_length ) {
426+ const void * pattern , iree_host_size_t pattern_length ,
427+ iree_hal_fill_flags_t flags ) {
427428 IREE_ASSERT_ARGUMENT (command_buffer );
428429 if (target_ref .length == 0 ) {
429430 // No-op fill. All other validation is skipped.
@@ -434,17 +435,18 @@ IREE_API_EXPORT iree_status_t iree_hal_command_buffer_fill_buffer(
434435 IREE_RETURN_AND_END_ZONE_IF_ERROR (
435436 z0 , iree_hal_command_buffer_fill_buffer_validation (
436437 command_buffer , VALIDATION_STATE (command_buffer ), target_ref ,
437- pattern , pattern_length ));
438+ pattern , pattern_length , flags ));
438439 });
439440 iree_status_t status = _VTABLE_DISPATCH (command_buffer , fill_buffer )(
440- command_buffer , target_ref , pattern , pattern_length );
441+ command_buffer , target_ref , pattern , pattern_length , flags );
441442 IREE_TRACE_ZONE_END (z0 );
442443 return status ;
443444}
444445
445446IREE_API_EXPORT iree_status_t iree_hal_command_buffer_update_buffer (
446447 iree_hal_command_buffer_t * command_buffer , const void * source_buffer ,
447- iree_host_size_t source_offset , iree_hal_buffer_ref_t target_ref ) {
448+ iree_host_size_t source_offset , iree_hal_buffer_ref_t target_ref ,
449+ iree_hal_update_flags_t flags ) {
448450 IREE_ASSERT_ARGUMENT (command_buffer );
449451 IREE_ASSERT_ARGUMENT (source_buffer );
450452 if (target_ref .length == 0 ) {
@@ -456,17 +458,17 @@ IREE_API_EXPORT iree_status_t iree_hal_command_buffer_update_buffer(
456458 IREE_RETURN_AND_END_ZONE_IF_ERROR (
457459 z0 , iree_hal_command_buffer_update_buffer_validation (
458460 command_buffer , VALIDATION_STATE (command_buffer ), source_buffer ,
459- source_offset , target_ref ));
461+ source_offset , target_ref , flags ));
460462 });
461463 iree_status_t status = _VTABLE_DISPATCH (command_buffer , update_buffer )(
462- command_buffer , source_buffer , source_offset , target_ref );
464+ command_buffer , source_buffer , source_offset , target_ref , flags );
463465 IREE_TRACE_ZONE_END (z0 );
464466 return status ;
465467}
466468
467469IREE_API_EXPORT iree_status_t iree_hal_command_buffer_copy_buffer (
468470 iree_hal_command_buffer_t * command_buffer , iree_hal_buffer_ref_t source_ref ,
469- iree_hal_buffer_ref_t target_ref ) {
471+ iree_hal_buffer_ref_t target_ref , iree_hal_copy_flags_t flags ) {
470472 IREE_ASSERT_ARGUMENT (command_buffer );
471473 if (target_ref .length == 0 ) {
472474 // No-op copy. All other validation is skipped.
@@ -477,10 +479,10 @@ IREE_API_EXPORT iree_status_t iree_hal_command_buffer_copy_buffer(
477479 IREE_RETURN_AND_END_ZONE_IF_ERROR (
478480 z0 , iree_hal_command_buffer_copy_buffer_validation (
479481 command_buffer , VALIDATION_STATE (command_buffer ), source_ref ,
480- target_ref ));
482+ target_ref , flags ));
481483 });
482484 iree_status_t status = _VTABLE_DISPATCH (command_buffer , copy_buffer )(
483- command_buffer , source_ref , target_ref );
485+ command_buffer , source_ref , target_ref , flags );
484486 IREE_TRACE_ZONE_END (z0 );
485487 return status ;
486488}
@@ -658,7 +660,7 @@ IREE_API_EXPORT iree_status_t iree_hal_create_transfer_command_buffer(
658660 transfer_command -> fill .target_offset ,
659661 transfer_command -> fill .length ),
660662 transfer_command -> fill .pattern ,
661- transfer_command -> fill .pattern_length );
663+ transfer_command -> fill .pattern_length , IREE_HAL_FILL_FLAG_NONE );
662664 break ;
663665 case IREE_HAL_TRANSFER_COMMAND_TYPE_COPY :
664666 status = iree_hal_command_buffer_copy_buffer (
@@ -668,15 +670,17 @@ IREE_API_EXPORT iree_status_t iree_hal_create_transfer_command_buffer(
668670 transfer_command -> copy .length ),
669671 iree_hal_make_buffer_ref (transfer_command -> copy .target_buffer ,
670672 transfer_command -> copy .target_offset ,
671- transfer_command -> copy .length ));
673+ transfer_command -> copy .length ),
674+ IREE_HAL_COPY_FLAG_NONE );
672675 break ;
673676 case IREE_HAL_TRANSFER_COMMAND_TYPE_UPDATE :
674677 status = iree_hal_command_buffer_update_buffer (
675678 command_buffer , transfer_command -> update .source_buffer ,
676679 transfer_command -> update .source_offset ,
677680 iree_hal_make_buffer_ref (transfer_command -> update .target_buffer ,
678681 transfer_command -> update .target_offset ,
679- transfer_command -> update .length ));
682+ transfer_command -> update .length ),
683+ IREE_HAL_UPDATE_FLAG_NONE );
680684 break ;
681685 default :
682686 status =
0 commit comments