mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Added patch to silence repeated FIXME message in surface_cpu_blt.
This commit is contained in:
parent
ef47e8db59
commit
096164c275
@ -34,12 +34,13 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
-----------------------------------
|
||||
|
||||
**Bug fixes and features included in the next upcoming release [5]:**
|
||||
**Bug fixes and features included in the next upcoming release [6]:**
|
||||
|
||||
* Add information for delayed end of DST in Europe/Istanbul
|
||||
* Also send WM_CAPTURECHANGE when capture has not changed ([Wine Bug #13683](https://bugs.winehq.org/show_bug.cgi?id=13683))
|
||||
* Check handle type for HSPFILEQ handles ([Wine Bug #12332](https://bugs.winehq.org/show_bug.cgi?id=12332))
|
||||
* Fix font loading in Capella ([Wine Bug #12377](https://bugs.winehq.org/show_bug.cgi?id=12377))
|
||||
* Silence repeated FIXME message in surface_cpu_blt
|
||||
* Skip invalid entries in GetPrivateProfileString16 ([Wine Bug #9919](https://bugs.winehq.org/show_bug.cgi?id=9919))
|
||||
|
||||
|
||||
|
@ -312,6 +312,7 @@ patch_enable_all ()
|
||||
enable_wined3d_Revert_PixelFormat="$1"
|
||||
enable_wined3d_UnhandledBlendFactor="$1"
|
||||
enable_wined3d_resource_check_usage="$1"
|
||||
enable_wined3d_surface_cpu_blt="$1"
|
||||
enable_wined3d_wined3d_swapchain_present="$1"
|
||||
enable_winedbg_Windows_Version="$1"
|
||||
enable_winedevice_Fix_Relocation="$1"
|
||||
@ -1045,6 +1046,9 @@ patch_enable ()
|
||||
wined3d-resource_check_usage)
|
||||
enable_wined3d_resource_check_usage="$2"
|
||||
;;
|
||||
wined3d-surface_cpu_blt)
|
||||
enable_wined3d_surface_cpu_blt="$2"
|
||||
;;
|
||||
wined3d-wined3d_swapchain_present)
|
||||
enable_wined3d_wined3d_swapchain_present="$2"
|
||||
;;
|
||||
@ -5908,6 +5912,18 @@ if test "$enable_wined3d_resource_check_usage" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-surface_cpu_blt
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/surface.c
|
||||
# |
|
||||
if test "$enable_wined3d_surface_cpu_blt" -eq 1; then
|
||||
patch_apply wined3d-surface_cpu_blt/0001-wined3d-Print-FIXME-only-once-in-surface_cpu_blt.patch
|
||||
(
|
||||
echo '+ { "Christian Costa", "wined3d: Print FIXME only once in surface_cpu_blt.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-wined3d_swapchain_present
|
||||
# |
|
||||
# | Modified files:
|
||||
|
@ -8600,7 +8600,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
flags &= ~WINEDDBLT_COLORFILL;
|
||||
}
|
||||
|
||||
@@ -4522,6 +5741,7 @@
|
||||
@@ -4523,6 +5742,7 @@
|
||||
for (y = 0; y < dstheight; ++y)
|
||||
{
|
||||
memcpy(dbuf, sbuf, width);
|
||||
@ -8608,7 +8608,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
sbuf += src_row_pitch;
|
||||
dbuf += dst_row_pitch;
|
||||
}
|
||||
@@ -4535,6 +5755,21 @@
|
||||
@@ -4536,6 +5756,21 @@
|
||||
{
|
||||
sbuf -= src_row_pitch;
|
||||
dbuf -= dst_row_pitch;
|
||||
@ -8630,7 +8630,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
memcpy(dbuf, sbuf, width);
|
||||
}
|
||||
}
|
||||
@@ -4544,8 +5779,13 @@
|
||||
@@ -4545,8 +5780,13 @@
|
||||
for (y = 0; y < dstheight; ++y)
|
||||
{
|
||||
memmove(dbuf, sbuf, width);
|
||||
@ -8644,7 +8644,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4554,9 +5794,15 @@
|
||||
@@ -4555,9 +5795,15 @@
|
||||
/* Stretching in y direction only. */
|
||||
for (y = sy = 0; y < dstheight; ++y, sy += yinc)
|
||||
{
|
||||
@ -8660,7 +8660,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4566,6 +5812,7 @@
|
||||
@@ -4567,6 +5813,7 @@
|
||||
int last_sy = -1;
|
||||
for (y = sy = 0; y < dstheight; ++y, sy += yinc)
|
||||
{
|
||||
@ -8668,7 +8668,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
sbuf = sbase + (sy >> 16) * src_row_pitch;
|
||||
|
||||
if ((sy >> 16) == (last_sy >> 16))
|
||||
@@ -4573,6 +5820,15 @@
|
||||
@@ -4574,6 +5821,15 @@
|
||||
/* This source row is the same as last source row -
|
||||
* Copy the already stretched row. */
|
||||
memcpy(dbuf, dbuf - dst_row_pitch, width);
|
||||
@ -8684,7 +8684,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -4619,6 +5875,7 @@
|
||||
@@ -4620,6 +5876,7 @@
|
||||
}
|
||||
#undef STRETCH_ROW
|
||||
}
|
||||
@ -8692,7 +8692,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
dbuf += dst_row_pitch;
|
||||
last_sy = sy;
|
||||
}
|
||||
@@ -4627,6 +5884,16 @@
|
||||
@@ -4628,6 +5885,16 @@
|
||||
else
|
||||
{
|
||||
LONG dstyinc = dst_row_pitch, dstxinc = bpp;
|
||||
@ -8709,7 +8709,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
DWORD keylow = 0xffffffff, keyhigh = 0, keymask = 0xffffffff;
|
||||
DWORD destkeylow = 0x0, destkeyhigh = 0xffffffff, destkeymask = 0xffffffff;
|
||||
if (flags & (WINEDDBLT_KEYSRC | WINEDDBLT_KEYDEST | WINEDDBLT_KEYSRCOVERRIDE | WINEDDBLT_KEYDESTOVERRIDE))
|
||||
@@ -4676,7 +5943,11 @@
|
||||
@@ -4677,7 +5944,11 @@
|
||||
LONG tmpxy;
|
||||
dTopLeft = dbuf;
|
||||
dTopRight = dbuf + ((dstwidth - 1) * bpp);
|
||||
@ -8721,7 +8721,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
dBottomRight = dBottomLeft + ((dstwidth - 1) * bpp);
|
||||
|
||||
if (fx->dwDDFX & WINEDDBLTFX_ARITHSTRETCHY)
|
||||
@@ -4753,6 +6024,7 @@
|
||||
@@ -4754,6 +6025,7 @@
|
||||
flags &= ~(WINEDDBLT_DDFX);
|
||||
}
|
||||
|
||||
@ -8729,7 +8729,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
#define COPY_COLORKEY_FX(type) \
|
||||
do { \
|
||||
const type *s; \
|
||||
@@ -4774,6 +6046,29 @@
|
||||
@@ -4775,6 +6047,29 @@
|
||||
d = (type *)(((BYTE *)d) + dstyinc); \
|
||||
} \
|
||||
} while(0)
|
||||
@ -8759,7 +8759,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
|
||||
switch (bpp)
|
||||
{
|
||||
@@ -4792,7 +6087,11 @@
|
||||
@@ -4793,7 +6088,11 @@
|
||||
BYTE *d = dbuf, *dx;
|
||||
for (y = sy = 0; y < dstheight; ++y, sy += yinc)
|
||||
{
|
||||
@ -8771,7 +8771,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
dx = d;
|
||||
for (x = sx = 0; x < dstwidth; ++x, sx+= xinc)
|
||||
{
|
||||
@@ -4823,10 +6122,12 @@
|
||||
@@ -4824,10 +6123,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
@ -8784,7 +8784,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
error:
|
||||
if (flags && FIXME_ON(d3d_surface))
|
||||
{
|
||||
@@ -4834,6 +6135,7 @@
|
||||
@@ -4835,6 +6136,7 @@
|
||||
}
|
||||
|
||||
release:
|
||||
@ -8792,7 +8792,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
if (dst_data)
|
||||
{
|
||||
wined3d_resource_release_map_ptr(&dst_surface->resource, context);
|
||||
@@ -4852,6 +6154,14 @@
|
||||
@@ -4853,6 +6155,14 @@
|
||||
wined3d_texture_decref(src_texture);
|
||||
if (context)
|
||||
context_release(context);
|
||||
@ -8807,7 +8807,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
|
||||
return hr;
|
||||
}
|
||||
@@ -4896,6 +6206,7 @@
|
||||
@@ -4897,6 +6207,7 @@
|
||||
cpu_blit_blit_surface,
|
||||
};
|
||||
|
||||
@ -8815,7 +8815,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
void surface_blt_ugly(struct wined3d_surface *dst_surface, const RECT *dst_rect,
|
||||
struct wined3d_surface *src_surface, const RECT *src_rect, DWORD flags,
|
||||
const WINEDDBLTFX *fx, enum wined3d_texture_filter_type filter)
|
||||
@@ -4903,6 +6214,16 @@
|
||||
@@ -4904,6 +6215,16 @@
|
||||
struct wined3d_swapchain *src_swapchain, *dst_swapchain;
|
||||
struct wined3d_device *device = dst_surface->resource.device;
|
||||
DWORD src_ds_flags, dst_ds_flags;
|
||||
@ -8832,7 +8832,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
BOOL scale, convert;
|
||||
|
||||
static const DWORD simple_blit = WINEDDBLT_ASYNC
|
||||
@@ -4913,6 +6234,106 @@
|
||||
@@ -4914,6 +6235,106 @@
|
||||
| WINEDDBLT_DEPTHFILL
|
||||
| WINEDDBLT_DONOTWAIT;
|
||||
|
||||
@ -8939,7 +8939,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
if (!device->d3d_initialized)
|
||||
{
|
||||
WARN("D3D not initialized, using fallback.\n");
|
||||
@@ -4955,8 +6376,13 @@
|
||||
@@ -4956,8 +6377,13 @@
|
||||
}
|
||||
|
||||
scale = src_surface
|
||||
@ -8953,7 +8953,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
convert = src_surface && src_surface->resource.format->id != dst_surface->resource.format->id;
|
||||
|
||||
dst_ds_flags = dst_surface->container->resource.format_flags
|
||||
@@ -4976,6 +6402,7 @@
|
||||
@@ -4977,6 +6403,7 @@
|
||||
TRACE("Depth fill.\n");
|
||||
|
||||
if (!surface_convert_depth_to_float(dst_surface, fx->u5.dwFillDepth, &depth))
|
||||
@ -8961,7 +8961,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
return;
|
||||
|
||||
if (SUCCEEDED(wined3d_surface_depth_fill(dst_surface, dst_rect, depth)))
|
||||
@@ -4986,6 +6413,24 @@
|
||||
@@ -4987,6 +6414,24 @@
|
||||
if (SUCCEEDED(wined3d_surface_depth_blt(src_surface, src_surface->container->resource.draw_binding,
|
||||
src_rect, dst_surface, dst_surface->container->resource.draw_binding, dst_rect)))
|
||||
return;
|
||||
@ -8986,7 +8986,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -4994,8 +6439,13 @@
|
||||
@@ -4995,8 +6440,13 @@
|
||||
|
||||
/* In principle this would apply to depth blits as well, but we don't
|
||||
* implement those in the CPU blitter at the moment. */
|
||||
@ -9000,7 +9000,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
{
|
||||
if (scale)
|
||||
TRACE("Not doing sysmem blit because of scaling.\n");
|
||||
@@ -5016,8 +6466,13 @@
|
||||
@@ -5017,8 +6467,13 @@
|
||||
palette, fx->u5.dwFillColor, &color))
|
||||
goto fallback;
|
||||
|
||||
@ -9014,7 +9014,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -5035,8 +6490,13 @@
|
||||
@@ -5036,8 +6491,13 @@
|
||||
color_key = &src_surface->container->async.src_blt_color_key;
|
||||
blit_op = WINED3D_BLIT_OP_COLOR_BLIT_CKEY;
|
||||
}
|
||||
@ -9028,7 +9028,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
{
|
||||
/* Upload */
|
||||
if (scale)
|
||||
@@ -5045,6 +6505,7 @@
|
||||
@@ -5046,6 +6506,7 @@
|
||||
TRACE("Not doing upload because of format conversion.\n");
|
||||
else
|
||||
{
|
||||
@ -9036,7 +9036,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
POINT dst_point = {dst_rect->left, dst_rect->top};
|
||||
|
||||
if (SUCCEEDED(surface_upload_from_surface(dst_surface, &dst_point, src_surface, src_rect)))
|
||||
@@ -5057,6 +6518,19 @@
|
||||
@@ -5058,6 +6519,19 @@
|
||||
context_release(context);
|
||||
}
|
||||
return;
|
||||
@ -9056,7 +9056,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5080,6 +6554,7 @@
|
||||
@@ -5081,6 +6555,7 @@
|
||||
wined3d_swapchain_present(dst_swapchain, NULL, NULL, dst_swapchain->win_handle, NULL, 0);
|
||||
dst_swapchain->desc.swap_effect = swap_effect;
|
||||
|
||||
@ -9064,7 +9064,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -5287,6 +6762,53 @@
|
||||
@@ -5288,6 +6763,53 @@
|
||||
wined3d_surface_location_invalidated,
|
||||
wined3d_surface_load_location,
|
||||
};
|
||||
@ -9118,7 +9118,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
|
||||
static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_texture *container,
|
||||
const struct wined3d_resource_desc *desc, GLenum target, unsigned int level, unsigned int layer, DWORD flags)
|
||||
@@ -5348,7 +6870,11 @@
|
||||
@@ -5349,7 +6871,11 @@
|
||||
}
|
||||
|
||||
surface->container = container;
|
||||
@ -9130,7 +9130,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
list_init(&surface->renderbuffers);
|
||||
list_init(&surface->overlays);
|
||||
|
||||
@@ -5380,9 +6906,14 @@
|
||||
@@ -5381,9 +6907,14 @@
|
||||
if (surface->resource.map_binding == WINED3D_LOCATION_DIB)
|
||||
{
|
||||
wined3d_resource_free_sysmem(&surface->resource);
|
||||
@ -9145,7 +9145,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
}
|
||||
|
||||
return hr;
|
||||
@@ -5409,7 +6940,11 @@
|
||||
@@ -5410,7 +6941,11 @@
|
||||
if (FAILED(hr = surface_init(object, container, desc, target, level, layer, flags)))
|
||||
{
|
||||
WARN("Failed to initialize surface, returning %#x.\n", hr);
|
||||
|
@ -0,0 +1,26 @@
|
||||
From e4f44b72b638d9404ad264565687a5d5c4b60b9b Mon Sep 17 00:00:00 2001
|
||||
From: Christian Costa <titan.costa@gmail.com>
|
||||
Date: Sun, 25 Oct 2015 12:50:31 +0100
|
||||
Subject: wined3d: Print FIXME only once in surface_cpu_blt.
|
||||
|
||||
---
|
||||
dlls/wined3d/surface.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index a8f7179..ca4fe5d 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -4660,7 +4660,8 @@ static HRESULT surface_cpu_blt(struct wined3d_surface *dst_surface, const RECT *
|
||||
&& (srcwidth != dstwidth || srcheight != dstheight))
|
||||
{
|
||||
/* Can happen when d3d9 apps do a StretchRect() call which isn't handled in GL. */
|
||||
- FIXME("Filter %s not supported in software blit.\n", debug_d3dtexturefiltertype(filter));
|
||||
+ static int once;
|
||||
+ if (!once++) FIXME("Filter %s not supported in software blit.\n", debug_d3dtexturefiltertype(filter));
|
||||
}
|
||||
|
||||
xinc = (srcwidth << 16) / dstwidth;
|
||||
--
|
||||
2.6.2
|
||||
|
1
patches/wined3d-surface_cpu_blt/definition
Normal file
1
patches/wined3d-surface_cpu_blt/definition
Normal file
@ -0,0 +1 @@
|
||||
Fixes: Silence repeated FIXME message in surface_cpu_blt
|
@ -15,6 +15,7 @@ wine-staging (1.8~rc2) UNRELEASED; urgency=low
|
||||
* Added patch for delayed end of DST in Europe/Istanbul.
|
||||
* Added patch to skip invalid entries in GetPrivateProfileString16.
|
||||
* Added patch to send WM_CAPTURECHANGE also when capture has not changed.
|
||||
* Added patch to silence repeated FIXME message in surface_cpu_blt.
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Wed, 25 Nov 2015 20:21:46 +0100
|
||||
|
||||
wine-staging (1.8~rc1) unstable; urgency=low
|
||||
|
Loading…
Reference in New Issue
Block a user