Henri Verbeet : wined3d: Also recognise the "classic" Mesa Nouveau driver for GeForce 4 and earlier cards.
Alexandre Julliard
julliard at winehq.org
Mon Mar 12 11:59:55 CDT 2012
Module: wine
Branch: master
Commit: 112e2e219f88cf81280359ae74ae809a3d288574
URL: http://source.winehq.org/git/wine.git/?a=commit;h=112e2e219f88cf81280359ae74ae809a3d288574
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Sun Mar 11 22:03:10 2012 +0100
wined3d: Also recognise the "classic" Mesa Nouveau driver for GeForce 4 and earlier cards.
---
dlls/wined3d/directx.c | 137 +++++++++++++++++++++++------------------------
1 files changed, 67 insertions(+), 70 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 95581ab..56c4066 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -1452,6 +1452,7 @@ static enum wined3d_gl_vendor wined3d_guess_gl_vendor(const struct wined3d_gl_in
static enum wined3d_pci_vendor wined3d_guess_card_vendor(const char *gl_vendor_string, const char *gl_renderer)
{
if (strstr(gl_vendor_string, "NVIDIA")
+ || strstr(gl_vendor_string, "Nouveau")
|| strstr(gl_vendor_string, "nouveau"))
return HW_VENDOR_NVIDIA;
@@ -2044,79 +2045,75 @@ static enum wined3d_pci_device select_card_nvidia_mesa(const struct wined3d_gl_i
const char *gl_renderer)
{
UINT d3d_level;
+ unsigned int i;
- if (strstr(gl_renderer, "Gallium"))
+ static const struct
{
- unsigned int i;
-
- static const struct
- {
- const char *renderer;
- enum wined3d_pci_device id;
- }
- cards[] =
- {
- {"NVC8", CARD_NVIDIA_GEFORCE_GTX570},
- {"NVC4", CARD_NVIDIA_GEFORCE_GTX460},
- {"NVC3", CARD_NVIDIA_GEFORCE_GT440},
- {"NVC0", CARD_NVIDIA_GEFORCE_GTX480},
- {"NVAF", CARD_NVIDIA_GEFORCE_GT320M},
- {"NVAC", CARD_NVIDIA_GEFORCE_8200},
- {"NVAA", CARD_NVIDIA_GEFORCE_8200},
- {"NVA8", CARD_NVIDIA_GEFORCE_210},
- {"NVA5", CARD_NVIDIA_GEFORCE_GT220},
- {"NVA3", CARD_NVIDIA_GEFORCE_GT240},
- {"NVA0", CARD_NVIDIA_GEFORCE_GTX280},
- {"NV98", CARD_NVIDIA_GEFORCE_9200},
- {"NV96", CARD_NVIDIA_GEFORCE_9400GT},
- {"NV94", CARD_NVIDIA_GEFORCE_9600GT},
- {"NV92", CARD_NVIDIA_GEFORCE_9800GT},
- {"NV86", CARD_NVIDIA_GEFORCE_8500GT},
- {"NV84", CARD_NVIDIA_GEFORCE_8600GT},
- {"NV68", CARD_NVIDIA_GEFORCE_6200}, /* 7050 */
- {"NV67", CARD_NVIDIA_GEFORCE_6200}, /* 7000M */
- {"NV63", CARD_NVIDIA_GEFORCE_6200}, /* 7100 */
- {"NV50", CARD_NVIDIA_GEFORCE_8800GTX},
- {"NV4E", CARD_NVIDIA_GEFORCE_6200}, /* 6100 Go / 6150 Go */
- {"NV4C", CARD_NVIDIA_GEFORCE_6200}, /* 6150SE */
- {"NV4B", CARD_NVIDIA_GEFORCE_7600},
- {"NV4A", CARD_NVIDIA_GEFORCE_6200},
- {"NV49", CARD_NVIDIA_GEFORCE_7800GT}, /* 7900 */
- {"NV47", CARD_NVIDIA_GEFORCE_7800GT},
- {"NV46", CARD_NVIDIA_GEFORCE_7400},
- {"NV45", CARD_NVIDIA_GEFORCE_6800},
- {"NV44", CARD_NVIDIA_GEFORCE_6200},
- {"NV43", CARD_NVIDIA_GEFORCE_6600GT},
- {"NV42", CARD_NVIDIA_GEFORCE_6800},
- {"NV41", CARD_NVIDIA_GEFORCE_6800},
- {"NV40", CARD_NVIDIA_GEFORCE_6800},
- {"NV38", CARD_NVIDIA_GEFORCEFX_5800}, /* FX 5950 Ultra */
- {"NV36", CARD_NVIDIA_GEFORCEFX_5800}, /* FX 5700/5750 */
- {"NV35", CARD_NVIDIA_GEFORCEFX_5800}, /* FX 5900 */
- {"NV34", CARD_NVIDIA_GEFORCEFX_5200},
- {"NV31", CARD_NVIDIA_GEFORCEFX_5600},
- {"NV30", CARD_NVIDIA_GEFORCEFX_5800},
- {"NV28", CARD_NVIDIA_GEFORCE4_TI4200},
- {"NV25", CARD_NVIDIA_GEFORCE4_TI4200},
- {"NV20", CARD_NVIDIA_GEFORCE3},
- {"NV1F", CARD_NVIDIA_GEFORCE4_MX}, /* GF4 MX IGP */
- {"NV1A", CARD_NVIDIA_GEFORCE2}, /* GF2 IGP */
- {"NV18", CARD_NVIDIA_GEFORCE4_MX},
- {"NV17", CARD_NVIDIA_GEFORCE4_MX},
- {"NV16", CARD_NVIDIA_GEFORCE2},
- {"NV15", CARD_NVIDIA_GEFORCE2},
- {"NV11", CARD_NVIDIA_GEFORCE2_MX},
- {"NV10", CARD_NVIDIA_GEFORCE},
- {"NV05", CARD_NVIDIA_RIVA_TNT2},
- {"NV04", CARD_NVIDIA_RIVA_TNT},
- {"NV03", CARD_NVIDIA_RIVA_128},
- };
+ const char *renderer;
+ enum wined3d_pci_device id;
+ }
+ cards[] =
+ {
+ {"NVC8", CARD_NVIDIA_GEFORCE_GTX570},
+ {"NVC4", CARD_NVIDIA_GEFORCE_GTX460},
+ {"NVC3", CARD_NVIDIA_GEFORCE_GT440},
+ {"NVC0", CARD_NVIDIA_GEFORCE_GTX480},
+ {"NVAF", CARD_NVIDIA_GEFORCE_GT320M},
+ {"NVAC", CARD_NVIDIA_GEFORCE_8200},
+ {"NVAA", CARD_NVIDIA_GEFORCE_8200},
+ {"NVA8", CARD_NVIDIA_GEFORCE_210},
+ {"NVA5", CARD_NVIDIA_GEFORCE_GT220},
+ {"NVA3", CARD_NVIDIA_GEFORCE_GT240},
+ {"NVA0", CARD_NVIDIA_GEFORCE_GTX280},
+ {"NV98", CARD_NVIDIA_GEFORCE_9200},
+ {"NV96", CARD_NVIDIA_GEFORCE_9400GT},
+ {"NV94", CARD_NVIDIA_GEFORCE_9600GT},
+ {"NV92", CARD_NVIDIA_GEFORCE_9800GT},
+ {"NV86", CARD_NVIDIA_GEFORCE_8500GT},
+ {"NV84", CARD_NVIDIA_GEFORCE_8600GT},
+ {"NV68", CARD_NVIDIA_GEFORCE_6200}, /* 7050 */
+ {"NV67", CARD_NVIDIA_GEFORCE_6200}, /* 7000M */
+ {"NV63", CARD_NVIDIA_GEFORCE_6200}, /* 7100 */
+ {"NV50", CARD_NVIDIA_GEFORCE_8800GTX},
+ {"NV4E", CARD_NVIDIA_GEFORCE_6200}, /* 6100 Go / 6150 Go */
+ {"NV4C", CARD_NVIDIA_GEFORCE_6200}, /* 6150SE */
+ {"NV4B", CARD_NVIDIA_GEFORCE_7600},
+ {"NV4A", CARD_NVIDIA_GEFORCE_6200},
+ {"NV49", CARD_NVIDIA_GEFORCE_7800GT}, /* 7900 */
+ {"NV47", CARD_NVIDIA_GEFORCE_7800GT},
+ {"NV46", CARD_NVIDIA_GEFORCE_7400},
+ {"NV45", CARD_NVIDIA_GEFORCE_6800},
+ {"NV44", CARD_NVIDIA_GEFORCE_6200},
+ {"NV43", CARD_NVIDIA_GEFORCE_6600GT},
+ {"NV42", CARD_NVIDIA_GEFORCE_6800},
+ {"NV41", CARD_NVIDIA_GEFORCE_6800},
+ {"NV40", CARD_NVIDIA_GEFORCE_6800},
+ {"NV38", CARD_NVIDIA_GEFORCEFX_5800}, /* FX 5950 Ultra */
+ {"NV36", CARD_NVIDIA_GEFORCEFX_5800}, /* FX 5700/5750 */
+ {"NV35", CARD_NVIDIA_GEFORCEFX_5800}, /* FX 5900 */
+ {"NV34", CARD_NVIDIA_GEFORCEFX_5200},
+ {"NV31", CARD_NVIDIA_GEFORCEFX_5600},
+ {"NV30", CARD_NVIDIA_GEFORCEFX_5800},
+ {"nv28", CARD_NVIDIA_GEFORCE4_TI4200},
+ {"nv25", CARD_NVIDIA_GEFORCE4_TI4200},
+ {"nv20", CARD_NVIDIA_GEFORCE3},
+ {"nv1F", CARD_NVIDIA_GEFORCE4_MX}, /* GF4 MX IGP */
+ {"nv1A", CARD_NVIDIA_GEFORCE2}, /* GF2 IGP */
+ {"nv18", CARD_NVIDIA_GEFORCE4_MX},
+ {"nv17", CARD_NVIDIA_GEFORCE4_MX},
+ {"nv16", CARD_NVIDIA_GEFORCE2},
+ {"nv15", CARD_NVIDIA_GEFORCE2},
+ {"nv11", CARD_NVIDIA_GEFORCE2_MX},
+ {"nv10", CARD_NVIDIA_GEFORCE},
+ {"nv05", CARD_NVIDIA_RIVA_TNT2},
+ {"nv04", CARD_NVIDIA_RIVA_TNT},
+ {"nv03", CARD_NVIDIA_RIVA_128},
+ };
- for (i = 0; i < sizeof(cards) / sizeof(*cards); ++i)
- {
- if (strstr(gl_renderer, cards[i].renderer))
- return cards[i].id;
- }
+ for (i = 0; i < sizeof(cards) / sizeof(*cards); ++i)
+ {
+ if (strstr(gl_renderer, cards[i].renderer))
+ return cards[i].id;
}
FIXME_(d3d_caps)("Unknown renderer %s.\n", debugstr_a(gl_renderer));
More information about the wine-cvs
mailing list