Proyecto Vino
biblioteca libvkd3d
libvkd3d-shader implementa la traducción del código de bytes de los modelos de sombreador 4 y 5 a una representación SPIR-V intermedia. Admite sombreadores de vértices, píxeles, teselación, computación y geometría simple, serialización y deserialización de firmas de raíz. Las instrucciones de sombreado incluyen operaciones aritméticas, atómicas y de bits, operadores de comparación y control de flujo de datos, instrucciones de muestreo, recopilación y carga, operaciones de acceso desordenado (UAV, vista de acceso desordenado).
Entre los más significativos
- La biblioteca libvkd3d-shader está lista para usar en proyectos de terceros.
- Soporte de sombreador de teselación.
- Soporte para conversión, serialización y deserialización de firmas raíz (vkd3d_serialize_versioned_root_signature() y vkd3d_create_versioned_root_signature_deserializer()).
- Soporte para salida de streaming.
- Implementación de muchas funciones de Direct3D 12 que antes no estaban disponibles, incluida la compatibilidad con muestreo múltiple, reserva de recursos,
renderizado indexado indirecto, renderizado en profundidad sin sombreadores de píxeles, acceso simultáneo a recursos desde diferentes colas de comandos, vistas nulas. - Se agregaron variables de entorno: VKD3D_CONFIG para configurar opciones para cambiar el comportamiento de libvkd3d y VKD3D_VULKAN_DEVICE para anular el dispositivo para la API de Vulkan.
- Se agregó soporte para las instrucciones del sombreador bufinfo.
evaluación_centroide,
eval_sample_index,
ld2ms,
muestra_b,
muestra_d,
información_muestra,
pos.muestra.
Fuente: opennet.ru