Update gpu flush semaphore contract.

From my scanning of clients this should not change how any of our main
users interact with semaphores. The biggest change here is that we don't
give up on submitted all the semaphores if a creation fails. We just
submit the semaphores we do have. It also makes it explicit that the
client is responsible for deleting any initialized semaphore regardless
if we were able to submit the semaphores or not or if the semaphore was
wrapped or created by Skia.

The motivation for this change is to more align the current API with
how things will work when we separate flushing and submit into different
calls.

Bug: skia:10118
Change-Id: I3e8b5d3a9852ddb2b5dc972fee21bf46ded7a36f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282265
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt
index 889291b..e036f86 100644
--- a/RELEASE_NOTES.txt
+++ b/RELEASE_NOTES.txt
@@ -8,6 +8,13 @@
 
   * <insert new release note here>
 
+  * Updated the contract of GrContext and SkSurface flush calls in regards to semaphores. Made it
+    clear that the caller is responsible for deleting any initialized semaphores after the flush
+    call regardless if we were able to submit them or not. Also, allows skia to only submit a
+    subset of the requested semaphores if we failed to create some.
+    https://review.skia.org/282265
+
+
   * SkCanvas::drawVertices will now always fill the triangles specified by the vertices. Previously,
     vertices with no colors and no (texture coordinates or shader) would be drawn in wireframe.
     https://review.skia.org/282043