mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 08:54:05 +00:00
opengl32: Copy to the wow64 buffer even for write maps.
GL_MAP_WRITE_BIT does not mean that the buffer will be filled, unless an INVALIDATE bit is explicitly set. The application is free to partially update the buffer, even if it does not read from it. Thanks to Aida Jonikienė for doing most of the debugging here. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55045
This commit is contained in:
parent
1fca47b724
commit
77981d4548
|
@ -1827,7 +1827,7 @@ static NTSTATUS wow64_map_buffer( TEB *teb, GLint buffer, GLenum target, void *p
|
|||
{
|
||||
if (*ret) /* wow64 pointer provided, map buffer to it */
|
||||
{
|
||||
if (access & GL_MAP_READ_BIT)
|
||||
if (!(access & (GL_MAP_INVALIDATE_RANGE_BIT | GL_MAP_INVALIDATE_BUFFER_BIT)))
|
||||
{
|
||||
TRACE( "Copying %#zx from buffer at %p to wow64 buffer %p\n", size, ptr, UlongToPtr(*ret) );
|
||||
memcpy( UlongToPtr(*ret), ptr, size );
|
||||
|
|
Loading…
Reference in a new issue