aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaroslav Hensl <jara@hensl.cz>2024-09-29 00:30:43 +0200
committerJaroslav Hensl <jara@hensl.cz>2024-09-29 00:30:43 +0200
commit8a688f4a16be99c75ed910d032330405d7a346cf (patch)
tree2f0a738785a7db04a7c11efde7e1f3204684f2d9
parent1f394984ade4f339a2b4a29a6e4a7d0ed63576de (diff)
downloadvmdisp9x-8a688f4a16be99c75ed910d032330405d7a346cf.tar.gz
VMWare: SVGA_REG_MSHINT (but without any effect)
-rw-r--r--makefile2
-rw-r--r--vxd_svga.c15
2 files changed, 13 insertions, 4 deletions
diff --git a/makefile b/makefile
index 0bd81e2..ca0a280 100644
--- a/makefile
+++ b/makefile
@@ -12,7 +12,7 @@ OBJS += &
INCS = -I$(%WATCOM)\h\win -Iddk -Ivmware
-VER_BUILD = 85
+VER_BUILD = 86
FLAGS = -DDRV_VER_BUILD=$(VER_BUILD)
diff --git a/vxd_svga.c b/vxd_svga.c
index 7f95a44..14bb300 100644
--- a/vxd_svga.c
+++ b/vxd_svga.c
@@ -108,6 +108,7 @@ static char SVGA_conf_hw_version[] = "HWVersion";
static char SVGA_vxd_name[] = "vmwsmini.vxd";
static char SVGA_conf_disable_multisample[] = "NoMultisample";
+static char SVGA_conf_reg_multisample[] = "RegMultisample";
static char SVGA_conf_async_mobs[] = "AsyncMOBs";
svga_saved_state_t svga_saved_state = {FALSE};
@@ -352,6 +353,7 @@ static DWORD fb_pm16 = 0;
//static DWORD st_address = 0;
static DWORD st_surface_mb = 0;
static DWORD disable_multisample = 0;
+static DWORD reg_multisample = 0;
static void SVGA_write_driver_id()
{
@@ -401,15 +403,17 @@ BOOL SVGA_init_hw()
/* some semaphores */
mem_sem = Create_Semaphore(1);
cb_sem = Create_Semaphore(1);
-
+
/* configs in registry */
RegReadConf(HKEY_LOCAL_MACHINE, SVGA_conf_path, SVGA_conf_vram_limit, &conf_vram_limit);
RegReadConf(HKEY_LOCAL_MACHINE, SVGA_conf_path, SVGA_conf_rgb565bug, &conf_rgb565bug);
RegReadConf(HKEY_LOCAL_MACHINE, SVGA_conf_path, SVGA_conf_cb, &conf_cb);
RegReadConf(HKEY_LOCAL_MACHINE, SVGA_conf_path, SVGA_conf_hw_version, &conf_hw_version);
RegReadConf(HKEY_LOCAL_MACHINE, SVGA_conf_path, SVGA_conf_pref_fifo, &prefer_fifo);
-
+
RegReadConf(HKEY_LOCAL_MACHINE, SVGA_conf_path, SVGA_conf_disable_multisample, &disable_multisample);
+ RegReadConf(HKEY_LOCAL_MACHINE, SVGA_conf_path, SVGA_conf_reg_multisample, &reg_multisample);
+
RegReadConf(HKEY_LOCAL_MACHINE, SVGA_conf_path, SVGA_conf_async_mobs, &async_mobs);
RegReadConf(HKEY_LOCAL_MACHINE, SVGA_conf_path, SVGA_conf_hw_cursor, &hw_cursor);
@@ -501,6 +505,11 @@ BOOL SVGA_init_hw()
dbg_printf(dbg_no_irq);
}
#endif
+ if(reg_multisample)
+ {
+ SVGA_WriteReg(SVGA_REG_MSHINT, reg_multisample);
+ dbg_printf("Value of SVGA_REG_MSHINT: %lX!\n", SVGA_ReadReg(SVGA_REG_MSHINT));
+ }
/* enable FIFO */
SVGA_Enable();
@@ -641,7 +650,7 @@ BOOL SVGA3D_Init(void)
//dbg_printf("3D disabled by host.");
return FALSE;
}
- if (hwVersion < SVGA3D_HWVERSION_WS65_B1)
+ if(hwVersion < SVGA3D_HWVERSION_WS65_B1)
{
//dbg_printf("Host SVGA3D protocol is too old, not binary compatible.");
return FALSE;