Articulo de referencia

Niveles de funciones en Direct3D

Los niveles de características en Direct3D definen conjuntos estrictos de características requeridas por ciertas versiones de la API y el tiempo de ejecución de Direct3D, así co...

Los niveles de características en Direct3D definen conjuntos estrictos de características requeridas por ciertas versiones de la API y el tiempo de ejecución de Direct3D, así como niveles de características opcionales adicionales disponibles dentro de la misma versión de API.

Descripción general

Los niveles de funciones encapsulan las capacidades específicas del hardware que existen además de los requisitos y funciones obligatorios comunes en una versión particular de la API. Los niveles se agrupan en superconjuntos estrictos entre sí, de modo que cada nivel superior incluye todas las funciones requeridas en cada nivel inferior.

Algunos niveles de funciones incluyen funciones de hardware que antes eran opcionales y que ahora pasan a ser obligatorias con las nuevas revisiones de la API para exponer mejor el hardware más nuevo. Las funciones más avanzadas, como los nuevos modelos de sombreado y las etapas de renderizado, solo se exponen en el hardware de nivel superior [1] [2], sin embargo, no es necesario que el hardware admita todos estos niveles de funciones [3] y el entorno de ejecución de Direct3D realizará las traducciones necesarias.

Los niveles de características permiten a los desarrolladores unificar el proceso de renderizado y utilizar una única versión de la API tanto en hardware nuevo como antiguo, aprovechando las mejoras de rendimiento y usabilidad en el nuevo entorno de ejecución. [4]

Existen capacidades separadas para indicar soporte para operaciones de textura específicas y formatos de recursos; estas generalmente se especifican para cada formato de textura usando una combinación de indicadores de capacidad, pero algunas de estas características opcionales se promueven a obligatorias en los niveles de características superiores. [5]

Direct3D 10

Direct3D 10 introdujo un conjunto fijo de requisitos obligatorios para el hardware gráfico. Antes de Direct3D 10, las nuevas versiones de la API introdujeron compatibilidad con nuevas capacidades de hardware, sin embargo, estas capacidades eran opcionales y debían consultarse con "bits de capacidad" o "límites".

Direct3D 10.1 fue el primero en utilizar un concepto de "niveles de características" [1] [3] [6] para soportar hardware Direct3D 10.0 y 10.1. [3] [7] [8]

Direct3D 11

En Direct3D 11, el concepto de niveles de características se ha ampliado aún más para ejecutarse en la mayoría del hardware de nivel inferior, incluidas las tarjetas Direct3D 9 con controladores WDDM .

Hay siete niveles de características proporcionados por D3D_FEATURE_LEVELla estructura; los niveles 9_1, 9_2 y 9_3 (conocidos colectivamente como Direct3D 10 Nivel 9 ) vuelven a encapsular varias características de las populares tarjetas Direct3D 9 que cumplen con Shader Model 2.0, mientras que los niveles 10_0, 10_1, 11_0 y 11_1 hacen referencia a las respectivas versiones de la API de Direct3D. [1] Los niveles de características "10 Nivel 9" contienen un subconjunto de la API de Direct3D 10/11 [9] y requieren que los sombreadores se escriban en HLSL conforme a los perfiles del compilador de Shader Model 4.0 , y no en el lenguaje de "ensamblaje de sombreadores" real [10] de Shader Model 1.1/2.0; SM 3.0 ( / ) se ha omitido deliberadamente en Direct3D 10 Nivel 9. [3]4_0_LEVEL_9_xvs_3_0ps_3_0

Desde Direct3D 11.1 para Windows 8, algunas características obligatorias introducidas para el nivel 11_1 están disponibles como opcionales en los niveles 10_0, 10_1 y 11_0; estas características se pueden verificar individualmente a través de CheckFeatureSupportla función [11]; sin embargo, el nivel de característica 11_1 y las características opcionales no están disponibles en la actualización de la plataforma Direct3D 11.1 para Windows 7 [12] porque no es compatible con WDDM 1.2. [13]

Direct3D 11.2 para Windows 8.1 agrega buffers asignables opcionales y recursos en mosaico opcionales para los niveles 11_0 y 11_1; estas características requieren controladores WDDM 1.3. [14]

Direct3D 11.3 para Windows 10 requiere controladores WDDM 2.0; agrega más funciones opcionales y niveles 12_0 y 12_1 de Direct3D 12.

Direct3D 12

Direct3D 12 requiere hardware gráfico que cumpla con los niveles de características 11_0 y 11_1 que admiten traducciones de direcciones de memoria virtual. [25] [26]

Hay dos nuevos niveles de características, 12_0 y 12_1, que incluyen algunas características que son opcionales en los niveles 11_0 y 11_1. [27] Debido a la reestructuración de la API, algunas características previamente opcionales se realinean como línea base en los niveles 11_0 y 11_1.

