[WIN32SS][NTDDRAW][NTGDI] Implement some DxEng* callbacks (#3638)

Implement the following DxEng* functions:
- DxEngAltLockSurface
- DxEngDeleteSurface
- DxEngReferenceHdev
- DxEngSelectBitmap
- DxEngSetBitmapOwner
- DxEngUnreferenceHdev

Update their prototypes and call the appropriate win32k functions
inside them, since they are already implemented. Also get rid of
now unused IntGdi(Un)ReferencePdev, whose were called only by dxeng,
and whose are not used anymore. In Windows, DxEng(Un)ReferenceHdev calls
PDEVOBJ_vReferencePDEV and PDEVOBJ_vDeferencePDEV directly (those
correspond to our PDEVOBJ_vReference and PDEVOBJ_vRelease accordingly).

Required by MS DirectDraw stack (ddraw.dll & dxg.sys). CORE-17561
This commit is contained in:
Oleg Dubinskiy 2022-05-31 23:58:35 +02:00 committed by GitHub
parent 491dae1708
commit 31139c253f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 32 deletions

View file

@ -107,11 +107,11 @@ DWORD NTAPI DxEngSpSpritesVisible(DWORD x1);
HDC NTAPI DxEngGetDesktopDC(ULONG DcType, BOOL EmptyDC, BOOL ValidatehWnd);
BOOLEAN NTAPI DxEngDeleteDC(HDC hdc, BOOL Force);
BOOLEAN NTAPI DxEngSetDCState(HDC hDC, DWORD SetType, DWORD Set);
DWORD NTAPI DxEngSelectBitmap(DWORD x1, DWORD x2);
DWORD NTAPI DxEngSetBitmapOwner(DWORD x1, DWORD x2);
DWORD NTAPI DxEngDeleteSurface(DWORD x1);
HBITMAP NTAPI DxEngSelectBitmap(HDC hdc, HBITMAP hbmp);
BOOLEAN NTAPI DxEngSetBitmapOwner(HBITMAP hbmp, ULONG ulOwner);
BOOLEAN NTAPI DxEngDeleteSurface(HSURF hsurf);
DWORD NTAPI DxEngGetSurfaceData(DWORD x1, DWORD x2);
DWORD NTAPI DxEngAltLockSurface(DWORD x1);
SURFOBJ * NTAPI DxEngAltLockSurface(HSURF hsurf);
DWORD NTAPI DxEngUploadPaletteEntryToSurface(DWORD x1, DWORD x2,DWORD x3, DWORD x4);
DWORD NTAPI DxEngMarkSurfaceAsDirectDraw(DWORD x1, DWORD x2);
DWORD NTAPI DxEngSelectPaletteToSurface(DWORD x1, DWORD x2);