Vulkan: Implement basic uniforms.
This implementation adds one descriptor set with two bindings: one for
default vertex uniforms and the other for fragment. It adds two
corresponding uniform buffers, and the logic for updating the
descriptor sets bound to Vulkan. It doesn't handle much in the way of
synchronization and dependency management, or uniform update.
If there are only vertex or fragment uniforms the empty uniform buffer
is omitted from the descriptor set. If both are missing, there is no
descriptor set bound.
Note that as our implementation progresses we might not be able to
initialize our descriptor sets at link time, due to streaming in
uniform data.
BUG=angleproject:2167
Change-Id: I4ce4c3879ab454114df43bfac8d87ddf817fc045
Reviewed-on: https://chromium-review.googlesource.com/706340
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
diff --git a/src/libANGLE/Context.cpp b/src/libANGLE/Context.cpp
index 64b9d4f..022bf66 100644
--- a/src/libANGLE/Context.cpp
+++ b/src/libANGLE/Context.cpp
@@ -487,6 +487,8 @@
mState.mFramebuffers->release(this);
mState.mPipelines->release(this);
+ mImplementation->onDestroy(this);
+
return egl::NoError();
}