diff --git a/libs/hwui/canvas/CanvasOpBuffer.h b/libs/hwui/canvas/CanvasOpBuffer.h
index b80faeb..07e079a 100644
--- a/libs/hwui/canvas/CanvasOpBuffer.h
+++ b/libs/hwui/canvas/CanvasOpBuffer.h
@@ -46,6 +46,10 @@
     const SkMatrix& transform() const { return mTransform; }
 
     CanvasOp<T>* operator->() noexcept { return &mImpl; }
+    const CanvasOp<T>* operator->() const noexcept { return &mImpl; }
+
+    CanvasOp<T>& op() noexcept { return mImpl; }
+    const CanvasOp<T>& op() const noexcept { return mImpl; }
 };
 
 extern template class OpBuffer<CanvasOpType, CanvasOpContainer>;
diff --git a/libs/hwui/canvas/CanvasOpRasterizer.cpp b/libs/hwui/canvas/CanvasOpRasterizer.cpp
index 97c418a..25129f6 100644
--- a/libs/hwui/canvas/CanvasOpRasterizer.cpp
+++ b/libs/hwui/canvas/CanvasOpRasterizer.cpp
@@ -32,7 +32,7 @@
     std::vector<SkMatrix> globalMatrixStack;
     SkMatrix& currentGlobalTransform = globalMatrixStack.emplace_back(SkMatrix::I());
 
-    source.for_each([&]<CanvasOpType T>(CanvasOpContainer<T> * op) {
+    source.for_each([&]<CanvasOpType T>(const CanvasOpContainer<T> * op) {
         if constexpr (T == CanvasOpType::BeginZ || T == CanvasOpType::EndZ) {
             // Do beginZ or endZ
             LOG_ALWAYS_FATAL("TODO");
diff --git a/libs/hwui/canvas/OpBuffer.h b/libs/hwui/canvas/OpBuffer.h
index 398e090..98e385f 100644
--- a/libs/hwui/canvas/OpBuffer.h
+++ b/libs/hwui/canvas/OpBuffer.h
@@ -156,7 +156,7 @@
         using F_PTR = decltype(&f);
         using THUNK = void (*)(F_PTR, void*);
         static constexpr auto jump = std::array<THUNK, sizeof...(I)>{[](F_PTR fp, void* t) {
-            (*fp)(reinterpret_cast<ItemContainer<static_cast<ItemTypes>(I)>*>(t));
+            (*fp)(reinterpret_cast<const ItemContainer<static_cast<ItemTypes>(I)>*>(t));
         }...};
 
         // Do the actual iteration of each item
