mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 13:49:12 +02:00
Set texture size in cache post-proc
This commit is contained in:
parent
b80f0fc8a6
commit
33d56d974e
3 changed files with 16 additions and 2 deletions
|
@ -457,6 +457,14 @@ uint32 Texture::getStoredMipSize(uint16 level) const {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gpu::Resource::Size Texture::getStoredSize() const {
|
||||||
|
auto size = 0;
|
||||||
|
for (int level = 0; level < evalNumMips(); ++level) {
|
||||||
|
size += getStoredMipSize(level);
|
||||||
|
}
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
uint16 Texture::evalNumSamplesUsed(uint16 numSamplesTried) {
|
uint16 Texture::evalNumSamplesUsed(uint16 numSamplesTried) {
|
||||||
uint16 sample = numSamplesTried;
|
uint16 sample = numSamplesTried;
|
||||||
if (numSamplesTried <= 1)
|
if (numSamplesTried <= 1)
|
||||||
|
|
|
@ -288,9 +288,12 @@ public:
|
||||||
Stamp getStamp() const { return _stamp; }
|
Stamp getStamp() const { return _stamp; }
|
||||||
Stamp getDataStamp() const { return _storage->getStamp(); }
|
Stamp getDataStamp() const { return _storage->getStamp(); }
|
||||||
|
|
||||||
// The size in bytes of data stored in the texture
|
// The theoretical size in bytes of data stored in the texture
|
||||||
Size getSize() const { return _size; }
|
Size getSize() const { return _size; }
|
||||||
|
|
||||||
|
// The actual size in bytes of data stored in the texture
|
||||||
|
Size getStoredSize() const;
|
||||||
|
|
||||||
// Resize, unless auto mips mode would destroy all the sub mips
|
// Resize, unless auto mips mode would destroy all the sub mips
|
||||||
Size resize1D(uint16 width, uint16 numSamples);
|
Size resize1D(uint16 width, uint16 numSamples);
|
||||||
Size resize2D(uint16 width, uint16 height, uint16 numSamples);
|
Size resize2D(uint16 width, uint16 height, uint16 numSamples);
|
||||||
|
|
|
@ -338,10 +338,13 @@ void NetworkTexture::setImage(void* voidTexture, int originalWidth,
|
||||||
if (gpuTexture) {
|
if (gpuTexture) {
|
||||||
_width = gpuTexture->getWidth();
|
_width = gpuTexture->getWidth();
|
||||||
_height = gpuTexture->getHeight();
|
_height = gpuTexture->getHeight();
|
||||||
|
setBytes(gpuTexture->getStoredSize());
|
||||||
} else {
|
} else {
|
||||||
|
// FIXME: If !gpuTexture, we failed to load!
|
||||||
_width = _height = 0;
|
_width = _height = 0;
|
||||||
|
qWarning() << "Texture did not load";
|
||||||
}
|
}
|
||||||
|
|
||||||
finishedLoading(true);
|
finishedLoading(true);
|
||||||
|
|
||||||
emit networkTextureCreated(qWeakPointerCast<NetworkTexture, Resource> (_self));
|
emit networkTextureCreated(qWeakPointerCast<NetworkTexture, Resource> (_self));
|
||||||
|
|
Loading…
Reference in a new issue