SlideShare a Scribd company logo
1 of 15
Download to read offline
Status of Vulkan on Raspberry Pi
XDC 2022
Iago Toral Quiroga <itoral@igalia.com>
Contents
1. Current status.
2. Development highlights.
3. Pain points.
4. Q&A.
X Developers Conference
October 2022
Current Status
• Vulkan 1.1 conformance (October 2021).
• Vulkan 1.2 conformance (July 2022).
• Implemented 35 extensions (core and optional).
• New multisync kernel interface (thanks to Melissa Wen!)
• Improved performance (mostly compiler & sync improvements)
• Using common synchronization infrastructure in Mesa (thanks to Jason Ekstrand!).
• Android support (thanks to Roman Stratiienko!).
X Developers Conference
October 2022
Development Highlights
X Developers Conference
October 2022
Synchronization
• Single-sync and Multi-sync paths available.
• Undesirable, single-sync to be deprecated in the future.
• Multi-sync is more flexible and a better match for Vulkan.
• Ported to use common synchronization framework in Mesa.
• Gained (emulated) timeline semaphores for free in the process!
• Dropped driver submit threading in favor of threaded submit mode.
• Incidentally, found about CPU throttling issues with drmSyncObjWait.
• Reworked barriers to better match Vulkan semantics and optimize some cases.
• Tried harder to skip binning syncs in favor of render syncs when possible.
X Developers Conference
October 2022
nir_address_format_2x32bit_global
• Needed for VK_KHR_buffer_device_address.
• Existing nir_address_format_{64|32}bit_global not useful for us.
• The 64bit version will inject 64-bit cast and pack/unpack instructions.
• The 32bit version won’t match Vulkan’s explicit 64-bit addresses.
• The new format can honor Vulkan’s 64-bit semantics without requiring 64-bit
instructions.
X Developers Conference
October 2022
Double-Buffer Mode
• Help hide tile store latency at the expense of reducing tile size.
• May cause additional shader invocations in the geometry part of the pipeline though.
• Needs heuristics to decide when to enable.
• Experimental feature, enable via V3D_DEBUG=db.
• We probably need to tune the heuristics further.
• We may want to port to GL driver to have a larger testing ground.
X Developers Conference
October 2022
Double-Buffer Mode
X Developers Conference
October 2022
• Some workloads improved:
• Serious Sam: +7.95% fps.
• Quake: +6.32% fps.
• Quake3e: +4.03% fps.
• RbDoom3: +3.59% fps.
Compiler
X Developers Conference
October 2022
• Stopped being so aggressive trying to hide latency.
• Thread switching and TMU pipelining are quite effective at hiding latency already.
• Over-estimating latency can delay critical paths in shaders.
• Slight performance improvement in pretty much all workloads we tested.
• Stopped rebuilding interference graph after each spill.
• Massive improvement for compile times in spilling shaders.
• We still recompute liveness so we don’t hurt spilling quality.
• We use this mostly to reduce spilling by testing multiple compile strategies.
Pain points
X Developers Conference
October 2022
CPU jobs
X Developers Conference
October 2022
• A few things in a command buffer may need CPU intervention.
• Threaded submit helps a bit.
• This is the reason we cannot reliably support SYNC_FD exports.
• I hope we can find ways to get rid of this in the future.
fp16
X Developers Conference
October 2022
• Hardware design based on emitting 2x16-bit instructions.
• Significant register allocation constraints.
• Difficult to exploit optimally in practice.
• We do support VK_KHR_16bit_storage though.
Zink
X Developers Conference
October 2022
• It requires VK_EXT_scalar_block_layout.
• We cannot implement this optimally due to hardware restrictions.
• Alternatively, we could lower all load/store to scalar.
• Not great for performance though.
• … but may be worthwhile to expand testing grounds for Vulkan on Raspberry Pi.
• Maybe expose this feature under a V3D_DEBUG setting?
Q&A
X Developers Conference
October 2022
We’re hiring: https://www.igalia.com/jobs
Status of Vulkan on Raspberry

More Related Content

Similar to Status of Vulkan on Raspberry

Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
Ruslan Meshenberg
 
SFBigAnalytics_20190724: Monitor kafka like a Pro
SFBigAnalytics_20190724: Monitor kafka like a ProSFBigAnalytics_20190724: Monitor kafka like a Pro
SFBigAnalytics_20190724: Monitor kafka like a Pro
Chester Chen
 

Similar to Status of Vulkan on Raspberry (20)

Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph
 
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
 
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
 
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3DJS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
 
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...
 
Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018
 
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese..."Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
 
DX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIsDX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIs
 
Introducing Container Technology to TSUBAME3.0 Supercomputer
Introducing Container Technology to TSUBAME3.0 SupercomputerIntroducing Container Technology to TSUBAME3.0 Supercomputer
Introducing Container Technology to TSUBAME3.0 Supercomputer
 
SSJS, NoSQL, GAE and AppengineJS
SSJS, NoSQL, GAE and AppengineJSSSJS, NoSQL, GAE and AppengineJS
SSJS, NoSQL, GAE and AppengineJS
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
 
Free GitOps Workshop
Free GitOps WorkshopFree GitOps Workshop
Free GitOps Workshop
 
