Compartir a través de


estructura DXGK_GDIARG_BITBLT (d3dkmddi.h)

La estructura DXGK_GDIARG_BITBLT describe las características de una transferencia de bloques de bits acelerada por hardware ( bitblt) de GDI sin estirar.

Sintaxis

typedef struct _DXGK_GDIARG_BITBLT {
  [in] RECT SrcRect;
  [in] RECT DstRect;
       UINT SrcAllocationIndex;
       UINT DstAllocationIndex;
       UINT NumSubRects;
       RECT *pSubRects;
       WORD Rop;
       WORD Rop3;
       UINT SrcPitch;
       UINT DstPitch;
} DXGK_GDIARG_BITBLT;

Miembros

[in] SrcRect

Estructura RECT que define el área rectangular que se va a copiar. Este rectángulo se especifica en el sistema de coordenadas de la superficie de origen y se define mediante dos puntos: superior izquierda e inferior derecha. Los dos puntos que definen el rectángulo siempre están bien ordenados.

El rectángulo de origen puede superar los límites de la superficie de origen.

Este rectángulo se asigna al rectángulo de destino definido por DstRect. SrcRect se usa para transformar subctángulos del espacio de origen al espacio de destino.

Para obtener más información, vea la sección Comentarios.

[in] DstRect

Estructura RECT que define el área rectangular que se va a modificar. Este rectángulo se especifica en el sistema de coordenadas de la superficie de destino y se define mediante dos puntos: superior izquierda e inferior derecha. El rectángulo es exclusivo de la parte inferior derecha; es decir, sus bordes inferiores y derecho no forman parte de la transferencia de bloques de bits. Los dos puntos que definen el rectángulo siempre están bien ordenados.

El rectángulo de destino definido por DstRect puede superar los límites de la superficie de destino, pero los subctángulos no pueden. Además, se garantiza que todos los subctángulos se ajusten dentro de la superficie de destino. Los subctángulos se pueden restringir aún más mediante un rectángulo delimitador más pequeño que el rectángulo de destino.

Para obtener más información, vea la sección Comentarios.

SrcAllocationIndex

[in] Índice del elemento de la lista de asignación que especifica la asignación a la que hace referencia el rectángulo de origen SrcRect .

DstAllocationIndex

[in] Índice del elemento de la lista de asignación que especifica la asignación a la que hace referencia el rectángulo de destino DstRect .

NumSubRects

[in] Número de subctángulos en el espacio de superficie de destino que está limitado por el rectángulo de destino DstRect .

pSubRects

[in] Puntero a los subctángulos del espacio de superficie de destino que está limitado por el rectángulo de destino DstRect .

Rop

[in] Valor de 8 bits que especifica una operación de trama GDI (ROP) definida por los valores constantes de la enumeración DXGK_GDIROP_BITBLT .

Rop3

[in] Valor de 8 bits que especifica una operación de trama GDI ternaria (ROP3) que combina un pincel, un mapa de bits de origen y un mapa de bits de destino en una de las 256 combinaciones posibles. Este tipo de operación de trama solo se procesará si el controlador ha establecido el miembro SupportAllBltRops en la estructura DXGK_PRESENTATIONCAPS .

SrcPitch

[in] Tono de la superficie de origen, en bytes. Para obtener más información sobre el uso de pitch, vea la sección Comentarios.

DstPitch

[in] Tono de la superficie de destino, en bytes. Para obtener más información sobre el uso de pitch, vea la sección Comentarios.

Comentarios

Los valores de inclinación de SrcPitch y DstPitch deben usarse para determinar las ubicaciones de bytes de los rectángulos SrcRect y DstRect , respectivamente, para las siguientes asignaciones de tipo D3DKMDT_GDISURFACETYPE:

D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE

D3DKMDT_GDISURFACE_EXISTINGSYSMEM

El tono debe omitirse para otros tipos de asignación.

Se garantiza que el tono se alinee en la transferencia de bloques de bits según el miembro AlignmentShift de la estructura de DXGK_PRESENTATIONCAPS (es decir, DXGK_DRIVERCAPS. PresentationCaps.AlignmentShift).

Donde un rectángulo se define mediante dos píxeles en coordenadas (izquierda, superior) y (derecha, inferior), la dirección del primer píxel es:

Allocation.BaseAddress + (top * Pitch) + (left * 4)

La dirección del último píxel del rectángulo es:

Allocation.BaseAddress + ((bottom - 1) * Pitch) + ((right - 1) * 4)

Cuando los subctángulos se transforman en el espacio de superficie de origen, se garantiza que el resultado está dentro de la superficie de origen. Esta transformación se define mediante la fórmula siguiente:

<SrcSubRect.left = SubRect.left - DstRect.left + SrcRect.left;
SrcSubRect.right = SubRect.right - DstRect.left + SrcRect.left;
SrcSubRect.top = SubRect.top - DstRect.top + SrcRect.top;
SrcSubRect.bottom = SubRect.bottom - DstRect.top + SrcRect.top;

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7
Encabezado d3dkmddi.h (incluye D3dkmddi.h)

Consulte también

D3DKMDT_GDISURFACETYPE

DXGK_DRIVERCAPS

DXGK_GDIROP_BITBLT

DXGK_PRESENTATIONCAPS

RECT