Add support for Semaphores (gpu waiting on gpu) in Ganesh

BUG=skia:

Change-Id: I4324b65bc50a3dfd90372459899870d5f1952fdc
Reviewed-on: https://skia-review.googlesource.com/9120
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/gn/gpu.gni b/gn/gpu.gni
index a773b6c..100288f 100644
--- a/gn/gpu.gni
+++ b/gn/gpu.gni
@@ -173,6 +173,7 @@
   "$_src/gpu/GrResourceProvider.cpp",
   "$_src/gpu/GrResourceProvider.h",
   "$_src/gpu/GrScissorState.h",
+  "$_src/gpu/GrSemaphore.h",
   "$_src/gpu/GrShaderCaps.cpp",
   "$_src/gpu/GrShape.cpp",
   "$_src/gpu/GrShape.h",
@@ -398,6 +399,7 @@
   "$_src/gpu/gl/GrGLProgramDataManager.h",
   "$_src/gpu/gl/GrGLRenderTarget.cpp",
   "$_src/gpu/gl/GrGLRenderTarget.h",
+  "$_src/gpu/gl/GrGLSemaphore.h",
   "$_src/gpu/gl/GrGLStencilAttachment.cpp",
   "$_src/gpu/gl/GrGLStencilAttachment.h",
   "$_src/gpu/gl/GrGLTestInterface.cpp",
@@ -527,6 +529,8 @@
   "$_src/gpu/vk/GrVkResourceProvider.h",
   "$_src/gpu/vk/GrVkSampler.cpp",
   "$_src/gpu/vk/GrVkSampler.h",
+  "$_src/gpu/vk/GrVkSemaphore.cpp",
+  "$_src/gpu/vk/GrVkSemaphore.h",
   "$_src/gpu/vk/GrVkStencilAttachment.cpp",
   "$_src/gpu/vk/GrVkStencilAttachment.h",
   "$_src/gpu/vk/GrVkTexture.cpp",