[metal] Order host_allocator and const-ify various query APIs
We want to have `host_allocator` directly ahead of the `out_`
parameters.
diff --git a/experimental/metal/direct_command_buffer.m b/experimental/metal/direct_command_buffer.m
index 3fef89a..e937b49 100644
--- a/experimental/metal/direct_command_buffer.m
+++ b/experimental/metal/direct_command_buffer.m
@@ -232,10 +232,16 @@
return (iree_hal_metal_command_buffer_t*)base_value;
}
+static const iree_hal_metal_command_buffer_t* iree_hal_metal_command_buffer_const_cast(
+ const iree_hal_command_buffer_t* base_value) {
+ IREE_HAL_ASSERT_TYPE(base_value, &iree_hal_metal_command_buffer_vtable);
+ return (const iree_hal_metal_command_buffer_t*)base_value;
+}
+
id<MTLCommandBuffer> iree_hal_metal_direct_command_buffer_handle(
- iree_hal_command_buffer_t* base_command_buffer) {
- iree_hal_metal_command_buffer_t* command_buffer =
- iree_hal_metal_command_buffer_cast(base_command_buffer);
+ const iree_hal_command_buffer_t* base_command_buffer) {
+ const iree_hal_metal_command_buffer_t* command_buffer =
+ iree_hal_metal_command_buffer_const_cast(base_command_buffer);
return command_buffer->command_buffer;
}
@@ -325,9 +331,9 @@
iree_hal_device_t* device, iree_hal_command_buffer_mode_t mode,
iree_hal_command_category_t command_categories, iree_host_size_t binding_capacity,
iree_hal_metal_command_buffer_resource_reference_mode_t resource_reference_mode,
- id<MTLCommandQueue> queue, iree_allocator_t host_allocator, iree_arena_block_pool_t* block_pool,
+ id<MTLCommandQueue> queue, iree_arena_block_pool_t* block_pool,
iree_hal_metal_staging_buffer_t* staging_buffer,
- iree_hal_metal_builtin_executable_t* builtin_executable,
+ iree_hal_metal_builtin_executable_t* builtin_executable, iree_allocator_t host_allocator,
iree_hal_command_buffer_t** out_command_buffer) {
IREE_ASSERT_ARGUMENT(device);
IREE_ASSERT_ARGUMENT(out_command_buffer);
@@ -842,7 +848,7 @@
}
static inline MTLResourceUsage iree_hal_metal_get_metal_resource_usage(
- iree_hal_descriptor_set_layout_binding_t* binding) {
+ const iree_hal_descriptor_set_layout_binding_t* binding) {
MTLResourceUsage usage = MTLResourceUsageRead;
if (binding->flags != IREE_HAL_DESCRIPTOR_FLAG_READ_ONLY) usage |= MTLResourceUsageWrite;
return usage;
@@ -870,7 +876,7 @@
command_buffer->state.descriptor_sets[i].active_count = 0;
}
- iree_hal_descriptor_set_layout_t* set_layout =
+ const iree_hal_descriptor_set_layout_t* set_layout =
iree_hal_metal_pipeline_layout_descriptor_set_layout(pipeline_layout, set);
iree_hal_metal_descriptor_t* descriptors = command_buffer->state.descriptor_sets[set].bindings;
@@ -884,7 +890,7 @@
descriptor->buffer = bindings[i].buffer;
descriptor->offset = bindings[i].offset;
- iree_hal_descriptor_set_layout_binding_t* binding_params =
+ const iree_hal_descriptor_set_layout_binding_t* binding_params =
iree_hal_metal_descriptor_set_layout_binding(set_layout, descriptor->binding);
descriptor->usage = iree_hal_metal_get_metal_resource_usage(binding_params);
}