[metal] Initial bring up of Metal HAL driver (1/n) (#3045) This commit starts a Metal HAL driver. It registers the Metal HAL driver and implements the following functionalities: * All hal::Driver APIs * hal::Device APIs for creating queues/buffers/semaphores and waiting on semaphores * All hal::CommandQueue APIs * All hal::Semaphore APIs * hal::CommandBuffer APIs for lifetime All other APIs will return unimplemented error for now. hal/cts/ tests are enhanced to cover hal::Driver APIs and more semaphore wait APIs. Existing hal/cts/ tests are all passing, except allocator_test, which is not yet implemented at the moment.
diff --git a/docs/get_started/getting_started_macos_cmake.md b/docs/get_started/getting_started_macos_cmake.md index 7b916cd..b71284a 100644 --- a/docs/get_started/getting_started_macos_cmake.md +++ b/docs/get_started/getting_started_macos_cmake.md
@@ -110,9 +110,11 @@ ### Further Reading * For an introduction to IREE's project structure and developer tools, see - [Developer Overview](../developing_iree/developer_overview.md) <!-- TODO: + [Developer Overview](../developing_iree/developer_overview.md). +* To understand how IREE implements HAL over Metal, see + [Metal HAL Driver](../design_docs/metal_hal_driver.md). +<!-- TODO: Link to macOS versions of these guides once they are developed. -* To target GPUs using Vulkan, see - [Getting Started on Linux with Vulkan](getting_started_linux_vulkan.md) * To use IREE's Python bindings, see - [Getting Started with Python](getting_started_python.md) --> + [Getting Started with Python](getting_started_python.md) +-->