]> git.sesse.net Git - casparcg/blobdiff - core/mixer/gpu/device_buffer.cpp
2.0. - blend_modes are re-enabled.
[casparcg] / core / mixer / gpu / device_buffer.cpp
index a03c116772a6de7d7bd348ce7f26e0d46d55c1c0..67ca643dc1fc0ac52819eea05e18276fa97da5fa 100644 (file)
@@ -21,7 +21,6 @@
 \r
 #include "device_buffer.h"\r
 \r
-#include "host_buffer.h"\r
 #include "fence.h"\r
 \r
 #include <common/exception/exceptions.h>\r
@@ -64,7 +63,6 @@ public:
                GL(glTexImage2D(GL_TEXTURE_2D, 0, INTERNAL_FORMAT[stride_], width_, height_, 0, FORMAT[stride_], GL_UNSIGNED_BYTE, NULL));\r
                GL(glBindTexture(GL_TEXTURE_2D, 0));\r
                CASPAR_LOG(debug) << "[device_buffer] allocated size:" << width*height*stride;  \r
-               clear();\r
        }       \r
 \r
        ~implementation()\r
@@ -95,29 +93,14 @@ public:
                GL(glBindTexture(GL_TEXTURE_2D, 0));\r
        }\r
 \r
-       void begin_read(host_buffer& source)\r
+       void begin_read()\r
        {\r
                bind();\r
-               source.unmap();\r
-               source.bind();\r
                GL(glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width_, height_, FORMAT[stride_], GL_UNSIGNED_BYTE, NULL));\r
-               source.unbind();\r
                unbind();\r
                fence_.set();\r
-               //GL(glFlush());\r
        }\r
        \r
-       void attach(int index)\r
-       {\r
-               GL(glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + index, GL_TEXTURE_2D, id_, 0));\r
-       }\r
-\r
-       void clear()\r
-       {\r
-               attach(0);\r
-               GL(glClear(GL_COLOR_BUFFER_BIT));\r
-       }\r
-\r
        bool ready() const\r
        {\r
                return fence_.ready();\r
@@ -128,13 +111,12 @@ device_buffer::device_buffer(size_t width, size_t height, size_t stride) : impl_
 size_t device_buffer::stride() const { return impl_->stride_; }\r
 size_t device_buffer::width() const { return impl_->width_; }\r
 size_t device_buffer::height() const { return impl_->height_; }\r
-void device_buffer::attach(int index){impl_->attach(index);}\r
 void device_buffer::bind(){impl_->bind();}\r
 void device_buffer::bind(int index){impl_->bind(index);}\r
 void device_buffer::unbind(){impl_->unbind();}\r
-void device_buffer::begin_read(host_buffer& source){impl_->begin_read(source);}\r
-void device_buffer::clear(){impl_->clear();}\r
+void device_buffer::begin_read(){impl_->begin_read();}\r
 bool device_buffer::ready() const{return impl_->ready();}\r
+int device_buffer::id() const{ return impl_->id_;}\r
 \r
 \r
 }}
\ No newline at end of file