Paul Andrew Panon : wined3d: Adjust the quirks to use the new GL_VENDOR codes.
Alexandre Julliard
julliard at winehq.org
Wed Mar 3 11:15:48 CST 2010
Module: wine
Branch: master
Commit: 1735b4ee92514c23a644de77135e5b99baebcb2b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1735b4ee92514c23a644de77135e5b99baebcb2b
Author: Paul Andrew Panon <ppanon at shaw.ca>
Date: Tue Mar 2 23:16:28 2010 -0800
wined3d: Adjust the quirks to use the new GL_VENDOR codes.
---
dlls/wined3d/directx.c | 37 ++++++++++++++++++-------------------
1 files changed, 18 insertions(+), 19 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index d3404ad..759e74c 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -483,7 +483,6 @@ static BOOL match_apple(const struct wined3d_gl_info *gl_info, const char *gl_re
return FALSE;
}
-
/* Context activation is done by the caller. */
static void test_pbo_functionality(struct wined3d_gl_info *gl_info)
{
@@ -556,13 +555,13 @@ static void test_pbo_functionality(struct wined3d_gl_info *gl_info)
static BOOL match_apple_intel(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
enum wined3d_gl_vendor gl_vendor, enum wined3d_pci_vendor card_vendor, enum wined3d_pci_device device)
{
- return card_vendor == HW_VENDOR_INTEL && match_apple(gl_info, gl_renderer, gl_vendor, card_vendor, device);
+ return (card_vendor == HW_VENDOR_INTEL) && (gl_vendor == GL_VENDOR_APPLE);
}
static BOOL match_apple_nonr500ati(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
enum wined3d_gl_vendor gl_vendor, enum wined3d_pci_vendor card_vendor, enum wined3d_pci_device device)
{
- if (!match_apple(gl_info, gl_renderer, gl_vendor, card_vendor, device)) return FALSE;
+ if (gl_vendor != GL_VENDOR_APPLE) return FALSE;
if (card_vendor != HW_VENDOR_ATI) return FALSE;
if (device == CARD_ATI_RADEON_X1600) return FALSE;
return TRUE;
@@ -571,10 +570,8 @@ static BOOL match_apple_nonr500ati(const struct wined3d_gl_info *gl_info, const
static BOOL match_fglrx(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
enum wined3d_gl_vendor gl_vendor, enum wined3d_pci_vendor card_vendor, enum wined3d_pci_device device)
{
- if (card_vendor != HW_VENDOR_ATI) return FALSE;
- if (match_apple(gl_info, gl_renderer, gl_vendor, card_vendor, device)) return FALSE;
- if (strstr(gl_renderer, "DRI")) return FALSE; /* Filter out Mesa DRI drivers. */
- return TRUE;
+ return (gl_vendor == GL_VENDOR_ATI);
+
}
static BOOL match_dx10_capable(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
@@ -907,7 +904,7 @@ static const struct driver_quirk quirk_table[] =
*/
struct driver_version_information
{
- WORD card_vendor; /* reported PCI card vendor ID */
+ WORD vendor; /* reported PCI card vendor ID */
WORD card; /* reported PCI card device ID */
const char *description; /* Description of the card e.g. NVIDIA RIVA TNT */
WORD d3d_level; /* driver hiword to report */
@@ -972,7 +969,7 @@ static const struct driver_version_information driver_version_table[] =
};
static void init_driver_info(struct wined3d_driver_info *driver_info,
- enum wined3d_pci_vendor card_vendor, enum wined3d_pci_device device)
+ enum wined3d_pci_vendor vendor, enum wined3d_pci_device device)
{
OSVERSIONINFOW os_version;
WORD driver_os_version;
@@ -981,9 +978,9 @@ static void init_driver_info(struct wined3d_driver_info *driver_info,
if (wined3d_settings.pci_vendor_id != PCI_VENDOR_NONE)
{
TRACE_(d3d_caps)("Overriding PCI vendor ID with: %04x\n", wined3d_settings.pci_vendor_id);
- card_vendor = wined3d_settings.pci_vendor_id;
+ vendor = wined3d_settings.pci_vendor_id;
}
- driver_info->vendor = card_vendor;
+ driver_info->vendor = vendor;
if (wined3d_settings.pci_device_id != PCI_DEVICE_NONE)
{
@@ -992,7 +989,7 @@ static void init_driver_info(struct wined3d_driver_info *driver_info,
}
driver_info->device = device;
- switch (card_vendor)
+ switch (vendor)
{
case HW_VENDOR_ATI:
driver_info->name = "ati2dvag.dll";
@@ -1002,8 +999,9 @@ static void init_driver_info(struct wined3d_driver_info *driver_info,
driver_info->name = "nv4_disp.dll";
break;
+ case HW_VENDOR_INTEL:
default:
- FIXME_(d3d_caps)("Unhandled card vendor %04x.\n", card_vendor);
+ FIXME_(d3d_caps)("Unhandled vendor %04x.\n", vendor);
driver_info->name = "Display";
break;
}
@@ -1058,9 +1056,9 @@ static void init_driver_info(struct wined3d_driver_info *driver_info,
for (i = 0; i < (sizeof(driver_version_table) / sizeof(driver_version_table[0])); ++i)
{
- if (card_vendor == driver_version_table[i].card_vendor && device == driver_version_table[i].card)
+ if (vendor == driver_version_table[i].vendor && device == driver_version_table[i].card)
{
- TRACE_(d3d_caps)("Found card %04x:%04x in driver DB.\n", card_vendor, device);
+ TRACE_(d3d_caps)("Found card %04x:%04x in driver DB.\n", vendor, device);
driver_info->description = driver_version_table[i].description;
driver_info->version_high = MAKEDWORD_VERSION(driver_os_version, driver_version_table[i].d3d_level);
@@ -1171,13 +1169,14 @@ static enum wined3d_pci_vendor wined3d_guess_card_vendor(const char *gl_vendor_s
|| strstr(gl_vendor_string, "VMware, Inc."))
return HW_VENDOR_WINE;
- FIXME_(d3d_caps)("Received unrecognized GL_VENDOR %s. Returning HW_VENDOR_WINE.\n", debugstr_a(gl_vendor_string));
+ FIXME_(d3d_caps)("Received unrecognized GL_VENDOR %s. Returning HW_VENDOR_NVIDIA.\n", debugstr_a(gl_vendor_string));
- return HW_VENDOR_WINE;
+ return HW_VENDOR_NVIDIA;
}
+
static enum wined3d_pci_device wined3d_guess_card(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
- enum wined3d_pci_vendor *card_vendor, unsigned int *vidmem)
+ enum wined3d_gl_vendor *gl_vendor, enum wined3d_pci_vendor *card_vendor, unsigned int *vidmem)
{
/* Below is a list of Nvidia and ATI GPUs. Both vendors have dozens of
* different GPUs with roughly the same features. In most cases GPUs from a
@@ -2213,7 +2212,7 @@ static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_adapter *adapter)
card_vendor = wined3d_guess_card_vendor(gl_string, gl_renderer);
TRACE_(d3d_caps)("found GL_VENDOR (%s)->(0x%04x/0x%04x)\n", debugstr_a(gl_string), gl_vendor, card_vendor);
- device = wined3d_guess_card(gl_info, gl_renderer, &card_vendor, &vidmem);
+ device = wined3d_guess_card(gl_info, gl_renderer, &gl_vendor, &card_vendor, &vidmem);
TRACE_(d3d_caps)("FOUND (fake) card: 0x%x (vendor id), 0x%x (device id)\n", card_vendor, device);
/* If we have an estimate use it, else default to 64MB; */
More information about the wine-cvs
mailing list