summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/render_pass.hpp
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2015-04-23 17:26:15 +0200
committerKonstantin Käfer <mail@kkaefer.com>2015-05-04 17:33:05 +0200
commitf89f7f1bc27e36467bab247f40bb823a3b7b178c (patch)
tree3704a5c1c81e47b5a5b69267f09b18a68231bb4e /src/mbgl/renderer/render_pass.hpp
parentc43016ce6c73c7305d259e7858efc0228d726660 (diff)
downloadqtlocation-mapboxgl-f89f7f1bc27e36467bab247f40bb823a3b7b178c.tar.gz
rename prepare => upload and determine passes per layer instead of per bucket
Diffstat (limited to 'src/mbgl/renderer/render_pass.hpp')
-rw-r--r--src/mbgl/renderer/render_pass.hpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/mbgl/renderer/render_pass.hpp b/src/mbgl/renderer/render_pass.hpp
new file mode 100644
index 0000000000..a298b8b57e
--- /dev/null
+++ b/src/mbgl/renderer/render_pass.hpp
@@ -0,0 +1,31 @@
+#ifndef MBGL_RENDERER_RENDER_PASS
+#define MBGL_RENDERER_RENDER_PASS
+
+#include <cstdint>
+#include <type_traits>
+
+namespace mbgl {
+
+enum class RenderPass : uint8_t {
+ None = 0,
+ Opaque = 1 << 0,
+ Translucent = 1 << 1,
+};
+
+constexpr inline RenderPass operator|(RenderPass a, RenderPass b) {
+ return static_cast<RenderPass>(static_cast<std::underlying_type<RenderPass>::type>(a) |
+ static_cast<std::underlying_type<RenderPass>::type>(b));
+}
+
+inline RenderPass operator|=(RenderPass& a, RenderPass b) {
+ return (a = a | b);
+}
+
+constexpr inline RenderPass operator&(RenderPass a, RenderPass b) {
+ return static_cast<RenderPass>(static_cast<std::underlying_type<RenderPass>::type>(a) &
+ static_cast<std::underlying_type<RenderPass>::type>(b));
+}
+
+}
+
+#endif