Small out-of-tree Vulkan driver for a custom RISC-V + FP16 GPU — feedback welcome

"andreas.wendleder" <[email protected]> Mon, 20 Jul 2026 13:54:54 +0000
Newsgroups gmane.comp.video.mesa3d.devel
Message-ID <CJG_2q4bYhYUlVg-AwrwHvzmCZBXGlop0GRNO3EQsDLKfsQHdh97RVXfWhQW15F9AV56o5oGOwmtKcCoIeDR0Eyss-ClmZB7yCevgRGSBCU=@proton.me>
--b1=_xUXqrGlyxKvmsE3UHz3CSXIUTPjObj8oR6Qh2BuTmE
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

SGkgYWxsLAoKSSd2ZSBiZWVuIGJ1aWxkaW5nIEJvcmcsIGEgc21hbGwgb3Blbi1zb3VyY2UgR1BV
IChSVjMySS9SVjY0SSBDUFUgZHJpdmluZyBhIGN1c3RvbSBGUDE2IHNoYWRlciBwcm9jZXNzb3Is
IHRhcmdldGluZyBib3RoIGFuIEFTSUMgdmlhIFRpbnkgVGFwZW91dCBhbmQgYSBMYXR0aWNlIEVD
UDUgRlBHQSBvbiB0aGUgVUxYM1MgYm9hcmQpLCBhbmQgd3JvdGUgYSBuYXRpdmUgVnVsa2FuIElD
RCBmb3IgaXQgaW4gTWVzYSAoc3JjL2JvcmcvdnVsa2FuLykgcGx1cyBhIHNtYWxsIE5JUi10by1C
b3JnLUlTQSBjb21waWxlciAoc3JjL2JvcmcvY29tcGlsZXIvLCBSdXN0KS4gVG9nZXRoZXIgdGhl
eSdyZSBhYm91dCA1LDAwMCBsaW5lcy4KCkEgdmVyeSBlYXJseSB2ZXJzaW9uIG9mIHRoZSBjaGlw
IGhhcyBhbHJlYWR5IGJlZW4gdGFwZWQgb3V0IChJSFAgU0cxM0cyLCB2aWEgVGlueSBUYXBlb3V0
KSwgd2l0aCBmdXJ0aGVyIHRhcGVvdXRzIHBsYW5uZWQuCgpJIHByZXNlbnRlZCBhIHBvc3RlciBv
biBpdCBhdCBIUEcgMjAyNiAoaHR0cHM6Ly93d3cuaGlnaHBlcmZvcm1hbmNlZ3JhcGhpY3Mub3Jn
LzIwMjYvc2NoZWR1bGUpIGFsb25nc2lkZSBhIGRlbW86IHRoZSB1bm1vZGlmaWVkIEtocm9ub3Mg
dmtjdWJlIHNhbXBsZSDigJQgMTIgdHJpYW5nbGVzLCAxMjh4MTI4IGZyYW1lYnVmZmVyLCB+MTdm
cHMg4oCUIHJlbmRlcmluZyBvbiB0aGUgcmVhbCBGUEdBIG92ZXIgYSBzZXJpYWwgbGluay4KClZ1
bGthbiBjb25mb3JtYW5jZSB0ZXN0aW5nIGlzIHZlcnkgZWFybHk6IEkgc3RhcnRlZCBydW5uaW5n
IFZLLUdMLUNUUyBhZ2FpbnN0IGl0IGFib3V0IHR3byB3ZWVrcyBhZ28gYW5kIEknbSBhdCByb3Vn
aGx5IDAuNCUgcmlnaHQgbm93LCBtb3N0bHkgYmFzaWMgQVBJLWxldmVsIGNhc2VzLiBObyBpbGx1
c2lvbnMgYWJvdXQgd2hlcmUgdGhhdCBzdGFuZHMuCgpTZXBhcmF0ZWx5LCBvbiBhIGZlYXR1cmUg
YnJhbmNoLCB0aGUgQ1BVIGJvb3RlZCBPcGVuU0JJICsgbWFpbmxpbmUgTGludXggdG8gYW4gaW50
ZXJhY3RpdmUgc2hlbGwgbGFzdCB3ZWVrIOKAlCBub3QgbWVyZ2VkIHlldCwgZWFybHkgZ3JvdW5k
d29yayBmb3IgYSBmdXR1cmUgb24tZGV2aWNlIGRyaXZlci4KCkkgaGF2ZSBubyBjb25jcmV0ZSBw
bGFucyB0byB1cHN0cmVhbSB0aGlzIGF0IHRoZSBtb21lbnQg4oCUIHRoaXMgaXMgbW9yZSBvZiBh
ICJkb2VzIHRoaXMgbG9vayByZWFzb25hYmxlIiBub3RlIHRoYW4gYSBzdWJtaXNzaW9uLiBJIGRv
IGhhdmUgc29tZSB0aW1lIGFuZCBmdW5kaW5nIHRvIGtlZXAgd29ya2luZyBvbiBpdCBvdmVyIHRo
ZSBuZXh0IGZldyBtb250aHMsIHRob3VnaCwgYW5kIHdvdWxkIGdlbnVpbmVseSBhcHByZWNpYXRl
IGFueSBmZWVkYmFjayBvbiB0aGUgVnVsa2FuIGRyaXZlciBhbmQgY29tcGlsZXIgY29kZSBpZiBh
bnlvbmUncyB3aWxsaW5nIHRvIHRha2UgYSBsb29rLiBGdWxsIGRpc2Nsb3N1cmU6IEkgdXNlIENs
YXVkZSBzb21ldGltZXMgdG8gaGVscCB3cml0ZSB0aGlzIGNvZGUg4oCUIGhhcHB5IHRvIGRpc2N1
c3MgdGhhdCwganVzdCBwbGVhc2UgZG9uJ3QgZGlzbWlzcyB0aGUgZmVlZGJhY2sgcmVxdWVzdCBv
biB0aGF0IGJhc2lzIGFsb25lLgoKLSBEcml2ZXI6IGh0dHBzOi8vZ2l0aHViLmNvbS9nb25zb2xv
L21lc2EvdHJlZS9ib3JnL3NyYy9ib3JnL3Z1bGthbgotIENvbXBpbGVyOiBodHRwczovL2dpdGh1
Yi5jb20vZ29uc29sby9tZXNhL3RyZWUvYm9yZy9zcmMvYm9yZy9jb21waWxlcgotIEhhcmR3YXJl
L3Byb2plY3Q6IGh0dHBzOi8vZ2l0aHViLmNvbS9nb25zb2xvL0JvcmcKCkknbSBhdCBTSUdHUkFQ
SCB0aGlzIHdlZWsgaWYgYW55b25lIHdhbnRzIHRvIGdyYWIgbWUgZm9yIGEgY2hhdCBpbiBwZXJz
b24uCgpUaGFua3MgZm9yIHJlYWRpbmcsCkFuZHJlYXM=