Direct3D 12 de la actualización de aniversario de Windows 10 (versión 1607) incluye Shader Model 6.0, [28] que requiere controladores WDDM 2.1 y un nuevo compilador DXIL basado en LLVM . [29] Las versiones 1703 y 1709 de Windows 10 Creators Update incluyen Shader Model 6.1 y WDDM 2.2/2.3.

Direct3D 12 introduce un modelo de enlace de recursos renovado, que permite el control explícito de la memoria. Los objetos de "vista" de recursos abstractos [36] que permitían el acceso aleatorio de lectura/escritura ahora están representados por descriptores de recursos, que se asignan mediante tablas y montones de memoria. [37] Este modelo es compatible con la mayoría de las arquitecturas de GPU de escritorio existentes y requiere controladores WDDM 2.0. El hardware compatible se divide en tres niveles de enlace de recursos, que definen la cantidad máxima de descriptores que se pueden usar para CBV (vista de búfer constante), SRV (vista de recursos de sombreado) y UAV (vista de acceso desordenado); CBV y SRV por etapa de canalización; UAV para todas las etapas de canalización; muestreadores por etapa; y la cantidad de tablas de descriptores SRV. El hardware de nivel 3, como AMD GCN e Intel Skylake, no tiene limitaciones, lo que permite recursos completamente sin enlaces limitados solo por el tamaño del montón de descriptores, mientras que el hardware de nivel 1 (Nvidia Fermi, Intel Haswell/Broadwell) y de nivel 2 (Nvidia Kepler) impone algunos límites en la cantidad de descriptores ("vistas") que se pueden usar simultáneamente. Además, los búferes y las texturas se pueden mezclar en el mismo montón de recursos solo en hardware compatible con el nivel 2 del montón de recursos, mientras que el hardware de nivel 1 requiere montones de memoria separados para búferes, texturas y superficies de plantilla de profundidad y de destino de renderizado. El enlace de recursos de nivel 1 y el nivel 1 del montón de recursos son necesarios para todo el hardware compatible.

Algunas de las características opcionales, como los recursos en mosaico y la rasterización conservadora, tienen "niveles" que definen el conjunto de capacidades admitidas.

La mayoría de las funciones son opcionales para todos los niveles de funciones, pero algunas de estas funciones se promueven como obligatorias en niveles de funciones superiores.

Matriz de soporte

Véase también

