Skia Compute core files
Bug: skia:
Change-Id: I4bba49cf20eff013e581800a3f114c85acd8498c
Reviewed-on: https://skia-review.googlesource.com/135782
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
diff --git a/src/compute/skc/assert_state.h b/src/compute/skc/assert_state.h
new file mode 100644
index 0000000..b4724f9
--- /dev/null
+++ b/src/compute/skc/assert_state.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2017 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can
+ * be found in the LICENSE file.
+ *
+ */
+
+//
+//
+//
+
+#pragma once
+
+//
+//
+//
+
+#include "macros.h"
+
+//
+//
+//
+
+#if 1
+
+#include <assert.h>
+
+#define SKC_ASSERT_STATE_DECLARE(st) st state
+#define SKC_ASSERT_STATE_MEMBER(sp) SKC_CONCAT(sp,->state)
+#define SKC_ASSERT_STATE_INIT(sp,to) SKC_ASSERT_STATE_MEMBER(sp) = (to)
+#define SKC_ASSERT_STATE_TRANSITION(from,to,sp) assert(SKC_ASSERT_STATE_MEMBER(sp) == (from)); SKC_ASSERT_STATE_INIT(sp,to)
+#define SKC_ASSERT_STATE_ASSERT(at,sp) assert(SKC_ASSERT_STATE_MEMBER(sp) == (at))
+
+#else
+
+#define SKC_ASSERT_STATE_DECLARE(st)
+#define SKC_ASSERT_STATE_INIT(sp,to)
+#define SKC_ASSERT_STATE_TRANSITION(from,to,sp)
+#define SKC_ASSERT_STATE_ASSERT(at,sp)
+
+#endif
+
+//
+//
+//