Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
720f6868
Commit
720f6868
authored
Mar 05, 2014
by
Henri Verbeet
Committed by
Alexandre Julliard
Mar 05, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Recognize VMware SVGA3D.
Unfortunately I was only able to test this by overriding the GL_RENDERER and GL_VENDOR strings returned by the driver.
parent
9ee120f1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
49 additions
and
20 deletions
+49
-20
directx.c
dlls/wined3d/directx.c
+42
-16
wined3d_private.h
dlls/wined3d/wined3d_private.h
+7
-4
No files found.
dlls/wined3d/directx.c
View file @
720f6868
...
...
@@ -52,6 +52,7 @@ enum wined3d_display_driver
DRIVER_NVIDIA_GEFORCE2MX
,
DRIVER_NVIDIA_GEFORCEFX
,
DRIVER_NVIDIA_GEFORCE6
,
DRIVER_VMWARE
,
DRIVER_UNKNOWN
};
...
...
@@ -1168,6 +1169,9 @@ static const struct driver_version_information driver_version_table[] =
{
DRIVER_NVIDIA_GEFORCEFX
,
DRIVER_MODEL_NT5X
,
"nv4_disp.dll"
,
14
,
11
,
7516
},
{
DRIVER_NVIDIA_GEFORCE6
,
DRIVER_MODEL_NT5X
,
"nv4_disp.dll"
,
15
,
12
,
6658
},
{
DRIVER_NVIDIA_GEFORCE6
,
DRIVER_MODEL_NT6X
,
"nvd3dum.dll"
,
15
,
12
,
6658
},
/* VMware */
{
DRIVER_VMWARE
,
DRIVER_MODEL_NT5X
,
"vm3dum.dll"
,
14
,
1
,
1134
},
};
struct
gpu_description
...
...
@@ -1296,6 +1300,10 @@ static const struct gpu_description gpu_description_table[] =
{
HW_VENDOR_AMD
,
CARD_AMD_RADEON_HD7700
,
"AMD Radeon HD 7700 Series"
,
DRIVER_AMD_R600
,
1024
},
{
HW_VENDOR_AMD
,
CARD_AMD_RADEON_HD7800
,
"AMD Radeon HD 7800 Series"
,
DRIVER_AMD_R600
,
2048
},
{
HW_VENDOR_AMD
,
CARD_AMD_RADEON_HD7900
,
"AMD Radeon HD 7900 Series"
,
DRIVER_AMD_R600
,
2048
},
/* VMware */
{
HW_VENDOR_VMWARE
,
CARD_VMWARE_SVGA3D
,
"VMware SVGA 3D (Microsoft Corporation - WDDM)"
,
DRIVER_VMWARE
,
1024
},
/* Intel cards */
{
HW_VENDOR_INTEL
,
CARD_INTEL_830M
,
"Intel(R) 82830M Graphics Controller"
,
DRIVER_INTEL_GMA800
,
32
},
{
HW_VENDOR_INTEL
,
CARD_INTEL_855GM
,
"Intel(R) 82852/82855 GM/GME Graphics Controller"
,
DRIVER_INTEL_GMA800
,
32
},
...
...
@@ -1616,6 +1624,9 @@ static enum wined3d_pci_vendor wined3d_guess_card_vendor(const char *gl_vendor_s
||
strstr
(
gl_vendor_string
,
"Intel Inc."
))
return
HW_VENDOR_INTEL
;
if
(
strstr
(
gl_renderer
,
"SVGA3D"
))
return
HW_VENDOR_VMWARE
;
if
(
strstr
(
gl_vendor_string
,
"Mesa"
)
||
strstr
(
gl_vendor_string
,
"Brian Paul"
)
||
strstr
(
gl_vendor_string
,
"Tungsten Graphics, Inc"
)
...
...
@@ -2238,29 +2249,41 @@ static enum wined3d_pci_device select_card_nvidia_mesa(const struct wined3d_gl_i
return
PCI_DEVICE_NONE
;
}
static
enum
wined3d_pci_device
select_card_vmware
(
const
struct
wined3d_gl_info
*
gl_info
,
const
char
*
gl_renderer
)
{
if
(
strstr
(
gl_renderer
,
"SVGA3D"
))
return
CARD_VMWARE_SVGA3D
;
return
PCI_DEVICE_NONE
;
}
static
const
struct
gl_vendor_selection
{
enum
wined3d_gl_vendor
gl_vendor
;
const
char
*
description
;
/* Description of the card selector i.e. Apple OS/X Intel */
enum
wined3d_pci_device
(
*
select_card
)(
const
struct
wined3d_gl_info
*
gl_info
,
const
char
*
gl_renderer
);
}
amd_gl_vendor_table
[]
=
{
{
GL_VENDOR_APPLE
,
"Apple OSX AMD/ATI binary driver"
,
select_card_amd_binary
},
{
GL_VENDOR_FGLRX
,
"AMD/ATI binary driver"
,
select_card_amd_binary
},
{
GL_VENDOR_MESA
,
"Mesa AMD/ATI driver"
,
select_card_amd_mesa
},
},
nvidia_gl_vendor_table
[]
=
{
{
GL_VENDOR_
NVIDIA
,
"Nvidia binary driver"
,
select_card_nvidia_binary
},
{
GL_VENDOR_
APPLE
,
"Apple OSX NVidia binary driver"
,
select_card_nvidia_binary
},
{
GL_VENDOR_
MESA
,
"Mesa Nouveau driver"
,
select_card_nvidia_mesa
},
{
GL_VENDOR_
APPLE
,
"Apple OSX NVidia binary driver"
,
select_card_nvidia_binary
},
{
GL_VENDOR_
MESA
,
"Mesa Nouveau driver"
,
select_card_nvidia_mesa
},
{
GL_VENDOR_
NVIDIA
,
"Nvidia binary driver"
,
select_card_nvidia_binary
},
},
amd
_gl_vendor_table
[]
=
vmware
_gl_vendor_table
[]
=
{
{
GL_VENDOR_APPLE
,
"Apple OSX AMD/ATI binary driver"
,
select_card_amd_binary
},
{
GL_VENDOR_FGLRX
,
"AMD/ATI binary driver"
,
select_card_amd_binary
},
{
GL_VENDOR_MESA
,
"Mesa AMD/ATI driver"
,
select_card_amd_mesa
},
{
GL_VENDOR_MESA
,
"VMware driver"
,
select_card_vmware
},
},
intel_gl_vendor_table
[]
=
{
{
GL_VENDOR_APPLE
,
"Apple OSX Intel binary driver"
,
select_card_intel
},
{
GL_VENDOR_INTEL
,
"Mesa Intel driver"
,
select_card_intel
},
{
GL_VENDOR_MESA
,
"Mesa Intel driver"
,
select_card_intel
},
{
GL_VENDOR_APPLE
,
"Apple OSX Intel binary driver"
,
select_card_intel
},
{
GL_VENDOR_INTEL
,
"Mesa Intel driver"
,
select_card_intel
},
{
GL_VENDOR_MESA
,
"Mesa Intel driver"
,
select_card_intel
},
};
static
enum
wined3d_pci_device
select_card_fallback_nvidia
(
const
struct
wined3d_gl_info
*
gl_info
)
...
...
@@ -2333,14 +2356,17 @@ static const struct
}
card_vendor_table
[]
=
{
{
HW_VENDOR_NVIDIA
,
"Nvidia"
,
nvidia_gl_vendor_table
,
sizeof
(
nvidia_gl_vendor_table
)
/
sizeof
(
nvidia_gl_vendor_table
[
0
]),
{
HW_VENDOR_AMD
,
"AMD"
,
amd_gl_vendor_table
,
sizeof
(
amd_gl_vendor_table
)
/
sizeof
(
*
amd_gl_vendor_table
),
select_card_fallback_amd
},
{
HW_VENDOR_NVIDIA
,
"Nvidia"
,
nvidia_gl_vendor_table
,
sizeof
(
nvidia_gl_vendor_table
)
/
sizeof
(
*
nvidia_gl_vendor_table
),
select_card_fallback_nvidia
},
{
HW_VENDOR_
AMD
,
"AMD"
,
amd
_gl_vendor_table
,
sizeof
(
amd_gl_vendor_table
)
/
sizeof
(
amd_gl_vendor_table
[
0
]
),
{
HW_VENDOR_
VMWARE
,
"VMware"
,
vmware
_gl_vendor_table
,
sizeof
(
vmware_gl_vendor_table
)
/
sizeof
(
*
vmware_gl_vendor_table
),
select_card_fallback_amd
},
{
HW_VENDOR_INTEL
,
"Intel"
,
intel_gl_vendor_table
,
sizeof
(
intel_gl_vendor_table
)
/
sizeof
(
intel_gl_vendor_table
[
0
]
),
{
HW_VENDOR_INTEL
,
"Intel"
,
intel_gl_vendor_table
,
sizeof
(
intel_gl_vendor_table
)
/
sizeof
(
*
intel_gl_vendor_table
),
select_card_fallback_intel
},
};
...
...
dlls/wined3d/wined3d_private.h
View file @
720f6868
...
...
@@ -1350,10 +1350,11 @@ struct wined3d_pixel_format
enum
wined3d_pci_vendor
{
HW_VENDOR_SOFTWARE
=
0x0000
,
HW_VENDOR_AMD
=
0x1002
,
HW_VENDOR_NVIDIA
=
0x10de
,
HW_VENDOR_INTEL
=
0x8086
,
HW_VENDOR_SOFTWARE
=
0x0000
,
HW_VENDOR_AMD
=
0x1002
,
HW_VENDOR_NVIDIA
=
0x10de
,
HW_VENDOR_VMWARE
=
0x15ad
,
HW_VENDOR_INTEL
=
0x8086
,
};
enum
wined3d_pci_device
...
...
@@ -1475,6 +1476,8 @@ enum wined3d_pci_device
CARD_NVIDIA_GEFORCE_GTX770M
=
0x11e0
,
CARD_NVIDIA_GEFORCE_GTX770
=
0x1184
,
CARD_VMWARE_SVGA3D
=
0x0405
,
CARD_INTEL_830M
=
0x3577
,
CARD_INTEL_855GM
=
0x3582
,
CARD_INTEL_845G
=
0x2562
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment