OSDN Git Service

Fix IOSurface synchronization issues
authorAlexis Hetu <sugoi@google.com>
Tue, 5 Jun 2018 21:05:17 +0000 (17:05 -0400)
committerAlexis Hétu <sugoi@google.com>
Tue, 5 Jun 2018 21:27:32 +0000 (21:27 +0000)
commit88482c3ca96642733b3a4cc3566b7e2d1b5f8025
tree51ecad4931c30e040323d9211f55e70821226df9
parentdd063024e6419f71888bfb70d1b4823ebd590f7f
Fix IOSurface synchronization issues

It appears that not only render targets, but also samplers that use
IOSurfaces require SwiftShader to perform synchronized draws,
otherwise it seems like using a shared IOSurface's CPU memory is
unsafe and can cause crashes in Layout Tests.

Bug chromium:846693

Change-Id: I0ce24700d34c657ac2447ceb2f6f837bfa3a9a58
Reviewed-on: https://swiftshader-review.googlesource.com/19288
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
14 files changed:
src/OpenGL/common/Image.cpp
src/OpenGL/common/Image.hpp
src/OpenGL/libGLESv2/Context.cpp
src/OpenGL/libGLESv2/Texture.cpp
src/OpenGL/libGLESv2/Texture.h
src/Renderer/PixelProcessor.cpp
src/Renderer/PixelProcessor.hpp
src/Renderer/Renderer.cpp
src/Renderer/Renderer.hpp
src/Renderer/Sampler.cpp
src/Renderer/Sampler.hpp
src/Renderer/Surface.hpp
src/Renderer/VertexProcessor.cpp
src/Renderer/VertexProcessor.hpp