SFBigAnalytics_20190724: Monitor kafka like a Pro
SFBigAnalytics_20190724: Monitor kafka like a ProSFBigAnalytics_20190724: Monitor kafka like a Pro
SFBigAnalytics_20190724: Monitor kafka like a Pro
 
Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019
 
Использование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложенийИспользование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложений
 
Code Review with Sonar
Code Review with SonarCode Review with Sonar
Code Review with Sonar
 
Capital One Delivers Risk Insights in Real Time with Stream Processing
Capital One Delivers Risk Insights in Real Time with Stream ProcessingCapital One Delivers Risk Insights in Real Time with Stream Processing
Capital One Delivers Risk Insights in Real Time with Stream Processing
 
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
 

More from Igalia

Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPE
Igalia
 
Automated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesAutomated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded Devices
Igalia
 
Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JIT
Igalia
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Igalia
 

More from Igalia (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPE
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Automated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesAutomated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded Devices
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to Maintenance
 
Optimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdfOptimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdf
 
Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JIT
 
To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamer
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera Linux
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVM
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devices
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the web
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shaders
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...
 
Enable hardware acceleration for GL applications without glamor on Xorg modes...
Enable hardware acceleration for GL applications without glamor on Xorg modes...Enable hardware acceleration for GL applications without glamor on Xorg modes...
Enable hardware acceleration for GL applications without glamor on Xorg modes...
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 

Status of Vulkan on Raspberry

  • 1. Status of Vulkan on Raspberry Pi XDC 2022 Iago Toral Quiroga <itoral@igalia.com>
  • 2. Contents 1. Current status. 2. Development highlights. 3. Pain points. 4. Q&A. X Developers Conference October 2022
  • 3. Current Status • Vulkan 1.1 conformance (October 2021). • Vulkan 1.2 conformance (July 2022). • Implemented 35 extensions (core and optional). • New multisync kernel interface (thanks to Melissa Wen!) • Improved performance (mostly compiler & sync improvements) • Using common synchronization infrastructure in Mesa (thanks to Jason Ekstrand!). • Android support (thanks to Roman Stratiienko!). X Developers Conference October 2022
  • 4. Development Highlights X Developers Conference October 2022
  • 5. Synchronization • Single-sync and Multi-sync paths available. • Undesirable, single-sync to be deprecated in the future. • Multi-sync is more flexible and a better match for Vulkan. • Ported to use common synchronization framework in Mesa. • Gained (emulated) timeline semaphores for free in the process! • Dropped driver submit threading in favor of threaded submit mode. • Incidentally, found about CPU throttling issues with drmSyncObjWait. • Reworked barriers to better match Vulkan semantics and optimize some cases. • Tried harder to skip binning syncs in favor of render syncs when possible. X Developers Conference October 2022
  • 6. nir_address_format_2x32bit_global • Needed for VK_KHR_buffer_device_address. • Existing nir_address_format_{64|32}bit_global not useful for us. • The 64bit version will inject 64-bit cast and pack/unpack instructions. • The 32bit version won’t match Vulkan’s explicit 64-bit addresses. • The new format can honor Vulkan’s 64-bit semantics without requiring 64-bit instructions. X Developers Conference October 2022
  • 7. Double-Buffer Mode • Help hide tile store latency at the expense of reducing tile size. • May cause additional shader invocations in the geometry part of the pipeline though. • Needs heuristics to decide when to enable. • Experimental feature, enable via V3D_DEBUG=db. • We probably need to tune the heuristics further. • We may want to port to GL driver to have a larger testing ground. X Developers Conference October 2022
  • 8. Double-Buffer Mode X Developers Conference October 2022 • Some workloads improved: • Serious Sam: +7.95% fps. • Quake: +6.32% fps. • Quake3e: +4.03% fps. • RbDoom3: +3.59% fps.
  • 9. Compiler X Developers Conference October 2022 • Stopped being so aggressive trying to hide latency. • Thread switching and TMU pipelining are quite effective at hiding latency already. • Over-estimating latency can delay critical paths in shaders. • Slight performance improvement in pretty much all workloads we tested. • Stopped rebuilding interference graph after each spill. • Massive improvement for compile times in spilling shaders. • We still recompute liveness so we don’t hurt spilling quality. • We use this mostly to reduce spilling by testing multiple compile strategies.
  • 10. Pain points X Developers Conference October 2022
  • 11. CPU jobs X Developers Conference October 2022 • A few things in a command buffer may need CPU intervention. • Threaded submit helps a bit. • This is the reason we cannot reliably support SYNC_FD exports. • I hope we can find ways to get rid of this in the future.
  • 12. fp16 X Developers Conference October 2022 • Hardware design based on emitting 2x16-bit instructions. • Significant register allocation constraints. • Difficult to exploit optimally in practice. • We do support VK_KHR_16bit_storage though.
  • 13. Zink X Developers Conference October 2022 • It requires VK_EXT_scalar_block_layout. • We cannot implement this optimally due to hardware restrictions. • Alternatively, we could lower all load/store to scalar. • Not great for performance though. • … but may be worthwhile to expand testing grounds for Vulkan on Raspberry Pi. • Maybe expose this feature under a V3D_DEBUG setting?
  • 14. Q&A X Developers Conference October 2022 We’re hiring: https://www.igalia.com/jobs