Compartir a través de


Compatibilidad con el sistema y el controlador para la barra de tamaño redimensionable

En la actualidad, es habitual que una unidad de procesamiento de gráficos discreta (GPU) tenga solo una pequeña parte de su búfer de fotogramas expuesto sobre el bus PCI. Por compatibilidad con sistemas operativos de 32 bits, las GPU discretas suelen reclamar una región de E/S de 256 MB para sus búferes de fotogramas y así es como el firmware típico los configura.

En las GPU que admiten un registro de direcciones base de tamaño redimensionable (BAR), Windows renegociará el tamaño de la BARRA de una GPU después de la inicialización del firmware en windows Display Driver Model (WDDM) v2 y versiones posteriores. Para obtener más información sobre la barra de tamaño redimensionable, consulte la especificación de funcionalidad bar redimensionable en la biblioteca de especificaciones de PCI SIG.

Una GPU que admita barra de tamaño redimensionable debe asegurarse de que puede mantener la visualización y mostrar una imagen estática durante la reprogramación de la barra. La pantalla no debe ir en blanco y, a continuación, realizar una copia de seguridad durante este proceso. Es importante tener una transición fluida entre la imagen mostrada por firmware, la imagen del cargador de arranque y la primera imagen generada por el controlador en modo kernel. Tenga en cuenta que no se producirá ninguna transacción PCI hacia la GPU mientras se lleva a cabo la renegociación.

Esta renegociación es principalmente invisible para el controlador en modo kernel. Cuando la renegociación se realiza correctamente, el controlador en modo kernel observará que la BARRA de GPU se ha cambiado a su tamaño máximo para exponer toda la VRAM de la GPU discreta.

Tras un cambio de tamaño correcto, el controlador en modo kernel debe exponer un único segmento de memoria CPUVisible al administrador de memoria de vídeo. El administrador de memoria de vídeo asignará direcciones virtuales de CPU directamente a este intervalo cuando la CPU necesite acceder al contenido del segmento de memoria.