<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/panfrost-is-now-using-kraid--tef9e3eqk" -->

---
title: Panfrost is now using Kraid! | daily.dev
description: Kraid is now the default shader compiler for Panfrost, replacing the old compiler starting with Mesa 27.0. It targets Mali GPUs with Valhall (v9) architecture...
canonical: https://daily.dev/posts/panfrost-is-now-using-kraid--tef9e3eqk
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Panfrost is now using Kraid! | daily.dev
og:description: Kraid is now the default shader compiler for Panfrost, replacing the old compiler starting with Mesa 27.0. It targets Mali GPUs with Valhall (v9) architecture...
og:url: https://daily.dev/posts/panfrost-is-now-using-kraid--tef9e3eqk
og:image: https://api.daily.dev/og/posts/tEf9e3Eqk.png
og:image:alt: Panfrost is now using Kraid!
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Panfrost is now using Kraid!

**[Collabora Blog](https://daily.dev/sources/collabora)** · 7 min read · 0 upvotes · 0 comments

## Summary

Kraid is now the default shader compiler for Panfrost, replacing the old compiler starting with Mesa 27.0. It targets Mali GPUs with Valhall (v9) architecture or newer. Mesa 26.3 will be the last release shipping the old compiler. Kraid cuts shader instructions by nearly 20%, reduces spilling by about 80%, compiles Vulkan pipelines roughly 7x faster, and uses 35% less memory during compilation. It also adds full 64-bit integer arithmetic support and new fragment shader optimizations, improving some Candy Crush traces by 40%.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.collabora.com/news-and-blog/news-and-events/panfrost-is-now-using-kraid.html>

## Questions this post answers

### When does Mesa switch Panfrost to the new Kraid shader compiler by default?

Mesa 27.0 makes Kraid the default compiler for Panfrost on Mali GPUs with Valhall (v9) architecture or newer. Mesa 26.3 is the last release using the old compiler. Kraid reduces shader instructions by nearly 20%, cuts spilling by about 80%, and compiles Vulkan pipelines roughly 7 times faster while using 35% less memory.

_Developers tracking Mesa driver upgrades can follow compiler changes like this on daily.dev._

### Why was a new shader compiler needed for the Panfrost Mali GPU driver?

The old Panfrost compiler had serious design flaws that made it hard to properly optimize for Mali GPUs, particularly around modeling register access and swizzles, which caused unnecessary data-moving instructions. The new Kraid compiler models swizzles accurately, adds full 64-bit integer arithmetic support important for OpenCL pointer arithmetic, and uses SSA-based register allocation and spilling for better results.

_Engineers evaluating GPU driver internals can keep up with compiler rewrites like this via daily.dev._

### How does SSA-based register allocation improve shader compiler spilling?

Maintaining static single assignment form all the way through register allocation allows exact register pressure estimates before allocation, so spilling can happen earlier while still in SSA form. This gives the spiller more information about value usage and produces better spill choices, cutting spill count by about 84% and fill count by about 79% across a Vulkan shader database in Kraid.

_Compiler engineers comparing register allocation strategies can track such techniques on daily.dev._

## Similar posts on daily.dev

- [KRAID Being Developed As New Compiler For Modern Arm Mali Graphics](https://daily.dev/posts/kraid-being-developed-as-new-compiler-for-modern-arm-mali-graphics-lbqgb3uje) · Phoronix · 0 upvotes · 0 comments
- [Kraid is a now a real compiler](https://daily.dev/posts/kraid-is-a-now-a-real-compiler-mrj1orw77) · Collabora Blog · 0 upvotes · 0 comments
- [Mesa's Rusticl Now Enables Arm Mali Panfrost Driver Support By Default](https://daily.dev/posts/mesa-s-rusticl-now-enables-arm-mali-panfrost-driver-support-by-default-itpmna5qe) · Phoronix · 0 upvotes · 0 comments
- [Mesa 26.2 Released With NVK Mesh Shader Support, Many Other Vulkan Improvements](https://daily.dev/posts/mesa-26-2-released-with-nvk-mesh-shader-support-many-other-vulkan-improvements-hjunmu9bt) · Phoronix · 0 upvotes · 0 comments

---

Tags: [#open-source](https://daily.dev/tags/open-source), [#vulkan](https://daily.dev/tags/vulkan), [#mesa](https://daily.dev/tags/mesa)

[View this post on daily.dev](https://daily.dev/posts/panfrost-is-now-using-kraid--tef9e3eqk)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Panfrost is now using Kraid!","url":"https://daily.dev/posts/panfrost-is-now-using-kraid--tef9e3eqk","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/panfrost-is-now-using-kraid--tef9e3eqk"},"datePublished":"2026-10-26T13:29:22.454Z","dateModified":"2026-10-26T14:40:37.485Z","description":"Kraid is now the default shader compiler for Panfrost, replacing the old compiler starting with Mesa 27.0. It targets Mali GPUs with Valhall (v9) architecture...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/69729b7fd176a78fe79f2a1e9a004df8?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/69729b7fd176a78fe79f2a1e9a004df8?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Collabora Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Collabora Blog","logo":"https://media.daily.dev/image/upload/s--ZGZ0FjqS--/f_auto,q_auto/v1786438306/logos/collabora?_a=BAMAMicg0","url":"https://daily.dev/sources/collabora"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/panfrost-is-now-using-kraid--tef9e3eqk","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"open-source,vulkan,mesa","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Collabora Blog","item":"https://daily.dev/sources/collabora"},{"@type":"ListItem","position":3,"name":"Panfrost is now using Kraid!"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/panfrost-is-now-using-kraid--tef9e3eqk#faq","mainEntity":[{"@type":"Question","name":"When does Mesa switch Panfrost to the new Kraid shader compiler by default?","acceptedAnswer":{"@type":"Answer","text":"Mesa 27.0 makes Kraid the default compiler for Panfrost on Mali GPUs with Valhall (v9) architecture or newer. Mesa 26.3 is the last release using the old compiler. Kraid reduces shader instructions by nearly 20%, cuts spilling by about 80%, and compiles Vulkan pipelines roughly 7 times faster while using 35% less memory. Developers tracking Mesa driver upgrades can follow compiler changes like this on daily.dev."}},{"@type":"Question","name":"Why was a new shader compiler needed for the Panfrost Mali GPU driver?","acceptedAnswer":{"@type":"Answer","text":"The old Panfrost compiler had serious design flaws that made it hard to properly optimize for Mali GPUs, particularly around modeling register access and swizzles, which caused unnecessary data-moving instructions. The new Kraid compiler models swizzles accurately, adds full 64-bit integer arithmetic support important for OpenCL pointer arithmetic, and uses SSA-based register allocation and spilling for better results. Engineers evaluating GPU driver internals can keep up with compiler rewrites like this via daily.dev."}},{"@type":"Question","name":"How does SSA-based register allocation improve shader compiler spilling?","acceptedAnswer":{"@type":"Answer","text":"Maintaining static single assignment form all the way through register allocation allows exact register pressure estimates before allocation, so spilling can happen earlier while still in SSA form. This gives the spiller more information about value usage and produces better spill choices, cutting spill count by about 84% and fill count by about 79% across a Vulkan shader database in Kraid. Compiler engineers comparing register allocation strategies can track such techniques on daily.dev."}}]}
```

