diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2015-04-23 17:26:15 +0200 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2015-05-04 17:33:05 +0200 |
commit | f89f7f1bc27e36467bab247f40bb823a3b7b178c (patch) | |
tree | 3704a5c1c81e47b5a5b69267f09b18a68231bb4e /src/mbgl/renderer/render_pass.hpp | |
parent | c43016ce6c73c7305d259e7858efc0228d726660 (diff) | |
download | qtlocation-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.hpp | 31 |
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 |