Referencias

  1. ^ abc "Direct3D 11 en hardware de nivel inferior". MSDN . Consultado el 18 de noviembre de 2012 .
  2. ^ "Kit de controladores de Windows: compatibilidad con Direct3D 11". MSDN . Consultado el 13 de junio de 2009 .
  3. ^ abcd Chuck Walbourn (20 de junio de 2012). "Niveles de funciones de Direct3D". Blog de juegos para Windows y el SDK de DirectX .
  4. ^ "Presentaciones de Gamefest 2008". Microsoft. Archivado desde el original el 13 de noviembre de 2013.
  5. ^ "Niveles de funciones de Direct3D". MSDN . Consultado el 2 de julio de 2012 .
  6. ^ "GameFest 2008: Introducción al flujo de gráficos de Direct3D 11". Microsoft. Diapositiva 56. Archivado desde el original el 28 de enero de 2013.
  7. ^ "Enumeración D3D10_FEATURE_LEVEL1". MSDN . Consultado el 22 de noviembre de 2009 .
  8. ^ "Niveles de características de Direct3D". MSDN . Consultado el 30 de septiembre de 2014 .
  9. ^ "Referencia de 10Level9". MSDN . Consultado el 18 de noviembre de 2012 .
  10. ^ MSDN - DirectX y juegos - Referencia de sombreadores ASM
  11. ^ ab "Características de Direct3D 11.1 - Aplicaciones Win32".
  12. ^ "Blogs de MSDN" . Consultado el 30 de septiembre de 2014 .
  13. ^ "Actualización de plataforma para Windows 7 - Aplicaciones Win32".
  14. ^ Bennett Sorbo (26 de junio de 2013). "Novedades de Direct3D 11.2". Channel9 - BUILD 2013 .
  15. ^ "Samsung anuncia el Exynos 5 Dual basado en el procesador A15/Mali-T604". AnandTech . Consultado el 15 de junio de 2013 .
  16. ^ "Núcleos de Vivante Vega para 3D". Vivante. Archivado desde el original el 15 de febrero de 2015. Consultado el 10 de diciembre de 2014 .
  17. ^ "Enumeración D3D11_CONSERVATIVE_RASTERIZATION_TIER". Biblioteca MSDN . 22 de febrero de 2015 . Consultado el 22 de febrero de 2015 .
  18. ^ "Características de Direct3D 11.3". Biblioteca MSDN . 28 de marzo de 2015 . Consultado el 28 de marzo de 2015 .
  19. ^ Ryan Smith. "AnandTech - The NVIDIA GeForce GTX 980 Review: Maxwell Mark 2" . Consultado el 30 de septiembre de 2014. La primera y más importante de las nuevas características de Maxwell 2 es la inclusión de compatibilidad total con Direct3D 11.2/11.3.
  20. ^ Ryan Smith. "AnandTech - Microsoft detalla las nuevas funciones de renderizado de Direct3D 11.3 y 12" . Consultado el 30 de septiembre de 2014 .
  21. ^ "Maxwell y DX12 entregados". NVIDIA . Archivado desde el original el 6 de octubre de 2014 . Consultado el 30 de septiembre de 2014 .
  22. ^ "Blogs de MSDN" . Consultado el 30 de septiembre de 2014 .
  23. ^ "Maxwell: La GPU CUDA más avanzada jamás creada". 19 de septiembre de 2014.
  24. ^ "Intel Skylake: Core i7-6700K y i5-6600K en prueba". PC GAMES HARDWARE ONLINE . 5 de agosto de 2015 . Consultado el 5 de agosto de 2015 .
  25. ^ GVCS005 - Microsoft Direct3D 12: nuevos detalles de la API y optimizaciones de Intel Archivado el 4 de abril de 2015 en Wayback Machine
  26. ^ Versión 2015: Gráficos y rendimiento avanzados con DirectX12
  27. ^ "Niveles de hardware: aplicaciones Win32".
  28. ^ "Modelo de sombreado HLSL 6.0: aplicaciones Win32".
  29. ^ "Preguntas frecuentes · Wiki de microsoft/DirectXShaderCompiler". GitHub .
  30. ^ "D3D12_FEATURE - Aplicaciones Win32".
  31. ^ "Novedades en DirectX: nivel de función 12_2". 27 de agosto de 2020.
  32. ^ "Nivel de característica 12_2".
  33. ^ ab "El nivel de características de Direct3D 12 Core 1.0: aplicaciones Win32".
  34. ^ "Análisis técnico en profundidad de Intel Meteor Lake". 19 de septiembre de 2023.
  35. ^ "Intel presenta la arquitectura Meteor Lake: Intel 4 anuncia el futuro desagregado de las CPU móviles".
  36. ^ "Introducción a un recurso en Direct3D 11 - Aplicaciones Win32".
  37. ^ Wolfgang Engel . "Introducción a la vinculación de recursos en Microsoft DirectX 12".
  38. ^ "Aliasing de memoria y herencia de datos - Aplicaciones Win32".
  39. ^ stevewhims. "Montones de descriptores: aplicaciones de Windows". docs.microsoft.com . Consultado el 8 de septiembre de 2019 .
  40. ^ "D3D12_TILED_RESOURCES_TIER (D3d12.h) - Aplicaciones Win32".
  41. ^ "Recursos en mosaico de volumen (Direct3D 12) - Aplicaciones Win32".
  42. ^ "Cargas de vista de acceso desordenado tipificada (UAV) - Aplicaciones Win32".
  43. ^ "Rasterización conservadora de Direct3D 12: aplicaciones Win32".
  44. ^ "Vistas ordenadas por rasterizador: aplicaciones Win32".
  45. ^ "Valor de referencia de plantilla especificado por el sombreador (gráficos Direct3D 12) - Aplicaciones Win32".
  46. ^ "Montones de descriptores: aplicaciones Win32".
  47. ^ "Características de Direct3D 11.1 - Aplicaciones Win32".
  48. ^ ab "Consulta de capacidad - Aplicaciones Win32".
  49. ^ "D3D11_FEATURE_DATA_DOUBLES (D3d11.h) - Aplicaciones Win32".
  50. ^ "Mejoras de las funciones de DirectX en Windows 8 - Controladores de Windows".
  51. ^ "Características de Direct3D 11.1 - Aplicaciones Win32".
  52. ^ windows-sdk-content. "D3D12_RESOURCE_HEAP_TIER (d3d12.h)". docs.microsoft.com . Consultado el 8 de septiembre de 2019 .
  53. ^ ab "D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT (D3d12.h) - Aplicaciones Win32".
  54. ^ "D3D12_VIEW_INSTANCING_TIER (D3d12.h) - Aplicaciones Win32".
  55. ^ "D3D12_VIEW_INSTANCING_DESC (D3d12.h) - Aplicaciones Win32".
  56. ^ windows-sdk-content. "D3D12_RAYTRACING_TIER (d3d12.h)". docs.microsoft.com . Consultado el 8 de septiembre de 2019 .
  57. ^ stevewhims. "Sombreado de velocidad variable (VRS): aplicaciones de Windows". docs.microsoft.com . Consultado el 8 de septiembre de 2019 .
  58. ^ "Sombreador de malla".
  59. ^ "Comentarios del muestreador".
  • https://msdn.microsoft.com/en-us/library/windows/desktop/ff476876(v=vs.85).aspx
Retrieved from "https://en.wikipedia.org/w/index.php?title=Feature_levels_in_Direct3D&oldid=1246817722"