https://bugs.winehq.org/show_bug.cgi?id=42592
oiaohm oiaohm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |oiaohm@gmail.com
--- Comment #58 from oiaohm oiaohm@gmail.com --- Users of Witcher 3 have report this kind of patch like Shmerl did causing hard lockups and the mainline running slow not having hard lockups. So these patches are not where near right.
https://github.com/wine-mirror/wine/blob/master/dlls/wined3d/buffer.c#L1416
Really desc->access need to used as what is in master.
The problem is the FIXME("Ignoring access flags (pool).\n"); message. Rough implementing has caused side effects now that wine is starting to implement pool that shows up that the FIXME is gone a lot more care messing with the desc->access value has to be done.
So we need test results of Witcher3 against master unmodified.
Shmerl you have stopped all over the value of desc->access in master this is not on. You patch is worse as you have moved even more code without any valid need.
If there is still a performance problem with master you need to perform bytewise operations on desc-access so you don't nuke other flags combination that are in the access value.
shmerl read resource_access_from_pool carefully there are currently 3 modes. You magically reduce this down to two of course this is going to have adverse side effects. So you do need to be checking what the heck the desc->access value is before messing with it and using the desc->access value as part of your logic.
There are most likely values of desc->access that say do not touch me or I will cause adverse side effects. As pool defines are implemented desc->access becomes far more of a hazard to stomp all over. While pool was not implement you could kind of run rough shot.
So the patch you did shmerl fail to fix Witcher just causes another defect because the patch design is wrong. This is the problem with forwards porting stuff from staging is it was stuck in staging because it wrong and need to be revised and re-implemented differently. Patch need to go back and be redesigned.