Browse Source

glgsg: fix get_host() of GL FBO. Fixes LP 1672560 shadow bug

rdb 8 years ago
parent
commit
fa1b656961

+ 10 - 0
panda/src/glstuff/glGraphicsBuffer_src.cxx

@@ -1501,6 +1501,16 @@ open_buffer() {
   return true;
 }
 
+/**
+ * This is normally called only from within make_texture_buffer().  When
+ * called on a ParasiteBuffer, it returns the host of that buffer; but when
+ * called on some other buffer, it returns the buffer itself.
+ */
+GraphicsOutput *CLP(GraphicsBuffer)::
+get_host() {
+  return _host;
+}
+
 /**
  * Closes the buffer right now.  Called from the window thread.
  */

+ 2 - 0
panda/src/glstuff/glGraphicsBuffer_src.h

@@ -77,6 +77,8 @@ public:
   void unregister_shared_depth_buffer(GraphicsOutput *graphics_output);
 
 protected:
+  virtual GraphicsOutput *get_host();
+
   virtual void close_buffer();
   virtual bool open_buffer();