Added KRDevice parameters to KRTexture2D::uploadTexture.
Stubbed out KRTextureTGA::compress. To be re-implemented after Vulkan refactoring.
This commit is contained in:
@@ -106,13 +106,15 @@ bool KRTextureCube::createGPUTexture(int lod_max_dim)
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
std::string faceName = getName() + SUFFIXES[i];
|
||||
if (m_textures[i]) {
|
||||
if(m_textures[i]->hasMipmaps()) bMipMaps = true;
|
||||
m_textures[i]->uploadTexture(/* TARGETS[i], */lod_max_dim, m_new_lod_max_dim);
|
||||
/* TODO - Vulkan refactoring...
|
||||
incorporate TARGETS[i],
|
||||
*/
|
||||
m_textures[i]->uploadTexture(device, lod_max_dim, m_new_lod_max_dim);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -158,7 +158,7 @@ long KRTextureKTX::getMemRequiredForSize(int max_dim)
|
||||
return memoryRequired;
|
||||
}
|
||||
|
||||
bool KRTextureKTX::uploadTexture(int lod_max_dim, int ¤t_lod_max_dim, bool compress, bool premultiply_alpha)
|
||||
bool KRTextureKTX::uploadTexture(KRDevice& device, int lod_max_dim, int ¤t_lod_max_dim, bool compress, bool premultiply_alpha)
|
||||
{
|
||||
int target_dim = lod_max_dim;
|
||||
if(target_dim < (int)m_min_lod_max_dim) target_dim = m_min_lod_max_dim;
|
||||
|
||||
@@ -41,7 +41,7 @@ public:
|
||||
virtual ~KRTextureKTX();
|
||||
virtual std::string getExtension();
|
||||
|
||||
bool uploadTexture(int lod_max_dim, int& current_lod_max_dim, bool compress = false, bool premultiply_alpha = false) override;
|
||||
bool uploadTexture(KRDevice& device, int lod_max_dim, int& current_lod_max_dim, bool compress = false, bool premultiply_alpha = false) override;
|
||||
|
||||
virtual long getMemRequiredForSize(int max_dim);
|
||||
virtual Vector2i getDimensions() const override;
|
||||
|
||||
@@ -178,7 +178,7 @@ long KRTexturePVR::getMemRequiredForSize(int max_dim)
|
||||
return memoryRequired;
|
||||
}
|
||||
|
||||
bool KRTexturePVR::uploadTexture(int lod_max_dim, int ¤t_lod_max_dim, bool compress, bool premultiply_alpha)
|
||||
bool KRTexturePVR::uploadTexture(KRDevice& device, int lod_max_dim, int ¤t_lod_max_dim, bool compress, bool premultiply_alpha)
|
||||
{
|
||||
int target_dim = lod_max_dim;
|
||||
if(target_dim < (int)m_min_lod_max_dim) target_dim = m_min_lod_max_dim;
|
||||
|
||||
@@ -40,7 +40,7 @@ public:
|
||||
virtual ~KRTexturePVR();
|
||||
virtual std::string getExtension();
|
||||
|
||||
bool uploadTexture(int lod_max_dim, int& current_lod_max_dim, bool compress = false, bool premultiply_alpha = false) override;
|
||||
bool uploadTexture(KRDevice& device, int lod_max_dim, int& current_lod_max_dim, bool compress = false, bool premultiply_alpha = false) override;
|
||||
|
||||
virtual long getMemRequiredForSize(int max_dim);
|
||||
virtual Vector2i getDimensions() const override;
|
||||
|
||||
@@ -114,7 +114,7 @@ KRTextureTGA::~KRTextureTGA()
|
||||
|
||||
}
|
||||
|
||||
bool KRTextureTGA::uploadTexture(int lod_max_dim, int ¤t_lod_max_dim, bool compress, bool premultiply_alpha)
|
||||
bool KRTextureTGA::uploadTexture(KRDevice& device, int lod_max_dim, int ¤t_lod_max_dim, bool compress, bool premultiply_alpha)
|
||||
{
|
||||
m_pData->lock();
|
||||
TGA_HEADER *pHeader = (TGA_HEADER *)m_pData->getStart();
|
||||
@@ -349,6 +349,12 @@ bool KRTextureTGA::uploadTexture(int lod_max_dim, int ¤t_lod_max_dim, bool
|
||||
|
||||
KRTexture *KRTextureTGA::compress(bool premultiply_alpha)
|
||||
{
|
||||
// TODO - Vulkan refactoring...
|
||||
assert(false);
|
||||
return nullptr;
|
||||
/*
|
||||
* TODO - Vulkan refactoring...
|
||||
|
||||
m_pData->lock();
|
||||
|
||||
std::list<KRDataBlock *> blocks;
|
||||
@@ -373,12 +379,6 @@ KRTexture *KRTextureTGA::compress(bool premultiply_alpha)
|
||||
GLDEBUG(glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT, &height));
|
||||
GLDEBUG(glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_INTERNAL_FORMAT, &internal_format));
|
||||
|
||||
/*
|
||||
int texture_base_level = 0;
|
||||
int texture_max_level = 0;
|
||||
GLDEBUG(glGetTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_MIN_LOD, &texture_base_level));
|
||||
GLDEBUG(glGetTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_MAX_LOD, &texture_max_level));
|
||||
*/
|
||||
switch(internal_format)
|
||||
{
|
||||
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
|
||||
@@ -423,6 +423,7 @@ KRTexture *KRTextureTGA::compress(bool premultiply_alpha)
|
||||
}
|
||||
|
||||
return new_texture;
|
||||
*/
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ public:
|
||||
virtual ~KRTextureTGA();
|
||||
virtual std::string getExtension();
|
||||
|
||||
bool uploadTexture(int lod_max_dim, int& current_lod_max_dim, bool compress = false, bool premultiply_alpha = false) override;
|
||||
bool uploadTexture(KRDevice& device, int lod_max_dim, int& current_lod_max_dim, bool compress = false, bool premultiply_alpha = false) override;
|
||||
|
||||
#if !TARGET_OS_IPHONE && !defined(ANDROID)
|
||||
virtual KRTexture *compress(bool premultiply_alpha = false);
|
||||
|
||||
Reference in New Issue
Block a user