vulkan: constify DebugReportCallbackList::Message
Sending a message should not modify the state of DebugReportCallbackList,
conceptually.
Bug: 28120066
Change-Id: I7b30b4a41492b4e670408f34a6bffe8b56295afd
diff --git a/vulkan/libvulkan/debug_report.cpp b/vulkan/libvulkan/debug_report.cpp
index 0388fdc..988655e 100644
--- a/vulkan/libvulkan/debug_report.cpp
+++ b/vulkan/libvulkan/debug_report.cpp
@@ -58,9 +58,9 @@
size_t location,
int32_t message_code,
const char* layer_prefix,
- const char* message) {
+ const char* message) const {
std::shared_lock<decltype(rwmutex_)> lock(rwmutex_);
- Node* node = &head_;
+ const Node* node = &head_;
while ((node = node->next)) {
if ((node->flags & flags) != 0) {
node->callback(flags, object_type, object, location, message_code,
diff --git a/vulkan/libvulkan/debug_report.h b/vulkan/libvulkan/debug_report.h
index 7a03d4a..6f70f18 100644
--- a/vulkan/libvulkan/debug_report.h
+++ b/vulkan/libvulkan/debug_report.h
@@ -52,7 +52,7 @@
size_t location,
int32_t message_code,
const char* layer_prefix,
- const char* message);
+ const char* message) const;
static Node* FromHandle(VkDebugReportCallbackEXT handle) {
return reinterpret_cast<Node*>(uintptr_t(handle));
@@ -78,7 +78,7 @@
};
// TODO(jessehall): replace with std::shared_mutex when available in libc++
- std::shared_timed_mutex rwmutex_;
+ mutable std::shared_timed_mutex rwmutex_;
Node head_;
};