Vulkan/Debug: Expose Frames from Thread
Previously Frame was an Thread-internally managed structure, with special accessors for the variable containers of the top most frame.
With this change, the Frame can be modified by calling `Thread::update()`. This allows for more powerful edits of the frame, while still preserving a mutex lock over the structure.
Bug: b/145351270
Change-Id: I81e87884e26bdd6f22b47e8f71b37bbfc91c7830
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39882
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
diff --git a/src/Vulkan/Debug/Context.hpp b/src/Vulkan/Debug/Context.hpp
index 790587d..4c4d8af 100644
--- a/src/Vulkan/Debug/Context.hpp
+++ b/src/Vulkan/Debug/Context.hpp
@@ -89,9 +89,10 @@
// files() returns the full list of files.
std::vector<std::shared_ptr<File>> files();
- // createFrame() returns a new frame for the given file.
+ // createFrame() returns a new frame for the given file and function
+ // name.
std::shared_ptr<Frame> createFrame(
- const std::shared_ptr<File> &file);
+ const std::shared_ptr<File> &file, std::string function);
// get() returns the frame with the given ID, or null if the frame
// does not exist or no longer has any external shared_ptr references.