On Mon, 23 Sep 2019 at 16:58, Paul Gofman gofmanp@gmail.com wrote:
That probably means that some GL drivers allow drawing from mapped buffers. My Nvidia does not, this is from the test of the concern:
0009:err:d3d:wined3d_debug_callback 0x1ce7a0: "GL_INVALID_OPERATION error generated. Buffer is mapped.".
Yes, whether this works or not likely depends on the specifics of the driver, and possibly on things like the size of the buffer. For what it's worth, note also that ARB_buffer_storage explicitly adds the ability to draw from persistently mapped buffers.
Do you think it is ok then to just drop the unstable test (that second attempt draws)? I am afraid it might be too fragile regardless, the failure that I initially expect here is already relying on hitting the direct map case in wined3d buffer.c, which is likely to change sooner or later.
Sure. There might be something to be said for keeping the test but ignoring the result only on Wine, but I don't have a strong opinion on the matter.