--b1=_xUXqrGlyxKvmsE3UHz3CSXIUTPjObj8oR6Qh2BuTmE
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

PHNwYW4+SGkgYWxsLDwvc3Bhbj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxzcGFuPkkndmUgYmVlbiBi
dWlsZGluZyBCb3JnLCBhIHNtYWxsIG9wZW4tc291cmNlIEdQVSAoUlYzMkkvUlY2NEkgQ1BVIGRy
aXZpbmcgYSBjdXN0b20gRlAxNiBzaGFkZXIgcHJvY2Vzc29yLCB0YXJnZXRpbmcgYm90aCBhbiBB
U0lDIHZpYSBUaW55IFRhcGVvdXQgYW5kIGEgTGF0dGljZSBFQ1A1IEZQR0Egb24gdGhlIFVMWDNT
IGJvYXJkKSwgYW5kIHdyb3RlIGEgbmF0aXZlIFZ1bGthbiBJQ0QgZm9yIGl0IGluIE1lc2EgKHNy
Yy9ib3JnL3Z1bGthbi8pIHBsdXMgYSBzbWFsbCBOSVItdG8tQm9yZy1JU0EgY29tcGlsZXIgKHNy
Yy9ib3JnL2NvbXBpbGVyLywgUnVzdCkuIFRvZ2V0aGVyIHRoZXkncmUgYWJvdXQgNSwwMDAgbGlu
ZXMuPC9zcGFuPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PHNwYW4+QSB2ZXJ5IGVhcmx5IHZl
cnNpb24gb2YgdGhlIGNoaXAgaGFzIGFscmVhZHkgYmVlbiB0YXBlZCBvdXQgKElIUCBTRzEzRzIs
IHZpYSBUaW55IFRhcGVvdXQpLCB3aXRoIGZ1cnRoZXIgdGFwZW91dHMgcGxhbm5lZC48L3NwYW4+
PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48c3Bhbj5JIHByZXNlbnRlZCBhIHBvc3RlciBvbiBp
dCBhdCBIUEcgMjAyNiAoPGEgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9yZWZlcnJlciBub2ZvbGxv
dyBub29wZW5lciIgaHJlZj0iaHR0cHM6Ly93d3cuaGlnaHBlcmZvcm1hbmNlZ3JhcGhpY3Mub3Jn
LzIwMjYvc2NoZWR1bGUiPmh0dHBzOi8vd3d3LmhpZ2hwZXJmb3JtYW5jZWdyYXBoaWNzLm9yZy8y
MDI2L3NjaGVkdWxlPC9hPikgYWxvbmdzaWRlIGEgZGVtbzogdGhlIHVubW9kaWZpZWQgS2hyb25v
cyB2a2N1YmUgc2FtcGxlIOKAlCAxMiB0cmlhbmdsZXMsIDEyOHgxMjggZnJhbWVidWZmZXIsIH4x
N2ZwcyDigJQgcmVuZGVyaW5nIG9uIHRoZSByZWFsIEZQR0Egb3ZlciBhIHNlcmlhbCBsaW5rLjwv
c3Bhbj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxzcGFuPlZ1bGthbiBjb25mb3JtYW5jZSB0
ZXN0aW5nIGlzIHZlcnkgZWFybHk6IEkgc3RhcnRlZCBydW5uaW5nIFZLLUdMLUNUUyBhZ2FpbnN0
IGl0IGFib3V0IHR3byB3ZWVrcyBhZ28gYW5kIEknbSBhdCByb3VnaGx5IDAuNCUgcmlnaHQgbm93
LCBtb3N0bHkgYmFzaWMgQVBJLWxldmVsIGNhc2VzLiBObyBpbGx1c2lvbnMgYWJvdXQgd2hlcmUg
dGhhdCBzdGFuZHMuPC9zcGFuPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PHNwYW4+U2VwYXJh
dGVseSwgb24gYSBmZWF0dXJlIGJyYW5jaCwgdGhlIENQVSBib290ZWQgT3BlblNCSSArIG1haW5s
aW5lIExpbnV4IHRvIGFuIGludGVyYWN0aXZlIHNoZWxsIGxhc3Qgd2VlayDigJQgbm90IG1lcmdl
ZCB5ZXQsIGVhcmx5IGdyb3VuZHdvcmsgZm9yIGEgZnV0dXJlIG9uLWRldmljZSBkcml2ZXIuPC9z
cGFuPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PHNwYW4+SSBoYXZlIG5vIGNvbmNyZXRlIHBs
YW5zIHRvIHVwc3RyZWFtIHRoaXMgYXQgdGhlIG1vbWVudCDigJQgdGhpcyBpcyBtb3JlIG9mIGEg
ImRvZXMgdGhpcyBsb29rIHJlYXNvbmFibGUiIG5vdGUgdGhhbiBhIHN1Ym1pc3Npb24uIEkgZG8g
aGF2ZSBzb21lIHRpbWUgYW5kIGZ1bmRpbmcgdG8ga2VlcCB3b3JraW5nIG9uIGl0IG92ZXIgdGhl
IG5leHQgZmV3IG1vbnRocywgdGhvdWdoLCBhbmQgd291bGQgZ2VudWluZWx5IGFwcHJlY2lhdGUg
YW55IGZlZWRiYWNrIG9uIHRoZSBWdWxrYW4gZHJpdmVyIGFuZCBjb21waWxlciBjb2RlIGlmIGFu
eW9uZSdzIHdpbGxpbmcgdG8gdGFrZSBhIGxvb2suIEZ1bGwgZGlzY2xvc3VyZTogSSB1c2UgQ2xh
dWRlIHNvbWV0aW1lcyB0byBoZWxwIHdyaXRlIHRoaXMgY29kZSDigJQgaGFwcHkgdG8gZGlzY3Vz
cyB0aGF0LCBqdXN0IHBsZWFzZSBkb24ndCBkaXNtaXNzIHRoZSBmZWVkYmFjayByZXF1ZXN0IG9u
IHRoYXQgYmFzaXMgYWxvbmUuPC9zcGFuPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PHNwYW4+
LSBEcml2ZXI6IDxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9v
cGVuZXIiIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9nb25zb2xvL21lc2EvdHJlZS9ib3JnL3Ny
Yy9ib3JnL3Z1bGthbiI+aHR0cHM6Ly9naXRodWIuY29tL2dvbnNvbG8vbWVzYS90cmVlL2Jvcmcv
c3JjL2JvcmcvdnVsa2FuPC9hPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPi0gQ29tcGlsZXI6IDxh
IHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiIGhyZWY9
Imh0dHBzOi8vZ2l0aHViLmNvbS9nb25zb2xvL21lc2EvdHJlZS9ib3JnL3NyYy9ib3JnL2NvbXBp
bGVyIj5odHRwczovL2dpdGh1Yi5jb20vZ29uc29sby9tZXNhL3RyZWUvYm9yZy9zcmMvYm9yZy9j
b21waWxlcjwvYT48L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4tIEhhcmR3YXJlL3Byb2plY3Q6IDxh
IHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiIGhyZWY9
Imh0dHBzOi8vZ2l0aHViLmNvbS9nb25zb2xvL0JvcmciPmh0dHBzOi8vZ2l0aHViLmNvbS9nb25z
b2xvL0Jvcmc8L2E+PC9zcGFuPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PHNwYW4+SSdtIGF0
IFNJR0dSQVBIIHRoaXMgd2VlayBpZiBhbnlvbmUgd2FudHMgdG8gZ3JhYiBtZSBmb3IgYSBjaGF0
IGluIHBlcnNvbi48L3NwYW4+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48c3Bhbj5UaGFua3Mg
Zm9yIHJlYWRpbmcsPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwg
c2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiKDAsIDAsIDApOyBiYWNrZ3Jv
dW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ij5BbmRyZWFzPC9kaXY+


--b1=_xUXqrGlyxKvmsE3UHz3CSXIUTPjObj8oR6Qh2BuTmE--