Vulkan 1.3 Coming to Apple M1 in One Month

BY Mark Howell 6 June 20244 MINS READ
article cover

The new “Honeykrisp” driver is the first conformant Vulkan® for Apple hardware on any operating system, implementing the full 1.3 spec without “portability” waivers. Honeykrisp is not yet released for end users. Developers can access the source code and continue to add features, improve performance, and port to more hardware. Notably, Honeykrisp is not based on prior M1 Vulkan efforts but rather Faith Ekstrand’s open-source NVK driver for NVIDIA GPUs.

The Genesis of Honeykrisp

According to Faith Ekstrand, all Vulkan drivers in Mesa trace their lineage to the Intel Vulkan driver and started by copying and pasting from it. By developing NVK with the best practices accumulated over the last 7.5 years, she aims to create a clean and well-organized codebase. The end goal is to make NVK the foundational driver everyone copies and pastes from. Starting from NVK instead of reinventing, they aim to pass the Vulkan 1.3 conformance test suite within an ambitious 30-day review period.

Development Journey

April 2: The development of the new Vulkan driver began with a simple text exchange with Faith suggesting to just start typing. The initial step involved adding M1 code to NVK while progressively removing NVIDIA code.
April 3: The focus shifted to descriptors, which are essential for GPUs to access resources. Honeykrisp’s descriptors differ from NVIDIA’s, so adapting the NVK’s descriptor set lowering was crucial. A simple but correct approach was taken, deleting far more code than was added.

Compilation of Vulkan Shader. Image courtesy of Wikimedia
April 4 - April 7: The development process involved tasks like compiling compute shaders, handling compute control streams, and implementing Vulkan’s copies using compute shaders. For graphics, the challenge was handling an extensive range of graphics states, including dynamic states like depth/stencil. Strategies from OpenGL were adapted and integrated with NVK.

Overcoming Challenges

Dynamic State vs Pipelines: One significant challenge was that the M1 bakes random states into shaders, unlike other modern hardware. While pipelines could serve as a solution, the development team opted to use dynamic state and shader objects from the start, avoiding future refactoring.
April 8 - April 22: The team continuously tested and refined the driver, achieving high pass rates for Vulkan 1.1 and 1.3 conformance (98.3%). Additionally, they supported various games and systems like SuperTuxKart, Zink, and vkQuake.

Complexities of Border Colours

April 26 - April 27: The development effort culminated in tackling the complex issue of custom border colours. The unique architectural quirks of the M1 posed challenges, but tactical software emulations helped pass the conformance tests. By the project's completion, the driver had zero failing tests out of 686,930.

Future Prospects

The next milestones involve implementing extensions like transform feedback, enabling the layering of Direct3D over Honeykrisp. Eventually, this will allow Windows games to run on Asahi Linux using an open-source x86 emulator.

Edworking is the best and smartest decision for SMEs and startups to be more productive. Edworking is a FREE superapp of productivity that includes all you need for work powered by AI in the same superapp, connecting Task Management, Docs, Chat, Videocall, and File Management. Save money today by not paying for Slack, Trello, Dropbox, Zoom, and Notion.

Remember these 3 key ideas for your startup:

  1. Innovate by leveraging existing technology: Use established, well-organized codebases like NVK to save development time and resources. This approach optimizes resource allocation and accelerates your path to market.

  2. Embrace the challenge of new technology: Like the Honeykrisp team, don’t shy away from complex problems. Addressing them head-on can lead to breakthrough innovations and set your product apart.

  3. Iterate and test rigorously: Continuous testing and iteration, as seen in Honeykrisp’s development journey, ensure higher product reliability and customer satisfaction. Maintain a robust testing framework and be prepared for extensive bug fixing.
    By keeping these points in mind, startups and SMEs can harness new technologies effectively, innovate with confidence, and deliver reliable products to their users efficiently.
    For more details, see the original source.

article cover
About the Author: Mark Howell Linkedin

Mark Howell is a talented content writer for Edworking's blog, consistently producing high-quality articles on a daily basis. As a Sales Representative, he brings a unique perspective to his writing, providing valuable insights and actionable advice for readers in the education industry. With a keen eye for detail and a passion for sharing knowledge, Mark is an indispensable member of the Edworking team. His expertise in task management ensures that he is always on top of his assignments and meets strict deadlines. Furthermore, Mark's skills in project management enable him to collaborate effectively with colleagues, contributing to the team's overall success and growth. As a reliable and diligent professional, Mark Howell continues to elevate Edworking's blog and brand with his well-researched and engaging content.

Trendy NewsSee All Articles
Try EdworkingA new way to work from  anywhere, for everyone for Free!
Sign up Now