wined3d: Store PCI IDs in wined3d_driver_info instead of wined3d_gl_info.
This commit is contained in:
parent
2eb33f5bcb
commit
2447c8bc3e
|
@ -458,20 +458,22 @@ static DWORD ver_for_ext(GL_SupportedExt ext)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static BOOL match_ati_r300_to_500(const struct wined3d_gl_info *gl_info, const char *gl_renderer)
|
||||
static BOOL match_ati_r300_to_500(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
|
||||
enum wined3d_pci_vendor vendor, enum wined3d_pci_device device)
|
||||
{
|
||||
if (gl_info->gl_vendor != VENDOR_ATI) return FALSE;
|
||||
if (gl_info->gl_card == CARD_ATI_RADEON_9500) return TRUE;
|
||||
if (gl_info->gl_card == CARD_ATI_RADEON_X700) return TRUE;
|
||||
if (gl_info->gl_card == CARD_ATI_RADEON_X1600) return TRUE;
|
||||
if (vendor != VENDOR_ATI) return FALSE;
|
||||
if (device == CARD_ATI_RADEON_9500) return TRUE;
|
||||
if (device == CARD_ATI_RADEON_X700) return TRUE;
|
||||
if (device == CARD_ATI_RADEON_X1600) return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOL match_geforce5(const struct wined3d_gl_info *gl_info, const char *gl_renderer)
|
||||
static BOOL match_geforce5(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
|
||||
enum wined3d_pci_vendor vendor, enum wined3d_pci_device device)
|
||||
{
|
||||
if (gl_info->gl_vendor == VENDOR_NVIDIA)
|
||||
if (vendor == VENDOR_NVIDIA)
|
||||
{
|
||||
if (gl_info->gl_card == CARD_NVIDIA_GEFORCEFX_5800 || gl_info->gl_card == CARD_NVIDIA_GEFORCEFX_5600)
|
||||
if (device == CARD_NVIDIA_GEFORCEFX_5800 || device == CARD_NVIDIA_GEFORCEFX_5600)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -479,7 +481,8 @@ static BOOL match_geforce5(const struct wined3d_gl_info *gl_info, const char *gl
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOL match_apple(const struct wined3d_gl_info *gl_info, const char *gl_renderer)
|
||||
static BOOL match_apple(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
|
||||
enum wined3d_pci_vendor vendor, enum wined3d_pci_device device)
|
||||
{
|
||||
/* MacOS has various specialities in the extensions it advertises. Some have to be loaded from
|
||||
* the opengl 1.2+ core, while other extensions are advertised, but software emulated. So try to
|
||||
|
@ -574,28 +577,32 @@ 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)
|
||||
static BOOL match_apple_intel(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
|
||||
enum wined3d_pci_vendor vendor, enum wined3d_pci_device device)
|
||||
{
|
||||
return gl_info->gl_vendor == VENDOR_INTEL && match_apple(gl_info, gl_renderer);
|
||||
return vendor == VENDOR_INTEL && match_apple(gl_info, gl_renderer, vendor, device);
|
||||
}
|
||||
|
||||
static BOOL match_apple_nonr500ati(const struct wined3d_gl_info *gl_info, const char *gl_renderer)
|
||||
static BOOL match_apple_nonr500ati(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
|
||||
enum wined3d_pci_vendor vendor, enum wined3d_pci_device device)
|
||||
{
|
||||
if (!match_apple(gl_info, gl_renderer)) return FALSE;
|
||||
if (gl_info->gl_vendor != VENDOR_ATI) return FALSE;
|
||||
if (gl_info->gl_card == CARD_ATI_RADEON_X1600) return FALSE;
|
||||
if (!match_apple(gl_info, gl_renderer, vendor, device)) return FALSE;
|
||||
if (vendor != VENDOR_ATI) return FALSE;
|
||||
if (device == CARD_ATI_RADEON_X1600) return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL match_fglrx(const struct wined3d_gl_info *gl_info, const char *gl_renderer)
|
||||
static BOOL match_fglrx(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
|
||||
enum wined3d_pci_vendor vendor, enum wined3d_pci_device device)
|
||||
{
|
||||
if (gl_info->gl_vendor != VENDOR_ATI) return FALSE;
|
||||
if (match_apple(gl_info, gl_renderer)) return FALSE;
|
||||
if (vendor != VENDOR_ATI) return FALSE;
|
||||
if (match_apple(gl_info, gl_renderer, vendor, device)) return FALSE;
|
||||
if (strstr(gl_renderer, "DRI")) return FALSE; /* Filter out Mesa DRI drivers. */
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL match_dx10_capable(const struct wined3d_gl_info *gl_info, const char *gl_renderer)
|
||||
static BOOL match_dx10_capable(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
|
||||
enum wined3d_pci_vendor vendor, enum wined3d_pci_device device)
|
||||
{
|
||||
/* DX9 cards support 40 single float varyings in hardware, most drivers report 32. ATI misreports
|
||||
* 44 varyings. So assume that if we have more than 44 varyings we have a dx10 card.
|
||||
|
@ -608,7 +615,8 @@ static BOOL match_dx10_capable(const struct wined3d_gl_info *gl_info, const char
|
|||
}
|
||||
|
||||
/* A GL context is provided by the caller */
|
||||
static BOOL match_allows_spec_alpha(const struct wined3d_gl_info *gl_info, const char *gl_renderer)
|
||||
static BOOL match_allows_spec_alpha(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
|
||||
enum wined3d_pci_vendor vendor, enum wined3d_pci_device device)
|
||||
{
|
||||
GLenum error;
|
||||
DWORD data[16];
|
||||
|
@ -634,14 +642,16 @@ static BOOL match_allows_spec_alpha(const struct wined3d_gl_info *gl_info, const
|
|||
}
|
||||
}
|
||||
|
||||
static BOOL match_apple_nvts(const struct wined3d_gl_info *gl_info, const char *gl_renderer)
|
||||
static BOOL match_apple_nvts(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
|
||||
enum wined3d_pci_vendor vendor, enum wined3d_pci_device device)
|
||||
{
|
||||
if(!match_apple(gl_info, gl_renderer)) return FALSE;
|
||||
if (!match_apple(gl_info, gl_renderer, vendor, device)) return FALSE;
|
||||
return GL_SUPPORT(NV_TEXTURE_SHADER);
|
||||
}
|
||||
|
||||
/* A GL context is provided by the caller */
|
||||
static BOOL match_broken_nv_clip(const struct wined3d_gl_info *gl_info, const char *gl_renderer)
|
||||
static BOOL match_broken_nv_clip(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
|
||||
enum wined3d_pci_vendor vendor, enum wined3d_pci_device device)
|
||||
{
|
||||
GLuint prog;
|
||||
BOOL ret = FALSE;
|
||||
|
@ -817,7 +827,8 @@ static void quirk_disable_nvvp_clip(struct wined3d_gl_info *gl_info)
|
|||
|
||||
struct driver_quirk
|
||||
{
|
||||
BOOL (*match)(const struct wined3d_gl_info *gl_info, const char *gl_renderer);
|
||||
BOOL (*match)(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
|
||||
enum wined3d_pci_vendor vendor, enum wined3d_pci_device device);
|
||||
void (*apply)(struct wined3d_gl_info *gl_info);
|
||||
const char *description;
|
||||
};
|
||||
|
@ -963,10 +974,13 @@ static const struct driver_version_information driver_version_table[] =
|
|||
/* TODO: Add information about legacy ATI hardware, Intel and other cards. */
|
||||
};
|
||||
|
||||
static void init_driver_info(struct wined3d_driver_info *driver_info, WORD vendor, WORD device)
|
||||
static void init_driver_info(struct wined3d_driver_info *driver_info,
|
||||
enum wined3d_pci_vendor vendor, enum wined3d_pci_device device)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
driver_info->vendor = vendor;
|
||||
driver_info->device = device;
|
||||
driver_info->name = "Display";
|
||||
driver_info->description = "Direct3D HAL";
|
||||
driver_info->version_high = MAKEDWORD_VERSION(7, 1);
|
||||
|
@ -992,13 +1006,14 @@ static void init_driver_info(struct wined3d_driver_info *driver_info, WORD vendo
|
|||
}
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
static void fixup_extensions(struct wined3d_gl_info *gl_info, const char *gl_renderer)
|
||||
static void fixup_extensions(struct wined3d_gl_info *gl_info, const char *gl_renderer,
|
||||
enum wined3d_pci_vendor vendor, enum wined3d_pci_device device)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < (sizeof(quirk_table) / sizeof(*quirk_table)); ++i)
|
||||
{
|
||||
if (!quirk_table[i].match(gl_info, gl_renderer)) continue;
|
||||
if (!quirk_table[i].match(gl_info, gl_renderer, vendor, device)) continue;
|
||||
TRACE_(d3d_caps)("Applying driver quirk \"%s\".\n", quirk_table[i].description);
|
||||
quirk_table[i].apply(gl_info);
|
||||
}
|
||||
|
@ -1025,7 +1040,7 @@ static DWORD wined3d_parse_gl_version(const char *gl_version)
|
|||
return MAKEDWORD_VERSION(major, minor);
|
||||
}
|
||||
|
||||
static GL_Vendors wined3d_guess_vendor(const char *gl_vendor, const char *gl_renderer)
|
||||
static enum wined3d_pci_vendor wined3d_guess_vendor(const char *gl_vendor, const char *gl_renderer)
|
||||
{
|
||||
if (strstr(gl_vendor, "NVIDIA"))
|
||||
return VENDOR_NVIDIA;
|
||||
|
@ -1048,8 +1063,8 @@ static GL_Vendors wined3d_guess_vendor(const char *gl_vendor, const char *gl_ren
|
|||
return VENDOR_WINE;
|
||||
}
|
||||
|
||||
static GL_Cards wined3d_guess_card(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
|
||||
GL_Vendors *vendor, unsigned int *vidmem)
|
||||
static enum wined3d_pci_device wined3d_guess_card(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
|
||||
enum wined3d_pci_vendor *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
|
||||
|
@ -1517,6 +1532,8 @@ static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_driver_info *driver_info, str
|
|||
const char *GL_Extensions = NULL;
|
||||
const char *WGL_Extensions = NULL;
|
||||
const char *gl_string = NULL;
|
||||
enum wined3d_pci_vendor vendor;
|
||||
enum wined3d_pci_device device;
|
||||
GLint gl_max;
|
||||
GLfloat gl_floatv[2];
|
||||
unsigned i;
|
||||
|
@ -1558,8 +1575,8 @@ static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_driver_info *driver_info, str
|
|||
HeapFree(GetProcessHeap(), 0, gl_renderer);
|
||||
return FALSE;
|
||||
}
|
||||
gl_info->gl_vendor = wined3d_guess_vendor(gl_string, gl_renderer);
|
||||
TRACE_(d3d_caps)("found GL_VENDOR (%s)->(0x%04x)\n", debugstr_a(gl_string), gl_info->gl_vendor);
|
||||
vendor = wined3d_guess_vendor(gl_string, gl_renderer);
|
||||
TRACE_(d3d_caps)("found GL_VENDOR (%s)->(0x%04x)\n", debugstr_a(gl_string), vendor);
|
||||
|
||||
/* Parse the GL_VERSION field into major and minor information */
|
||||
gl_string = (const char *)glGetString(GL_VERSION);
|
||||
|
@ -1996,8 +2013,8 @@ static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_driver_info *driver_info, str
|
|||
gl_info->max_buffers = 1;
|
||||
}
|
||||
|
||||
gl_info->gl_card = wined3d_guess_card(gl_info, gl_renderer, &gl_info->gl_vendor, &vidmem);
|
||||
TRACE_(d3d_caps)("FOUND (fake) card: 0x%x (vendor id), 0x%x (device id)\n", gl_info->gl_vendor, gl_info->gl_card);
|
||||
device = wined3d_guess_card(gl_info, gl_renderer, &vendor, &vidmem);
|
||||
TRACE_(d3d_caps)("FOUND (fake) card: 0x%x (vendor id), 0x%x (device id)\n", vendor, device);
|
||||
|
||||
/* If we have an estimate use it, else default to 64MB; */
|
||||
if(vidmem)
|
||||
|
@ -2059,8 +2076,8 @@ static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_driver_info *driver_info, str
|
|||
}
|
||||
}
|
||||
|
||||
fixup_extensions(gl_info, gl_renderer);
|
||||
init_driver_info(driver_info, gl_info->gl_vendor, gl_info->gl_card);
|
||||
fixup_extensions(gl_info, gl_renderer, vendor, device);
|
||||
init_driver_info(driver_info, vendor, device);
|
||||
add_gl_compat_wrappers(gl_info);
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, gl_renderer);
|
||||
|
@ -2330,8 +2347,8 @@ static HRESULT WINAPI IWineD3DImpl_GetAdapterIdentifier(IWineD3D *iface, UINT Ad
|
|||
|
||||
pIdentifier->driver_version.u.HighPart = adapter->driver_info.version_high;
|
||||
pIdentifier->driver_version.u.LowPart = adapter->driver_info.version_low;
|
||||
pIdentifier->vendor_id = adapter->gl_info.gl_vendor;
|
||||
pIdentifier->device_id = adapter->gl_info.gl_card;
|
||||
pIdentifier->vendor_id = adapter->driver_info.vendor;
|
||||
pIdentifier->device_id = adapter->driver_info.device;
|
||||
pIdentifier->subsystem_id = 0;
|
||||
pIdentifier->revision = 0;
|
||||
memcpy(&pIdentifier->device_identifier, &IID_D3DDEVICE_D3DUID, sizeof(pIdentifier->device_identifier));
|
||||
|
@ -4688,7 +4705,7 @@ BOOL InitAdapters(IWineD3DImpl *This)
|
|||
WineD3D_ReleaseFakeGLContext(&fake_gl_ctx);
|
||||
goto nogl_adapter;
|
||||
}
|
||||
ret = initPixelFormats(&adapter->gl_info);
|
||||
ret = initPixelFormats(&adapter->gl_info, adapter->driver_info.vendor);
|
||||
if(!ret) {
|
||||
ERR("Failed to init gl formats\n");
|
||||
WineD3D_ReleaseFakeGLContext(&fake_gl_ctx);
|
||||
|
|
|
@ -897,7 +897,7 @@ static BOOL check_filter(const struct wined3d_gl_info *gl_info, GLenum internal)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static void init_format_filter_info(struct wined3d_gl_info *gl_info)
|
||||
static void init_format_filter_info(struct wined3d_gl_info *gl_info, enum wined3d_pci_vendor vendor)
|
||||
{
|
||||
unsigned int fmt_idx, i;
|
||||
WINED3DFORMAT fmts16[] = {
|
||||
|
@ -911,7 +911,7 @@ static void init_format_filter_info(struct wined3d_gl_info *gl_info)
|
|||
if(wined3d_settings.offscreen_rendering_mode != ORM_FBO)
|
||||
{
|
||||
WARN("No FBO support, or no FBO ORM, guessing filter info from GL caps\n");
|
||||
if(gl_info->gl_vendor == VENDOR_NVIDIA && GL_SUPPORT(ARB_TEXTURE_FLOAT))
|
||||
if (vendor == VENDOR_NVIDIA && GL_SUPPORT(ARB_TEXTURE_FLOAT))
|
||||
{
|
||||
TRACE("Nvidia card with texture_float support: Assuming float16 blending\n");
|
||||
filtered = TRUE;
|
||||
|
@ -1120,7 +1120,7 @@ BOOL initPixelFormatsNoGL(struct wined3d_gl_info *gl_info)
|
|||
}
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
BOOL initPixelFormats(struct wined3d_gl_info *gl_info)
|
||||
BOOL initPixelFormats(struct wined3d_gl_info *gl_info, enum wined3d_pci_vendor vendor)
|
||||
{
|
||||
if (!init_format_base_info(gl_info)) return FALSE;
|
||||
|
||||
|
@ -1130,7 +1130,7 @@ BOOL initPixelFormats(struct wined3d_gl_info *gl_info)
|
|||
|
||||
apply_format_fixups(gl_info);
|
||||
init_format_fbo_compat_info(gl_info);
|
||||
init_format_filter_info(gl_info);
|
||||
init_format_filter_info(gl_info, vendor);
|
||||
|
||||
return TRUE;
|
||||
|
||||
|
|
|
@ -3461,83 +3461,6 @@ typedef void (WINE_GLAPI * PGLFNVERTEXATTRIBPOINTERPROC) (GLuint index, GLint si
|
|||
/****************************************************
|
||||
* Enumerated types
|
||||
****************************************************/
|
||||
typedef enum _GL_Vendors {
|
||||
VENDOR_WINE = 0x0,
|
||||
VENDOR_MESA = 0x1,
|
||||
VENDOR_ATI = 0x1002,
|
||||
VENDOR_NVIDIA = 0x10de,
|
||||
VENDOR_INTEL = 0x8086
|
||||
} GL_Vendors;
|
||||
|
||||
typedef enum _GL_Cards {
|
||||
CARD_WINE = 0x0,
|
||||
|
||||
CARD_ATI_RAGE_128PRO = 0x5246,
|
||||
CARD_ATI_RADEON_7200 = 0x5144,
|
||||
CARD_ATI_RADEON_8500 = 0x514c,
|
||||
CARD_ATI_RADEON_9500 = 0x4144,
|
||||
CARD_ATI_RADEON_XPRESS_200M = 0x5955,
|
||||
CARD_ATI_RADEON_X700 = 0x5e4c,
|
||||
CARD_ATI_RADEON_X1600 = 0x71c2,
|
||||
CARD_ATI_RADEON_HD2300 = 0x7210,
|
||||
CARD_ATI_RADEON_HD2600 = 0x9581,
|
||||
CARD_ATI_RADEON_HD2900 = 0x9400,
|
||||
CARD_ATI_RADEON_HD3200 = 0x9620,
|
||||
CARD_ATI_RADEON_HD4350 = 0x954f,
|
||||
CARD_ATI_RADEON_HD4550 = 0x9540,
|
||||
CARD_ATI_RADEON_HD4600 = 0x9495,
|
||||
CARD_ATI_RADEON_HD4650 = 0x9498,
|
||||
CARD_ATI_RADEON_HD4670 = 0x9490,
|
||||
CARD_ATI_RADEON_HD4700 = 0x944e,
|
||||
CARD_ATI_RADEON_HD4770 = 0x94b3,
|
||||
CARD_ATI_RADEON_HD4800 = 0x944c, /* picked one value between 9440,944c,9442,9460 */
|
||||
CARD_ATI_RADEON_HD4830 = 0x944c,
|
||||
CARD_ATI_RADEON_HD4850 = 0x9442,
|
||||
CARD_ATI_RADEON_HD4870 = 0x9440,
|
||||
CARD_ATI_RADEON_HD4890 = 0x9460,
|
||||
|
||||
CARD_NVIDIA_RIVA_128 = 0x0018,
|
||||
CARD_NVIDIA_RIVA_TNT = 0x0020,
|
||||
CARD_NVIDIA_RIVA_TNT2 = 0x0028,
|
||||
CARD_NVIDIA_GEFORCE = 0x0100,
|
||||
CARD_NVIDIA_GEFORCE2_MX = 0x0110,
|
||||
CARD_NVIDIA_GEFORCE2 = 0x0150,
|
||||
CARD_NVIDIA_GEFORCE3 = 0x0200,
|
||||
CARD_NVIDIA_GEFORCE4_MX = 0x0170,
|
||||
CARD_NVIDIA_GEFORCE4_TI4200 = 0x0253,
|
||||
CARD_NVIDIA_GEFORCEFX_5200 = 0x0320,
|
||||
CARD_NVIDIA_GEFORCEFX_5600 = 0x0312,
|
||||
CARD_NVIDIA_GEFORCEFX_5800 = 0x0302,
|
||||
CARD_NVIDIA_GEFORCE_6200 = 0x014f,
|
||||
CARD_NVIDIA_GEFORCE_6600GT = 0x0140,
|
||||
CARD_NVIDIA_GEFORCE_6800 = 0x0041,
|
||||
CARD_NVIDIA_GEFORCE_7400 = 0x01d8,
|
||||
CARD_NVIDIA_GEFORCE_7300 = 0x01d7, /* GeForce Go 7300 */
|
||||
CARD_NVIDIA_GEFORCE_7600 = 0x0391,
|
||||
CARD_NVIDIA_GEFORCE_7800GT = 0x0092,
|
||||
CARD_NVIDIA_GEFORCE_8300GS = 0x0423,
|
||||
CARD_NVIDIA_GEFORCE_8600GT = 0x0402,
|
||||
CARD_NVIDIA_GEFORCE_8600MGT = 0x0407,
|
||||
CARD_NVIDIA_GEFORCE_8800GTS = 0x0193,
|
||||
CARD_NVIDIA_GEFORCE_9200 = 0x086d,
|
||||
CARD_NVIDIA_GEFORCE_9400GT = 0x042c,
|
||||
CARD_NVIDIA_GEFORCE_9500GT = 0x0640,
|
||||
CARD_NVIDIA_GEFORCE_9600GT = 0x0622,
|
||||
CARD_NVIDIA_GEFORCE_9800GT = 0x0614,
|
||||
CARD_NVIDIA_GEFORCE_GTX260 = 0x05e2,
|
||||
CARD_NVIDIA_GEFORCE_GTX275 = 0x05e6,
|
||||
CARD_NVIDIA_GEFORCE_GTX280 = 0x05e1,
|
||||
|
||||
CARD_INTEL_845G = 0x2562,
|
||||
CARD_INTEL_I830G = 0x3577,
|
||||
CARD_INTEL_I855G = 0x3582,
|
||||
CARD_INTEL_I865G = 0x2572,
|
||||
CARD_INTEL_I915G = 0x2582,
|
||||
CARD_INTEL_I915GM = 0x2592,
|
||||
CARD_INTEL_I945GM = 0x27a2, /* Same as GMA 950?? */
|
||||
CARD_INTEL_X3100 = 0x2a02, /* found in macs. Same as GMA 965? */
|
||||
} GL_Cards;
|
||||
|
||||
#define WINE_DEFAULT_VIDMEM 64*1024*1024
|
||||
|
||||
#define MAKEDWORD_VERSION(maj, min) ((maj & 0x0000FFFF) << 16) | (min & 0x0000FFFF)
|
||||
|
@ -4138,8 +4061,6 @@ struct wined3d_fbo_ops
|
|||
|
||||
struct wined3d_gl_info
|
||||
{
|
||||
GL_Vendors gl_vendor;
|
||||
GL_Cards gl_card;
|
||||
UINT vidmem;
|
||||
|
||||
UINT max_buffers;
|
||||
|
|
|
@ -1228,8 +1228,89 @@ typedef struct WineD3D_PixelFormat
|
|||
int numSamples;
|
||||
} WineD3D_PixelFormat;
|
||||
|
||||
enum wined3d_pci_vendor
|
||||
{
|
||||
VENDOR_WINE = 0x0000,
|
||||
VENDOR_MESA = 0x0001,
|
||||
VENDOR_ATI = 0x1002,
|
||||
VENDOR_NVIDIA = 0x10de,
|
||||
VENDOR_INTEL = 0x8086,
|
||||
};
|
||||
|
||||
enum wined3d_pci_device
|
||||
{
|
||||
CARD_WINE = 0x0000,
|
||||
|
||||
CARD_ATI_RAGE_128PRO = 0x5246,
|
||||
CARD_ATI_RADEON_7200 = 0x5144,
|
||||
CARD_ATI_RADEON_8500 = 0x514c,
|
||||
CARD_ATI_RADEON_9500 = 0x4144,
|
||||
CARD_ATI_RADEON_XPRESS_200M = 0x5955,
|
||||
CARD_ATI_RADEON_X700 = 0x5e4c,
|
||||
CARD_ATI_RADEON_X1600 = 0x71c2,
|
||||
CARD_ATI_RADEON_HD2300 = 0x7210,
|
||||
CARD_ATI_RADEON_HD2600 = 0x9581,
|
||||
CARD_ATI_RADEON_HD2900 = 0x9400,
|
||||
CARD_ATI_RADEON_HD3200 = 0x9620,
|
||||
CARD_ATI_RADEON_HD4350 = 0x954f,
|
||||
CARD_ATI_RADEON_HD4550 = 0x9540,
|
||||
CARD_ATI_RADEON_HD4600 = 0x9495,
|
||||
CARD_ATI_RADEON_HD4650 = 0x9498,
|
||||
CARD_ATI_RADEON_HD4670 = 0x9490,
|
||||
CARD_ATI_RADEON_HD4700 = 0x944e,
|
||||
CARD_ATI_RADEON_HD4770 = 0x94b3,
|
||||
CARD_ATI_RADEON_HD4800 = 0x944c, /* Picked one value between 9440, 944c, 9442, 9460 */
|
||||
CARD_ATI_RADEON_HD4830 = 0x944c,
|
||||
CARD_ATI_RADEON_HD4850 = 0x9442,
|
||||
CARD_ATI_RADEON_HD4870 = 0x9440,
|
||||
CARD_ATI_RADEON_HD4890 = 0x9460,
|
||||
|
||||
CARD_NVIDIA_RIVA_128 = 0x0018,
|
||||
CARD_NVIDIA_RIVA_TNT = 0x0020,
|
||||
CARD_NVIDIA_RIVA_TNT2 = 0x0028,
|
||||
CARD_NVIDIA_GEFORCE = 0x0100,
|
||||
CARD_NVIDIA_GEFORCE2_MX = 0x0110,
|
||||
CARD_NVIDIA_GEFORCE2 = 0x0150,
|
||||
CARD_NVIDIA_GEFORCE3 = 0x0200,
|
||||
CARD_NVIDIA_GEFORCE4_MX = 0x0170,
|
||||
CARD_NVIDIA_GEFORCE4_TI4200 = 0x0253,
|
||||
CARD_NVIDIA_GEFORCEFX_5200 = 0x0320,
|
||||
CARD_NVIDIA_GEFORCEFX_5600 = 0x0312,
|
||||
CARD_NVIDIA_GEFORCEFX_5800 = 0x0302,
|
||||
CARD_NVIDIA_GEFORCE_6200 = 0x014f,
|
||||
CARD_NVIDIA_GEFORCE_6600GT = 0x0140,
|
||||
CARD_NVIDIA_GEFORCE_6800 = 0x0041,
|
||||
CARD_NVIDIA_GEFORCE_7400 = 0x01d8,
|
||||
CARD_NVIDIA_GEFORCE_7300 = 0x01d7, /* GeForce Go 7300 */
|
||||
CARD_NVIDIA_GEFORCE_7600 = 0x0391,
|
||||
CARD_NVIDIA_GEFORCE_7800GT = 0x0092,
|
||||
CARD_NVIDIA_GEFORCE_8300GS = 0x0423,
|
||||
CARD_NVIDIA_GEFORCE_8600GT = 0x0402,
|
||||
CARD_NVIDIA_GEFORCE_8600MGT = 0x0407,
|
||||
CARD_NVIDIA_GEFORCE_8800GTS = 0x0193,
|
||||
CARD_NVIDIA_GEFORCE_9200 = 0x086d,
|
||||
CARD_NVIDIA_GEFORCE_9400GT = 0x042c,
|
||||
CARD_NVIDIA_GEFORCE_9500GT = 0x0640,
|
||||
CARD_NVIDIA_GEFORCE_9600GT = 0x0622,
|
||||
CARD_NVIDIA_GEFORCE_9800GT = 0x0614,
|
||||
CARD_NVIDIA_GEFORCE_GTX260 = 0x05e2,
|
||||
CARD_NVIDIA_GEFORCE_GTX275 = 0x05e6,
|
||||
CARD_NVIDIA_GEFORCE_GTX280 = 0x05e1,
|
||||
|
||||
CARD_INTEL_845G = 0x2562,
|
||||
CARD_INTEL_I830G = 0x3577,
|
||||
CARD_INTEL_I855G = 0x3582,
|
||||
CARD_INTEL_I865G = 0x2572,
|
||||
CARD_INTEL_I915G = 0x2582,
|
||||
CARD_INTEL_I915GM = 0x2592,
|
||||
CARD_INTEL_I945GM = 0x27a2, /* Same as GMA 950? */
|
||||
CARD_INTEL_X3100 = 0x2a02, /* Found in Macs. Same as GMA 965? */
|
||||
};
|
||||
|
||||
struct wined3d_driver_info
|
||||
{
|
||||
enum wined3d_pci_vendor vendor;
|
||||
enum wined3d_pci_device device;
|
||||
const char *name;
|
||||
const char *description;
|
||||
DWORD version_high;
|
||||
|
@ -1252,7 +1333,7 @@ struct wined3d_adapter
|
|||
unsigned int UsedTextureRam;
|
||||
};
|
||||
|
||||
extern BOOL initPixelFormats(struct wined3d_gl_info *gl_info) DECLSPEC_HIDDEN;
|
||||
BOOL initPixelFormats(struct wined3d_gl_info *gl_info, enum wined3d_pci_vendor vendor) DECLSPEC_HIDDEN;
|
||||
BOOL initPixelFormatsNoGL(struct wined3d_gl_info *gl_info) DECLSPEC_HIDDEN;
|
||||
extern long WineD3DAdapterChangeGLRam(IWineD3DDeviceImpl *D3DDevice, long glram) DECLSPEC_HIDDEN;
|
||||
extern void add_gl_compat_wrappers(struct wined3d_gl_info *gl_info) DECLSPEC_HIDDEN;
|
||||
|
|
Loading…
Reference in New Issue