commit | add96ad2dbe7f5f7b6db069c6b55bffead6907ba | [log] [tgz] |
---|---|---|
author | Alexis Hetu <sugoi@google.com> | Tue Nov 14 17:22:46 2017 -0500 |
committer | Alexis Hétu <sugoi@google.com> | Wed Nov 15 16:08:13 2017 +0000 |
tree | 4a9d28d78e1f20f2ad8d2fb2ce22f0d4ca51c7df | |
parent | c1ef1ada6ad4540b8329ec7da5bbbb5103170c9c [diff] |
Fix glDeleteSync validation glDeleteSync can only delete an existing FenceSync object. Change-Id: Ieb78894175235cc97c67ff0324d59bb5d7619918 Reviewed-on: https://swiftshader-review.googlesource.com/13829 Tested-by: Alexis Hétu <sugoi@google.com> Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/OpenGL/libGLESv2/libGLESv3.cpp b/src/OpenGL/libGLESv2/libGLESv3.cpp index 7a939b2..ab34df5 100644 --- a/src/OpenGL/libGLESv2/libGLESv3.cpp +++ b/src/OpenGL/libGLESv2/libGLESv3.cpp
@@ -3053,10 +3053,20 @@ { TRACE("(GLsync sync = %p)", sync); + if(!sync) + { + return; + } + es2::Context *context = es2::getContext(); if(context) { + if(!context->getFenceSync(sync)) + { + return error(GL_INVALID_VALUE); + } + context->deleteFenceSync(sync); } }