OSDN Git Service

Fixed synchronization issue on MacOS
authorAlexis Hetu <sugoi@google.com>
Mon, 4 Jun 2018 15:38:17 +0000 (11:38 -0400)
committerAlexis Hétu <sugoi@google.com>
Mon, 4 Jun 2018 16:50:37 +0000 (16:50 +0000)
commit904042188c4959fea679bdb31a134ba28a745aee
treef63df1a27069335c898f1b62952470a381b87ce7
parent48456333769d015c677c2a991e8e95b371fb8e4d
Fixed synchronization issue on MacOS

Because of the way SwiftShader is integrated into Chromium on MacOS,
a synchronization issue exists when Chromium attempts to use an
IOSurface before SwiftShader is done rendering into it. In order to
solve this, all draw calls that end up rendering into an IOSurface
must be synchronized within SwiftShader and can't yield to Chromium
until rendering is complete.

Bug chromium:847094

Change-Id: If2dba4fa998e7437ec414d3b4aff9e8b19ecc128
Reviewed-on: https://swiftshader-review.googlesource.com/19188
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
src/OpenGL/common/Image.cpp
src/Renderer/Renderer.cpp
src/Renderer/Surface.hpp