Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Po wywołaniu funkcji DxgkDdiRenderKm system operacyjny określa typ operacji renderowania przyspieszanego przez sprzęt GDI do wykonania za pośrednictwem parametru pRenderKmArgs. Sterownik portu wyświetlania podsystemu jądra grafiki DirectX (Dxgkrnl.sys) ustawia członek składowy pRenderKmArgs->pCommand tak, aby wskazywał na bufor poleceń zawierający tablicę struktur o zmiennym rozmiarze DXGK_RENDERKM_COMMAND. Ustawia również element członkowski pRenderKmArgs->pCommandLength na rozmiar bufora poleceń, w bajtach.
Sterownik musi przetłumaczyć wejściowy bufor komend DXGK_RENDERKM_COMMAND na polecenia bufora DMA i skompilować listę lokacji poprawek.
DXGK_RENDERKM_COMMAND zawiera członków, którzy określają charakterystykę operacji renderowania przyspieszanych sprzętowo przez GDI, zgodnie z opisem w poniższej tabeli.
| Operacja renderowania | członek DXGK_RENDERKM_COMMAND | Odpowiednia struktura DXGK_GDIARG_XXX | Odpowiadająca wartość DXGK_RENDERKM_OPERATION |
|---|---|---|---|
mieszanka alfa |
AlphaBlend |
DXGK_GDIOP_ALPHABLEND = 3 |
|
transfer bloków bitowych bez rozciągania |
BitBlt |
DXGK_GDIOP_BITBLT = 1 |
|
ClearType i tekst z wygładzaniem krawędzi oraz mieszanie pikseli |
ClearTypeBlend |
DXGK_GDIOP_CLEARTYPEBLEND = 7 |
|
wypełnienie kolorem |
ColorFill |
DXGK_GDIOP_COLORFILL = 2 |
|
rozszerzone przesyłanie bloków bitowych |
StretchBlt |
DXGK_GDIOP_STRETCHBLT = 4 |
|
transfer bloków bitowych z przezroczystością |
TransparentBlt |
DXGK_GDIOP_TRANSPARENTBLT = 6 |
System operacyjny używa OpCode elementu członkowskiego DXGK_RENDERKM_COMMAND, aby wskazać konkretną operację renderowania przyspieszaną przez sprzęt GDI, którą musi przetworzyć sterownik miniportu wyświetlania. Członek OpCode jest typu DXGK_RENDERKM_OPERATIONz wartościami przedstawionymi w tabeli.
System operacyjny dostarczy również odpowiednią wartość elementu-członkowskiego DXGK_RENDERKM_COMMAND CommandSize, który określa rozmiar bieżącego polecenia renderowania, w bajtach, w tym wartość OpCode i liczbę podprostokątów w poleceniu.
Więcej informacji na temat możliwości adaptera wyświetlania do realizacji przezroczystego transferu blokowych bitów znajduje się w strukturze D3DKM_TRANSPARENTBLTFLAGS zawartej w elemencie członkowskim flag DXGK_GDIARG_TRANSPARENTBLT->.