Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53863 This fixes a regression introduced by ebbcc10b0593948657b8e684c3a9be8ace1a5d25. Prior to that commit, buffers which were not CPU-accessible would not have the WINED3D_BUFFER_USE_BO flag set, and accordingly buffer_resource_sub_resource_map() would simply return the SYSMEM location, ignoring the DISCARD and NOOVERWRITE flags. However, the "accelerated" path in wined3d_cs_map_upload_bo() only checks for the DISCARD flag, assuming that it is only set for dynamic GPU-accessible buffers, and would subsequently try to allocate non-mappable memory and then map it. This commit avoids the accelerated path for such buffers, once again matching our old behaviour. According to [1], this also matches Windows: DISCARD on SYSTEMMEM buffers is ignored on both AMD and NVidia, and NOOVERWRITE is ignored on NVidia (but not AMD). [1] https://www.winehq.org/mailman3/hyperkitty/list/wine-devel(a)winehq.org/mess... -- https://gitlab.winehq.org/wine/wine/-/merge_requests/1864