Move Existing Metal 3.1 code over to Metal 4 for Mac OS 26+

Aperta
#321 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
cmake
Ambito
backend

Direzione di ricerca

The issue identifies the CMake configuration and a Metal .mm file as the change points. Read those paths and the existing Metal 3.1 setup first, then check how the project selects its macOS build configuration. Done means macOS 26+ selects Metal 4 and the existing Metal 3.1 path remains available on older supported systems.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I'm formalizing this as issue here before starting some PR's to get this done.

All Apple silicon Hardware supports Metal 4 it simply a matter of checking the OS version as Metal 4 has a requirement of at least Mac OS 26 Tahoe.

The plan at this moment is to make a branch in the Cmake depending on OS version to include the right metal version, and to have a branch in the Metal mm file to properly assign the correct MTL4commandqueues and creation sequences.

There should not be any major changes to how everything functions in terms of the metal code. This is just a translation from the Existing Metal 3.1 code to their Metal 4 counterparts. There will be some benefits gained simply due to the how MTL4CommandQueues function that allow for better scheduling but this work for now is simply a way of moving the code forward to make it easier for future work.

Metal 4.1 does exist but is a minor change with features that could be useful but would push versioning up to a minimum of Mac OS 27.

Lingua principale
CMake
Stelle
4.7k
Fork
321
Merge medio
13m
PR unite (30g)
3

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di OpenMoonRay/openmoonray

Tutte le issue di OpenMoonRay/openmoonray

Issue simili

Altre issue su Backend & API Design

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.