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