Commit 11dd0601 authored by Józef Kucia's avatar Józef Kucia Committed by Alexandre Julliard

wined3d: Add registry setting to enable multisample textures.

The registry key helps to add multisample textures support incrementally without breaking the current support for multisample renderbuffers. It might be also useful to have a possibility to disable multisample textures when they are the default code path for multisampling in wined3d. Signed-off-by: 's avatarJózef Kucia <jkucia@codeweavers.com> Signed-off-by: 's avatarHenri Verbeet <hverbeet@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 32e61de2
...@@ -4244,6 +4244,8 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, ...@@ -4244,6 +4244,8 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
WARN("Disabling ARB_draw_indirect because ARB_base_instance is not supported.\n"); WARN("Disabling ARB_draw_indirect because ARB_base_instance is not supported.\n");
gl_info->supported[ARB_DRAW_INDIRECT] = FALSE; gl_info->supported[ARB_DRAW_INDIRECT] = FALSE;
} }
if (gl_info->supported[ARB_TEXTURE_MULTISAMPLE] && !wined3d_settings.multisample_textures)
gl_info->supported[ARB_TEXTURE_MULTISAMPLE] = FALSE;
wined3d_adapter_init_limits(gl_info); wined3d_adapter_init_limits(gl_info);
......
...@@ -81,6 +81,7 @@ struct wined3d_settings wined3d_settings = ...@@ -81,6 +81,7 @@ struct wined3d_settings wined3d_settings =
PCI_DEVICE_NONE,/* PCI Device ID */ PCI_DEVICE_NONE,/* PCI Device ID */
0, /* The default of memory is set in init_driver_info */ 0, /* The default of memory is set in init_driver_info */
NULL, /* No wine logo by default */ NULL, /* No wine logo by default */
FALSE, /* Prefer multisample renderbuffers to multisample textures by default. */
~0u, /* Don't force a specific sample count by default. */ ~0u, /* Don't force a specific sample count by default. */
FALSE, /* No strict draw ordering. */ FALSE, /* No strict draw ordering. */
FALSE, /* Don't range check relative addressing indices in float constants. */ FALSE, /* Don't range check relative addressing indices in float constants. */
...@@ -284,6 +285,8 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL) ...@@ -284,6 +285,8 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL)
if (!wined3d_settings.logo) ERR("Failed to allocate logo path memory.\n"); if (!wined3d_settings.logo) ERR("Failed to allocate logo path memory.\n");
else memcpy(wined3d_settings.logo, buffer, len); else memcpy(wined3d_settings.logo, buffer, len);
} }
if (!get_config_key_dword(hkey, appkey, "MultisampleTextures", &wined3d_settings.multisample_textures))
ERR_(winediag)("Setting multisample textures to %#x.\n", wined3d_settings.multisample_textures);
if (!get_config_key_dword(hkey, appkey, "SampleCount", &wined3d_settings.sample_count)) if (!get_config_key_dword(hkey, appkey, "SampleCount", &wined3d_settings.sample_count))
ERR_(winediag)("Forcing sample count to %u. This may not be compatible with all applications.\n", ERR_(winediag)("Forcing sample count to %u. This may not be compatible with all applications.\n",
wined3d_settings.sample_count); wined3d_settings.sample_count);
......
...@@ -391,6 +391,7 @@ struct wined3d_settings ...@@ -391,6 +391,7 @@ struct wined3d_settings
/* Memory tracking and object counting. */ /* Memory tracking and object counting. */
UINT64 emulated_textureram; UINT64 emulated_textureram;
char *logo; char *logo;
unsigned int multisample_textures;
unsigned int sample_count; unsigned int sample_count;
BOOL strict_draw_ordering; BOOL strict_draw_ordering;
BOOL check_float_constants; BOOL check_float_constants;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment