Commit 1b4eb7f0 by Alexis Hetu Committed by Alexis Hétu

Prevent mapped buffers from getting mapped again

It is an invalid operation to map an already mapped buffer. Change-Id: Iba1c2389e5ef9c3114a2415279406ac7f08a0ed6 Reviewed-on: https://swiftshader-review.googlesource.com/13750Tested-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent 929c6b00
...@@ -1590,6 +1590,12 @@ GL_APICALL void *GL_APIENTRY glMapBufferRange(GLenum target, GLintptr offset, GL ...@@ -1590,6 +1590,12 @@ GL_APICALL void *GL_APIENTRY glMapBufferRange(GLenum target, GLintptr offset, GL
return error(GL_INVALID_OPERATION, nullptr); return error(GL_INVALID_OPERATION, nullptr);
} }
if(buffer->isMapped())
{
// It is an invalid operation to map an already mapped buffer
return error(GL_INVALID_OPERATION, nullptr);
}
GLsizeiptr bufferSize = buffer->size(); GLsizeiptr bufferSize = buffer->size();
if((offset < 0) || (length < 0) || ((offset + length) > bufferSize)) if((offset < 0) || (length < 0) || ((offset + length) > bufferSize))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment