Module: wine
Branch: master
Commit: da854c537d887fd275b71153a67cf5c43a27cd58
URL: https://source.winehq.org/git/wine.git/?a=commit;h=da854c537d887fd275b71153…
Author: Hugh McMaster <hugh.mcmaster(a)outlook.com>
Date: Thu Mar 3 22:37:05 2022 +1100
conhost: Reimplement font dialog handling.
Much of the existing font dialog code is overly complicated and difficult
to follow. There are also bugs in the code, which cannot be fixed with
minimal changes due to the complexity of the existing source. For example,
changing the font face via the listbox unexpectedly changes the font size.
It is also unnecessary to recreate the list of available font sizes
each font face selection if the font type remains unchanged.
Signed-off-by: Hugh McMaster <hugh.mcmaster(a)outlook.com>
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
programs/conhost/window.c | 227 +++++++++++-----------------------------------
1 file changed, 55 insertions(+), 172 deletions(-)
Diff: https://source.winehq.org/git/wine.git/?a=commitdiff;h=da854c537d887fd275b7…
Module: wine
Branch: master
Commit: b854c12a3eb65f0f26279e73ee1f31941d9fa341
URL: https://source.winehq.org/git/wine.git/?a=commit;h=b854c12a3eb65f0f26279e73…
Author: Stefan Dösinger <stefan(a)codeweavers.com>
Date: Fri Mar 11 15:02:54 2022 +0300
wined3d: Replace the GE_WRAP macro with a function.
Signed-off-by: Stefan Dösinger <stefan(a)codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/wined3d/wined3d_private.h | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 4492ce6ef42..9fb3b27444e 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -5087,6 +5087,12 @@ static inline void wined3d_resource_reference(struct wined3d_resource *resource)
resource->access_time = cs->queue[WINED3D_CS_QUEUE_DEFAULT].head;
}
+static inline BOOL wined3d_ge_wrap(ULONG x, ULONG y)
+{
+ return (x - y) < UINT_MAX / 2;
+}
+C_ASSERT(WINED3D_CS_QUEUE_SIZE < UINT_MAX / 4);
+
static inline void wined3d_resource_wait_idle(const struct wined3d_resource *resource)
{
const struct wined3d_cs *cs = resource->device->cs;
@@ -5100,11 +5106,11 @@ static inline void wined3d_resource_wait_idle(const struct wined3d_resource *res
/* The basic idea is that a resource is busy if tail < access_time <= head.
* But we have to be careful about wrap-around of the head and tail. The
- * GE_WRAP macro below considers x >= y if x - y is smaller than half the
+ * wined3d_ge_wrap function considers x >= y if x - y is smaller than half the
* UINT range. Head is at most WINED3D_CS_QUEUE_SIZE ahead of tail, because
* otherwise the queue memory is considered full and queue_require_space
- * stalls. Thus GE_WRAP(head, tail) is always true. The C_ASSERT below ensures
- * this in case we decide to grow the queue size in the future.
+ * stalls. Thus wined3d_ge_wrap(head, tail) is always true. The C_ASSERT above
+ * ensures this in case we decide to grow the queue size in the future.
*
* It is possible that a resource has not been used for a long time and is idle, but the head and
* tail wrapped around in such a way that the previously set access time falls between head and tail.
@@ -5117,8 +5123,7 @@ static inline void wined3d_resource_wait_idle(const struct wined3d_resource *res
* Note that the access time is set before the command is submitted, so we have to wait until the
* tail is bigger than access_time, not equal. */
-#define GE_WRAP(x, y) (((x)-(y)) < (UINT_MAX / 2))
- if (!GE_WRAP(head, access_time))
+ if (!wined3d_ge_wrap(head, access_time))
return;
while (1)
@@ -5127,14 +5132,12 @@ static inline void wined3d_resource_wait_idle(const struct wined3d_resource *res
if (head == tail) /* Queue empty. */
break;
- if (!GE_WRAP(access_time, tail) && access_time != tail)
+ if (!wined3d_ge_wrap(access_time, tail) && access_time != tail)
break;
YieldProcessor();
}
-#undef GE_WRAP
}
-C_ASSERT(WINED3D_CS_QUEUE_SIZE < UINT_MAX / 4);
/* TODO: Add tests and support for FLOAT16_4 POSITIONT, D3DCOLOR position, other
* fixed function semantics as D3DCOLOR or FLOAT16 */