diff options
author | Jaroslav Hensl <jara@hensl.cz> | 2024-12-08 23:41:53 +0100 |
---|---|---|
committer | Jaroslav Hensl <jara@hensl.cz> | 2024-12-08 23:41:53 +0100 |
commit | eadb6ba06c642d2dd0d72e6bda08fba3bd09b5ad (patch) | |
tree | c8b638813378cf59a0e0d91511f7cf58e36ee70d | |
parent | 3cd2c05f47e08a1364589638fa0f8bbcc50f14d1 (diff) | |
download | vmdisp9x-eadb6ba06c642d2dd0d72e6bda08fba3bd09b5ad.tar.gz |
split vmhal9x.dll to vmdisp9x.dll and vmhal9x.dll
-rw-r--r-- | makefile | 2 | ||||
-rw-r--r-- | vmdahal.h | 9 | ||||
-rw-r--r-- | vmdisp9x.inf | 5 | ||||
-rw-r--r-- | vxd_svga.c | 11 |
4 files changed, 13 insertions, 14 deletions
@@ -12,7 +12,7 @@ OBJS += & INCS = -I$(%WATCOM)\h\win -Iddk -Ivmware
-VER_BUILD = 91
+VER_BUILD = 92
FLAGS = -DDRV_VER_BUILD=$(VER_BUILD)
@@ -42,13 +42,6 @@ typedef struct VMDAHALCB32 LPDDHAL_FLIPTOGDISURFACE FlipToGDISurface;
} VMDAHALCB32_t;
-struct VXD_pair
-{
- DWORD pid;
- DWORD vxd;
-};
-
-#define VXD_PAIRS_CNT 32
#define DISP_MODES_MAX 512
typedef struct VMDAHAL_D3DCAPS
@@ -81,8 +74,6 @@ typedef struct VMDAHAL DWORD hDC;
- struct VXD_pair vxd_table[VXD_PAIRS_CNT];
-
DDHALMODEINFO2_t modes[DISP_MODES_MAX];
DWORD modes_count;
DWORD custom_mode_id;
diff --git a/vmdisp9x.inf b/vmdisp9x.inf index 451ebe6..2aee926 100644 --- a/vmdisp9x.inf +++ b/vmdisp9x.inf @@ -57,6 +57,7 @@ qxlmini.vxd=1 ;syscopy:msd3d8.dll=1,sys
;syscopy:msd3d9.dll=1,sys
;vmhal:vmhal9x.dll=1
+;vmhal:vmdisp9x.dll=1
[Manufacturer]
%Mfg%=Mfg.VM
@@ -99,18 +100,21 @@ boxvmini.drv,,,0x00000004 boxvmini.vxd,,,0x00000004
;mesa:mesa3d.dll,,,0x00000004
;vmhal:vmhal9x.dll,,,0x00000004
+;vmhal:vmdisp9x.dll,,,0x00000004
[Qemu.Copy]
qemumini.drv,,,0x00000004
qemumini.vxd,,,0x00000004
;mesa:mesa3d.dll,,,0x00000004
;vmhal:vmhal9x.dll,,,0x00000004
+;vmhal:vmdisp9x.dll,,,0x00000004
[QXL.Copy]
qxlmini.drv,,,0x00000004
qxlmini.vxd,,,0x00000004
;mesa:mesa3d.dll,,,0x00000004
;vmhal:vmhal9x.dll,,,0x00000004
+;vmhal:vmdisp9x.dll,,,0x00000004
[VMSvga.Copy]
vmwsmini.drv,,,0x00000004
@@ -118,6 +122,7 @@ vmwsmini.vxd,,,0x00000004 ;mesa:vmwsgl32.dll,,,0x00000004
;mesa:mesa3d.dll,,,0x00000004
;vmhal:vmhal9x.dll,,,0x00000004
+;vmhal:vmdisp9x.dll,,,0x00000004
[Voodoo.Copy]
;3dfx:3dfxspl2.dll,,,0x00000010
@@ -952,6 +952,8 @@ BOOL SVGA_setmode(DWORD w, DWORD h, DWORD bpp) mouse_invalidate();
FBHDA_access_end(0);
+ fb_lock_cnt = 0; // reset lock counters
+
return TRUE;
}
@@ -1311,6 +1313,8 @@ void FBHDA_access_begin(DWORD flags) void FBHDA_access_end(DWORD flags)
{
+ //dbg_printf("+++ FBHDA_access_end: %ld\n", fb_lock_cnt);
+
if(hda->overlay > 0)
{
return;
@@ -1333,14 +1337,13 @@ void FBHDA_access_end(DWORD flags) }
}
- fb_lock_cnt--;
- if(fb_lock_cnt < 0) fb_lock_cnt = 0;
-
- if(fb_lock_cnt == 0)
+ if(--fb_lock_cnt <= 0)
{
DWORD w, h;
BOOL need_refresh = ((hda->bpp == 32) && (hda->system_surface == 0));
+ fb_lock_cnt = 0;
+
w = rect_right - rect_left;
h = rect_bottom - rect_top;
|