From 7167c4d6ad4ca8776a30f29cdd082159ec0ff4f0 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 4 Dec 2019 09:45:57 +1100 Subject: [PATCH] Rebase against 5cf64084fb6f277c3453099a65a78817d5c9f1db --- ...l32-Always-start-debugger-on-WinSta0.patch | 2 +- ...-scsi-device-type-in-SCSI_getprocent.patch | 90 ----------- ...port-for-reading-scsi-devices-from-s.patch | 151 ------------------ patches/kernel32-SCSI_Sysfs/definition | 2 - ...ernel32-Implement-GetSystemDEPPolicy.patch | 8 +- patches/patchinstall.sh | 2 +- ...lement-all-8-d3d11-color-write-masks.patch | 58 +++---- 7 files changed, 35 insertions(+), 278 deletions(-) delete mode 100644 patches/kernel32-SCSI_Sysfs/0001-kernel32-Convert-scsi-device-type-in-SCSI_getprocent.patch delete mode 100644 patches/kernel32-SCSI_Sysfs/0002-kernel32-Add-support-for-reading-scsi-devices-from-s.patch delete mode 100644 patches/kernel32-SCSI_Sysfs/definition diff --git a/patches/kernel32-Debugger/0001-kernel32-Always-start-debugger-on-WinSta0.patch b/patches/kernel32-Debugger/0001-kernel32-Always-start-debugger-on-WinSta0.patch index a8383d55..13d7b775 100644 --- a/patches/kernel32-Debugger/0001-kernel32-Always-start-debugger-on-WinSta0.patch +++ b/patches/kernel32-Debugger/0001-kernel32-Always-start-debugger-on-WinSta0.patch @@ -15,7 +15,7 @@ index 016c21109..0681f726b 100644 TRACE( "Starting debugger %s\n", debugstr_w(cmdline) ); memset( &startup, 0, sizeof(startup) ); startup.cb = sizeof(startup); -+ startup.lpDesktop = (char *)"WinSta0"; ++ startup.lpDesktop = L"WinSta0"; startup.dwFlags = STARTF_USESHOWWINDOW; startup.wShowWindow = SW_SHOWNORMAL; ret = CreateProcessW( NULL, cmdline, NULL, NULL, TRUE, 0, env, NULL, &startup, &info ); diff --git a/patches/kernel32-SCSI_Sysfs/0001-kernel32-Convert-scsi-device-type-in-SCSI_getprocent.patch b/patches/kernel32-SCSI_Sysfs/0001-kernel32-Convert-scsi-device-type-in-SCSI_getprocent.patch deleted file mode 100644 index 8d427df9..00000000 --- a/patches/kernel32-SCSI_Sysfs/0001-kernel32-Convert-scsi-device-type-in-SCSI_getprocent.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 553c390a55bb9184aa4d35cc2e6689f6633e4a9b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20M=C3=BCller?= -Date: Fri, 22 Jul 2016 21:00:40 +0200 -Subject: kernel32: Convert scsi device type in SCSI_getprocentry. - ---- - dlls/kernel32/oldconfig.c | 27 ++++++++++++++++----------- - 1 file changed, 16 insertions(+), 11 deletions(-) - -diff --git a/dlls/kernel32/oldconfig.c b/dlls/kernel32/oldconfig.c -index 6c80dc6..8446f2d 100644 ---- a/dlls/kernel32/oldconfig.c -+++ b/dlls/kernel32/oldconfig.c -@@ -204,7 +204,7 @@ struct LinuxProcScsiDevice - char vendor[9]; - char model[17]; - char rev[5]; -- char type[33]; -+ int type; - int ansirev; - }; - -@@ -217,6 +217,7 @@ struct LinuxProcScsiDevice - static int SCSI_getprocentry( FILE * procfile, struct LinuxProcScsiDevice * dev ) - { - int result; -+ char type[33]; - - result = fscanf( procfile, - "Host:%*1[ ]scsi%d%*1[ ]Channel:%*1[ ]%d%*1[ ]Id:%*1[ ]%d%*1[ ]Lun:%*1[ ]%d\n", -@@ -247,7 +248,7 @@ static int SCSI_getprocentry( FILE * procfile, struct LinuxProcScsiDevice * dev - - result = fscanf( procfile, - " Type:%*3[ ]%32c%*1[ ]ANSI SCSI%*1[ ]revision:%*1[ ]%x\n", -- dev->type, -+ type, - &dev->ansirev ); - if( result != 2 ) - { -@@ -258,7 +259,15 @@ static int SCSI_getprocentry( FILE * procfile, struct LinuxProcScsiDevice * dev - dev->vendor[8] = 0; - dev->model[16] = 0; - dev->rev[4] = 0; -- dev->type[32] = 0; -+ type[32] = 0; -+ -+ if (strncmp(type, "Direct-Access", 13) == 0) dev->type = DRIVE_FIXED; -+ else if (strncmp(type, "Sequential-Access", 17) == 0) dev->type = DRIVE_REMOVABLE; -+ else if (strncmp(type, "CD-ROM", 6) == 0) dev->type = DRIVE_CDROM; -+ else if (strncmp(type, "Processor", 9) == 0) dev->type = DRIVE_NO_ROOT_DIR; -+ else if (strncmp(type, "Scanner", 7) == 0) dev->type = DRIVE_NO_ROOT_DIR; -+ else if (strncmp(type, "Printer", 7) == 0) dev->type = DRIVE_NO_ROOT_DIR; -+ else dev->type = DRIVE_UNKNOWN; - - return 1; - } -@@ -362,26 +371,22 @@ static void create_hardware_branch(void) - /* Read info for one device */ - while ((result = SCSI_getprocentry(procfile, &dev)) > 0) - { -+ if (dev.type == DRIVE_UNKNOWN) -+ continue; -+ - scsi_addr.PortNumber = dev.host; - scsi_addr.PathId = dev.channel; - scsi_addr.TargetId = dev.target; - scsi_addr.Lun = dev.lun; - - scsi_addr.PortNumber += uFirstSCSIPort; -- if (strncmp(dev.type, "Direct-Access", 13) == 0) nType = DRIVE_FIXED; -- else if (strncmp(dev.type, "Sequential-Access", 17) == 0) nType = DRIVE_REMOVABLE; -- else if (strncmp(dev.type, "CD-ROM", 6) == 0) nType = DRIVE_CDROM; -- else if (strncmp(dev.type, "Processor", 9) == 0) nType = DRIVE_NO_ROOT_DIR; -- else if (strncmp(dev.type, "Scanner", 7) == 0) nType = DRIVE_NO_ROOT_DIR; -- else if (strncmp(dev.type, "Printer", 7) == 0) nType = DRIVE_NO_ROOT_DIR; -- else continue; - - strcpy(cDevModel, dev.vendor); - strcat(cDevModel, dev.model); - strcat(cDevModel, dev.rev); - sprintf(cUnixDeviceName, "/dev/sg%d", nSgNumber++); - /* FIXME: get real driver name */ -- create_scsi_entry(&scsi_addr, "WINE SCSI", nType, cDevModel, cUnixDeviceName); -+ create_scsi_entry(&scsi_addr, "WINE SCSI", dev.type, cDevModel, cUnixDeviceName); - } - if( result != EOF ) - WARN("Incorrect %s format\n", procname_scsi); --- -2.8.0 - diff --git a/patches/kernel32-SCSI_Sysfs/0002-kernel32-Add-support-for-reading-scsi-devices-from-s.patch b/patches/kernel32-SCSI_Sysfs/0002-kernel32-Add-support-for-reading-scsi-devices-from-s.patch deleted file mode 100644 index 009a794b..00000000 --- a/patches/kernel32-SCSI_Sysfs/0002-kernel32-Add-support-for-reading-scsi-devices-from-s.patch +++ /dev/null @@ -1,151 +0,0 @@ -From 49435131943ae82e369d2a666de25e6242d242ab Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20M=C3=BCller?= -Date: Fri, 22 Jul 2016 21:01:33 +0200 -Subject: kernel32: Add support for reading scsi devices from sysfs. - ---- - dlls/kernel32/oldconfig.c | 114 +++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 113 insertions(+), 1 deletion(-) - -diff --git a/dlls/kernel32/oldconfig.c b/dlls/kernel32/oldconfig.c -index 8446f2d..9001a04 100644 ---- a/dlls/kernel32/oldconfig.c -+++ b/dlls/kernel32/oldconfig.c -@@ -272,6 +272,89 @@ static int SCSI_getprocentry( FILE * procfile, struct LinuxProcScsiDevice * dev - return 1; - } - -+static BOOL read_file_content(char *path, char *buffer, int length) -+{ -+ size_t read; -+ -+ FILE *f = fopen(path, "r"); -+ if (!f) return FALSE; -+ -+ read = fread(buffer, 1, length-1, f); -+ fclose(f); -+ if (!read) return FALSE; -+ -+ /* ensure NULL termination */ -+ buffer[read] = 0; -+ return TRUE; -+} -+ -+static BOOL read_file_content_int(char *path, int *result) -+{ -+ char buffer[20]; -+ -+ if (!read_file_content(path, buffer, sizeof(buffer))) -+ return FALSE; -+ -+ *result = atoi(buffer); -+ return TRUE; -+} -+ -+static BOOL SCSI_getsysentry(char *device_key, struct LinuxProcScsiDevice *dev, char *unix_path) -+{ -+ struct dirent *dent = NULL; -+ char path_buffer[100]; -+ DIR *generic_dir; -+ int result, type; -+ -+ result = sscanf(device_key, "%d:%d:%d:%d", &dev->host, &dev->channel, &dev->target, &dev->lun); -+ if (result != 4) -+ { -+ ERR("Failed to extract device information from %s\n", device_key); -+ return FALSE; -+ } -+ -+ snprintf(path_buffer, sizeof(path_buffer), "/sys/class/scsi_device/%s/device/vendor", device_key); -+ if (!read_file_content(path_buffer, dev->vendor, sizeof(dev->vendor))) return FALSE; -+ -+ snprintf(path_buffer, sizeof(path_buffer), "/sys/class/scsi_device/%s/device/model", device_key); -+ if (!read_file_content(path_buffer, dev->model, sizeof(dev->model))) return FALSE; -+ -+ snprintf(path_buffer, sizeof(path_buffer), "/sys/class/scsi_device/%s/device/rev", device_key); -+ if (!read_file_content(path_buffer, dev->rev, sizeof(dev->rev))) return FALSE; -+ -+ snprintf(path_buffer, sizeof(path_buffer), "/sys/class/scsi_device/%s/device/type", device_key); -+ if (!read_file_content_int(path_buffer, &type)) return FALSE; -+ -+ /* see SCSI specification standard for values */ -+ if (type == 0x0) dev->type = DRIVE_FIXED; -+ else if (type == 0x1) dev->type = DRIVE_REMOVABLE; -+ else if (type == 0x5) dev->type = DRIVE_CDROM; -+ else dev->type = DRIVE_NO_ROOT_DIR; -+ -+ /* FIXME: verify */ -+ snprintf(path_buffer, sizeof(path_buffer), "/sys/class/scsi_device/%s/device/scsi_level", device_key); -+ if (!read_file_content_int(path_buffer, &dev->ansirev)) return FALSE; -+ -+ result = FALSE; -+ -+ snprintf(path_buffer, sizeof(path_buffer), "/sys/class/scsi_device/%s/device/scsi_generic", device_key); -+ generic_dir = opendir(path_buffer); -+ if (generic_dir) -+ { -+ while ((dent = readdir(generic_dir))) -+ { -+ if (!strcmp(dent->d_name, ".") || !strcmp(dent->d_name, "..")) -+ continue; -+ -+ sprintf(unix_path, "/dev/%s", dent->d_name); -+ result = TRUE; -+ break; -+ } -+ closedir(generic_dir); -+ } -+ -+ return result; -+} - - /* create the hardware registry branch */ - static void create_hardware_branch(void) -@@ -281,7 +364,7 @@ static void create_hardware_branch(void) - static const char procname_ide_media[] = "/proc/ide/%s/media"; - static const char procname_ide_model[] = "/proc/ide/%s/model"; - static const char procname_scsi[] = "/proc/scsi/scsi"; -- DIR *idedir; -+ DIR *idedir, *scsidir; - struct dirent *dent = NULL; - FILE *procfile = NULL; - char cStr[40], cDevModel[40], cUnixDeviceName[40], read1[10] = "\0", read2[10] = "\0"; -@@ -346,6 +429,35 @@ static void create_hardware_branch(void) - } - - /* Now goes SCSI */ -+ scsidir = opendir("/sys/class/scsi_device"); -+ if (scsidir) -+ { -+ while ((dent = readdir(scsidir))) -+ { -+ if (!strcmp(dent->d_name, ".") || !strcmp(dent->d_name, "..")) -+ continue; -+ -+ if (!SCSI_getsysentry(dent->d_name, &dev, cUnixDeviceName)) -+ continue; -+ -+ scsi_addr.PortNumber = dev.host; -+ scsi_addr.PathId = dev.channel; -+ scsi_addr.TargetId = dev.target; -+ scsi_addr.Lun = dev.lun; -+ -+ scsi_addr.PortNumber += uFirstSCSIPort; -+ -+ strcpy(cDevModel, dev.vendor); -+ strcat(cDevModel, dev.model); -+ strcat(cDevModel, dev.rev); -+ -+ /* FIXME: get real driver name */ -+ create_scsi_entry(&scsi_addr, "WINE SCSI", dev.type, cDevModel, cUnixDeviceName); -+ } -+ closedir(scsidir); -+ return; -+ } -+ - procfile = fopen(procname_scsi, "r"); - if (!procfile) - { --- -2.8.0 - diff --git a/patches/kernel32-SCSI_Sysfs/definition b/patches/kernel32-SCSI_Sysfs/definition deleted file mode 100644 index 6875ee43..00000000 --- a/patches/kernel32-SCSI_Sysfs/definition +++ /dev/null @@ -1,2 +0,0 @@ -Fixes: [31592] Use sysfs to populate SCSI registry keys -Disabled: True diff --git a/patches/kernel32-SetProcessDEPPolicy/0002-kernel32-Implement-GetSystemDEPPolicy.patch b/patches/kernel32-SetProcessDEPPolicy/0002-kernel32-Implement-GetSystemDEPPolicy.patch index 9531f18c..4643ad76 100644 --- a/patches/kernel32-SetProcessDEPPolicy/0002-kernel32-Implement-GetSystemDEPPolicy.patch +++ b/patches/kernel32-SetProcessDEPPolicy/0002-kernel32-Implement-GetSystemDEPPolicy.patch @@ -29,10 +29,10 @@ index 185278740e4..503a9797b59 100644 + DWORD size = sizeof(buffer); + HKEY hkey = 0; + HKEY appkey = 0; -+ DWORD len, tmpvalue; -+ WINADVAPI LSTATUS (WINAPI *pRegOpenKeyA)(HKEY,LPCSTR,PHKEY); -+ WINADVAPI LSTATUS (WINAPI *pRegQueryValueExA)(HKEY,LPCSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD); -+ WINADVAPI LSTATUS (WINAPI *pRegCloseKey)(HKEY); ++ DWORD len; ++ LSTATUS (WINAPI *pRegOpenKeyA)(HKEY,LPCSTR,PHKEY); ++ LSTATUS (WINAPI *pRegQueryValueExA)(HKEY,LPCSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD); ++ LSTATUS (WINAPI *pRegCloseKey)(HKEY); + + TRACE("()\n"); + diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index d55804a9..cf41ee92 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "5536df1ee1042c6cf20a7d96c43520003a547092" + echo "5cf64084fb6f277c3453099a65a78817d5c9f1db" } # Show version information diff --git a/patches/wined3d-WINED3D_RS_COLORWRITEENABLE/0001-wined3d-Implement-all-8-d3d11-color-write-masks.patch b/patches/wined3d-WINED3D_RS_COLORWRITEENABLE/0001-wined3d-Implement-all-8-d3d11-color-write-masks.patch index 238705b0..713335eb 100644 --- a/patches/wined3d-WINED3D_RS_COLORWRITEENABLE/0001-wined3d-Implement-all-8-d3d11-color-write-masks.patch +++ b/patches/wined3d-WINED3D_RS_COLORWRITEENABLE/0001-wined3d-Implement-all-8-d3d11-color-write-masks.patch @@ -1,4 +1,4 @@ -From dda3109aadc48a0d65d1b39138c92ed3b4f5451f Mon Sep 17 00:00:00 2001 +From a5242e0992b7e7dab04d32527b9b11564ea8efa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 20 Jul 2017 13:50:07 +0200 Subject: [PATCH] wined3d: Implement all 8 d3d11 color write masks. @@ -17,10 +17,10 @@ Subject: [PATCH] wined3d: Implement all 8 d3d11 color write masks. 10 files changed, 77 insertions(+), 59 deletions(-) diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c -index e3886aa85ba..5292dc32177 100644 +index cb6712021c9..1966f146506 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c -@@ -2087,6 +2087,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi +@@ -2088,6 +2088,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi static const float default_blend_factor[] = {1.0f, 1.0f, 1.0f, 1.0f}; struct d3d_blend_state *blend_state_impl; const D3D11_BLEND_DESC *desc; @@ -28,7 +28,7 @@ index e3886aa85ba..5292dc32177 100644 TRACE("iface %p, blend_state %p, blend_factor %s, sample_mask 0x%08x.\n", iface, blend_state, debug_float4(blend_factor), sample_mask); -@@ -2101,14 +2102,11 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi +@@ -2102,14 +2103,11 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi wined3d_device_set_blend_state(device->wined3d_device, NULL, (const struct wined3d_color *)blend_factor); wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_ALPHABLENDENABLE, FALSE); @@ -48,7 +48,7 @@ index e3886aa85ba..5292dc32177 100644 wined3d_mutex_unlock(); return; } -@@ -2130,14 +2128,13 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi +@@ -2131,14 +2129,13 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_DESTBLENDALPHA, d->DestBlendAlpha); wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_BLENDOPALPHA, d->BlendOpAlpha); } @@ -86,10 +86,10 @@ index 92b75f8e1fb..29dfec3baa9 100644 /* glEnableIndexedEXT(GL_BLEND, ...) */ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c -index 5d9195835bf..73796904781 100644 +index ded9b39a6b2..f63d0e6a049 100644 --- a/dlls/wined3d/context.c +++ b/dlls/wined3d/context.c -@@ -2741,7 +2741,7 @@ void wined3d_context_gl_apply_blit_state(struct wined3d_context_gl *context_gl, +@@ -2796,7 +2796,7 @@ void wined3d_context_gl_apply_blit_state(struct wined3d_context_gl *context_gl, const struct wined3d_gl_info *gl_info; uint32_t rt_mask, *cur_mask; struct wined3d_texture *rt; @@ -98,7 +98,7 @@ index 5d9195835bf..73796904781 100644 SIZE rt_size; TRACE("Setting up context %p for blitting.\n", context); -@@ -2848,10 +2848,8 @@ void wined3d_context_gl_apply_blit_state(struct wined3d_context_gl *context_gl, +@@ -2903,10 +2903,8 @@ void wined3d_context_gl_apply_blit_state(struct wined3d_context_gl *context_gl, context_invalidate_state(context, STATE_RENDER(WINED3D_RS_SRGBWRITEENABLE)); } gl_info->gl_ops.gl.p_glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); @@ -111,7 +111,7 @@ index 5d9195835bf..73796904781 100644 context->last_was_rhw = TRUE; context_invalidate_state(context, STATE_VDECL); /* because of last_was_rhw = TRUE */ -@@ -4848,7 +4846,7 @@ void draw_primitive(struct wined3d_device *device, const struct wined3d_state *s +@@ -4909,7 +4907,7 @@ void draw_primitive(struct wined3d_device *device, const struct wined3d_state *s if (!(rtv = fb->render_targets[i]) || rtv->format->id == WINED3DFMT_NULL) continue; @@ -121,10 +121,10 @@ index 5d9195835bf..73796904781 100644 wined3d_rendertarget_view_load_location(rtv, context, rtv->resource->draw_binding); wined3d_rendertarget_view_invalidate_location(rtv, ~rtv->resource->draw_binding); diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c -index a5b4eb7e9c5..ef077af089a 100644 +index b0f387e4aca..84e43a12ea9 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c -@@ -452,10 +452,8 @@ void device_clear_render_targets(struct wined3d_device *device, UINT rt_count, c +@@ -438,10 +438,8 @@ void device_clear_render_targets(struct wined3d_device *device, UINT rt_count, c } gl_info->gl_ops.gl.p_glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); @@ -138,7 +138,7 @@ index a5b4eb7e9c5..ef077af089a 100644 checkGLcall("glClearColor"); clear_mask = clear_mask | GL_COLOR_BUFFER_BIT; diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c -index 1bb3edc7e25..bfe5d6983de 100644 +index b24372ca952..99deaf64522 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -1553,9 +1553,6 @@ static void state_colorwrite(struct wined3d_context *context, const struct wined @@ -189,7 +189,7 @@ index 1bb3edc7e25..bfe5d6983de 100644 } static void state_colorwrite1(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) -@@ -4672,18 +4674,26 @@ const struct wined3d_state_entry_template misc_state_template[] = +@@ -4671,18 +4673,26 @@ const struct wined3d_state_entry_template misc_state_template[] = { STATE_RENDER(WINED3D_RS_MULTISAMPLEANTIALIAS), { STATE_RENDER(WINED3D_RS_MULTISAMPLEANTIALIAS), state_msaa_w }, WINED3D_GL_EXT_NONE }, { STATE_RENDER(WINED3D_RS_MULTISAMPLEMASK), { STATE_RENDER(WINED3D_RS_MULTISAMPLEMASK), state_multisampmask }, WINED3D_GL_EXT_NONE }, { STATE_RENDER(WINED3D_RS_DEBUGMONITORTOKEN), { STATE_RENDER(WINED3D_RS_DEBUGMONITORTOKEN), state_debug_monitor }, WINED3D_GL_EXT_NONE }, @@ -224,10 +224,10 @@ index 1bb3edc7e25..bfe5d6983de 100644 { STATE_RENDER(WINED3D_RS_ZVISIBLE), { STATE_RENDER(WINED3D_RS_ZVISIBLE), state_zvisible }, WINED3D_GL_EXT_NONE }, /* Samplers */ diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c -index 05149ad1af1..e16b0e2d489 100644 +index 2f27fa94e39..3f0c87f0121 100644 --- a/dlls/wined3d/stateblock.c +++ b/dlls/wined3d/stateblock.c -@@ -44,6 +44,10 @@ static const DWORD pixel_states_render[] = +@@ -45,6 +45,10 @@ static const DWORD pixel_states_render[] = WINED3D_RS_COLORWRITEENABLE1, WINED3D_RS_COLORWRITEENABLE2, WINED3D_RS_COLORWRITEENABLE3, @@ -238,7 +238,7 @@ index 05149ad1af1..e16b0e2d489 100644 WINED3D_RS_DEPTHBIAS, WINED3D_RS_DESTBLEND, WINED3D_RS_DESTBLENDALPHA, -@@ -1276,6 +1280,7 @@ void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock) +@@ -1694,6 +1698,7 @@ const struct wined3d_stateblock_state * CDECL wined3d_stateblock_get_state(const static void init_default_render_states(DWORD rs[WINEHIGHEST_RENDER_STATE + 1], const struct wined3d_d3d_info *d3d_info) { @@ -246,7 +246,7 @@ index 05149ad1af1..e16b0e2d489 100644 union { struct wined3d_line_pattern lp; -@@ -1369,7 +1374,6 @@ static void init_default_render_states(DWORD rs[WINEHIGHEST_RENDER_STATE + 1], c +@@ -1787,7 +1792,6 @@ static void init_default_render_states(DWORD rs[WINEHIGHEST_RENDER_STATE + 1], c tmpfloat.f = d3d_info->limits.pointsize_max; rs[WINED3D_RS_POINTSIZE_MAX] = tmpfloat.d; rs[WINED3D_RS_INDEXEDVERTEXBLENDENABLE] = FALSE; @@ -254,17 +254,17 @@ index 05149ad1af1..e16b0e2d489 100644 tmpfloat.f = 0.0f; rs[WINED3D_RS_TWEENFACTOR] = tmpfloat.d; rs[WINED3D_RS_BLENDOP] = WINED3D_BLEND_OP_ADD; -@@ -1395,9 +1399,6 @@ static void init_default_render_states(DWORD rs[WINEHIGHEST_RENDER_STATE + 1], c +@@ -1813,9 +1817,6 @@ static void init_default_render_states(DWORD rs[WINEHIGHEST_RENDER_STATE + 1], c rs[WINED3D_RS_BACK_STENCILZFAIL] = WINED3D_STENCIL_OP_KEEP; rs[WINED3D_RS_BACK_STENCILPASS] = WINED3D_STENCIL_OP_KEEP; rs[WINED3D_RS_BACK_STENCILFUNC] = WINED3D_CMP_ALWAYS; - rs[WINED3D_RS_COLORWRITEENABLE1] = 0x0000000f; - rs[WINED3D_RS_COLORWRITEENABLE2] = 0x0000000f; - rs[WINED3D_RS_COLORWRITEENABLE3] = 0x0000000f; + rs[WINED3D_RS_BLENDFACTOR] = 0xffffffff; rs[WINED3D_RS_SRGBWRITEENABLE] = 0; rs[WINED3D_RS_DEPTHBIAS] = 0; - rs[WINED3D_RS_WRAP8] = 0; -@@ -1412,6 +1413,8 @@ static void init_default_render_states(DWORD rs[WINEHIGHEST_RENDER_STATE + 1], c +@@ -1831,6 +1832,8 @@ static void init_default_render_states(DWORD rs[WINEHIGHEST_RENDER_STATE + 1], c rs[WINED3D_RS_SRCBLENDALPHA] = WINED3D_BLEND_ONE; rs[WINED3D_RS_DESTBLENDALPHA] = WINED3D_BLEND_ZERO; rs[WINED3D_RS_BLENDOPALPHA] = WINED3D_BLEND_OP_ADD; @@ -274,7 +274,7 @@ index 05149ad1af1..e16b0e2d489 100644 static void init_default_texture_state(unsigned int i, DWORD stage[WINED3D_HIGHEST_TEXTURE_STATE + 1]) diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c -index ec5cd99718d..44a15702d4a 100644 +index 100ec891187..9eb343117b1 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -153,6 +153,7 @@ void texture2d_blt_fbo(struct wined3d_device *device, struct wined3d_context *co @@ -299,10 +299,10 @@ index ec5cd99718d..44a15702d4a 100644 gl_info->gl_ops.gl.p_glDisable(GL_SCISSOR_TEST); context_invalidate_state(context, STATE_RENDER(WINED3D_RS_SCISSORTESTENABLE)); diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c -index ba87a2cd60d..24095d7a84a 100644 +index 306eadf1243..0f44702e351 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c -@@ -4910,7 +4910,6 @@ const char *debug_d3drenderstate(enum wined3d_render_state state) +@@ -4961,7 +4961,6 @@ const char *debug_d3drenderstate(enum wined3d_render_state state) D3DSTATE_TO_STR(WINED3D_RS_DEBUGMONITORTOKEN); D3DSTATE_TO_STR(WINED3D_RS_POINTSIZE_MAX); D3DSTATE_TO_STR(WINED3D_RS_INDEXEDVERTEXBLENDENABLE); @@ -310,7 +310,7 @@ index ba87a2cd60d..24095d7a84a 100644 D3DSTATE_TO_STR(WINED3D_RS_TWEENFACTOR); D3DSTATE_TO_STR(WINED3D_RS_BLENDOP); D3DSTATE_TO_STR(WINED3D_RS_POSITIONDEGREE); -@@ -4930,9 +4929,14 @@ const char *debug_d3drenderstate(enum wined3d_render_state state) +@@ -4981,9 +4980,14 @@ const char *debug_d3drenderstate(enum wined3d_render_state state) D3DSTATE_TO_STR(WINED3D_RS_BACK_STENCILZFAIL); D3DSTATE_TO_STR(WINED3D_RS_BACK_STENCILPASS); D3DSTATE_TO_STR(WINED3D_RS_BACK_STENCILFUNC); @@ -326,10 +326,10 @@ index ba87a2cd60d..24095d7a84a 100644 D3DSTATE_TO_STR(WINED3D_RS_DEPTHBIAS); D3DSTATE_TO_STR(WINED3D_RS_WRAP8); diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 725fb24f408..caf05c35cb7 100644 +index d35996d4590..418c0bb908d 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -291,6 +291,7 @@ static inline enum complex_fixup get_complex_fixup(struct color_fixup_desc fixup +@@ -285,6 +285,7 @@ static inline enum complex_fixup get_complex_fixup(struct color_fixup_desc fixup #define MAX_UNORDERED_ACCESS_VIEWS 8 #define MAX_TGSM_REGISTERS 8192 #define MAX_VERTEX_BLENDS 4 @@ -338,10 +338,10 @@ index 725fb24f408..caf05c35cb7 100644 struct min_lookup { diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h -index 031e4bd99e9..820b466b085 100644 +index 21533eac21e..30db4a7fe28 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h -@@ -400,8 +400,20 @@ enum wined3d_render_state +@@ -401,8 +401,20 @@ enum wined3d_render_state WINED3D_RS_SRCBLENDALPHA = 207, WINED3D_RS_DESTBLENDALPHA = 208, WINED3D_RS_BLENDOPALPHA = 209, @@ -364,5 +364,5 @@ index 031e4bd99e9..820b466b085 100644 enum wined3d_blend { -- -2.23.0.rc1 +2.24.0