https://bugs.winehq.org/show_bug.cgi?id=38488
Bug ID: 38488 Summary: Wrong taces in functions *_invalidate_location Product: Wine Version: 1.7.41 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: isakov-sl@bk.ru Distribution: ---
I got a plenty of messages like fixme:d3d:wined3d_debug_location Unrecognized location flag(s) 0xfffffc00. fixme:d3d:wined3d_debug_location Unrecognized location flag(s) 0xfffffc00. fixme:d3d:wined3d_debug_location Unrecognized location flag(s) 0xfffffc00. fixme:d3d:wined3d_debug_location Unrecognized location flag(s) 0xfffffc00.
It rises because the function wined3d_volume_invalidate_location() is used with reversed parameter For example dlls/wined3d/device.c: wined3d_volume_invalidate_location(dst_volume, ~WINED3D_LOCATION_TEXTURE_RGB); The function assumed location and not ~location. ----- void wined3d_volume_invalidate_location(struct wined3d_volume *volume, DWORD location) { TRACE("Volume %p, clearing %s.\n", volume, wined3d_debug_location(location)); volume->locations &= ~location; TRACE("new location flags are %s.\n", wined3d_debug_location(volume->locations)); } ----- Here wined3d_debug_location() will message like above.
Same about wined3d_resource_invalidate_location(struct wined3d_resource *resource, DWORD location)
https://bugs.winehq.org/show_bug.cgi?id=38488
Sergey Isakov isakov-sl@bk.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Wrong taces in functions |Wrong traces in functions |*_invalidate_location |*_invalidate_location
https://bugs.winehq.org/show_bug.cgi?id=38488
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com --- This could be a case when wined3d_debug_location() needs to mask out invalid values with '& 0x3ff' for example. Stefan, what you think about it? (introduced by commit http://source.winehq.org/git/wine.git/commit/aa3a43f7698f7b0ac2e925e8da50fa9...).
https://bugs.winehq.org/show_bug.cgi?id=38488
--- Comment #2 from Henri Verbeet hverbeet@gmail.com --- (In reply to Nikolay Sivov from comment #1)
This could be a case when wined3d_debug_location() needs to mask out invalid values with '& 0x3ff' for example. Stefan, what you think about it?
It would probably be better to only mask it for the TRACE, (i.e. call it as "wined3d_debug_location(location & WINED3D_LOCATIONS)"), and there may even be an argument for not using wined3d_debug_location() for invalidations at all, instead just using %#x and only printing the new location flags. The FIXME never bothered me enough to send a patch though...
https://bugs.winehq.org/show_bug.cgi?id=38488
--- Comment #3 from Sergey Isakov isakov-sl@bk.ru --- Ever be corrected?
https://bugs.winehq.org/show_bug.cgi?id=38488
Sergey Isakov isakov-sl@bk.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED
--- Comment #4 from Sergey Isakov isakov-sl@bk.ru --- The function is no more exists in wine-4.2 so the bug can be closed
https://bugs.winehq.org/show_bug.cgi?id=38488
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.3.