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

Abierto
#321 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
cmake
Área
backend

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
CMake
Estrellas
4.7k
Forks
321
Merge medio
13 min
PR fusionados (30 d)
3

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de OpenMoonRay/openmoonray

Todos los issues de OpenMoonRay/openmoonray

Issues similares

Más issues de Backend & API Design

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.