Removed patch to return empty D3D hardware flags for RGB device enumeration (accepted upstream).

This commit is contained in:
Erich E. Hoover
2014-08-11 16:23:25 -06:00
parent 43bba1b164
commit 4bc20dfb8e
6 changed files with 2 additions and 124 deletions

View File

@@ -12,7 +12,6 @@ PATCHLIST := \
Pipelight.ok \
atl-IOCS_Property.ok \
comctl32-LoadIconMetric.ok \
ddraw-Empty_Hardware_Flags.ok \
dsound-Fast_Mixer.ok \
dwmapi-Invalidate_Thumbnail.ok \
fonts-Missing_Fonts.ok \
@@ -155,25 +154,6 @@ comctl32-LoadIconMetric.ok:
echo '+ { "comctl32-LoadIconMetric", "Michael Müller", "Implement LoadIconMetric function." },'; \
) > comctl32-LoadIconMetric.ok
# Patchset ddraw-Empty_Hardware_Flags
# |
# | Included patches:
# | * Return empty D3D hardware flags for HEL device enumeration. [by Erich E. Hoover]
# |
# | This patchset fixes the following Wine bugs:
# | * [#32581] Invalid dwFlags of reference rasterizer's HAL D3DDEVICEDESC
# |
# | Modified files:
# | * dlls/ddraw/ddraw.c, dlls/ddraw/tests/d3d.c
# |
.INTERMEDIATE: ddraw-Empty_Hardware_Flags.ok
ddraw-Empty_Hardware_Flags.ok:
$(call APPLY_FILE,ddraw-Empty_Hardware_Flags/0001-ddraw-tests-Remove-broken-tests-of-D3DTRANSFORM_UNCL.patch)
$(call APPLY_FILE,ddraw-Empty_Hardware_Flags/0002-ddraw-Return-empty-D3D-hardware-flags-for-RGB-device.patch)
@( \
echo '+ { "ddraw-Empty_Hardware_Flags", "Erich E. Hoover", "Return empty D3D hardware flags for HEL device enumeration." },'; \
) > ddraw-Empty_Hardware_Flags.ok
# Patchset dsound-Fast_Mixer
# |
# | Included patches:

View File

@@ -1,29 +0,0 @@
From a88740c95d8250e95bf215169896c0eb54a7eb6c Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Sun, 16 Feb 2014 14:14:13 -0700
Subject: ddraw/tests: Remove broken tests of D3DTRANSFORM_UNCLIPPED.
---
dlls/ddraw/tests/d3d.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/dlls/ddraw/tests/d3d.c b/dlls/ddraw/tests/d3d.c
index 209555a..35987cb 100644
--- a/dlls/ddraw/tests/d3d.c
+++ b/dlls/ddraw/tests/d3d.c
@@ -1256,12 +1256,6 @@ static void Direct3D1Test(void)
out[i].x, out[i].y, out[i].z, out[i].rhw,
cmp[i].x, cmp[i].y, cmp[i].z, cmp[i].rhw);
}
- for(i = 0; i < sizeof(outH); i++) {
- if(((unsigned char *) outH)[i] != 0xcc) {
- ok(FALSE, "Homogeneous output was generated despite UNCLIPPED flag\n");
- break;
- }
- }
SET_VP_DATA(vp_data);
hr = IDirect3DViewport_SetViewport(Viewport, &vp_data);
--
1.7.9.5

View File

