wined3d: Avoid moving buffers while they're mapped.
This commit is contained in:
parent
263df24406
commit
69bdff6253
|
@ -476,7 +476,7 @@ void buffer_get_memory(struct wined3d_buffer *buffer, const struct wined3d_gl_in
|
|||
data->buffer_object = buffer->buffer_object;
|
||||
if (!buffer->buffer_object)
|
||||
{
|
||||
if (buffer->flags & WINED3D_BUFFER_CREATEBO)
|
||||
if ((buffer->flags & WINED3D_BUFFER_CREATEBO) && !buffer->resource.map_count)
|
||||
{
|
||||
buffer_create_buffer_object(buffer, gl_info);
|
||||
buffer->flags &= ~WINED3D_BUFFER_CREATEBO;
|
||||
|
@ -753,6 +753,12 @@ void CDECL wined3d_buffer_preload(struct wined3d_buffer *buffer)
|
|||
|
||||
TRACE("buffer %p.\n", buffer);
|
||||
|
||||
if (buffer->resource.map_count)
|
||||
{
|
||||
WARN("Buffer is mapped, skipping preload.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
buffer->flags &= ~(WINED3D_BUFFER_NOSYNC | WINED3D_BUFFER_DISCARD);
|
||||
|
||||
if (!buffer->buffer_object)
|
||||
|
|
Loading…
Reference in New Issue