mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Rebase against a25c47f59a600d7da819869b643b0b17720c07c6.
[wined3d-Multisampling] Removed patch to allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE (fixed upstream).
This commit is contained in:
parent
8ebf32fb69
commit
44aeaade64
@ -334,7 +334,6 @@ patch_enable_all ()
|
||||
enable_wined3d_Geforce_425M="$1"
|
||||
enable_wined3d_Invalid_Render_States="$1"
|
||||
enable_wined3d_MESA_GPU_Info="$1"
|
||||
enable_wined3d_Multisampling="$1"
|
||||
enable_wined3d_Revert_PixelFormat="$1"
|
||||
enable_wined3d_UnhandledBlendFactor="$1"
|
||||
enable_wined3d_resource_check_usage="$1"
|
||||
@ -1143,9 +1142,6 @@ patch_enable ()
|
||||
wined3d-MESA_GPU_Info)
|
||||
enable_wined3d_MESA_GPU_Info="$2"
|
||||
;;
|
||||
wined3d-Multisampling)
|
||||
enable_wined3d_Multisampling="$2"
|
||||
;;
|
||||
wined3d-Revert_PixelFormat)
|
||||
enable_wined3d_Revert_PixelFormat="$2"
|
||||
;;
|
||||
@ -1751,9 +1747,6 @@ if test "$enable_category_stable" -eq 1; then
|
||||
if test "$enable_winecfg_Libraries" -gt 1; then
|
||||
abort "Patchset winecfg-Libraries disabled, but category-stable depends on that."
|
||||
fi
|
||||
if test "$enable_wined3d_Multisampling" -gt 1; then
|
||||
abort "Patchset wined3d-Multisampling disabled, but category-stable depends on that."
|
||||
fi
|
||||
if test "$enable_wined3d_Revert_PixelFormat" -gt 1; then
|
||||
abort "Patchset wined3d-Revert_PixelFormat disabled, but category-stable depends on that."
|
||||
fi
|
||||
@ -1842,7 +1835,6 @@ if test "$enable_category_stable" -eq 1; then
|
||||
enable_wine_inf_ProfileList_UserSID=1
|
||||
enable_wineboot_HKEY_DYN_DATA=1
|
||||
enable_winecfg_Libraries=1
|
||||
enable_wined3d_Multisampling=1
|
||||
enable_wined3d_Revert_PixelFormat=1
|
||||
enable_wined3d_UnhandledBlendFactor=1
|
||||
enable_wined3d_resource_check_usage=1
|
||||
@ -6601,21 +6593,6 @@ if test "$enable_wined3d_MESA_GPU_Info" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Multisampling
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#12652] Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/directx.c, dlls/wined3d/wined3d_main.c, dlls/wined3d/wined3d_private.h
|
||||
# |
|
||||
if test "$enable_wined3d_Multisampling" -eq 1; then
|
||||
patch_apply wined3d-Multisampling/0001-wined3d-Allow-to-specify-multisampling-AA-quality-le.patch
|
||||
(
|
||||
echo '+ { "Austin English", "wined3d: Allow to specify multisampling AA quality levels via registry.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Revert_PixelFormat
|
||||
# |
|
||||
# | Modified files:
|
||||
|
@ -3717,7 +3717,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
|
||||
--- a/dlls/wined3d/directx.c
|
||||
+++ b/dlls/wined3d/directx.c
|
||||
@@ -5549,9 +5549,15 @@
|
||||
@@ -5544,9 +5544,15 @@
|
||||
DebugBreak();
|
||||
}
|
||||
|
||||
@ -9127,7 +9127,7 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c
|
||||
--- a/dlls/wined3d/wined3d_main.c
|
||||
+++ b/dlls/wined3d/wined3d_main.c
|
||||
@@ -87,8 +87,10 @@
|
||||
@@ -86,8 +86,10 @@
|
||||
~0U, /* No GS shader model limit by default. */
|
||||
~0U, /* No PS shader model limit by default. */
|
||||
FALSE, /* 3D support enabled by default. */
|
||||
@ -9138,7 +9138,7 @@ diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c
|
||||
};
|
||||
|
||||
struct wined3d * CDECL wined3d_create(DWORD flags)
|
||||
@@ -328,6 +330,7 @@
|
||||
@@ -316,6 +318,7 @@
|
||||
TRACE("Disabling 3D support.\n");
|
||||
wined3d_settings.no_3d = TRUE;
|
||||
}
|
||||
@ -9146,7 +9146,7 @@ diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c
|
||||
if (!get_config_key(hkey, appkey, "CSMT", buffer, size)
|
||||
&& !strcmp(buffer,"disabled"))
|
||||
{
|
||||
@@ -344,6 +347,9 @@
|
||||
@@ -332,6 +335,9 @@
|
||||
|
||||
FIXME_(winediag)("Experimental wined3d CSMT feature is currently %s.\n",
|
||||
wined3d_settings.cs_multithreaded ? "enabled" : "disabled");
|
||||
@ -9206,7 +9206,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
#include <stdarg.h>
|
||||
#include <math.h>
|
||||
#include <limits.h>
|
||||
@@ -284,8 +312,10 @@
|
||||
@@ -283,8 +311,10 @@
|
||||
unsigned int max_sm_gs;
|
||||
unsigned int max_sm_ps;
|
||||
BOOL no_3d;
|
||||
@ -9217,7 +9217,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
};
|
||||
|
||||
extern struct wined3d_settings wined3d_settings DECLSPEC_HIDDEN;
|
||||
@@ -1039,9 +1069,14 @@
|
||||
@@ -1038,9 +1068,14 @@
|
||||
WORD use_map; /* MAX_ATTRIBS, 16 */
|
||||
};
|
||||
|
||||
@ -9232,7 +9232,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
DWORD get_flexible_vertex_size(DWORD d3dvtVertexType) DECLSPEC_HIDDEN;
|
||||
|
||||
#define eps 1e-8f
|
||||
@@ -1129,8 +1164,10 @@
|
||||
@@ -1128,8 +1163,10 @@
|
||||
struct list entry;
|
||||
GLuint id;
|
||||
struct wined3d_context *context;
|
||||
@ -9243,7 +9243,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
};
|
||||
|
||||
union wined3d_gl_query_object
|
||||
@@ -1166,6 +1203,7 @@
|
||||
@@ -1165,6 +1202,7 @@
|
||||
struct list entry;
|
||||
GLuint id;
|
||||
struct wined3d_context *context;
|
||||
@ -9251,7 +9251,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
UINT64 timestamp;
|
||||
};
|
||||
|
||||
@@ -1201,6 +1239,12 @@
|
||||
@@ -1200,6 +1238,12 @@
|
||||
for (i = 0; i < min(dst->rt_size, src->rt_size); i++)
|
||||
dst->render_targets[i] = src->render_targets[i];
|
||||
}
|
||||
@ -9264,7 +9264,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
|
||||
struct wined3d_context
|
||||
{
|
||||
@@ -1216,7 +1260,9 @@
|
||||
@@ -1215,7 +1259,9 @@
|
||||
DWORD dirtyArray[STATE_HIGHEST + 1]; /* Won't get bigger than that, a state is never marked dirty 2 times */
|
||||
DWORD numDirtyEntries;
|
||||
DWORD isStateDirty[STATE_HIGHEST / (sizeof(DWORD) * CHAR_BIT) + 1]; /* Bitmap to find out quickly if a state is dirty */
|
||||
@ -9274,7 +9274,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
|
||||
struct wined3d_swapchain *swapchain;
|
||||
struct wined3d_surface *current_rt;
|
||||
@@ -1314,8 +1360,17 @@
|
||||
@@ -1313,8 +1359,17 @@
|
||||
GLfloat fog_coord_value;
|
||||
GLfloat color[4], fogstart, fogend, fogcolor[4];
|
||||
GLuint dummy_arbfp_prog;
|
||||
@ -9292,7 +9292,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
};
|
||||
|
||||
typedef void (*APPLYSTATEFUNC)(struct wined3d_context *ctx, const struct wined3d_state *state, DWORD state_id);
|
||||
@@ -1458,8 +1513,12 @@
|
||||
@@ -1457,8 +1512,12 @@
|
||||
void context_apply_blit_state(struct wined3d_context *context, const struct wined3d_device *device) DECLSPEC_HIDDEN;
|
||||
BOOL context_apply_clear_state(struct wined3d_context *context, const struct wined3d_device *device,
|
||||
UINT rt_count, const struct wined3d_fb_state *fb) DECLSPEC_HIDDEN;
|
||||
@ -9305,7 +9305,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
void context_apply_fbo_state_blit(struct wined3d_context *context, GLenum target,
|
||||
struct wined3d_surface *render_target, struct wined3d_surface *depth_stencil, DWORD location) DECLSPEC_HIDDEN;
|
||||
void context_active_texture(struct wined3d_context *context, const struct wined3d_gl_info *gl_info,
|
||||
@@ -2042,7 +2101,11 @@
|
||||
@@ -2041,7 +2100,11 @@
|
||||
struct wined3d_state
|
||||
{
|
||||
DWORD flags;
|
||||
@ -9317,7 +9317,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
|
||||
struct wined3d_vertex_declaration *vertex_declaration;
|
||||
struct wined3d_stream_output stream_output[MAX_STREAM_OUT];
|
||||
@@ -2087,6 +2150,7 @@
|
||||
@@ -2086,6 +2149,7 @@
|
||||
DWORD render_states[WINEHIGHEST_RENDER_STATE + 1];
|
||||
};
|
||||
|
||||
@ -9325,7 +9325,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
struct wined3d_gl_bo
|
||||
{
|
||||
GLuint name;
|
||||
@@ -2095,6 +2159,7 @@
|
||||
@@ -2094,6 +2158,7 @@
|
||||
UINT size;
|
||||
};
|
||||
|
||||
@ -9333,7 +9333,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
#define WINED3D_UNMAPPED_STAGE ~0U
|
||||
|
||||
/* Multithreaded flag. Removed from the public header to signal that
|
||||
@@ -2150,11 +2215,23 @@
|
||||
@@ -2149,11 +2214,23 @@
|
||||
struct wined3d_rendertarget_view *back_buffer_view;
|
||||
struct wined3d_swapchain **swapchains;
|
||||
UINT swapchain_count;
|
||||
@ -9357,7 +9357,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
|
||||
/* For rendering to a texture using glCopyTexImage */
|
||||
GLuint depth_blt_texture;
|
||||
@@ -2165,6 +2242,9 @@
|
||||
@@ -2164,6 +2241,9 @@
|
||||
UINT xScreenSpace;
|
||||
UINT yScreenSpace;
|
||||
UINT cursorWidth, cursorHeight;
|
||||
@ -9367,7 +9367,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
HCURSOR hardwareCursor;
|
||||
|
||||
/* The Wine logo texture */
|
||||
@@ -2199,6 +2279,7 @@
|
||||
@@ -2198,6 +2278,7 @@
|
||||
UINT message, WPARAM wparam, LPARAM lparam, WNDPROC proc) DECLSPEC_HIDDEN;
|
||||
void device_resource_add(struct wined3d_device *device, struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void device_resource_released(struct wined3d_device *device, struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
@ -9375,7 +9375,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
void device_invalidate_state(const struct wined3d_device *device, DWORD state) DECLSPEC_HIDDEN;
|
||||
void device_invalidate_shader_constants(const struct wined3d_device *device, DWORD mask) DECLSPEC_HIDDEN;
|
||||
void device_exec_update_texture(struct wined3d_context *context, struct wined3d_texture *src_texture,
|
||||
@@ -2211,6 +2292,11 @@
|
||||
@@ -2210,6 +2291,11 @@
|
||||
void device_create_default_sampler(struct wined3d_device *device);
|
||||
void device_delete_opengl_contexts_cs(struct wined3d_device *device,
|
||||
struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
|
||||
@ -9387,7 +9387,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
|
||||
static inline BOOL isStateDirty(const struct wined3d_context *context, DWORD state)
|
||||
{
|
||||
@@ -2230,9 +2316,11 @@
|
||||
@@ -2229,9 +2315,11 @@
|
||||
HRESULT (*resource_sub_resource_map)(struct wined3d_resource *resource, unsigned int sub_resource_idx,
|
||||
struct wined3d_map_desc *map_desc, const struct wined3d_box *box, DWORD flags);
|
||||
HRESULT (*resource_sub_resource_unmap)(struct wined3d_resource *resource, unsigned int sub_resource_idx);
|
||||
@ -9399,7 +9399,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
};
|
||||
|
||||
struct wined3d_resource
|
||||
@@ -2257,6 +2345,7 @@
|
||||
@@ -2256,6 +2344,7 @@
|
||||
UINT depth;
|
||||
UINT size;
|
||||
DWORD priority;
|
||||
@ -9407,7 +9407,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
void *heap_memory, *map_heap_memory, *user_memory, *bitmap_data;
|
||||
UINT custom_row_pitch, custom_slice_pitch;
|
||||
struct wined3d_gl_bo *buffer, *map_buffer;
|
||||
@@ -2264,6 +2353,10 @@
|
||||
@@ -2263,6 +2352,10 @@
|
||||
DWORD locations;
|
||||
LONG access_fence;
|
||||
BOOL unmap_dirtify;
|
||||
@ -9418,7 +9418,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
|
||||
void *parent;
|
||||
const struct wined3d_parent_ops *parent_ops;
|
||||
@@ -2288,6 +2381,7 @@
|
||||
@@ -2287,6 +2380,7 @@
|
||||
void *parent, const struct wined3d_parent_ops *parent_ops,
|
||||
const struct wined3d_resource_ops *resource_ops) DECLSPEC_HIDDEN;
|
||||
void resource_unload(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
@ -9426,7 +9426,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
DWORD wined3d_resource_access_from_location(DWORD location) DECLSPEC_HIDDEN;
|
||||
BOOL wined3d_resource_allocate_sysmem(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void wined3d_resource_changed(struct wined3d_resource *resource,
|
||||
@@ -2336,6 +2430,15 @@
|
||||
@@ -2335,6 +2429,15 @@
|
||||
{
|
||||
while(InterlockedCompareExchange(&resource->access_fence, 0, 0));
|
||||
}
|
||||
@ -9442,7 +9442,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
|
||||
/* Tests show that the start address of resources is 32 byte aligned */
|
||||
#define RESOURCE_ALIGNMENT 16
|
||||
@@ -2420,7 +2523,9 @@
|
||||
@@ -2419,7 +2522,9 @@
|
||||
|
||||
void wined3d_texture_apply_sampler_desc(struct wined3d_texture *texture,
|
||||
const struct wined3d_sampler_desc *sampler_desc, const struct wined3d_gl_info *gl_info) DECLSPEC_HIDDEN;
|
||||
@ -9452,7 +9452,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
void wined3d_texture_bind(struct wined3d_texture *texture,
|
||||
struct wined3d_context *context, BOOL srgb) DECLSPEC_HIDDEN;
|
||||
void wined3d_texture_bind_and_dirtify(struct wined3d_texture *texture,
|
||||
@@ -2452,8 +2557,15 @@
|
||||
@@ -2451,8 +2556,15 @@
|
||||
struct wined3d_resource resource;
|
||||
struct wined3d_texture *container;
|
||||
|
||||
@ -9468,7 +9468,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
};
|
||||
|
||||
static inline struct wined3d_volume *volume_from_resource(struct wined3d_resource *resource)
|
||||
@@ -2461,6 +2573,7 @@
|
||||
@@ -2460,6 +2572,7 @@
|
||||
return CONTAINING_RECORD(resource, struct wined3d_volume, resource);
|
||||
}
|
||||
|
||||
@ -9476,7 +9476,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
HRESULT wined3d_volume_create(struct wined3d_texture *container, const struct wined3d_resource_desc *desc,
|
||||
unsigned int level, struct wined3d_volume **volume) DECLSPEC_HIDDEN;
|
||||
void wined3d_volume_destroy(struct wined3d_volume *volume) DECLSPEC_HIDDEN;
|
||||
@@ -2476,6 +2589,27 @@
|
||||
@@ -2475,6 +2588,27 @@
|
||||
struct wined3d_surface_dib
|
||||
{
|
||||
HBITMAP DIBsection;
|
||||
@ -9504,7 +9504,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
UINT bitmap_size;
|
||||
};
|
||||
|
||||
@@ -2501,7 +2635,11 @@
|
||||
@@ -2500,7 +2634,11 @@
|
||||
struct wined3d_surface_ops
|
||||
{
|
||||
HRESULT (*surface_private_setup)(struct wined3d_surface *surface);
|
||||
@ -9516,7 +9516,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
};
|
||||
|
||||
struct wined3d_surface
|
||||
@@ -2509,12 +2647,26 @@
|
||||
@@ -2508,12 +2646,26 @@
|
||||
struct wined3d_resource resource;
|
||||
const struct wined3d_surface_ops *surface_ops;
|
||||
struct wined3d_texture *container;
|
||||
@ -9543,7 +9543,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
GLuint rb_multisample;
|
||||
GLuint rb_resolved;
|
||||
GLenum texture_target;
|
||||
@@ -2558,11 +2710,22 @@
|
||||
@@ -2557,11 +2709,22 @@
|
||||
GLenum surface_get_gl_buffer(const struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
void surface_get_drawable_size(const struct wined3d_surface *surface, const struct wined3d_context *context,
|
||||
unsigned int *width, unsigned int *height) DECLSPEC_HIDDEN;
|
||||
@ -9566,7 +9566,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
void surface_modify_ds_location(struct wined3d_surface *surface, DWORD location, UINT w, UINT h) DECLSPEC_HIDDEN;
|
||||
void wined3d_surface_prepare(struct wined3d_surface *surface, struct wined3d_context *context,
|
||||
DWORD location) DECLSPEC_HIDDEN;
|
||||
@@ -2574,6 +2737,7 @@
|
||||
@@ -2573,6 +2736,7 @@
|
||||
const struct wined3d_gl_info *gl_info, void *mem, unsigned int pitch) DECLSPEC_HIDDEN;
|
||||
HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const POINT *dst_point,
|
||||
struct wined3d_surface *src_surface, const RECT *src_rect) DECLSPEC_HIDDEN;
|
||||
@ -9574,7 +9574,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
HRESULT wined3d_surface_create(struct wined3d_texture *container, const struct wined3d_resource_desc *desc,
|
||||
GLenum target, unsigned int level, unsigned int layer, DWORD flags,
|
||||
struct wined3d_surface **surface) DECLSPEC_HIDDEN;
|
||||
@@ -2588,6 +2752,17 @@
|
||||
@@ -2587,6 +2751,17 @@
|
||||
void wined3d_surface_cleanup_cs(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
void wined3d_surface_getdc_cs(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
void wined3d_surface_releasedc_cs(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
@ -9592,7 +9592,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
|
||||
void draw_textured_quad(const struct wined3d_surface *src_surface, struct wined3d_context *context,
|
||||
const RECT *src_rect, const RECT *dst_rect, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
|
||||
@@ -2608,8 +2783,10 @@
|
||||
@@ -2607,8 +2782,10 @@
|
||||
GLuint name;
|
||||
};
|
||||
|
||||
@ -9603,7 +9603,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
struct wined3d_vertex_declaration_element
|
||||
{
|
||||
const struct wined3d_format *format;
|
||||
@@ -2638,8 +2815,10 @@
|
||||
@@ -2637,8 +2814,10 @@
|
||||
BOOL half_float_conv_needed;
|
||||
};
|
||||
|
||||
@ -9614,7 +9614,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
struct wined3d_saved_states
|
||||
{
|
||||
DWORD transform[(HIGHEST_TRANSFORMSTATE >> 5) + 1];
|
||||
@@ -2707,6 +2886,7 @@
|
||||
@@ -2706,6 +2885,7 @@
|
||||
void stateblock_init_contained_states(struct wined3d_stateblock *stateblock) DECLSPEC_HIDDEN;
|
||||
|
||||
void state_cleanup(struct wined3d_state *state) DECLSPEC_HIDDEN;
|
||||
@ -9622,7 +9622,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
HRESULT state_init(struct wined3d_state *state, const struct wined3d_gl_info *gl_info,
|
||||
const struct wined3d_d3d_info *d3d_info, DWORD flags) DECLSPEC_HIDDEN;
|
||||
void state_unbind_resources(struct wined3d_state *state) DECLSPEC_HIDDEN;
|
||||
@@ -2757,6 +2937,32 @@
|
||||
@@ -2756,6 +2936,32 @@
|
||||
void wined3d_cs_destroy(struct wined3d_cs *cs) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_switch_onscreen_ds(struct wined3d_cs *cs, struct wined3d_context *context,
|
||||
struct wined3d_surface *depth_stencil) DECLSPEC_HIDDEN;
|
||||
@ -9655,7 +9655,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
|
||||
void wined3d_cs_emit_clear(struct wined3d_cs *cs, DWORD rect_count, const RECT *rects,
|
||||
DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil) DECLSPEC_HIDDEN;
|
||||
@@ -2806,6 +3012,7 @@
|
||||
@@ -2805,6 +3011,7 @@
|
||||
void wined3d_cs_emit_set_vertex_declaration(struct wined3d_cs *cs,
|
||||
struct wined3d_vertex_declaration *declaration) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_set_viewport(struct wined3d_cs *cs, const struct wined3d_viewport *viewport) DECLSPEC_HIDDEN;
|
||||
@ -9663,7 +9663,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
void wined3d_cs_emit_set_consts_f(struct wined3d_cs *cs, UINT start_register, const float *constants,
|
||||
UINT vector4f_count, enum wined3d_shader_type type) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_set_consts_b(struct wined3d_cs *cs, UINT start_register,
|
||||
@@ -2869,6 +3076,7 @@
|
||||
@@ -2868,6 +3075,7 @@
|
||||
void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_resource *resource,
|
||||
unsigned int sub_resource_idx, const struct wined3d_box *box, const void *data, unsigned int row_pitch,
|
||||
unsigned int depth_pitch) DECLSPEC_HIDDEN;
|
||||
@ -9671,7 +9671,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
|
||||
/* Direct3D terminology with little modifications. We do not have an issued state
|
||||
* because only the driver knows about it, but we have a created state because d3d
|
||||
@@ -2883,8 +3091,12 @@
|
||||
@@ -2882,8 +3090,12 @@
|
||||
struct wined3d_query_ops
|
||||
{
|
||||
HRESULT (*query_get_data)(struct wined3d_query *query, void *data, DWORD data_size, DWORD flags);
|
||||
@ -9684,7 +9684,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
};
|
||||
|
||||
struct wined3d_query
|
||||
@@ -2898,12 +3110,16 @@
|
||||
@@ -2897,12 +3109,16 @@
|
||||
enum wined3d_query_type type;
|
||||
DWORD data_size;
|
||||
void *extendedData;
|
||||
@ -9701,7 +9701,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
|
||||
/* TODO: Add tests and support for FLOAT16_4 POSITIONT, D3DCOLOR position, other
|
||||
* fixed function semantics as D3DCOLOR or FLOAT16 */
|
||||
@@ -2930,7 +3146,9 @@
|
||||
@@ -2929,7 +3145,9 @@
|
||||
GLenum buffer_object_usage;
|
||||
GLenum buffer_type_hint;
|
||||
DWORD flags;
|
||||
@ -9711,7 +9711,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
void *map_ptr;
|
||||
|
||||
struct wined3d_map_range *maps;
|
||||
@@ -2955,11 +3173,15 @@
|
||||
@@ -2954,11 +3172,15 @@
|
||||
BYTE *buffer_get_sysmem(struct wined3d_buffer *This, struct wined3d_context *context) DECLSPEC_HIDDEN;
|
||||
void buffer_internal_preload(struct wined3d_buffer *buffer, struct wined3d_context *context,
|
||||
const struct wined3d_state *state) DECLSPEC_HIDDEN;
|
||||
@ -9727,7 +9727,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
HRESULT wined3d_buffer_upload_data(struct wined3d_buffer *buffer,
|
||||
const struct wined3d_box *box, const void *data) DECLSPEC_HIDDEN;
|
||||
|
||||
@@ -2997,8 +3219,10 @@
|
||||
@@ -2996,8 +3218,10 @@
|
||||
return surface_from_resource(resource);
|
||||
}
|
||||
|
||||
@ -9738,7 +9738,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
struct wined3d_shader_resource_view
|
||||
{
|
||||
LONG refcount;
|
||||
@@ -3011,8 +3235,12 @@
|
||||
@@ -3010,8 +3234,12 @@
|
||||
struct wined3d_swapchain_ops
|
||||
{
|
||||
void (*swapchain_present)(struct wined3d_swapchain *swapchain, const RECT *src_rect,
|
||||
@ -9751,7 +9751,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
};
|
||||
|
||||
struct wined3d_swapchain
|
||||
@@ -3051,8 +3279,10 @@
|
||||
@@ -3050,8 +3278,10 @@
|
||||
void swapchain_destroy_contexts(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
|
||||
HDC swapchain_get_backup_dc(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
|
||||
void swapchain_update_draw_bindings(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
|
||||
@ -9762,7 +9762,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
|
||||
/*****************************************************************************
|
||||
* Utility function prototypes
|
||||
@@ -3256,7 +3486,9 @@
|
||||
@@ -3255,7 +3485,9 @@
|
||||
void shader_generate_main(const struct wined3d_shader *shader, struct wined3d_string_buffer *buffer,
|
||||
const struct wined3d_shader_reg_maps *reg_maps, const DWORD *byte_code, void *backend_ctx) DECLSPEC_HIDDEN;
|
||||
BOOL shader_match_semantic(const char *semantic_name, enum wined3d_decl_usage usage) DECLSPEC_HIDDEN;
|
||||
|
@ -1,75 +0,0 @@
|
||||
From 20c5727bab6314d9d788f5b782cf8f5d1b6fc281 Mon Sep 17 00:00:00 2001
|
||||
From: Austin English <austinenglish@gmail.com>
|
||||
Date: Sat, 28 Feb 2015 00:34:07 +0100
|
||||
Subject: wined3d: Allow to specify multisampling AA quality levels via
|
||||
registry.
|
||||
|
||||
---
|
||||
dlls/wined3d/directx.c | 7 ++++++-
|
||||
dlls/wined3d/wined3d_main.c | 12 ++++++++++++
|
||||
dlls/wined3d/wined3d_private.h | 1 +
|
||||
3 files changed, 19 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
|
||||
index 019b415..b9eb03c 100644
|
||||
--- a/dlls/wined3d/directx.c
|
||||
+++ b/dlls/wined3d/directx.c
|
||||
@@ -4404,7 +4404,12 @@ HRESULT CDECL wined3d_check_device_multisample_type(const struct wined3d *wined3
|
||||
|
||||
if (quality_levels)
|
||||
{
|
||||
- if (multisample_type == WINED3D_MULTISAMPLE_NON_MASKABLE)
|
||||
+ if (wined3d_settings.msaa_quality_levels)
|
||||
+ {
|
||||
+ *quality_levels = wined3d_settings.msaa_quality_levels;
|
||||
+ TRACE("Overriding MSAA quality levels to %i\n", *quality_levels);
|
||||
+ }
|
||||
+ else if (multisample_type == WINED3D_MULTISAMPLE_NON_MASKABLE)
|
||||
*quality_levels = gl_info->limits.samples;
|
||||
else
|
||||
*quality_levels = 1;
|
||||
diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c
|
||||
index 0543d97..c985c2d 100644
|
||||
--- a/dlls/wined3d/wined3d_main.c
|
||||
+++ b/dlls/wined3d/wined3d_main.c
|
||||
@@ -77,6 +77,7 @@ struct wined3d_settings wined3d_settings =
|
||||
ORM_FBO, /* Use FBOs to do offscreen rendering */
|
||||
PCI_VENDOR_NONE,/* PCI Vendor ID */
|
||||
PCI_DEVICE_NONE,/* PCI Device ID */
|
||||
+ 0, /* Multisampling AA Quality Levels */
|
||||
0, /* The default of memory is set in init_driver_info */
|
||||
NULL, /* No wine logo by default */
|
||||
TRUE, /* Multisampling enabled by default. */
|
||||
@@ -261,6 +262,17 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL)
|
||||
wined3d_settings.pci_vendor_id = pci_vendor_id;
|
||||
}
|
||||
}
|
||||
+ if (!get_config_key( hkey, appkey, "MultisamplingAAQualityLevels", buffer, size ))
|
||||
+ {
|
||||
+ int quality_levels = atoi(buffer);
|
||||
+ if(quality_levels > 0)
|
||||
+ {
|
||||
+ wined3d_settings.msaa_quality_levels = quality_levels;
|
||||
+ TRACE("Setting MultisamplingAAQualityLevels to %i\n", quality_levels);
|
||||
+ }
|
||||
+ else
|
||||
+ ERR("MultisamplingAAQualityLevels is %i but must be >0\n", quality_levels);
|
||||
+ }
|
||||
if ( !get_config_key( hkey, appkey, "VideoMemorySize", buffer, size) )
|
||||
{
|
||||
int TmpVideoMemorySize = atoi(buffer);
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 7847557..9e39dd7 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -268,6 +268,7 @@ struct wined3d_settings
|
||||
unsigned short pci_vendor_id;
|
||||
unsigned short pci_device_id;
|
||||
/* Memory tracking and object counting. */
|
||||
+ unsigned int msaa_quality_levels;
|
||||
UINT64 emulated_textureram;
|
||||
char *logo;
|
||||
int allow_multisampling;
|
||||
--
|
||||
2.5.0
|
||||
|
@ -1,2 +0,0 @@
|
||||
Fixes: [12652] Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE.
|
||||
Category: stable
|
Loading…
x
Reference in New Issue
Block a user