@@ -1,69 +0,0 @@
From 512926550611374900b9117f1c8c0da493b5a031 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Sun, 16 Feb 2014 14:14:42 -0700
Subject: ddraw: Return empty D3D hardware flags for RGB device enumeration.
---
dlls/ddraw/ddraw.c | 2 ++
dlls/ddraw/tests/d3d.c | 12 ++++++++++++
2 files changed, 14 insertions(+)
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index 011c115..df74122 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -3683,6 +3683,8 @@ static HRESULT WINAPI d3d3_EnumDevices(IDirect3D3 *iface, LPD3DENUMDEVICESCALLBA
| D3DPTEXTURECAPS_NONPOW2CONDITIONAL | D3DPTEXTURECAPS_PERSPECTIVE);
/* RGB, RAMP and MMX devices have a HAL dcmColorModel of 0 */
hal_desc.dcmColorModel = 0;
+ /* RGB, RAMP and MMX devices cannot report HAL hardware flags */
+ hal_desc.dwFlags = 0;
hr = callback((GUID *)&IID_IDirect3DRGBDevice, reference_description,
device_name, &hal_desc, &hel_desc, context);
diff --git a/dlls/ddraw/tests/d3d.c b/dlls/ddraw/tests/d3d.c
index 35987cb..64bd0b9 100644
--- a/dlls/ddraw/tests/d3d.c
+++ b/dlls/ddraw/tests/d3d.c
@@ -537,12 +537,18 @@ static HRESULT WINAPI enumDevicesCallback(GUID *Guid, char *DeviceDescription,
ok(hal->dcmColorModel == 0, "RGB Device %u hal caps has colormodel %u\n", ver, hal->dcmColorModel);
ok(hel->dcmColorModel == D3DCOLOR_RGB, "RGB Device %u hel caps has colormodel %u\n", ver, hel->dcmColorModel);
+
+ ok(hal->dwFlags == 0, "RGB Device %u hal caps has hardware flags %x\n", ver, hal->dwFlags);
+ ok(hel->dwFlags != 0, "RGB Device %u hel caps has hardware flags %x\n", ver, hel->dwFlags);
}
else if(IsEqualGUID(&IID_IDirect3DHALDevice, Guid))
{
trace("HAL Device %d\n", ver);
ok(hal->dcmColorModel == D3DCOLOR_RGB, "HAL Device %u hal caps has colormodel %u\n", ver, hel->dcmColorModel);
ok(hel->dcmColorModel == 0, "HAL Device %u hel caps has colormodel %u\n", ver, hel->dcmColorModel);
+
+ ok(hal->dwFlags != 0, "HAL Device %u hal caps has hardware flags %x\n", ver, hal->dwFlags);
+ ok(hel->dwFlags != 0, "HAL Device %u hel caps has hardware flags %x\n", ver, hel->dwFlags);
}
else if(IsEqualGUID(&IID_IDirect3DRefDevice, Guid))
{
@@ -587,6 +593,9 @@ static HRESULT WINAPI enumDevicesCallback(GUID *Guid, char *DeviceDescription,
ok(hal->dcmColorModel == 0, "Ramp Device %u hal caps has colormodel %u\n", ver, hal->dcmColorModel);
ok(hel->dcmColorModel == D3DCOLOR_MONO, "Ramp Device %u hel caps has colormodel %u\n",
ver, hel->dcmColorModel);
+
+ ok(hal->dwFlags == 0, "Ramp Device %u hal caps has hardware flags %x\n", ver, hal->dwFlags);
+ ok(hel->dwFlags != 0, "Ramp Device %u hel caps has hardware flags %x\n", ver, hel->dwFlags);
}
else if(IsEqualGUID(&IID_IDirect3DMMXDevice, Guid))
{
@@ -610,6 +619,9 @@ static HRESULT WINAPI enumDevicesCallback(GUID *Guid, char *DeviceDescription,
ok(hal->dcmColorModel == 0, "MMX Device %u hal caps has colormodel %u\n", ver, hal->dcmColorModel);
ok(hel->dcmColorModel == D3DCOLOR_RGB, "MMX Device %u hel caps has colormodel %u\n", ver, hel->dcmColorModel);
+
+ ok(hal->dwFlags == 0, "MMX Device %u hal caps has hardware flags %x\n", ver, hal->dwFlags);
+ ok(hel->dwFlags != 0, "MMX Device %u hel caps has hardware flags %x\n", ver, hel->dwFlags);
}
else
{
--
1.7.9.5

View File

@@ -1,4 +0,0 @@
Author: Erich E. Hoover
Subject: Return empty D3D hardware flags for HEL device enumeration.
Revision: 1
Fixes: [32581] Old games cannot locate software-only renderer