You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
52dd338148 | ||
|
f841424edd | ||
|
5e8fbbf200 | ||
|
183fd3e089 | ||
|
092f3b1ed1 | ||
|
e59eb7639a | ||
|
a0716c9cfe | ||
|
fcf7b80107 |
@@ -1,4 +1,4 @@
|
||||
From 8a91b7a88d96f735f7236afeed90c376a18f0eea Mon Sep 17 00:00:00 2001
|
||||
From 164e5f77ce0f956834cf7bbf8fbc893cd32c52de Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Wendt <daniel.wendt@linux.com>
|
||||
Date: Fri, 15 Nov 2013 12:52:37 +0100
|
||||
Subject: [PATCH] gdi32: fix for rotated Arc, ArcTo, Chord and Pie drawing
|
||||
@@ -6,15 +6,15 @@ Subject: [PATCH] gdi32: fix for rotated Arc, ArcTo, Chord and Pie drawing
|
||||
|
||||
Wine-Bug: http://bugs.winehq.org/show_bug.cgi?id=34579
|
||||
---
|
||||
dlls/gdi32/dibdrv/graphics.c | 80 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/gdi32/dibdrv/graphics.c | 80 ++++++++++++++++++++++++++++++++++++
|
||||
dlls/gdi32/gdi_private.h | 3 ++
|
||||
2 files changed, 83 insertions(+)
|
||||
|
||||
diff --git a/dlls/gdi32/dibdrv/graphics.c b/dlls/gdi32/dibdrv/graphics.c
|
||||
index 7d71fbb..d269cc1 100644
|
||||
index a875ae113cd..1a37fdb5fca 100644
|
||||
--- a/dlls/gdi32/dibdrv/graphics.c
|
||||
+++ b/dlls/gdi32/dibdrv/graphics.c
|
||||
@@ -313,6 +313,60 @@ static int get_arc_points( int arc_dir, const RECT *rect, POINT start, POINT end
|
||||
@@ -312,6 +312,60 @@ static int get_arc_points( int arc_dir, const RECT *rect, POINT start, POINT end
|
||||
return pos - count;
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ index 7d71fbb..d269cc1 100644
|
||||
/* backend for arc functions; extra_lines is -1 for ArcTo, 0 for Arc, 1 for Chord, 2 for Pie */
|
||||
static BOOL draw_arc( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
|
||||
INT start_x, INT start_y, INT end_x, INT end_y, INT extra_lines )
|
||||
@@ -325,6 +379,22 @@ static BOOL draw_arc( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
|
||||
@@ -324,6 +378,22 @@ static BOOL draw_arc( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
|
||||
BOOL ret = TRUE;
|
||||
HRGN outline = 0, interior = 0;
|
||||
|
||||
@@ -98,7 +98,7 @@ index 7d71fbb..d269cc1 100644
|
||||
if (!get_pen_device_rect( dc, pdev, &rect, left, top, right, bottom )) return TRUE;
|
||||
|
||||
width = rect.right - rect.left;
|
||||
@@ -358,6 +428,16 @@ static BOOL draw_arc( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
|
||||
@@ -357,6 +427,16 @@ static BOOL draw_arc( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
|
||||
points[count].y = rect.top + height / 2;
|
||||
count++;
|
||||
}
|
||||
@@ -116,17 +116,17 @@ index 7d71fbb..d269cc1 100644
|
||||
{
|
||||
HeapFree( GetProcessHeap(), 0, points );
|
||||
diff --git a/dlls/gdi32/gdi_private.h b/dlls/gdi32/gdi_private.h
|
||||
index 920cd1e..4949187 100644
|
||||
index 436846c5bd5..030dd4a3768 100644
|
||||
--- a/dlls/gdi32/gdi_private.h
|
||||
+++ b/dlls/gdi32/gdi_private.h
|
||||
@@ -608,4 +608,7 @@ extern void free_heap_bits( struct gdi_image_bits *bits ) DECLSPEC_HIDDEN;
|
||||
|
||||
extern HMODULE gdi32_module DECLSPEC_HIDDEN;
|
||||
@@ -46,4 +46,7 @@ extern BOOL METADC_MoveTo( HDC hdc, INT x, INT y ) DECLSPEC_HIDDEN;
|
||||
extern BOOL METADC_Pie( HDC hdc, INT left, INT top, INT right, INT bottom,
|
||||
INT xstart, INT ystart, INT xend, INT yend ) DECLSPEC_HIDDEN;
|
||||
|
||||
+BOOL xform_has_rotate_and_uniform_scale_and_shear( const XFORM *xform ) DECLSPEC_HIDDEN;
|
||||
+BOOL xform_decompose_rotation_and_translation( XFORM *xform, XFORM *rotation_and_translation ) DECLSPEC_HIDDEN;
|
||||
+
|
||||
#endif /* __WINE_GDI_PRIVATE_H */
|
||||
--
|
||||
1.9.1
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,18 +1,18 @@
|
||||
From b278711b2c76680e6e26a114f74d7f7c26ff6328 Mon Sep 17 00:00:00 2001
|
||||
From 04fb703ad5b8f5de15fd2b23647ed662af0c4394 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Wendt <daniel.wendt@linux.com>
|
||||
Date: Tue, 10 Dec 2013 14:55:32 +0100
|
||||
Subject: [PATCH] gdi32: fix for rotated ellipse
|
||||
|
||||
Bug: http://bugs.winehq.org/show_bug.cgi?id=35331
|
||||
---
|
||||
dlls/gdi32/dibdrv/graphics.c | 60 +++++++++++++++++++++++++++++++-------------
|
||||
dlls/gdi32/dibdrv/graphics.c | 60 +++++++++++++++++++++++++-----------
|
||||
1 file changed, 42 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/dlls/gdi32/dibdrv/graphics.c b/dlls/gdi32/dibdrv/graphics.c
|
||||
index d269cc1..447aab5 100644
|
||||
index 9f58a68d35c..70d5864bc63 100644
|
||||
--- a/dlls/gdi32/dibdrv/graphics.c
|
||||
+++ b/dlls/gdi32/dibdrv/graphics.c
|
||||
@@ -1555,6 +1555,23 @@ BOOL dibdrv_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
|
||||
@@ -1554,6 +1554,23 @@ BOOL CDECL dibdrv_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bott
|
||||
BOOL ret = TRUE;
|
||||
HRGN outline = 0, interior = 0;
|
||||
|
||||
@@ -36,13 +36,13 @@ index d269cc1..447aab5 100644
|
||||
if (!get_pen_device_rect( dc, pdev, &rect, left, top, right, bottom )) return TRUE;
|
||||
|
||||
pt[0].x = pt[0].y = 0;
|
||||
@@ -1575,23 +1592,6 @@ BOOL dibdrv_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
|
||||
@@ -1574,23 +1591,6 @@ BOOL CDECL dibdrv_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bott
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
- if (pdev->brush.style != BS_NULL &&
|
||||
- !(interior = CreateRoundRectRgn( rect.left, rect.top, rect.right + 1, rect.bottom + 1,
|
||||
- ellipse_width, ellipse_height )))
|
||||
- !(interior = NtGdiCreateRoundRectRgn( rect.left, rect.top, rect.right + 1, rect.bottom + 1,
|
||||
- ellipse_width, ellipse_height )))
|
||||
- {
|
||||
- HeapFree( GetProcessHeap(), 0, points );
|
||||
- if (outline) DeleteObject( outline );
|
||||
@@ -60,7 +60,7 @@ index d269cc1..447aab5 100644
|
||||
count = ellipse_first_quadrant( ellipse_width, ellipse_height, points );
|
||||
|
||||
if (dc->ArcDirection == AD_CLOCKWISE)
|
||||
@@ -1635,13 +1635,37 @@ BOOL dibdrv_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
|
||||
@@ -1634,13 +1634,37 @@ BOOL CDECL dibdrv_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bott
|
||||
}
|
||||
count = end + 1;
|
||||
|
||||
@@ -95,10 +95,10 @@ index d269cc1..447aab5 100644
|
||||
|
||||
if (interior)
|
||||
{
|
||||
- CombineRgn( interior, interior, outline, RGN_DIFF );
|
||||
- NtGdiCombineRgn( interior, interior, outline, RGN_DIFF );
|
||||
ret = brush_region( pdev, interior );
|
||||
DeleteObject( interior );
|
||||
}
|
||||
--
|
||||
1.9.1
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
From 95db72178f4906d02785c707a46c8298f4c008d0 Mon Sep 17 00:00:00 2001
|
||||
From 83a951e062135cb433d23b7af56c2541b504c1a5 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Wed, 10 Mar 2021 13:09:51 -0500
|
||||
Subject: [PATCH 03/39] winegstreamer: Introduce H.264 decoder transform.
|
||||
Subject: [PATCH] winegstreamer: Introduce H.264 decoder transform.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
@@ -345,7 +345,7 @@ index 55a62361966..cdf90d52025 100644
|
||||
+
|
||||
#endif /* __GST_PRIVATE_INCLUDED__ */
|
||||
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
|
||||
index dfa448afcfe..de679a62023 100644
|
||||
index dcbd03137ba..4bff7ee9241 100644
|
||||
--- a/dlls/winegstreamer/mfplat.c
|
||||
+++ b/dlls/winegstreamer/mfplat.c
|
||||
@@ -412,6 +412,7 @@ class_objects[] =
|
||||
@@ -371,11 +371,11 @@ index 072ec90eea4..064a6872c79 100644
|
||||
+]
|
||||
+coclass CMSH264DecoderMFT { }
|
||||
diff --git a/include/mfidl.idl b/include/mfidl.idl
|
||||
index 76e0d0dfeb4..616271861aa 100644
|
||||
index 5b16c08bb90..f28a0669804 100644
|
||||
--- a/include/mfidl.idl
|
||||
+++ b/include/mfidl.idl
|
||||
@@ -1574,3 +1574,4 @@ cpp_quote("EXTERN_GUID(MF_ACTIVATE_CUSTOM_VIDEO_PRESENTER_ACTIVATE, 0xba491365,
|
||||
cpp_quote("EXTERN_GUID(MF_ACTIVATE_CUSTOM_VIDEO_PRESENTER_FLAGS, 0xba491366, 0xbe50, 0x451e, 0x95, 0xab, 0x6d, 0x4a, 0xcc, 0xc7, 0xda, 0xd8);")
|
||||
@@ -1579,3 +1579,4 @@ cpp_quote("EXTERN_GUID(MF_XVP_CALLER_ALLOCATES_OUTPUT, 0x4a2cabc, 0x0cab, 0x40b1
|
||||
cpp_quote("EXTERN_GUID(MF_XVP_SAMPLE_LOCK_TIMEOUT, 0xaa4ddb29, 0x5134, 0x4363, 0xac, 0x72, 0x83, 0xec, 0x4b, 0xc1, 0x04, 0x26);")
|
||||
|
||||
cpp_quote("EXTERN_GUID(CLSID_VideoProcessorMFT, 0x88753b26, 0x5b24, 0x49bd, 0xb2, 0xe7, 0xc, 0x44, 0x5c, 0x78, 0xc9, 0x82);")
|
||||
+cpp_quote("EXTERN_GUID(CLSID_CMSH264DecoderMFT, 0x62ce7e72, 0x4c71, 0x4d20, 0xb1, 0x5d, 0x45, 0x28, 0x31, 0xa8, 0x7d, 0x9d);")
|
||||
|
@@ -249,7 +249,7 @@ index c83afe4e195..e9689c01085 100644
|
||||
+ case /* eAVEncH264VProfile_High */ 100: profile = "high"; break;
|
||||
+ case /* eAVEncH264VProfile_444 */ 244: profile = "high-4:4:4"; break;
|
||||
+ default:
|
||||
+ ERR("Unrecognized H.264 profile attribute %u\n", format->u.video.compressed.h264.profile);
|
||||
+ GST_ERROR("Unrecognized H.264 profile attribute %u\n", format->u.video.compressed.h264.profile);
|
||||
+ /* fallthrough */
|
||||
+ case 0: profile = NULL;
|
||||
+ }
|
||||
@@ -273,7 +273,7 @@ index c83afe4e195..e9689c01085 100644
|
||||
+ case /* eAVEncH264VLevel5_1 */ 51: level = "5.1"; break;
|
||||
+ case /* eAVEncH264VLevel5_2 */ 52: level = "5.2"; break;
|
||||
+ default:
|
||||
+ ERR("Unrecognized H.264 level attribute %u\n", format->u.video.compressed.h264.level);
|
||||
+ GST_ERROR("Unrecognized H.264 level attribute %u\n", format->u.video.compressed.h264.level);
|
||||
+ /* fallthrough */
|
||||
+ case 0: level = NULL;
|
||||
+ }
|
||||
|
@@ -1,7 +1,7 @@
|
||||
From 431374b54bf2c58515c9bd56acf45d15f2fdf42d Mon Sep 17 00:00:00 2001
|
||||
From 04332336184dfd88cde06e790c35e5fcff71e583 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Fri, 19 Mar 2021 16:40:46 -0400
|
||||
Subject: [PATCH 09/39] winegstreamer: Add push-mode path for wg_parser.
|
||||
Subject: [PATCH] winegstreamer: Add push-mode path for wg_parser.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
@@ -86,7 +86,7 @@ index 215cf4577d4..25694aae84d 100644
|
||||
|
||||
extern const struct unix_funcs *unix_funcs;
|
||||
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
|
||||
index 9c554c7c415..f658cc0a5fc 100644
|
||||
index 05544ef7abe..054e87edb7b 100644
|
||||
--- a/dlls/winegstreamer/media_source.c
|
||||
+++ b/dlls/winegstreamer/media_source.c
|
||||
@@ -305,7 +305,7 @@ static void start_pipeline(struct media_source *source, struct source_async_comm
|
||||
@@ -108,7 +108,7 @@ index 9c554c7c415..f658cc0a5fc 100644
|
||||
|
||||
TRACE("Media source is shutting down; exiting.\n");
|
||||
diff --git a/dlls/winegstreamer/quartz_parser.c b/dlls/winegstreamer/quartz_parser.c
|
||||
index 4eceeae0757..1c68eba1872 100644
|
||||
index fc1b72cd958..4b0f2c215d1 100644
|
||||
--- a/dlls/winegstreamer/quartz_parser.c
|
||||
+++ b/dlls/winegstreamer/quartz_parser.c
|
||||
@@ -799,7 +799,7 @@ static DWORD CALLBACK read_thread(void *arg)
|
||||
@@ -130,10 +130,10 @@ index 4eceeae0757..1c68eba1872 100644
|
||||
/* We do need to drop any buffers that might have been sent with the old
|
||||
* caps, but this will be handled in parser_init_stream(). */
|
||||
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c
|
||||
index e9689c01085..9ca5abebfaf 100644
|
||||
index 8f472e6650d..d01da49dbef 100644
|
||||
--- a/dlls/winegstreamer/wg_parser.c
|
||||
+++ b/dlls/winegstreamer/wg_parser.c
|
||||
@@ -44,7 +44,7 @@ struct wg_parser
|
||||
@@ -47,7 +47,7 @@ struct wg_parser
|
||||
BOOL (*init_gst)(struct wg_parser *parser);
|
||||
|
||||
struct wg_parser_stream **streams;
|
||||
@@ -142,7 +142,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
|
||||
GstElement *container, *decodebin;
|
||||
GstBus *bus;
|
||||
@@ -58,7 +58,7 @@ struct wg_parser
|
||||
@@ -61,7 +61,7 @@ struct wg_parser
|
||||
pthread_mutex_t mutex;
|
||||
|
||||
pthread_cond_t init_cond;
|
||||
@@ -151,7 +151,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
|
||||
pthread_cond_t read_cond, read_done_cond;
|
||||
struct
|
||||
@@ -67,10 +67,12 @@ struct wg_parser
|
||||
@@ -70,10 +70,12 @@ struct wg_parser
|
||||
uint64_t offset;
|
||||
uint32_t size;
|
||||
bool done;
|
||||
@@ -166,7 +166,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
};
|
||||
|
||||
struct wg_parser_stream
|
||||
@@ -78,9 +80,10 @@ struct wg_parser_stream
|
||||
@@ -81,9 +83,10 @@ struct wg_parser_stream
|
||||
struct wg_parser *parser;
|
||||
|
||||
GstPad *their_src, *post_sink, *post_src, *my_sink;
|
||||
@@ -178,7 +178,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
|
||||
pthread_cond_t event_cond, event_empty_cond;
|
||||
struct wg_parser_event event;
|
||||
@@ -571,6 +574,9 @@ static void CDECL wg_parser_begin_flush(struct wg_parser *parser)
|
||||
@@ -574,6 +577,9 @@ static void CDECL wg_parser_begin_flush(struct wg_parser *parser)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
@@ -188,7 +188,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
pthread_mutex_lock(&parser->mutex);
|
||||
parser->flushing = true;
|
||||
pthread_mutex_unlock(&parser->mutex);
|
||||
@@ -584,6 +590,9 @@ static void CDECL wg_parser_begin_flush(struct wg_parser *parser)
|
||||
@@ -587,6 +593,9 @@ static void CDECL wg_parser_begin_flush(struct wg_parser *parser)
|
||||
|
||||
static void CDECL wg_parser_end_flush(struct wg_parser *parser)
|
||||
{
|
||||
@@ -198,7 +198,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
pthread_mutex_lock(&parser->mutex);
|
||||
parser->flushing = false;
|
||||
pthread_mutex_unlock(&parser->mutex);
|
||||
@@ -594,7 +603,7 @@ static bool CDECL wg_parser_get_read_request(struct wg_parser *parser,
|
||||
@@ -597,7 +606,7 @@ static bool CDECL wg_parser_get_read_request(struct wg_parser *parser,
|
||||
{
|
||||
pthread_mutex_lock(&parser->mutex);
|
||||
|
||||
@@ -207,7 +207,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
pthread_cond_wait(&parser->read_cond, &parser->mutex);
|
||||
|
||||
if (!parser->sink_connected)
|
||||
@@ -611,14 +620,25 @@ static bool CDECL wg_parser_get_read_request(struct wg_parser *parser,
|
||||
@@ -614,14 +623,25 @@ static bool CDECL wg_parser_get_read_request(struct wg_parser *parser,
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -237,7 +237,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
}
|
||||
|
||||
static void CDECL wg_parser_set_unlimited_buffering(struct wg_parser *parser)
|
||||
@@ -630,11 +650,15 @@ static void CDECL wg_parser_set_unlimited_buffering(struct wg_parser *parser)
|
||||
@@ -633,11 +653,15 @@ static void CDECL wg_parser_set_unlimited_buffering(struct wg_parser *parser)
|
||||
|
||||
static void CDECL wg_parser_stream_get_preferred_format(struct wg_parser_stream *stream, struct wg_format *format)
|
||||
{
|
||||
@@ -255,7 +255,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
stream->current_format = *format;
|
||||
stream->enabled = true;
|
||||
|
||||
@@ -663,6 +687,18 @@ static void CDECL wg_parser_stream_enable(struct wg_parser_stream *stream, const
|
||||
@@ -666,6 +690,18 @@ static void CDECL wg_parser_stream_enable(struct wg_parser_stream *stream, const
|
||||
gst_util_set_object_arg(G_OBJECT(stream->flip), "method", "none");
|
||||
break;
|
||||
}
|
||||
@@ -274,7 +274,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
}
|
||||
|
||||
gst_pad_push_event(stream->my_sink, gst_event_new_reconfigure());
|
||||
@@ -691,6 +727,11 @@ static bool CDECL wg_parser_stream_get_event(struct wg_parser_stream *stream, st
|
||||
@@ -694,6 +730,11 @@ static bool CDECL wg_parser_stream_get_event(struct wg_parser_stream *stream, st
|
||||
|
||||
*event = stream->event;
|
||||
|
||||
@@ -286,7 +286,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
if (stream->event.type != WG_PARSER_EVENT_BUFFER)
|
||||
{
|
||||
stream->event.type = WG_PARSER_EVENT_NONE;
|
||||
@@ -751,6 +792,9 @@ static bool CDECL wg_parser_stream_seek(struct wg_parser_stream *stream, double
|
||||
@@ -754,6 +795,9 @@ static bool CDECL wg_parser_stream_seek(struct wg_parser_stream *stream, double
|
||||
GstSeekType start_type = GST_SEEK_TYPE_SET, stop_type = GST_SEEK_TYPE_SET;
|
||||
GstSeekFlags flags = 0;
|
||||
|
||||
@@ -296,7 +296,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
if (start_flags & AM_SEEKING_SeekToKeyFrame)
|
||||
flags |= GST_SEEK_FLAG_KEY_UNIT;
|
||||
if (start_flags & AM_SEEKING_Segment)
|
||||
@@ -767,6 +811,43 @@ static bool CDECL wg_parser_stream_seek(struct wg_parser_stream *stream, double
|
||||
@@ -770,6 +814,43 @@ static bool CDECL wg_parser_stream_seek(struct wg_parser_stream *stream, double
|
||||
GST_FORMAT_TIME, flags, start_type, start_pos * 100, stop_type, stop_pos * 100));
|
||||
}
|
||||
|
||||
@@ -340,7 +340,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
static void CDECL wg_parser_stream_notify_qos(struct wg_parser_stream *stream,
|
||||
bool underflow, double proportion, int64_t diff, uint64_t timestamp)
|
||||
{
|
||||
@@ -1071,14 +1152,27 @@ static gboolean sink_query_cb(GstPad *pad, GstObject *parent, GstQuery *query)
|
||||
@@ -1084,14 +1165,27 @@ static GstElement *create_element(const char *name, const char *plugin_set)
|
||||
static struct wg_parser_stream *create_stream(struct wg_parser *parser)
|
||||
{
|
||||
struct wg_parser_stream *stream, **new_array;
|
||||
@@ -373,7 +373,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
|
||||
gst_segment_init(&stream->segment, GST_FORMAT_UNDEFINED);
|
||||
|
||||
@@ -1118,7 +1212,7 @@ static void pad_added_cb(GstElement *element, GstPad *pad, gpointer user)
|
||||
@@ -1131,7 +1225,7 @@ static void pad_added_cb(GstElement *element, GstPad *pad, gpointer user)
|
||||
|
||||
if (!strcmp(name, "video/x-raw"))
|
||||
{
|
||||
@@ -382,9 +382,9 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
|
||||
/* DirectShow can express interlaced video, but downstream filters can't
|
||||
* necessarily consume it. In particular, the video renderer can't. */
|
||||
@@ -1147,6 +1241,13 @@ static void pad_added_cb(GstElement *element, GstPad *pad, gpointer user)
|
||||
@@ -1148,11 +1242,30 @@ static void pad_added_cb(GstElement *element, GstPad *pad, gpointer user)
|
||||
if (!(flip = create_element("videoflip", "good")))
|
||||
goto out;
|
||||
}
|
||||
|
||||
+ if (!(videobox = gst_element_factory_make("videobox", NULL)))
|
||||
+ {
|
||||
@@ -395,10 +395,8 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
+
|
||||
/* videoflip does not support 15 and 16-bit RGB so add a second videoconvert
|
||||
* to do the final conversion. */
|
||||
if (!(vconv2 = gst_element_factory_make("videoconvert", NULL)))
|
||||
@@ -1156,6 +1257,18 @@ static void pad_added_cb(GstElement *element, GstPad *pad, gpointer user)
|
||||
if (!(vconv2 = create_element("videoconvert", "base")))
|
||||
goto out;
|
||||
}
|
||||
|
||||
+ if (!parser->seekable)
|
||||
+ {
|
||||
@@ -415,7 +413,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
/* The bin takes ownership of these elements. */
|
||||
gst_bin_add(GST_BIN(parser->container), deinterlace);
|
||||
gst_element_sync_state_with_parent(deinterlace);
|
||||
@@ -1163,16 +1276,20 @@ static void pad_added_cb(GstElement *element, GstPad *pad, gpointer user)
|
||||
@@ -1160,16 +1273,20 @@ static void pad_added_cb(GstElement *element, GstPad *pad, gpointer user)
|
||||
gst_element_sync_state_with_parent(vconv);
|
||||
gst_bin_add(GST_BIN(parser->container), flip);
|
||||
gst_element_sync_state_with_parent(flip);
|
||||
@@ -437,7 +435,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
}
|
||||
else if (!strcmp(name, "audio/x-raw"))
|
||||
{
|
||||
@@ -1260,23 +1377,25 @@ static void pad_removed_cb(GstElement *element, GstPad *pad, gpointer user)
|
||||
@@ -1253,23 +1370,25 @@ static void pad_removed_cb(GstElement *element, GstPad *pad, gpointer user)
|
||||
g_free(name);
|
||||
}
|
||||
|
||||
@@ -472,7 +470,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
|
||||
if (!*buffer)
|
||||
*buffer = new_buffer = gst_buffer_new_and_alloc(size);
|
||||
@@ -1285,6 +1404,14 @@ static GstFlowReturn src_getrange_cb(GstPad *pad, GstObject *parent,
|
||||
@@ -1278,6 +1397,14 @@ static GstFlowReturn src_getrange_cb(GstPad *pad, GstObject *parent,
|
||||
|
||||
pthread_mutex_lock(&parser->mutex);
|
||||
|
||||
@@ -487,7 +485,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
assert(!parser->read_request.data);
|
||||
parser->read_request.data = map_info.data;
|
||||
parser->read_request.offset = offset;
|
||||
@@ -1296,8 +1423,36 @@ static GstFlowReturn src_getrange_cb(GstPad *pad, GstObject *parent,
|
||||
@@ -1289,8 +1416,36 @@ static GstFlowReturn src_getrange_cb(GstPad *pad, GstObject *parent,
|
||||
* the upstream pin to flush if necessary. We should never be blocked on
|
||||
* read_thread() not running. */
|
||||
|
||||
@@ -525,7 +523,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
|
||||
ret = parser->read_request.ret;
|
||||
|
||||
@@ -1305,12 +1460,29 @@ static GstFlowReturn src_getrange_cb(GstPad *pad, GstObject *parent,
|
||||
@@ -1298,12 +1453,29 @@ static GstFlowReturn src_getrange_cb(GstPad *pad, GstObject *parent,
|
||||
|
||||
gst_buffer_unmap(*buffer, &map_info);
|
||||
|
||||
@@ -557,7 +555,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
}
|
||||
|
||||
static gboolean src_query_cb(GstPad *pad, GstObject *parent, GstQuery *query)
|
||||
@@ -1329,7 +1501,7 @@ static gboolean src_query_cb(GstPad *pad, GstObject *parent, GstQuery *query)
|
||||
@@ -1322,7 +1494,7 @@ static gboolean src_query_cb(GstPad *pad, GstObject *parent, GstQuery *query)
|
||||
gst_query_set_duration(query, GST_FORMAT_PERCENT, GST_FORMAT_PERCENT_MAX);
|
||||
return TRUE;
|
||||
}
|
||||
@@ -566,7 +564,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
{
|
||||
gst_query_set_duration(query, GST_FORMAT_BYTES, parser->file_size);
|
||||
return TRUE;
|
||||
@@ -1343,15 +1515,42 @@ static gboolean src_query_cb(GstPad *pad, GstObject *parent, GstQuery *query)
|
||||
@@ -1336,15 +1508,42 @@ static gboolean src_query_cb(GstPad *pad, GstObject *parent, GstQuery *query)
|
||||
GST_WARNING("Cannot seek using format \"%s\".", gst_format_get_name(format));
|
||||
return FALSE;
|
||||
}
|
||||
@@ -610,7 +608,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
default:
|
||||
GST_WARNING("Unhandled query type %s.", GST_QUERY_TYPE_NAME(query));
|
||||
return FALSE;
|
||||
@@ -1361,42 +1560,115 @@ static gboolean src_query_cb(GstPad *pad, GstObject *parent, GstQuery *query)
|
||||
@@ -1354,42 +1553,115 @@ static gboolean src_query_cb(GstPad *pad, GstObject *parent, GstQuery *query)
|
||||
static void *push_data(void *arg)
|
||||
{
|
||||
struct wg_parser *parser = arg;
|
||||
@@ -736,7 +734,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
|
||||
buffer->duration = buffer->pts = -1;
|
||||
if ((ret = gst_pad_push(parser->my_src, buffer)) < 0)
|
||||
@@ -1406,8 +1678,6 @@ static void *push_data(void *arg)
|
||||
@@ -1399,8 +1671,6 @@ static void *push_data(void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -745,7 +743,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
gst_pad_push_event(parser->my_src, gst_event_new_eos());
|
||||
|
||||
GST_DEBUG("Stopping push thread.");
|
||||
@@ -1423,6 +1693,12 @@ static gboolean activate_push(GstPad *pad, gboolean activate)
|
||||
@@ -1416,6 +1686,12 @@ static gboolean activate_push(GstPad *pad, gboolean activate)
|
||||
{
|
||||
if (parser->push_thread)
|
||||
{
|
||||
@@ -758,7 +756,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
pthread_join(parser->push_thread, NULL);
|
||||
parser->push_thread = 0;
|
||||
}
|
||||
@@ -1608,13 +1884,11 @@ static LONGLONG query_duration(GstPad *pad)
|
||||
@@ -1601,13 +1877,11 @@ static LONGLONG query_duration(GstPad *pad)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -773,7 +771,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
parser->sink_connected = true;
|
||||
|
||||
if (!parser->bus)
|
||||
@@ -1636,6 +1910,20 @@ static HRESULT CDECL wg_parser_connect(struct wg_parser *parser, uint64_t file_s
|
||||
@@ -1629,6 +1903,20 @@ static HRESULT CDECL wg_parser_connect(struct wg_parser *parser, uint64_t file_s
|
||||
parser->start_offset = parser->next_offset = parser->stop_offset = 0;
|
||||
parser->next_pull_offset = 0;
|
||||
|
||||
@@ -794,7 +792,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
if (!parser->init_gst(parser))
|
||||
return E_FAIL;
|
||||
|
||||
@@ -1666,6 +1954,43 @@ static HRESULT CDECL wg_parser_connect(struct wg_parser *parser, uint64_t file_s
|
||||
@@ -1659,6 +1947,43 @@ static HRESULT CDECL wg_parser_connect(struct wg_parser *parser, uint64_t file_s
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@@ -838,9 +836,9 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
static void free_stream(struct wg_parser_stream *stream)
|
||||
{
|
||||
if (stream->their_src)
|
||||
@@ -1740,6 +2065,9 @@ static BOOL decodebin_parser_init_gst(struct wg_parser *parser)
|
||||
@@ -1729,6 +2054,9 @@ static BOOL decodebin_parser_init_gst(struct wg_parser *parser)
|
||||
if (!(element = create_element("decodebin", "base")))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
+ if (parser->input_format.major_type)
|
||||
+ g_object_set(G_OBJECT(element), "sink-caps", wg_format_to_caps(&parser->input_format), NULL);
|
||||
@@ -848,7 +846,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
gst_bin_add(GST_BIN(parser->container), element);
|
||||
parser->decodebin = element;
|
||||
|
||||
@@ -2016,6 +2344,7 @@ static const struct unix_funcs funcs =
|
||||
@@ -1993,6 +2321,7 @@ static const struct unix_funcs funcs =
|
||||
wg_parser_destroy,
|
||||
|
||||
wg_parser_connect,
|
||||
@@ -856,7 +854,7 @@ index e9689c01085..9ca5abebfaf 100644
|
||||
wg_parser_disconnect,
|
||||
|
||||
wg_parser_begin_flush,
|
||||
@@ -2040,6 +2369,7 @@ static const struct unix_funcs funcs =
|
||||
@@ -2017,6 +2346,7 @@ static const struct unix_funcs funcs =
|
||||
|
||||
wg_parser_stream_get_duration,
|
||||
wg_parser_stream_seek,
|
||||
|
@@ -1,7 +1,7 @@
|
||||
From 8c2af2c3be9a337c07638206ba9d0c4035fda36e Mon Sep 17 00:00:00 2001
|
||||
From d340cda54c6b51c8ee9fcd687ab9877f0451844a Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Fri, 19 Mar 2021 16:59:29 -0400
|
||||
Subject: [PATCH 14/39] winegstreamer: Introduce AAC decoder transform.
|
||||
Subject: [PATCH] winegstreamer: Introduce AAC decoder transform.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
@@ -83,7 +83,7 @@ index 25694aae84d..6407aff484c 100644
|
||||
HRESULT decode_transform_create(REFIID riid, void **obj, enum decoder_type) DECLSPEC_HIDDEN;
|
||||
|
||||
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
|
||||
index f015ecc3f47..f3d9fb61a66 100644
|
||||
index 35b2f2c3224..9c95450bd99 100644
|
||||
--- a/dlls/winegstreamer/mfplat.c
|
||||
+++ b/dlls/winegstreamer/mfplat.c
|
||||
@@ -407,6 +407,11 @@ static HRESULT h264_decoder_create(REFIID riid, void **ret)
|
||||
@@ -113,10 +113,10 @@ index f015ecc3f47..f3d9fb61a66 100644
|
||||
- IMFMediaType_SetUINT32(type, &MF_MT_AUDIO_CHANNEL_MASK, format->u.audio.channel_mask);
|
||||
+ if (format->u.audio.channel_mask)
|
||||
+ IMFMediaType_SetUINT32(type, &MF_MT_AUDIO_CHANNEL_MASK, format->u.audio.channel_mask);
|
||||
IMFMediaType_SetUINT32(type, &MF_MT_ALL_SAMPLES_INDEPENDENT, TRUE);
|
||||
|
||||
return type;
|
||||
}
|
||||
@@ -687,6 +694,8 @@ static void mf_media_type_to_wg_format_audio(IMFMediaType *type, struct wg_forma
|
||||
@@ -688,6 +695,8 @@ static void mf_media_type_to_wg_format_audio(IMFMediaType *type, struct wg_forma
|
||||
channel_mask = KSAUDIO_SPEAKER_MONO;
|
||||
else if (channels == 2)
|
||||
channel_mask = KSAUDIO_SPEAKER_STEREO;
|
||||
@@ -125,7 +125,7 @@ index f015ecc3f47..f3d9fb61a66 100644
|
||||
else
|
||||
{
|
||||
FIXME("Channel mask is not set.\n");
|
||||
@@ -699,6 +708,58 @@ static void mf_media_type_to_wg_format_audio(IMFMediaType *type, struct wg_forma
|
||||
@@ -700,6 +709,58 @@ static void mf_media_type_to_wg_format_audio(IMFMediaType *type, struct wg_forma
|
||||
format->u.audio.channel_mask = channel_mask;
|
||||
format->u.audio.rate = rate;
|
||||
|
||||
@@ -197,7 +197,7 @@ index 1c68eba1872..b1e35521266 100644
|
||||
|
||||
case WG_AUDIO_FORMAT_MPEG1_LAYER1:
|
||||
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c
|
||||
index 9ca5abebfaf..2a982576ef5 100644
|
||||
index 6c8cf1f85b1..7f06fd886d6 100644
|
||||
--- a/dlls/winegstreamer/wg_parser.c
|
||||
+++ b/dlls/winegstreamer/wg_parser.c
|
||||
@@ -398,6 +398,13 @@ static void wg_set_caps_from_wg_format(GstCaps *caps, const struct wg_format *fo
|
||||
@@ -253,7 +253,7 @@ index 9ca5abebfaf..2a982576ef5 100644
|
||||
+ case 0x2A: profile = "lc"; level = "4"; break;
|
||||
+ case 0x2B: profile = "lc"; level = "5"; break;
|
||||
+ default:
|
||||
+ FIXME("Unrecognized profile-level-indication %u\n", format->u.audio.compressed.aac.indication);
|
||||
+ GST_DEBUG("Unrecognized profile-level-indication %u\n", format->u.audio.compressed.aac.indication);
|
||||
+ /* fallthrough */
|
||||
+ case 0x00: case 0xFE: profile = level = NULL; break; /* unspecified */
|
||||
+ }
|
||||
|
@@ -431,7 +431,7 @@ index 44d0c9b71f3..6f4dd28082b 100644
|
||||
+ {
|
||||
+ if (!(convert = gst_element_factory_make("videoconvert", NULL)))
|
||||
+ {
|
||||
+ ERR("Failed to create videoconvert; are %u-bit GStreamer \"base\" plugins installed?\n",
|
||||
+ GST_ERROR("Failed to create videoconvert; are %u-bit GStreamer \"base\" plugins installed?\n",
|
||||
+ 8 * (int)sizeof(void*));
|
||||
+ return FALSE;
|
||||
+ }
|
||||
@@ -445,7 +445,7 @@ index 44d0c9b71f3..6f4dd28082b 100644
|
||||
+ {
|
||||
+ if (!(convert = gst_element_factory_make("audioconvert", NULL)))
|
||||
+ {
|
||||
+ ERR("Failed to create audioconvert; are %u-bit GStreamer \"base\" plugins installed?\n",
|
||||
+ GST_ERROR("Failed to create audioconvert; are %u-bit GStreamer \"base\" plugins installed?\n",
|
||||
+ 8 * (int)sizeof(void*));
|
||||
+ return FALSE;
|
||||
+ }
|
||||
@@ -454,7 +454,7 @@ index 44d0c9b71f3..6f4dd28082b 100644
|
||||
+
|
||||
+ if (!(resampler = gst_element_factory_make("audioresample", NULL)))
|
||||
+ {
|
||||
+ ERR("Failed to create audioresample; are %u-bit GStreamer \"base\" plugins installed?\n",
|
||||
+ GST_ERROR("Failed to create audioresample; are %u-bit GStreamer \"base\" plugins installed?\n",
|
||||
+ 8 * (int)sizeof(void*));
|
||||
+ return FALSE;
|
||||
+ }
|
||||
@@ -468,7 +468,7 @@ index 44d0c9b71f3..6f4dd28082b 100644
|
||||
+
|
||||
+ if ((ret = gst_pad_link(parser->my_src, parser->their_sink)) < 0)
|
||||
+ {
|
||||
+ ERR("Failed to link sink pads, error %d.\n", ret);
|
||||
+ GST_ERROR("Failed to link sink pads, error %d.\n", ret);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
@@ -479,7 +479,7 @@ index 44d0c9b71f3..6f4dd28082b 100644
|
||||
+ gst_object_ref(stream->their_src);
|
||||
+ if ((ret = gst_pad_link(stream->their_src, stream->my_sink)) < 0)
|
||||
+ {
|
||||
+ ERR("Failed to link source pads, error %d.\n", ret);
|
||||
+ GST_ERROR("Failed to link source pads, error %d.\n", ret);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
@@ -489,7 +489,7 @@ index 44d0c9b71f3..6f4dd28082b 100644
|
||||
+ ret = gst_element_get_state(parser->container, NULL, NULL, -1);
|
||||
+ if (ret == GST_STATE_CHANGE_FAILURE)
|
||||
+ {
|
||||
+ ERR("Failed to play stream.\n");
|
||||
+ GST_ERROR("Failed to play stream.\n");
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
|
@@ -1,8 +1,8 @@
|
||||
From 97f4a9b38ee49706edb3c52b93dd86509665361c Mon Sep 17 00:00:00 2001
|
||||
From 7be3ecb31b7beb25a0a66d11d9f36a5192a9653c Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Thu, 18 Mar 2021 16:20:50 -0400
|
||||
Subject: [PATCH 34/39] winegstreamer: Only require videobox element for parser
|
||||
when needed.
|
||||
Subject: [PATCH] winegstreamer: Only require videobox element for parser when
|
||||
needed.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
@@ -10,10 +10,10 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
1 file changed, 32 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c
|
||||
index 534db931d8b..afd69ea6891 100644
|
||||
index 863870f966d..1d659fcc8d0 100644
|
||||
--- a/dlls/winegstreamer/wg_parser.c
|
||||
+++ b/dlls/winegstreamer/wg_parser.c
|
||||
@@ -753,6 +753,15 @@ static void CDECL wg_parser_stream_enable(struct wg_parser_stream *stream, const
|
||||
@@ -756,6 +756,15 @@ static void CDECL wg_parser_stream_enable(struct wg_parser_stream *stream, const
|
||||
|
||||
if (aperture)
|
||||
{
|
||||
@@ -29,9 +29,9 @@ index 534db931d8b..afd69ea6891 100644
|
||||
if (aperture->left)
|
||||
g_object_set(G_OBJECT(stream->box), "left", -aperture->left, NULL);
|
||||
if (aperture->top)
|
||||
@@ -1309,12 +1318,7 @@ static void pad_added_cb(GstElement *element, GstPad *pad, gpointer user)
|
||||
@@ -1310,12 +1319,7 @@ static void pad_added_cb(GstElement *element, GstPad *pad, gpointer user)
|
||||
if (!(flip = create_element("videoflip", "good")))
|
||||
goto out;
|
||||
}
|
||||
|
||||
- if (!(videobox = gst_element_factory_make("videobox", NULL)))
|
||||
- {
|
||||
@@ -43,7 +43,7 @@ index 534db931d8b..afd69ea6891 100644
|
||||
|
||||
/* videoflip does not support 15 and 16-bit RGB so add a second videoconvert
|
||||
* to do the final conversion. */
|
||||
@@ -1327,6 +1331,14 @@ static void pad_added_cb(GstElement *element, GstPad *pad, gpointer user)
|
||||
@@ -1324,6 +1328,14 @@ static void pad_added_cb(GstElement *element, GstPad *pad, gpointer user)
|
||||
|
||||
if (!parser->seekable)
|
||||
{
|
||||
@@ -58,7 +58,7 @@ index 534db931d8b..afd69ea6891 100644
|
||||
if (stream->aperture.left)
|
||||
g_object_set(G_OBJECT(videobox), "left", -stream->aperture.left, NULL);
|
||||
if (stream->aperture.bottom)
|
||||
@@ -1344,15 +1356,25 @@ static void pad_added_cb(GstElement *element, GstPad *pad, gpointer user)
|
||||
@@ -1341,15 +1353,25 @@ static void pad_added_cb(GstElement *element, GstPad *pad, gpointer user)
|
||||
gst_element_sync_state_with_parent(vconv);
|
||||
gst_bin_add(GST_BIN(parser->container), flip);
|
||||
gst_element_sync_state_with_parent(flip);
|
||||
|
@@ -1,25 +0,0 @@
|
||||
From 7fb19224f43a76744fa44f25c4d9c50eba568c98 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 28 Jun 2021 14:54:19 +1000
|
||||
Subject: [PATCH] mfplat: Fix copy/paste error
|
||||
|
||||
---
|
||||
dlls/mfplat/buffer.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/mfplat/buffer.c b/dlls/mfplat/buffer.c
|
||||
index c1829043e1b..9081dc39eab 100644
|
||||
--- a/dlls/mfplat/buffer.c
|
||||
+++ b/dlls/mfplat/buffer.c
|
||||
@@ -1473,7 +1473,7 @@ static HRESULT create_dxgi_surface_buffer(IUnknown *surface, unsigned int sub_re
|
||||
object->_2d.width = stride;
|
||||
object->_2d.height = desc.Height;
|
||||
object->max_length = object->_2d.plane_size;
|
||||
- object->_2d.copy_image = get_2d_buffer_copy_func(desc.Format);
|
||||
+ object->_2d.copy_image = get_2d_buffer_copy_func(format);
|
||||
|
||||
if (FAILED(hr = init_attributes_object(&object->dxgi_surface.attributes, 0)))
|
||||
{
|
||||
--
|
||||
2.30.2
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 63e6c0777437ce33d4a73a4b99581ca10f86b941 Mon Sep 17 00:00:00 2001
|
||||
From 0a08aa6899527ecb02171b95e777d0549489fe3f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 30 Mar 2015 04:01:51 +0200
|
||||
Subject: [PATCH] mountmgr.sys: Write usable device paths into
|
||||
@@ -11,14 +11,14 @@ Based on a patch by Bernhard Ăśbelacker.
|
||||
---
|
||||
dlls/mountmgr.sys/device.c | 4 ++--
|
||||
dlls/mountmgr.sys/mountmgr.c | 11 +++++++++--
|
||||
dlls/mountmgr.sys/mountmgr.h | 3 +--
|
||||
3 files changed, 12 insertions(+), 6 deletions(-)
|
||||
dlls/mountmgr.sys/mountmgr.h | 3 ++-
|
||||
3 files changed, 13 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/mountmgr.sys/device.c b/dlls/mountmgr.sys/device.c
|
||||
index e77f8904040..87609bf3de2 100644
|
||||
index c8e7d6bf088..426187a4512 100644
|
||||
--- a/dlls/mountmgr.sys/device.c
|
||||
+++ b/dlls/mountmgr.sys/device.c
|
||||
@@ -516,8 +516,8 @@ static NTSTATUS set_volume_info( struct volume *volume, struct dos_drive *drive,
|
||||
@@ -1205,8 +1205,8 @@ static NTSTATUS set_volume_info( struct volume *volume, struct dos_drive *drive,
|
||||
id = disk_device->unix_mount;
|
||||
id_len = strlen( disk_device->unix_mount ) + 1;
|
||||
}
|
||||
@@ -30,10 +30,10 @@ index e77f8904040..87609bf3de2 100644
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
diff --git a/dlls/mountmgr.sys/mountmgr.c b/dlls/mountmgr.sys/mountmgr.c
|
||||
index bc2b776a92f..e9dc04fe551 100644
|
||||
index 50be9eb740f..6667d214560 100644
|
||||
--- a/dlls/mountmgr.sys/mountmgr.c
|
||||
+++ b/dlls/mountmgr.sys/mountmgr.c
|
||||
@@ -47,14 +47,21 @@ struct mount_point
|
||||
@@ -55,14 +55,21 @@ struct mount_point
|
||||
static struct list mount_points_list = LIST_INIT(mount_points_list);
|
||||
static HKEY mount_key;
|
||||
|
||||
@@ -58,18 +58,19 @@ index bc2b776a92f..e9dc04fe551 100644
|
||||
else mount->id_len = 0;
|
||||
}
|
||||
diff --git a/dlls/mountmgr.sys/mountmgr.h b/dlls/mountmgr.sys/mountmgr.h
|
||||
index 95386a44f84..2a7bf41b475 100644
|
||||
index 85c58062275..3454b1a8c73 100644
|
||||
--- a/dlls/mountmgr.sys/mountmgr.h
|
||||
+++ b/dlls/mountmgr.sys/mountmgr.h
|
||||
@@ -69,7 +69,6 @@ extern struct mount_point *add_dosdev_mount_point( DEVICE_OBJECT *device, UNICOD
|
||||
@@ -106,7 +106,8 @@ extern struct mount_point *add_dosdev_mount_point( DEVICE_OBJECT *device, UNICOD
|
||||
extern struct mount_point *add_volume_mount_point( DEVICE_OBJECT *device, UNICODE_STRING *device_name,
|
||||
const GUID *guid ) DECLSPEC_HIDDEN;
|
||||
extern void delete_mount_point( struct mount_point *mount ) DECLSPEC_HIDDEN;
|
||||
-extern void set_mount_point_id( struct mount_point *mount, const void *id, unsigned int id_len ) DECLSPEC_HIDDEN;
|
||||
-
|
||||
+
|
||||
+extern void set_mount_point_id( struct mount_point *mount, const void *id, unsigned int id_len, int drive ) DECLSPEC_HIDDEN;
|
||||
extern ULONG get_dhcp_request_param( const WCHAR *adapter, struct mountmgr_dhcp_request_param *param, char *buf,
|
||||
|
||||
extern ULONG get_dhcp_request_param( const NET_LUID *adapter, struct mountmgr_dhcp_request_param *param, char *buf,
|
||||
ULONG offset, ULONG size ) DECLSPEC_HIDDEN;
|
||||
--
|
||||
2.24.0
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 9d8e065b5e001715aa96cfee3fb9fcd89cc77674 Mon Sep 17 00:00:00 2001
|
||||
From 68c31664972be60b93397bf7d8a9cfab11baf046 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Thu, 9 Jan 2020 13:44:01 -0600
|
||||
Subject: [PATCH] ntdll/tests: Move some tests to a new sync.c file.
|
||||
@@ -6,9 +6,9 @@ Subject: [PATCH] ntdll/tests: Move some tests to a new sync.c file.
|
||||
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
|
||||
---
|
||||
dlls/ntdll/tests/Makefile.in | 1 +
|
||||
dlls/ntdll/tests/om.c | 573 -------------------------------
|
||||
dlls/ntdll/tests/om.c | 574 -------------------------------
|
||||
dlls/ntdll/tests/sync.c | 630 +++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 631 insertions(+), 573 deletions(-)
|
||||
3 files changed, 631 insertions(+), 574 deletions(-)
|
||||
create mode 100644 dlls/ntdll/tests/sync.c
|
||||
|
||||
diff --git a/dlls/ntdll/tests/Makefile.in b/dlls/ntdll/tests/Makefile.in
|
||||
@@ -24,7 +24,7 @@ index 7ad39e0992c..8c6a86fb965 100644
|
||||
time.c \
|
||||
virtual.c \
|
||||
diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c
|
||||
index 82f8188d176..9a9536f4639 100644
|
||||
index 81be7de00f6..9a9536f4639 100644
|
||||
--- a/dlls/ntdll/tests/om.c
|
||||
+++ b/dlls/ntdll/tests/om.c
|
||||
@@ -30,10 +30,6 @@
|
||||
@@ -353,7 +353,7 @@ index 82f8188d176..9a9536f4639 100644
|
||||
static void test_null_device(void)
|
||||
{
|
||||
OBJECT_ATTRIBUTES attr;
|
||||
@@ -2075,268 +1782,6 @@ static void test_null_device(void)
|
||||
@@ -2075,269 +1782,6 @@ static void test_null_device(void)
|
||||
CloseHandle(ov.hEvent);
|
||||
}
|
||||
|
||||
@@ -548,10 +548,10 @@ index 82f8188d176..9a9536f4639 100644
|
||||
-
|
||||
-static void test_wait_on_address(void)
|
||||
-{
|
||||
- DWORD ticks;
|
||||
- SIZE_T size;
|
||||
- NTSTATUS status;
|
||||
- LARGE_INTEGER timeout;
|
||||
- LARGE_INTEGER start, end, timeout;
|
||||
- DWORD elapsed;
|
||||
- LONG64 address, compare;
|
||||
-
|
||||
- if (!pRtlWaitOnAddress)
|
||||
@@ -580,13 +580,13 @@ index 82f8188d176..9a9536f4639 100644
|
||||
- /* values match */
|
||||
- address = 0;
|
||||
- compare = 0;
|
||||
- pNtQuerySystemTime(&timeout);
|
||||
- timeout.QuadPart += 100*10000;
|
||||
- ticks = GetTickCount();
|
||||
- pNtQuerySystemTime(&start);
|
||||
- timeout.QuadPart = start.QuadPart + 100 * 10000;
|
||||
- status = pRtlWaitOnAddress(&address, &compare, 8, &timeout);
|
||||
- ticks = GetTickCount() - ticks;
|
||||
- pNtQuerySystemTime(&end);
|
||||
- ok(status == STATUS_TIMEOUT, "got 0x%08x\n", status);
|
||||
- ok(ticks >= 80 && ticks <= 1000, "got %u\n", ticks);
|
||||
- elapsed = (end.QuadPart - start.QuadPart) / 10000;
|
||||
- ok(90 <= elapsed && elapsed <= 900, "timed out in %u ms\n", elapsed);
|
||||
- ok(address == 0, "got %s\n", wine_dbgstr_longlong(address));
|
||||
- ok(compare == 0, "got %s\n", wine_dbgstr_longlong(compare));
|
||||
-
|
||||
@@ -596,12 +596,13 @@ index 82f8188d176..9a9536f4639 100644
|
||||
- compare = ~0;
|
||||
- compare <<= size * 8;
|
||||
-
|
||||
- pNtQuerySystemTime(&start);
|
||||
- timeout.QuadPart = -100 * 10000;
|
||||
- ticks = GetTickCount();
|
||||
- status = pRtlWaitOnAddress(&address, &compare, size, &timeout);
|
||||
- ticks = GetTickCount() - ticks;
|
||||
- pNtQuerySystemTime(&end);
|
||||
- ok(status == STATUS_TIMEOUT, "got 0x%08x\n", status);
|
||||
- ok(ticks >= 80 && ticks <= 1000, "got %u\n", ticks);
|
||||
- elapsed = (end.QuadPart - start.QuadPart) / 10000;
|
||||
- ok(90 <= elapsed && elapsed <= 900, "timed out in %u ms\n", elapsed);
|
||||
-
|
||||
- status = pRtlWaitOnAddress(&address, &compare, size << 1, &timeout);
|
||||
- ok(!status, "got 0x%08x\n", status);
|
||||
@@ -622,7 +623,7 @@ index 82f8188d176..9a9536f4639 100644
|
||||
static void test_process(void)
|
||||
{
|
||||
OBJECT_ATTRIBUTES attr;
|
||||
@@ -2668,13 +2113,7 @@ START_TEST(om)
|
||||
@@ -2669,13 +2113,7 @@ START_TEST(om)
|
||||
pNtCreateMailslotFile = (void *)GetProcAddress(hntdll, "NtCreateMailslotFile");
|
||||
pNtCreateMutant = (void *)GetProcAddress(hntdll, "NtCreateMutant");
|
||||
pNtOpenEvent = (void *)GetProcAddress(hntdll, "NtOpenEvent");
|
||||
@@ -636,7 +637,7 @@ index 82f8188d176..9a9536f4639 100644
|
||||
pNtOpenFile = (void *)GetProcAddress(hntdll, "NtOpenFile");
|
||||
pNtClose = (void *)GetProcAddress(hntdll, "NtClose");
|
||||
pRtlInitUnicodeString = (void *)GetProcAddress(hntdll, "RtlInitUnicodeString");
|
||||
@@ -2686,7 +2125,6 @@ START_TEST(om)
|
||||
@@ -2687,7 +2125,6 @@ START_TEST(om)
|
||||
pNtQuerySymbolicLinkObject = (void *)GetProcAddress(hntdll, "NtQuerySymbolicLinkObject");
|
||||
pNtCreateSemaphore = (void *)GetProcAddress(hntdll, "NtCreateSemaphore");
|
||||
pNtOpenSemaphore = (void *)GetProcAddress(hntdll, "NtOpenSemaphore");
|
||||
@@ -644,7 +645,7 @@ index 82f8188d176..9a9536f4639 100644
|
||||
pNtCreateTimer = (void *)GetProcAddress(hntdll, "NtCreateTimer");
|
||||
pNtOpenTimer = (void *)GetProcAddress(hntdll, "NtOpenTimer");
|
||||
pNtCreateSection = (void *)GetProcAddress(hntdll, "NtCreateSection");
|
||||
@@ -2695,15 +2133,9 @@ START_TEST(om)
|
||||
@@ -2696,15 +2133,9 @@ START_TEST(om)
|
||||
pNtReleaseSemaphore = (void *)GetProcAddress(hntdll, "NtReleaseSemaphore");
|
||||
pNtCreateKeyedEvent = (void *)GetProcAddress(hntdll, "NtCreateKeyedEvent");
|
||||
pNtOpenKeyedEvent = (void *)GetProcAddress(hntdll, "NtOpenKeyedEvent");
|
||||
@@ -660,7 +661,7 @@ index 82f8188d176..9a9536f4639 100644
|
||||
pNtOpenProcess = (void *)GetProcAddress(hntdll, "NtOpenProcess");
|
||||
pNtCreateDebugObject = (void *)GetProcAddress(hntdll, "NtCreateDebugObject");
|
||||
pNtGetNextThread = (void *)GetProcAddress(hntdll, "NtGetNextThread");
|
||||
@@ -2716,12 +2148,7 @@ START_TEST(om)
|
||||
@@ -2717,12 +2148,7 @@ START_TEST(om)
|
||||
test_symboliclink();
|
||||
test_query_object();
|
||||
test_type_mismatch();
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From b14229169f51d73f36bd5821388a3ba455ee5c99 Mon Sep 17 00:00:00 2001
|
||||
From 4d20defb0e12891e3d85a2f162f152f89cf0447d Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Fri, 30 Apr 2021 15:07:04 -0500
|
||||
Subject: [PATCH] ntdll: Implement NtAlertThreadByThreadId and
|
||||
@@ -12,10 +12,10 @@ Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
|
||||
3 files changed, 97 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index a9cf662a29a..c9cd6fb59fd 100644
|
||||
index aad7bd89d14..8544d759587 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -137,6 +137,7 @@
|
||||
@@ -138,6 +138,7 @@
|
||||
@ stdcall -syscall NtAdjustPrivilegesToken(long long ptr long ptr ptr)
|
||||
@ stdcall -syscall NtAlertResumeThread(long ptr)
|
||||
@ stdcall -syscall NtAlertThread(long)
|
||||
@@ -23,16 +23,16 @@ index a9cf662a29a..c9cd6fb59fd 100644
|
||||
@ stdcall -syscall NtAllocateLocallyUniqueId(ptr)
|
||||
# @ stub NtAllocateUserPhysicalPages
|
||||
@ stdcall -syscall NtAllocateUuids(ptr ptr ptr ptr)
|
||||
@@ -423,6 +424,7 @@
|
||||
@@ -424,6 +425,7 @@
|
||||
@ stdcall -syscall NtUnmapViewOfSection(long ptr)
|
||||
@ stub NtVdmControl
|
||||
@ stub NtW32Call
|
||||
# @ stub NtVdmControl
|
||||
# @ stub NtW32Call
|
||||
+@ stdcall -syscall NtWaitForAlertByThreadId(ptr ptr)
|
||||
@ stdcall -syscall NtWaitForDebugEvent(long long ptr ptr)
|
||||
@ stdcall -syscall NtWaitForKeyedEvent(long ptr long ptr)
|
||||
@ stdcall -syscall NtWaitForMultipleObjects(long ptr long long ptr)
|
||||
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
|
||||
index 16635ee42fa..014e5e5d0a7 100644
|
||||
index d31c5b69015..2dad70be456 100644
|
||||
--- a/dlls/ntdll/unix/sync.c
|
||||
+++ b/dlls/ntdll/unix/sync.c
|
||||
@@ -32,6 +32,9 @@
|
||||
@@ -45,7 +45,7 @@ index 16635ee42fa..014e5e5d0a7 100644
|
||||
#ifdef HAVE_SYS_SYSCALL_H
|
||||
#include <sys/syscall.h>
|
||||
#endif
|
||||
@@ -81,6 +84,12 @@ static const LARGE_INTEGER zero_timeout;
|
||||
@@ -82,6 +85,12 @@ static const LARGE_INTEGER zero_timeout;
|
||||
|
||||
static pthread_mutex_t addr_mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||
|
||||
@@ -58,7 +58,7 @@ index 16635ee42fa..014e5e5d0a7 100644
|
||||
/* return a monotonic time counter, in Win32 ticks */
|
||||
static inline ULONGLONG monotonic_counter(void)
|
||||
{
|
||||
@@ -2277,6 +2286,90 @@ NTSTATUS WINAPI NtQueryInformationAtom( RTL_ATOM atom, ATOM_INFORMATION_CLASS cl
|
||||
@@ -2333,6 +2342,90 @@ NTSTATUS WINAPI NtQueryInformationAtom( RTL_ATOM atom, ATOM_INFORMATION_CLASS cl
|
||||
}
|
||||
|
||||
|
||||
@@ -150,10 +150,10 @@ index 16635ee42fa..014e5e5d0a7 100644
|
||||
|
||||
NTSTATUS CDECL fast_RtlpWaitForCriticalSection( RTL_CRITICAL_SECTION *crit, int timeout )
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index 69d0e32f1d4..a6c22a5711d 100644
|
||||
index 7a8a977b512..6bb6ad58277 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -3639,6 +3639,7 @@ NTSYSAPI NTSTATUS WINAPI NtAdjustGroupsToken(HANDLE,BOOLEAN,PTOKEN_GROUPS,ULONG
|
||||
@@ -3799,6 +3799,7 @@ NTSYSAPI NTSTATUS WINAPI NtAdjustGroupsToken(HANDLE,BOOLEAN,PTOKEN_GROUPS,ULONG
|
||||
NTSYSAPI NTSTATUS WINAPI NtAdjustPrivilegesToken(HANDLE,BOOLEAN,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD);
|
||||
NTSYSAPI NTSTATUS WINAPI NtAlertResumeThread(HANDLE,PULONG);
|
||||
NTSYSAPI NTSTATUS WINAPI NtAlertThread(HANDLE ThreadHandle);
|
||||
@@ -161,7 +161,7 @@ index 69d0e32f1d4..a6c22a5711d 100644
|
||||
NTSYSAPI NTSTATUS WINAPI NtAllocateLocallyUniqueId(PLUID lpLuid);
|
||||
NTSYSAPI NTSTATUS WINAPI NtAllocateUuids(PULARGE_INTEGER,PULONG,PULONG,PUCHAR);
|
||||
NTSYSAPI NTSTATUS WINAPI NtAllocateVirtualMemory(HANDLE,PVOID*,ULONG_PTR,SIZE_T*,ULONG,ULONG);
|
||||
@@ -3876,6 +3877,7 @@ NTSYSAPI NTSTATUS WINAPI NtUnlockFile(HANDLE,PIO_STATUS_BLOCK,PLARGE_INTEGER,PL
|
||||
@@ -4036,6 +4037,7 @@ NTSYSAPI NTSTATUS WINAPI NtUnlockFile(HANDLE,PIO_STATUS_BLOCK,PLARGE_INTEGER,PL
|
||||
NTSYSAPI NTSTATUS WINAPI NtUnlockVirtualMemory(HANDLE,PVOID*,SIZE_T*,ULONG);
|
||||
NTSYSAPI NTSTATUS WINAPI NtUnmapViewOfSection(HANDLE,PVOID);
|
||||
NTSYSAPI NTSTATUS WINAPI NtVdmControl(ULONG,PVOID);
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From fd8bfe5f17e0c95cdaf5125f4f4a18ad7b06cfd8 Mon Sep 17 00:00:00 2001
|
||||
From 601db6caf92a018e469a714085c7a573c7cd8fa1 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Mon, 31 Aug 2020 23:30:52 -0500
|
||||
Subject: [PATCH] ntdll: Merge critsection.c into sync.c.
|
||||
@@ -12,7 +12,7 @@ Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
|
||||
delete mode 100644 dlls/ntdll/critsection.c
|
||||
|
||||
diff --git a/dlls/ntdll/Makefile.in b/dlls/ntdll/Makefile.in
|
||||
index 0fdfb83df15..2e79843890d 100644
|
||||
index 881a3b28ff1..841e1a4a943 100644
|
||||
--- a/dlls/ntdll/Makefile.in
|
||||
+++ b/dlls/ntdll/Makefile.in
|
||||
@@ -9,7 +9,6 @@ EXTRADLLFLAGS = -mno-cygwin -nodefaultlibs -Wl,--image-base,0x7bc00000
|
||||
@@ -22,7 +22,7 @@ index 0fdfb83df15..2e79843890d 100644
|
||||
- critsection.c \
|
||||
crypt.c \
|
||||
debugbuffer.c \
|
||||
directory.c \
|
||||
env.c \
|
||||
diff --git a/dlls/ntdll/critsection.c b/dlls/ntdll/critsection.c
|
||||
deleted file mode 100644
|
||||
index fe7d933c0fa..00000000000
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From acfa81780932de0b511e0454056ad82d1fcccc98 Mon Sep 17 00:00:00 2001
|
||||
From aaa6e2824cd84e2317017c5436c03621a890cc0c Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Mon, 31 Aug 2020 23:38:09 -0500
|
||||
Subject: [PATCH] ntdll: Reimplement the critical section fast path on top of
|
||||
@@ -9,9 +9,9 @@ Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
|
||||
dlls/ntdll/sync.c | 35 +++++++----
|
||||
dlls/ntdll/unix/loader.c | 3 -
|
||||
dlls/ntdll/unix/sync.c | 109 ---------------------------------
|
||||
dlls/ntdll/unix/unix_private.h | 3 -
|
||||
dlls/ntdll/unix/unix_private.h | 4 --
|
||||
dlls/ntdll/unixlib.h | 3 -
|
||||
5 files changed, 23 insertions(+), 130 deletions(-)
|
||||
5 files changed, 23 insertions(+), 131 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/sync.c b/dlls/ntdll/sync.c
|
||||
index c73fb09da47..6edf104c5e9 100644
|
||||
@@ -83,10 +83,10 @@ index c73fb09da47..6edf104c5e9 100644
|
||||
return ret;
|
||||
}
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index b51d726c5e4..063f48148d7 100644
|
||||
index e21cf8631d7..97bb9e510b2 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -1822,9 +1822,6 @@ static struct unix_funcs unix_funcs =
|
||||
@@ -1872,9 +1872,6 @@ static struct unix_funcs unix_funcs =
|
||||
#endif
|
||||
DbgUiIssueRemoteBreakin,
|
||||
RtlGetSystemTimePrecise,
|
||||
@@ -217,13 +217,14 @@ index 5e49593fa4a..84f7c937be3 100644
|
||||
|
||||
/* Futex-based SRW lock implementation:
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index 9b27dc7ee7d..7460387c4bb 100644
|
||||
index 090f6afdf29..5e3dbebee4c 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -95,9 +95,6 @@ extern NTSTATUS (WINAPI *pKiUserExceptionDispatcher)(EXCEPTION_RECORD*,CONTEXT*)
|
||||
extern void (WINAPI *pLdrInitializeThunk)(CONTEXT*,void**,ULONG_PTR,ULONG_PTR) DECLSPEC_HIDDEN;
|
||||
@@ -96,10 +96,6 @@ extern void (WINAPI *pLdrInitializeThunk)(CONTEXT*,void**,ULONG_PTR,ULONG_PT
|
||||
extern void (WINAPI *pRtlUserThreadStart)( PRTL_THREAD_START_ROUTINE entry, void *arg ) DECLSPEC_HIDDEN;
|
||||
extern void (WINAPI *p__wine_ctrl_routine)(void *) DECLSPEC_HIDDEN;
|
||||
extern SYSTEM_DLL_INIT_BLOCK *pLdrSystemDllInitBlock DECLSPEC_HIDDEN;
|
||||
-
|
||||
-extern NTSTATUS CDECL fast_RtlpWaitForCriticalSection( RTL_CRITICAL_SECTION *crit, int timeout ) DECLSPEC_HIDDEN;
|
||||
-extern NTSTATUS CDECL fast_RtlpUnWaitCriticalSection( RTL_CRITICAL_SECTION *crit ) DECLSPEC_HIDDEN;
|
||||
-extern NTSTATUS CDECL fast_RtlDeleteCriticalSection( RTL_CRITICAL_SECTION *crit ) DECLSPEC_HIDDEN;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 79a9bdf605de59b3f1800ef577327af6fa565b62 Mon Sep 17 00:00:00 2001
|
||||
From 10e7bf638ebb34278c5fe3adcb360556aa73d999 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Sun, 22 Nov 2020 20:51:10 -0600
|
||||
Subject: [PATCH] ntdll: Reimplement SRW locks on top of Win32 futexes.
|
||||
@@ -392,10 +392,10 @@ index 4b92379a0ff..2edc9f8d558 100644
|
||||
|
||||
/***********************************************************************
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index e40bff5ba3e..d88be456bff 100644
|
||||
index 5b2619ff92f..c6f9227dd90 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -1822,12 +1822,6 @@ static struct unix_funcs unix_funcs =
|
||||
@@ -1872,12 +1872,6 @@ static struct unix_funcs unix_funcs =
|
||||
#endif
|
||||
DbgUiIssueRemoteBreakin,
|
||||
RtlGetSystemTimePrecise,
|
||||
@@ -746,13 +746,13 @@ index 45b0b03bda0..82094813570 100644
|
||||
-
|
||||
-#endif
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index f17d527b2ed..541d395a615 100644
|
||||
index 2f642ed77f7..9e500b3dc95 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -104,12 +104,6 @@ extern NTSTATUS (WINAPI *pKiUserExceptionDispatcher)(EXCEPTION_RECORD*,CONTEXT*)
|
||||
extern void (WINAPI *pLdrInitializeThunk)(CONTEXT*,void**,ULONG_PTR,ULONG_PTR) DECLSPEC_HIDDEN;
|
||||
@@ -96,12 +96,6 @@ extern void (WINAPI *pLdrInitializeThunk)(CONTEXT*,void**,ULONG_PTR,ULONG_PT
|
||||
extern void (WINAPI *pRtlUserThreadStart)( PRTL_THREAD_START_ROUTINE entry, void *arg ) DECLSPEC_HIDDEN;
|
||||
extern void (WINAPI *p__wine_ctrl_routine)(void *) DECLSPEC_HIDDEN;
|
||||
extern SYSTEM_DLL_INIT_BLOCK *pLdrSystemDllInitBlock DECLSPEC_HIDDEN;
|
||||
-extern NTSTATUS CDECL fast_RtlTryAcquireSRWLockExclusive( RTL_SRWLOCK *lock ) DECLSPEC_HIDDEN;
|
||||
-extern NTSTATUS CDECL fast_RtlAcquireSRWLockExclusive( RTL_SRWLOCK *lock ) DECLSPEC_HIDDEN;
|
||||
-extern NTSTATUS CDECL fast_RtlTryAcquireSRWLockShared( RTL_SRWLOCK *lock ) DECLSPEC_HIDDEN;
|
||||
@@ -763,7 +763,7 @@ index f17d527b2ed..541d395a615 100644
|
||||
|
||||
extern void CDECL virtual_release_address_space(void) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
|
||||
index 1fab653728c..1a38d80eeb8 100644
|
||||
index e90000c13e9..742f1a7b681 100644
|
||||
--- a/dlls/ntdll/unixlib.h
|
||||
+++ b/dlls/ntdll/unixlib.h
|
||||
@@ -26,7 +26,7 @@
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From d99a6180cdca6274f1a8b868c38a89883daf6e23 Mon Sep 17 00:00:00 2001
|
||||
From 40088e644ecba6005de000c49b65cb168cc9ad5d Mon Sep 17 00:00:00 2001
|
||||
From: Martin Storsjo <martin@martin.st>
|
||||
Date: Wed, 21 Jun 2017 11:42:40 +0300
|
||||
Subject: [PATCH] configure: Avoid clobbering x18 on arm64 within wine
|
||||
@@ -16,17 +16,20 @@ been built with the same flag.
|
||||
|
||||
Signed-off-by: Martin Storsjo <martin@martin.st>
|
||||
---
|
||||
configure.ac | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
configure.ac | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index d1502bacf7..6cf838ef09 100644
|
||||
index b0981767977..67e82744dae 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -212,6 +212,10 @@ case $host in
|
||||
@@ -219,8 +219,13 @@ case $host in
|
||||
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdarg.h>]], [[void func(__builtin_ms_va_list *args);]])],
|
||||
[wine_cv_builtin_ms_va_list=yes],[wine_cv_builtin_ms_va_list=no])])
|
||||
test $wine_cv_builtin_ms_va_list != no || AC_MSG_ERROR([You need clang >= 5.0 to build Wine for arm64.])
|
||||
+
|
||||
enable_wow64=${enable_wow64:-yes}
|
||||
enable_wow64win=${enable_wow64win:-yes}
|
||||
+ # Avoid clobbering the x18 register which is reserved in windows.
|
||||
+ # This isn't complete/enough unless all of the system libraries have
|
||||
+ # been built with the same flag though.
|
||||
@@ -35,5 +38,5 @@ index d1502bacf7..6cf838ef09 100644
|
||||
i[[3456789]]86*)
|
||||
enable_win16=${enable_win16:-yes}
|
||||
--
|
||||
2.17.1
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 984214b365c072614c45f996074c092f3ca34d46 Mon Sep 17 00:00:00 2001
|
||||
From 75e63f301be09d0e1e858bc4bde5774468852b1a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 5 Jan 2015 18:11:53 +0100
|
||||
Subject: [PATCH] nvapi: First implementation.
|
||||
@@ -25,13 +25,13 @@ Subject: [PATCH] nvapi: First implementation.
|
||||
create mode 100644 include/nvapi.h
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 69674311deb..d0117589326 100644
|
||||
index 32cf76bb8fc..f83ae22cf5e 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -225,6 +225,12 @@ esac
|
||||
dnl enable_win16 defaults to yes on x86, to no on other CPUs
|
||||
enable_win16=${enable_win16:-no}
|
||||
@@ -238,6 +238,12 @@ enable_win16=${enable_win16:-no}
|
||||
enable_win64=${enable_win64:-no}
|
||||
enable_wow64=${enable_wow64:-no}
|
||||
enable_wow64win=${enable_wow64win:-no}
|
||||
+if test "x$enable_win64" != "xyes"
|
||||
+then
|
||||
+ enable_win32="yes"
|
||||
@@ -41,7 +41,7 @@ index 69674311deb..d0117589326 100644
|
||||
enable_wow64cpu=${enable_wow64cpu:-no}
|
||||
|
||||
dnl Disable winetest too if tests are disabled
|
||||
@@ -3559,6 +3565,9 @@ WINE_CONFIG_MAKEFILE(dlls/ntoskrnl.exe)
|
||||
@@ -3569,6 +3575,9 @@ WINE_CONFIG_MAKEFILE(dlls/ntoskrnl.exe)
|
||||
WINE_CONFIG_MAKEFILE(dlls/ntoskrnl.exe/tests)
|
||||
WINE_CONFIG_MAKEFILE(dlls/ntprint)
|
||||
WINE_CONFIG_MAKEFILE(dlls/ntprint/tests)
|
||||
@@ -858,10 +858,10 @@ index 00000000000..f0c054b2bf9
|
||||
+@ stub DllRegisterServer
|
||||
+@ stub DllUnregisterServer
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index 02ddf06df8f..f0600555cd9 100644
|
||||
index 0cb69abe5d0..cd60b036710 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -539,6 +539,7 @@ SOURCES = \
|
||||
@@ -549,6 +549,7 @@ SOURCES = \
|
||||
ntsecapi.h \
|
||||
ntsecpkg.h \
|
||||
ntstatus.h \
|
||||
@@ -952,5 +952,5 @@ index 00000000000..4204256cca2
|
||||
+
|
||||
+#endif /* __WINE_NVAPI_H */
|
||||
--
|
||||
2.20.1
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 693d4ae06557d1c1021f908946a0f0fdc30bcc99 Mon Sep 17 00:00:00 2001
|
||||
From 673e8c2b688451f8bfa7fc1c45ba2f7c8be19614 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Sat, 22 May 2021 17:38:50 -0500
|
||||
Subject: [PATCH] wined3d: Make depth bounds test into a proper state.
|
||||
@@ -12,10 +12,10 @@ Subject: [PATCH] wined3d: Make depth bounds test into a proper state.
|
||||
5 files changed, 98 insertions(+), 31 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
index a17926f6ff0..7c116e3f887 100644
|
||||
index 13c0fce5bb1..fb3e7db991f 100644
|
||||
--- a/dlls/wined3d/cs.c
|
||||
+++ b/dlls/wined3d/cs.c
|
||||
@@ -128,6 +128,7 @@ enum wined3d_cs_op
|
||||
@@ -135,6 +135,7 @@ enum wined3d_cs_op
|
||||
WINED3D_CS_OP_SET_RENDER_STATE,
|
||||
WINED3D_CS_OP_SET_TEXTURE_STATE,
|
||||
WINED3D_CS_OP_SET_SAMPLER_STATE,
|
||||
@@ -23,7 +23,7 @@ index a17926f6ff0..7c116e3f887 100644
|
||||
WINED3D_CS_OP_SET_TRANSFORM,
|
||||
WINED3D_CS_OP_SET_CLIP_PLANE,
|
||||
WINED3D_CS_OP_SET_COLOR_KEY,
|
||||
@@ -382,6 +383,12 @@ struct wined3d_cs_set_sampler_state
|
||||
@@ -385,6 +386,12 @@ struct wined3d_cs_set_sampler_state
|
||||
DWORD value;
|
||||
};
|
||||
|
||||
@@ -36,7 +36,7 @@ index a17926f6ff0..7c116e3f887 100644
|
||||
struct wined3d_cs_set_transform
|
||||
{
|
||||
enum wined3d_cs_op opcode;
|
||||
@@ -615,6 +622,7 @@ static const char *debug_cs_op(enum wined3d_cs_op op)
|
||||
@@ -609,6 +616,7 @@ static const char *debug_cs_op(enum wined3d_cs_op op)
|
||||
WINED3D_TO_STR(WINED3D_CS_OP_SET_RENDER_STATE);
|
||||
WINED3D_TO_STR(WINED3D_CS_OP_SET_TEXTURE_STATE);
|
||||
WINED3D_TO_STR(WINED3D_CS_OP_SET_SAMPLER_STATE);
|
||||
@@ -44,7 +44,7 @@ index a17926f6ff0..7c116e3f887 100644
|
||||
WINED3D_TO_STR(WINED3D_CS_OP_SET_TRANSFORM);
|
||||
WINED3D_TO_STR(WINED3D_CS_OP_SET_CLIP_PLANE);
|
||||
WINED3D_TO_STR(WINED3D_CS_OP_SET_COLOR_KEY);
|
||||
@@ -1916,6 +1924,28 @@ void wined3d_device_context_emit_set_sampler_state(struct wined3d_device_context
|
||||
@@ -1923,6 +1931,28 @@ void wined3d_device_context_emit_set_sampler_state(struct wined3d_device_context
|
||||
wined3d_device_context_submit(context, WINED3D_CS_QUEUE_DEFAULT);
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ index a17926f6ff0..7c116e3f887 100644
|
||||
static void wined3d_cs_exec_set_transform(struct wined3d_cs *cs, const void *data)
|
||||
{
|
||||
const struct wined3d_cs_set_transform *op = data;
|
||||
@@ -2892,6 +2922,7 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
|
||||
@@ -2917,6 +2947,7 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
|
||||
/* WINED3D_CS_OP_SET_RENDER_STATE */ wined3d_cs_exec_set_render_state,
|
||||
/* WINED3D_CS_OP_SET_TEXTURE_STATE */ wined3d_cs_exec_set_texture_state,
|
||||
/* WINED3D_CS_OP_SET_SAMPLER_STATE */ wined3d_cs_exec_set_sampler_state,
|
||||
@@ -82,10 +82,10 @@ index a17926f6ff0..7c116e3f887 100644
|
||||
/* WINED3D_CS_OP_SET_CLIP_PLANE */ wined3d_cs_exec_set_clip_plane,
|
||||
/* WINED3D_CS_OP_SET_COLOR_KEY */ wined3d_cs_exec_set_color_key,
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 7651713154c..b6550a1a4e4 100644
|
||||
index d2147447ee0..cc100b02bac 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -1923,6 +1923,14 @@ void CDECL wined3d_device_context_set_rasterizer_state(struct wined3d_device_con
|
||||
@@ -1891,6 +1891,14 @@ void CDECL wined3d_device_context_set_rasterizer_state(struct wined3d_device_con
|
||||
wined3d_rasterizer_state_decref(prev);
|
||||
}
|
||||
|
||||
@@ -167,10 +167,10 @@ index 7651713154c..b6550a1a4e4 100644
|
||||
{
|
||||
map = changed->textureState[i];
|
||||
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
|
||||
index 1194604e7dc..551dd2e3cbf 100644
|
||||
index 8316269afcf..6cd4ff30458 100644
|
||||
--- a/dlls/wined3d/state.c
|
||||
+++ b/dlls/wined3d/state.c
|
||||
@@ -2053,42 +2053,31 @@ static void state_tessellation(struct wined3d_context *context, const struct win
|
||||
@@ -2040,42 +2040,31 @@ static void state_tessellation(struct wined3d_context *context, const struct win
|
||||
state->render_states[WINED3D_RS_ENABLEADAPTIVETESSELLATION]);
|
||||
}
|
||||
|
||||
@@ -227,7 +227,7 @@ index 1194604e7dc..551dd2e3cbf 100644
|
||||
}
|
||||
|
||||
static void state_wrapu(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
|
||||
@@ -4698,6 +4687,8 @@ const struct wined3d_state_entry_template misc_state_template_gl[] =
|
||||
@@ -4685,6 +4674,8 @@ const struct wined3d_state_entry_template misc_state_template_gl[] =
|
||||
{ STATE_DEPTH_STENCIL, { STATE_DEPTH_STENCIL, depth_stencil_2s }, EXT_STENCIL_TWO_SIDE },
|
||||
{ STATE_DEPTH_STENCIL, { STATE_DEPTH_STENCIL, depth_stencil }, WINED3D_GL_EXT_NONE },
|
||||
{ STATE_STENCIL_REF, { STATE_DEPTH_STENCIL, NULL }, WINED3D_GL_EXT_NONE },
|
||||
@@ -236,7 +236,7 @@ index 1194604e7dc..551dd2e3cbf 100644
|
||||
{ STATE_STREAMSRC, { STATE_STREAMSRC, streamsrc }, WINED3D_GL_EXT_NONE },
|
||||
{ STATE_VDECL, { STATE_VDECL, vdecl_miscpart }, WINED3D_GL_EXT_NONE },
|
||||
{ STATE_RASTERIZER, { STATE_RASTERIZER, rasterizer_cc }, ARB_CLIP_CONTROL },
|
||||
@@ -4811,7 +4802,6 @@ const struct wined3d_state_entry_template misc_state_template_gl[] =
|
||||
@@ -4798,7 +4789,6 @@ const struct wined3d_state_entry_template misc_state_template_gl[] =
|
||||
{ STATE_RENDER(WINED3D_RS_ADAPTIVETESS_Y), { STATE_RENDER(WINED3D_RS_ENABLEADAPTIVETESSELLATION),NULL }, WINED3D_GL_EXT_NONE },
|
||||
{ STATE_RENDER(WINED3D_RS_ADAPTIVETESS_Z), { STATE_RENDER(WINED3D_RS_ENABLEADAPTIVETESSELLATION),NULL }, WINED3D_GL_EXT_NONE },
|
||||
{ STATE_RENDER(WINED3D_RS_ADAPTIVETESS_W), { STATE_RENDER(WINED3D_RS_ENABLEADAPTIVETESSELLATION),NULL }, WINED3D_GL_EXT_NONE },
|
||||
@@ -245,10 +245,10 @@ index 1194604e7dc..551dd2e3cbf 100644
|
||||
{ STATE_RENDER(WINED3D_RS_MULTISAMPLEANTIALIAS), { STATE_RENDER(WINED3D_RS_MULTISAMPLEANTIALIAS), state_msaa }, ARB_MULTISAMPLE },
|
||||
{ STATE_RENDER(WINED3D_RS_MULTISAMPLEANTIALIAS), { STATE_RENDER(WINED3D_RS_MULTISAMPLEANTIALIAS), state_msaa_w }, WINED3D_GL_EXT_NONE },
|
||||
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
|
||||
index dc7823b9534..7c7d14a7126 100644
|
||||
index 4019dd4d812..9b58c217a0c 100644
|
||||
--- a/dlls/wined3d/utils.c
|
||||
+++ b/dlls/wined3d/utils.c
|
||||
@@ -5244,6 +5244,8 @@ const char *debug_d3dstate(DWORD state)
|
||||
@@ -5321,6 +5321,8 @@ const char *debug_d3dstate(DWORD state)
|
||||
return "STATE_DEPTH_STENCIL";
|
||||
if (STATE_IS_STENCIL_REF(state))
|
||||
return "STATE_STENCIL_REF";
|
||||
@@ -258,10 +258,10 @@ index dc7823b9534..7c7d14a7126 100644
|
||||
return wine_dbg_sprintf("UNKNOWN_STATE(%#x)", state);
|
||||
}
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index e7a3e42d8bb..4f235fb04cd 100644
|
||||
index a2048fc6ea6..17ad7869d1b 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -1832,7 +1832,10 @@ void dispatch_compute(struct wined3d_device *device, const struct wined3d_state
|
||||
@@ -1838,7 +1838,10 @@ void dispatch_compute(struct wined3d_device *device, const struct wined3d_state
|
||||
#define STATE_STENCIL_REF (STATE_DEPTH_STENCIL + 1)
|
||||
#define STATE_IS_STENCIL_REF(a) ((a) == STATE_STENCIL_REF)
|
||||
|
||||
@@ -273,7 +273,7 @@ index e7a3e42d8bb..4f235fb04cd 100644
|
||||
|
||||
#define STATE_COMPUTE_SHADER (STATE_COMPUTE_OFFSET)
|
||||
#define STATE_IS_COMPUTE_SHADER(a) ((a) == STATE_COMPUTE_SHADER)
|
||||
@@ -3665,6 +3668,13 @@ struct wined3d_light_state
|
||||
@@ -3670,6 +3673,13 @@ struct wined3d_light_state
|
||||
const struct wined3d_light_info *lights[WINED3D_MAX_ACTIVE_LIGHTS];
|
||||
};
|
||||
|
||||
@@ -287,7 +287,7 @@ index e7a3e42d8bb..4f235fb04cd 100644
|
||||
#define WINED3D_STATE_NO_REF 0x00000001
|
||||
#define WINED3D_STATE_INIT_DEFAULT 0x00000002
|
||||
|
||||
@@ -3719,8 +3729,11 @@ struct wined3d_state
|
||||
@@ -3724,8 +3734,11 @@ struct wined3d_state
|
||||
struct wined3d_blend_state *blend_state;
|
||||
struct wined3d_color blend_factor;
|
||||
unsigned int sample_mask;
|
||||
@@ -299,10 +299,10 @@ index e7a3e42d8bb..4f235fb04cd 100644
|
||||
struct wined3d_rasterizer_state *rasterizer_state;
|
||||
};
|
||||
|
||||
@@ -4789,6 +4802,8 @@ void wined3d_device_context_emit_set_clip_plane(struct wined3d_device_context *c
|
||||
const struct wined3d_vec4 *plane) DECLSPEC_HIDDEN;
|
||||
void wined3d_device_context_emit_set_constant_buffer(struct wined3d_device_context *context,
|
||||
enum wined3d_shader_type type, UINT cb_idx, struct wined3d_buffer *buffer) DECLSPEC_HIDDEN;
|
||||
@@ -4806,6 +4819,8 @@ void wined3d_device_context_emit_set_clip_plane(struct wined3d_device_context *c
|
||||
void wined3d_device_context_emit_set_constant_buffers(struct wined3d_device_context *context,
|
||||
enum wined3d_shader_type type, unsigned int start_idx, unsigned int count,
|
||||
const struct wined3d_constant_buffer_state *buffers) DECLSPEC_HIDDEN;
|
||||
+void wined3d_device_context_emit_set_depth_bounds(struct wined3d_device_context *context,
|
||||
+ BOOL enable, float min, float max) DECLSPEC_HIDDEN;
|
||||
void wined3d_device_context_emit_set_depth_stencil_state(struct wined3d_device_context *context,
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 87d4d702d42242a9387e31a4da079066eda0471e Mon Sep 17 00:00:00 2001
|
||||
From ede7d81998194cecad240bd3df4cd902c01a0bde Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Sat, 22 May 2021 18:11:07 -0500
|
||||
Subject: [PATCH] nvapi: Implement NvAPI_D3D11_SetDepthBoundsTest().
|
||||
@@ -117,10 +117,10 @@ index c8b66ac2fa3..b8b4750203a 100644
|
||||
/* d3d9 tests */
|
||||
wc.lpfnWndProc = DefWindowProcA;
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 3884c1d6c66..17969ea9a08 100644
|
||||
index cc100b02bac..962112074a4 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -1923,7 +1923,7 @@ void CDECL wined3d_device_context_set_rasterizer_state(struct wined3d_device_con
|
||||
@@ -1891,7 +1891,7 @@ void CDECL wined3d_device_context_set_rasterizer_state(struct wined3d_device_con
|
||||
wined3d_rasterizer_state_decref(prev);
|
||||
}
|
||||
|
||||
@@ -130,25 +130,25 @@ index 3884c1d6c66..17969ea9a08 100644
|
||||
{
|
||||
TRACE("context %p, enable %d, min %.8e, max %.8e.\n", context, enable, min, max);
|
||||
diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec
|
||||
index 11351b60a7f..1751c97ae87 100644
|
||||
index 1bce4def265..802194dcbec 100644
|
||||
--- a/dlls/wined3d/wined3d.spec
|
||||
+++ b/dlls/wined3d/wined3d.spec
|
||||
@@ -124,6 +124,7 @@
|
||||
@ cdecl wined3d_device_context_resolve_sub_resource(ptr ptr long ptr long long)
|
||||
@ cdecl wined3d_device_context_set_blend_state(ptr ptr ptr long)
|
||||
@ cdecl wined3d_device_context_set_constant_buffer(ptr long long ptr)
|
||||
@ cdecl wined3d_device_context_set_constant_buffers(ptr long long long ptr)
|
||||
+@ cdecl wined3d_device_context_set_depth_bounds(ptr long float float)
|
||||
@ cdecl wined3d_device_context_set_depth_stencil_state(ptr ptr long)
|
||||
@ cdecl wined3d_device_context_set_depth_stencil_view(ptr ptr)
|
||||
@ cdecl wined3d_device_context_set_index_buffer(ptr ptr long long)
|
||||
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
|
||||
index 53ae13b7df5..52f4b0aed24 100644
|
||||
index 7be893b8f21..689fc55fdfe 100644
|
||||
--- a/include/wine/wined3d.h
|
||||
+++ b/include/wine/wined3d.h
|
||||
@@ -2498,6 +2498,8 @@ void __cdecl wined3d_device_context_set_blend_state(struct wined3d_device_contex
|
||||
struct wined3d_blend_state *state, const struct wined3d_color *blend_factor, unsigned int sample_mask);
|
||||
void __cdecl wined3d_device_context_set_constant_buffer(struct wined3d_device_context *context,
|
||||
enum wined3d_shader_type type, unsigned int idx, struct wined3d_buffer *buffer);
|
||||
@@ -2513,6 +2513,8 @@ void __cdecl wined3d_device_context_set_blend_state(struct wined3d_device_contex
|
||||
void __cdecl wined3d_device_context_set_constant_buffers(struct wined3d_device_context *context,
|
||||
enum wined3d_shader_type type, unsigned int start_idx, unsigned int count,
|
||||
const struct wined3d_constant_buffer_state *buffers);
|
||||
+void __cdecl wined3d_device_context_set_depth_bounds(struct wined3d_device_context *context,
|
||||
+ BOOL enable, float min, float max);
|
||||
void __cdecl wined3d_device_context_set_depth_stencil_state(struct wined3d_device_context *context,
|
||||
|
@@ -51,13 +51,13 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "12d33d21d33788fd46898ea42e9592d33b6e7c8e"
|
||||
echo "feb088b2247e1722b848ac0d67483596d33758ba"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
version()
|
||||
{
|
||||
echo "Wine Staging 6.12"
|
||||
echo "Wine Staging 6.13"
|
||||
echo "Copyright (C) 2014-2019 the Wine Staging project authors."
|
||||
echo "Copyright (C) 2018-2020 Alistair Leslie-Hughes"
|
||||
echo ""
|
||||
@@ -278,7 +278,6 @@ patch_enable_all ()
|
||||
enable_winmm_mciSendCommandA="$1"
|
||||
enable_wintab32_improvements="$1"
|
||||
enable_wintrust_WTHelperGetProvCertFromChain="$1"
|
||||
enable_ws2_32_connect_already_connected="$1"
|
||||
enable_wscript_support_d_u_switches="$1"
|
||||
enable_xactengine_initial="$1"
|
||||
enable_xactengine3_7_Notification="$1"
|
||||
@@ -877,9 +876,6 @@ patch_enable ()
|
||||
wintrust-WTHelperGetProvCertFromChain)
|
||||
enable_wintrust_WTHelperGetProvCertFromChain="$2"
|
||||
;;
|
||||
ws2_32-connect-already-connected)
|
||||
enable_ws2_32_connect_already_connected="$2"
|
||||
;;
|
||||
wscript-support-d-u-switches)
|
||||
enable_wscript_support_d_u_switches="$2"
|
||||
;;
|
||||
@@ -2395,11 +2391,10 @@ fi
|
||||
# | * [#49692] Multiple applications need a Media Foundation media source implementation
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/mf/topology.c, dlls/mfplat/buffer.c, dlls/mfplat/main.c, dlls/winegstreamer/Makefile.in,
|
||||
# | dlls/winegstreamer/audioconvert.c, dlls/winegstreamer/colorconvert.c, dlls/winegstreamer/decode_transform.c,
|
||||
# | dlls/winegstreamer/gst_private.h, dlls/winegstreamer/media_source.c, dlls/winegstreamer/mfplat.c,
|
||||
# | dlls/winegstreamer/quartz_parser.c, dlls/winegstreamer/wg_parser.c, dlls/winegstreamer/winegstreamer_classes.idl,
|
||||
# | include/mfidl.idl, include/wmcodecdsp.idl
|
||||
# | * dlls/mf/topology.c, dlls/mfplat/main.c, dlls/winegstreamer/Makefile.in, dlls/winegstreamer/audioconvert.c,
|
||||
# | dlls/winegstreamer/colorconvert.c, dlls/winegstreamer/decode_transform.c, dlls/winegstreamer/gst_private.h,
|
||||
# | dlls/winegstreamer/media_source.c, dlls/winegstreamer/mfplat.c, dlls/winegstreamer/quartz_parser.c,
|
||||
# | dlls/winegstreamer/wg_parser.c, dlls/winegstreamer/winegstreamer_classes.idl, include/mfidl.idl, include/wmcodecdsp.idl
|
||||
# |
|
||||
if test "$enable_mfplat_streaming_support" -eq 1; then
|
||||
patch_apply mfplat-streaming-support/0001-winegstreamer-Activate-source-pad-in-push-mode-if-it.patch
|
||||
@@ -2439,7 +2434,6 @@ if test "$enable_mfplat_streaming_support" -eq 1; then
|
||||
patch_apply mfplat-streaming-support/0035-mfplat-Stub-out-MFCreateDXGIDeviceManager-to-avoid-t.patch
|
||||
patch_apply mfplat-streaming-support/0036-winegstreamer-Don-t-rely-on-max_size-in-unseekable-p.patch
|
||||
patch_apply mfplat-streaming-support/0037-winegstreamer-Implement-MFT_MESSAGE_COMMAND_FLUSH-fo.patch
|
||||
patch_apply mfplat-streaming-support/0038-mfplat-Fix-copy-paste-error.patch
|
||||
patch_apply mfplat-streaming-support/0039-winegstreamer-Default-Frame-size-if-one-isn-t-availa.patch
|
||||
fi
|
||||
|
||||
@@ -4204,18 +4198,6 @@ if test "$enable_wintrust_WTHelperGetProvCertFromChain" -eq 1; then
|
||||
patch_apply wintrust-WTHelperGetProvCertFromChain/0001-wintrust-Add-parameter-check-in-WTHelperGetProvCertF.patch
|
||||
fi
|
||||
|
||||
# Patchset ws2_32-connect-already-connected
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#51381] ws2_32: return correct error code when already connected.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * server/sock.c
|
||||
# |
|
||||
if test "$enable_ws2_32_connect_already_connected" -eq 1; then
|
||||
patch_apply ws2_32-connect-already-connected/0001-server-Explicitly-forbid-connecting-a-listening-or-c.patch
|
||||
fi
|
||||
|
||||
# Patchset wscript-support-d-u-switches
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user