20 #ifndef PRESSION_UPLOADER_H 21 #define PRESSION_UPLOADER_H 24 #include <pression/types.h> 25 #include <lunchbox/thread.h> 29 namespace detail {
class Uploader; }
45 PRESSION_API Uploader(
PluginRegistry& from,
const uint32_t name );
48 PRESSION_API
virtual ~Uploader();
51 PRESSION_API
bool isGood(
const GLEWContext* gl )
const;
57 PRESSION_API
bool uses(
const uint32_t name )
const;
63 PRESSION_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 );
93 PRESSION_API
bool setup(
PluginRegistry& from,
const uint32_t name );
101 const uint32_t externalFormat,
102 const uint32_t internalFormat,
103 const uint64_t capabilities,
104 const GLEWContext* gl );
107 PRESSION_API
void clear();
120 PRESSION_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 Uploader(
const Uploader& );
126 Uploader operator=(
const Uploader& );
127 detail::Uploader*
const impl_;
128 LB_TS_VAR( _thread );
131 #endif // PRESSION_UPLOADER_H Defines export visibility macros for library Pression.
A C++ class to handle one uploader plugin instance.
Information about one compressor.
A registry for loaded plugins.