/usr/include/globjects/ProgramBinary.h is in libglobjects-dev 1.0.0-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #pragma once
#include <vector>
#include <glbinding/gl/types.h>
#include <globjects/globjects_api.h>
#include <globjects/base/Referenced.h>
#include <globjects/base/ChangeListener.h>
#include <globjects/base/Changeable.h>
#include <globjects/base/ref_ptr.h>
namespace globjects
{
class AbstractStringSource;
/**
* \brief The ProgramBinary class is used for directly setting binary sources for a Program.
*
* \see Program
* \see http://www.opengl.org/registry/specs/ARB/get_program_binary.txt
*/
class GLOBJECTS_API ProgramBinary : public Referenced, public Changeable, protected ChangeListener
{
public:
ProgramBinary(gl::GLenum binaryFormat, const std::vector<char> & binaryData);
ProgramBinary(gl::GLenum binaryFormat, AbstractStringSource * dataSource);
gl::GLenum format() const;
const void * data() const;
gl::GLsizei length() const;
virtual void notifyChanged(const Changeable* sender) override;
protected:
virtual ~ProgramBinary();
void validate() const;
protected:
gl::GLenum m_binaryFormat;
ref_ptr<AbstractStringSource> m_dataSource;
mutable bool m_valid;
mutable std::vector<unsigned char> m_binaryData;
};
} // namespace globjects
|