Compilar desde el código fuente
Compila la solución, ejecuta las pruebas y valida el módulo SPIR-V que produce el ejemplo.
Compila
dotnet build YotsubaShader.sln
Ejecuta el ejemplo
El proyecto de ejemplo ensambla un módulo de fragment shader instrucción por instrucción con SpirVModule y lo codifica con SpirVCompiler.
dotnet run --project YotsubaShader.Example/YotsubaShader.Example.csproj
Esto crea mi modulo spirv.spv en el directorio de trabajo.
Valida el módulo
Si tienes instalado SPIRV-Tools, valida y desensambla la salida:
spirv-val "mi modulo spirv.spv"
spirv-dis "mi modulo spirv.spv"
Ejecuta las pruebas
El proyecto de pruebas del frontend cubre el descubrimiento y el análisis de shaders.
dotnet test YotsubaShader.Frontend.Tests
Arquitectura del repositorio
| Proyecto | Rol |
|---|---|
YotsubaShader.Language | Capa de escritura: etapas, atributos, recursos y los tipos que asocias a la GPU. |
YotsubaShader.Roslyn | Descubrimiento y análisis semántico de shaders en C#. |
YotsubaShader.IR | Modelo compartido entre el frontend y los backends. |
YotsubaShader.Compiler.SpirV | Construcción y codificación de módulos SPIR-V. |
YotsubaShader.Generator | Tabla de operaciones de SPIR-V generada a partir de la gramática de Khronos. |
YotsubaShader.Example | Ejemplo ejecutable de ensamblado SPIR-V de bajo nivel. |
YotsubaShader.Frontend.Tests | Pruebas de descubrimiento y análisis del frontend. |
