20 #ifndef LUNCHBOX_UPLOADER_H
21 #define LUNCHBOX_UPLOADER_H
25 #include <lunchbox/thread.h>
29 namespace detail {
class Uploader; }
51 LUNCHBOX_API
bool isGood(
const GLEWContext* gl )
const;
57 LUNCHBOX_API
bool uses(
const uint32_t name )
const;
63 LUNCHBOX_API
bool supports(
const uint32_t externalFormat,
64 const uint32_t internalFormat,
65 const uint64_t capabilities,
66 const GLEWContext* gl )
const;
77 const uint32_t externalFormat,
78 const uint32_t internalFormat,
79 const uint64_t capabilities,
80 const GLEWContext* gl );
101 const uint32_t externalFormat,
102 const uint32_t internalFormat,
103 const uint64_t capabilities,
104 const GLEWContext* gl );
107 LUNCHBOX_API
void clear();
120 LUNCHBOX_API
void upload(
const void* buffer,
const uint64_t inDims[4],
121 const uint64_t flags,
const uint64_t outDims[4],
122 const unsigned destination,
123 const GLEWContext* gl );
125 detail::Uploader*
const impl_;
126 LB_TS_VAR( _thread );
129 #endif // LUNCHBOX_UPLOADER_H
A registry for loaded plugins.
Defines export visibility macros for Lunchbox.
Basic type definitions not provided by the operating system.
static LUNCHBOX_API uint32_t choose(const PluginRegistry &from, const uint32_t externalFormat, const uint32_t internalFormat, const uint64_t capabilities, const GLEWContext *gl)
Find the best uploader in all plugins for the given parameters.
LUNCHBOX_API const EqCompressorInfo & getInfo() const
LUNCHBOX_API bool setup(PluginRegistry &from, const uint32_t name)
Set up a new, named uploader instance.
Information about one compressor.
virtual LUNCHBOX_API ~Uploader()
Destruct this uploader.
LUNCHBOX_API bool isGood(const GLEWContext *gl) const
LUNCHBOX_API Uploader()
Construct a new, invalid uploader instance.
LUNCHBOX_API void clear()
Reset to EQ_COMPRESSOR_NONE.
LUNCHBOX_API void upload(const void *buffer, const uint64_t inDims[4], const uint64_t flags, const uint64_t outDims[4], const unsigned destination, const GLEWContext *gl)
Upload data from cpu to the frame buffer or texture.
A C++ class to handle one uploader plugin instance.
LUNCHBOX_API bool supports(const uint32_t externalFormat, const uint32_t internalFormat, const uint64_t capabilities, const GLEWContext *gl) const
LUNCHBOX_API bool uses(const uint32_t name) const