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_;
 };