mirror of
https://github.com/lubosz/overte.git
synced 2025-08-07 17:41:12 +02:00
Cleaned up the counters for memory
This commit is contained in:
parent
9c154122d3
commit
c449229850
15 changed files with 136 additions and 38 deletions
|
@ -644,8 +644,8 @@ void GLBackend::recycle() const {
|
||||||
ids.reserve(buffersTrash.size());
|
ids.reserve(buffersTrash.size());
|
||||||
for (auto pair : buffersTrash) {
|
for (auto pair : buffersTrash) {
|
||||||
ids.push_back(pair.first);
|
ids.push_back(pair.first);
|
||||||
bufferCount.decrement();
|
// bufferCount.decrement();
|
||||||
bufferGPUMemSize.update(pair.second, 0);
|
// bufferGPUMemSize.update(pair.second, 0);
|
||||||
}
|
}
|
||||||
if (!ids.empty()) {
|
if (!ids.empty()) {
|
||||||
glDeleteBuffers((GLsizei)ids.size(), ids.data());
|
glDeleteBuffers((GLsizei)ids.size(), ids.data());
|
||||||
|
@ -678,8 +678,8 @@ void GLBackend::recycle() const {
|
||||||
ids.reserve(texturesTrash.size());
|
ids.reserve(texturesTrash.size());
|
||||||
for (auto pair : texturesTrash) {
|
for (auto pair : texturesTrash) {
|
||||||
ids.push_back(pair.first);
|
ids.push_back(pair.first);
|
||||||
textureCount.decrement();
|
// textureCount.decrement();
|
||||||
textureGPUMemSize.update(pair.second, 0);
|
// textureGPUMemSize.update(pair.second, 0);
|
||||||
}
|
}
|
||||||
if (!ids.empty()) {
|
if (!ids.empty()) {
|
||||||
glDeleteTextures((GLsizei)ids.size(), ids.data());
|
glDeleteTextures((GLsizei)ids.size(), ids.data());
|
||||||
|
|
|
@ -13,6 +13,9 @@ using namespace gpu;
|
||||||
using namespace gpu::gl;
|
using namespace gpu::gl;
|
||||||
|
|
||||||
GLBuffer::~GLBuffer() {
|
GLBuffer::~GLBuffer() {
|
||||||
|
Backend::bufferCount.decrement();
|
||||||
|
Backend::bufferGPUMemSize.update(_size, 0);
|
||||||
|
|
||||||
if (_id) {
|
if (_id) {
|
||||||
auto backend = _backend.lock();
|
auto backend = _backend.lock();
|
||||||
if (backend) {
|
if (backend) {
|
||||||
|
|
|
@ -347,8 +347,31 @@ GLTexelFormat GLTexelFormat::evalGLTexelFormat(const Element& dstFormat, const E
|
||||||
case gpu::SRGBA:
|
case gpu::SRGBA:
|
||||||
texel.internalFormat = GL_SRGB8_ALPHA8;
|
texel.internalFormat = GL_SRGB8_ALPHA8;
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
qCWarning(gpugllogging) << "Unknown combination of texel format";
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case gpu::BLOB: {
|
||||||
|
texel.format = GL_RGBA;
|
||||||
|
texel.type = ELEMENT_TYPE_TO_GL[srcFormat.getType()];
|
||||||
|
|
||||||
|
switch (srcFormat.getSemantic()) {
|
||||||
|
case gpu::BGRA:
|
||||||
|
case gpu::SBGRA:
|
||||||
|
texel.format = GL_BGRA;
|
||||||
|
break;
|
||||||
|
case gpu::RGB:
|
||||||
|
case gpu::RGBA:
|
||||||
|
case gpu::SRGB:
|
||||||
|
case gpu::SRGBA:
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
|
||||||
|
switch (dstFormat.getSemantic()) {
|
||||||
case gpu::COMPRESSED_BC4_RED:
|
case gpu::COMPRESSED_BC4_RED:
|
||||||
texel.internalFormat = GL_COMPRESSED_RED_RGTC1;
|
texel.internalFormat = GL_COMPRESSED_RED_RGTC1;
|
||||||
break;
|
break;
|
||||||
|
@ -364,7 +387,6 @@ GLTexelFormat GLTexelFormat::evalGLTexelFormat(const Element& dstFormat, const E
|
||||||
case gpu::COMPRESSED_BC5_XY:
|
case gpu::COMPRESSED_BC5_XY:
|
||||||
texel.internalFormat = GL_COMPRESSED_RG_RGTC2;
|
texel.internalFormat = GL_COMPRESSED_RG_RGTC2;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
qCWarning(gpugllogging) << "Unknown combination of texel format";
|
qCWarning(gpugllogging) << "Unknown combination of texel format";
|
||||||
}
|
}
|
||||||
|
@ -618,7 +640,30 @@ GLTexelFormat GLTexelFormat::evalGLTexelFormat(const Element& dstFormat, const E
|
||||||
case gpu::SRGBA:
|
case gpu::SRGBA:
|
||||||
texel.internalFormat = GL_SRGB8_ALPHA8; // standard 2.2 gamma correction color
|
texel.internalFormat = GL_SRGB8_ALPHA8; // standard 2.2 gamma correction color
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
qCWarning(gpugllogging) << "Unknown combination of texel format";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case gpu::BLOB: {
|
||||||
|
texel.format = GL_RGBA;
|
||||||
|
texel.type = ELEMENT_TYPE_TO_GL[srcFormat.getType()];
|
||||||
|
|
||||||
|
switch (srcFormat.getSemantic()) {
|
||||||
|
case gpu::BGRA:
|
||||||
|
case gpu::SBGRA:
|
||||||
|
texel.format = GL_BGRA;
|
||||||
|
break;
|
||||||
|
case gpu::RGB:
|
||||||
|
case gpu::RGBA:
|
||||||
|
case gpu::SRGB:
|
||||||
|
case gpu::SRGBA:
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
|
||||||
|
switch (dstFormat.getSemantic()) {
|
||||||
case gpu::COMPRESSED_BC4_RED:
|
case gpu::COMPRESSED_BC4_RED:
|
||||||
texel.internalFormat = GL_COMPRESSED_RED_RGTC1;
|
texel.internalFormat = GL_COMPRESSED_RED_RGTC1;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -92,6 +92,7 @@ public:
|
||||||
friend class GL41Backend;
|
friend class GL41Backend;
|
||||||
protected:
|
protected:
|
||||||
GL41StrictResourceTexture(const std::weak_ptr<GLBackend>& backend, const Texture& texture);
|
GL41StrictResourceTexture(const std::weak_ptr<GLBackend>& backend, const Texture& texture);
|
||||||
|
~GL41StrictResourceTexture();
|
||||||
};
|
};
|
||||||
|
|
||||||
class GL41VariableAllocationTexture : public GL41Texture, public GLVariableAllocationSupport {
|
class GL41VariableAllocationTexture : public GL41Texture, public GLVariableAllocationSupport {
|
||||||
|
|
|
@ -76,7 +76,6 @@ using GL41Texture = GL41Backend::GL41Texture;
|
||||||
|
|
||||||
GL41Texture::GL41Texture(const std::weak_ptr<GLBackend>& backend, const Texture& texture)
|
GL41Texture::GL41Texture(const std::weak_ptr<GLBackend>& backend, const Texture& texture)
|
||||||
: GLTexture(backend, texture, allocate(texture)) {
|
: GLTexture(backend, texture, allocate(texture)) {
|
||||||
Backend::textureCount.increment();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GLuint GL41Texture::allocate(const Texture& texture) {
|
GLuint GL41Texture::allocate(const Texture& texture) {
|
||||||
|
@ -223,6 +222,9 @@ GL41AttachmentTexture::~GL41AttachmentTexture() {
|
||||||
using GL41StrictResourceTexture = GL41Backend::GL41StrictResourceTexture;
|
using GL41StrictResourceTexture = GL41Backend::GL41StrictResourceTexture;
|
||||||
|
|
||||||
GL41StrictResourceTexture::GL41StrictResourceTexture(const std::weak_ptr<GLBackend>& backend, const Texture& texture) : GL41FixedAllocationTexture(backend, texture) {
|
GL41StrictResourceTexture::GL41StrictResourceTexture(const std::weak_ptr<GLBackend>& backend, const Texture& texture) : GL41FixedAllocationTexture(backend, texture) {
|
||||||
|
Backend::textureResidentCount.increment();
|
||||||
|
Backend::textureResidentGPUMemSize.update(0, size());
|
||||||
|
|
||||||
withPreservedTexture([&] {
|
withPreservedTexture([&] {
|
||||||
|
|
||||||
auto mipLevels = _gpuObject.getNumMips();
|
auto mipLevels = _gpuObject.getNumMips();
|
||||||
|
@ -240,6 +242,12 @@ GL41StrictResourceTexture::GL41StrictResourceTexture(const std::weak_ptr<GLBacke
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GL41StrictResourceTexture::~GL41StrictResourceTexture() {
|
||||||
|
Backend::textureResidentCount.decrement();
|
||||||
|
Backend::textureResidentGPUMemSize.update(size(), 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
using GL41VariableAllocationTexture = GL41Backend::GL41VariableAllocationTexture;
|
using GL41VariableAllocationTexture = GL41Backend::GL41VariableAllocationTexture;
|
||||||
|
|
||||||
GL41VariableAllocationTexture::GL41VariableAllocationTexture(const std::weak_ptr<GLBackend>& backend, const Texture& texture) :
|
GL41VariableAllocationTexture::GL41VariableAllocationTexture(const std::weak_ptr<GLBackend>& backend, const Texture& texture) :
|
||||||
|
|
|
@ -86,6 +86,7 @@ public:
|
||||||
friend class GL45Backend;
|
friend class GL45Backend;
|
||||||
protected:
|
protected:
|
||||||
GL45StrictResourceTexture(const std::weak_ptr<GLBackend>& backend, const Texture& texture);
|
GL45StrictResourceTexture(const std::weak_ptr<GLBackend>& backend, const Texture& texture);
|
||||||
|
~GL45StrictResourceTexture();
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -116,7 +116,6 @@ using GL45Texture = GL45Backend::GL45Texture;
|
||||||
|
|
||||||
GL45Texture::GL45Texture(const std::weak_ptr<GLBackend>& backend, const Texture& texture)
|
GL45Texture::GL45Texture(const std::weak_ptr<GLBackend>& backend, const Texture& texture)
|
||||||
: GLTexture(backend, texture, allocate(texture)) {
|
: GLTexture(backend, texture, allocate(texture)) {
|
||||||
Backend::textureCount.increment();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GLuint GL45Texture::allocate(const Texture& texture) {
|
GLuint GL45Texture::allocate(const Texture& texture) {
|
||||||
|
@ -241,10 +240,12 @@ void GL45FixedAllocationTexture::syncSampler() const {
|
||||||
using GL45AttachmentTexture = GL45Backend::GL45AttachmentTexture;
|
using GL45AttachmentTexture = GL45Backend::GL45AttachmentTexture;
|
||||||
|
|
||||||
GL45AttachmentTexture::GL45AttachmentTexture(const std::weak_ptr<GLBackend>& backend, const Texture& texture) : GL45FixedAllocationTexture(backend, texture) {
|
GL45AttachmentTexture::GL45AttachmentTexture(const std::weak_ptr<GLBackend>& backend, const Texture& texture) : GL45FixedAllocationTexture(backend, texture) {
|
||||||
|
Backend::textureFramebufferCount.increment();
|
||||||
Backend::textureFramebufferGPUMemSize.update(0, size());
|
Backend::textureFramebufferGPUMemSize.update(0, size());
|
||||||
}
|
}
|
||||||
|
|
||||||
GL45AttachmentTexture::~GL45AttachmentTexture() {
|
GL45AttachmentTexture::~GL45AttachmentTexture() {
|
||||||
|
Backend::textureFramebufferCount.decrement();
|
||||||
Backend::textureFramebufferGPUMemSize.update(size(), 0);
|
Backend::textureFramebufferGPUMemSize.update(size(), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -252,6 +253,9 @@ GL45AttachmentTexture::~GL45AttachmentTexture() {
|
||||||
using GL45StrictResourceTexture = GL45Backend::GL45StrictResourceTexture;
|
using GL45StrictResourceTexture = GL45Backend::GL45StrictResourceTexture;
|
||||||
|
|
||||||
GL45StrictResourceTexture::GL45StrictResourceTexture(const std::weak_ptr<GLBackend>& backend, const Texture& texture) : GL45FixedAllocationTexture(backend, texture) {
|
GL45StrictResourceTexture::GL45StrictResourceTexture(const std::weak_ptr<GLBackend>& backend, const Texture& texture) : GL45FixedAllocationTexture(backend, texture) {
|
||||||
|
Backend::textureResidentCount.increment();
|
||||||
|
Backend::textureResidentGPUMemSize.update(0, size());
|
||||||
|
|
||||||
auto mipLevels = _gpuObject.getNumMips();
|
auto mipLevels = _gpuObject.getNumMips();
|
||||||
for (uint16_t sourceMip = 0; sourceMip < mipLevels; ++sourceMip) {
|
for (uint16_t sourceMip = 0; sourceMip < mipLevels; ++sourceMip) {
|
||||||
uint16_t targetMip = sourceMip;
|
uint16_t targetMip = sourceMip;
|
||||||
|
@ -265,3 +269,8 @@ GL45StrictResourceTexture::GL45StrictResourceTexture(const std::weak_ptr<GLBacke
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GL45StrictResourceTexture::~GL45StrictResourceTexture() {
|
||||||
|
Backend::textureResidentCount.decrement();
|
||||||
|
Backend::textureResidentGPUMemSize.update(size(), 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,10 +31,12 @@ using GL45VariableAllocationTexture = GL45Backend::GL45VariableAllocationTexture
|
||||||
|
|
||||||
GL45VariableAllocationTexture::GL45VariableAllocationTexture(const std::weak_ptr<GLBackend>& backend, const Texture& texture) : GL45Texture(backend, texture) {
|
GL45VariableAllocationTexture::GL45VariableAllocationTexture(const std::weak_ptr<GLBackend>& backend, const Texture& texture) : GL45Texture(backend, texture) {
|
||||||
++_frameTexturesCreated;
|
++_frameTexturesCreated;
|
||||||
|
Backend::textureResourceCount.increment();
|
||||||
}
|
}
|
||||||
|
|
||||||
GL45VariableAllocationTexture::~GL45VariableAllocationTexture() {
|
GL45VariableAllocationTexture::~GL45VariableAllocationTexture() {
|
||||||
Backend::textureGPUMemSize.update(_size, 0);
|
Backend::textureResourceCount.decrement();
|
||||||
|
Backend::textureResourceGPUMemSize.update(_size, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Managed size resource textures
|
// Managed size resource textures
|
||||||
|
|
|
@ -243,12 +243,11 @@ ContextMetricSize Backend::freeGPUMemSize;
|
||||||
ContextMetricCount Backend::bufferCount;
|
ContextMetricCount Backend::bufferCount;
|
||||||
ContextMetricSize Backend::bufferGPUMemSize;
|
ContextMetricSize Backend::bufferGPUMemSize;
|
||||||
|
|
||||||
ContextMetricCount Backend::textureCount;
|
ContextMetricCount Backend::textureResidentCount;
|
||||||
ContextMetricCount Backend::textureFramebufferCount;
|
ContextMetricCount Backend::textureFramebufferCount;
|
||||||
ContextMetricCount Backend::textureResourceCount;
|
ContextMetricCount Backend::textureResourceCount;
|
||||||
ContextMetricCount Backend::textureExternalCount;
|
ContextMetricCount Backend::textureExternalCount;
|
||||||
|
|
||||||
ContextMetricSize Backend::textureGPUMemSize;
|
|
||||||
ContextMetricSize Backend::textureResidentGPUMemSize;
|
ContextMetricSize Backend::textureResidentGPUMemSize;
|
||||||
ContextMetricSize Backend::textureFramebufferGPUMemSize;
|
ContextMetricSize Backend::textureFramebufferGPUMemSize;
|
||||||
ContextMetricSize Backend::textureResourceGPUMemSize;
|
ContextMetricSize Backend::textureResourceGPUMemSize;
|
||||||
|
@ -274,9 +273,11 @@ Context::Size Context::getBufferGPUMemSize() {
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t Context::getTextureGPUCount() {
|
uint32_t Context::getTextureGPUCount() {
|
||||||
return Backend::textureCount.getValue();
|
return getTextureResidentGPUCount() + getTextureResourceGPUCount() + getTextureFramebufferGPUCount();
|
||||||
|
}
|
||||||
|
uint32_t Context::getTextureResidentGPUCount() {
|
||||||
|
return Backend::textureResidentCount.getValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t Context::getTextureFramebufferGPUCount() {
|
uint32_t Context::getTextureFramebufferGPUCount() {
|
||||||
return Backend::textureFramebufferCount.getValue();
|
return Backend::textureFramebufferCount.getValue();
|
||||||
}
|
}
|
||||||
|
@ -288,7 +289,7 @@ uint32_t Context::getTextureExternalGPUCount() {
|
||||||
}
|
}
|
||||||
|
|
||||||
Size Context::getTextureGPUMemSize() {
|
Size Context::getTextureGPUMemSize() {
|
||||||
return Backend::textureGPUMemSize.getValue();
|
return getTextureResidentGPUMemSize() + getTextureResourceGPUMemSize() + getTextureFramebufferGPUMemSize();
|
||||||
}
|
}
|
||||||
Size Context::getTextureResidentGPUMemSize() {
|
Size Context::getTextureResidentGPUMemSize() {
|
||||||
return Backend::textureResidentGPUMemSize.getValue();
|
return Backend::textureResidentGPUMemSize.getValue();
|
||||||
|
|
|
@ -101,13 +101,11 @@ public:
|
||||||
static ContextMetricCount bufferCount;
|
static ContextMetricCount bufferCount;
|
||||||
static ContextMetricSize bufferGPUMemSize;
|
static ContextMetricSize bufferGPUMemSize;
|
||||||
|
|
||||||
static ContextMetricCount textureCount;
|
static ContextMetricCount textureResidentCount;
|
||||||
static ContextMetricCount textureFramebufferCount;
|
static ContextMetricCount textureFramebufferCount;
|
||||||
static ContextMetricCount textureResourceCount;
|
static ContextMetricCount textureResourceCount;
|
||||||
static ContextMetricCount textureExternalCount;
|
static ContextMetricCount textureExternalCount;
|
||||||
|
|
||||||
static ContextMetricSize textureGPUMemSize;
|
|
||||||
|
|
||||||
static ContextMetricSize textureResidentGPUMemSize;
|
static ContextMetricSize textureResidentGPUMemSize;
|
||||||
static ContextMetricSize textureFramebufferGPUMemSize;
|
static ContextMetricSize textureFramebufferGPUMemSize;
|
||||||
static ContextMetricSize textureResourceGPUMemSize;
|
static ContextMetricSize textureResourceGPUMemSize;
|
||||||
|
@ -231,6 +229,7 @@ public:
|
||||||
static Size getBufferGPUMemSize();
|
static Size getBufferGPUMemSize();
|
||||||
|
|
||||||
static uint32_t getTextureGPUCount();
|
static uint32_t getTextureGPUCount();
|
||||||
|
static uint32_t getTextureResidentGPUCount();
|
||||||
static uint32_t getTextureFramebufferGPUCount();
|
static uint32_t getTextureFramebufferGPUCount();
|
||||||
static uint32_t getTextureResourceGPUCount();
|
static uint32_t getTextureResourceGPUCount();
|
||||||
static uint32_t getTextureExternalGPUCount();
|
static uint32_t getTextureExternalGPUCount();
|
||||||
|
|
|
@ -19,11 +19,11 @@ const Element Element::COLOR_SRGBA_32{ VEC4, NUINT8, SRGBA };
|
||||||
const Element Element::COLOR_BGRA_32{ VEC4, NUINT8, BGRA };
|
const Element Element::COLOR_BGRA_32{ VEC4, NUINT8, BGRA };
|
||||||
const Element Element::COLOR_SBGRA_32{ VEC4, NUINT8, SBGRA };
|
const Element Element::COLOR_SBGRA_32{ VEC4, NUINT8, SBGRA };
|
||||||
|
|
||||||
const Element Element::COLOR_COMPRESSED_RED{ VEC4, NUINT8, COMPRESSED_BC4_RED };
|
const Element Element::COLOR_COMPRESSED_RED{ BLOB, COMPRESSED, COMPRESSED_BC4_RED };
|
||||||
const Element Element::COLOR_COMPRESSED_SRGB{ VEC4, NUINT8, COMPRESSED_BC1_SRGB };
|
const Element Element::COLOR_COMPRESSED_SRGB { BLOB, COMPRESSED, COMPRESSED_BC1_SRGB };
|
||||||
const Element Element::COLOR_COMPRESSED_SRGBA_MASK{ VEC4, NUINT8, COMPRESSED_BC1_SRGBA };
|
const Element Element::COLOR_COMPRESSED_SRGBA_MASK { BLOB, COMPRESSED, COMPRESSED_BC1_SRGBA };
|
||||||
const Element Element::COLOR_COMPRESSED_SRGBA{ VEC4, NUINT8, COMPRESSED_BC3_SRGBA };
|
const Element Element::COLOR_COMPRESSED_SRGBA { BLOB, COMPRESSED, COMPRESSED_BC3_SRGBA };
|
||||||
const Element Element::COLOR_COMPRESSED_XY{ VEC4, NUINT8, COMPRESSED_BC5_XY };
|
const Element Element::COLOR_COMPRESSED_XY { BLOB, COMPRESSED, COMPRESSED_BC5_XY };
|
||||||
|
|
||||||
const Element Element::VEC2NU8_XY{ VEC2, NUINT8, XY };
|
const Element Element::VEC2NU8_XY{ VEC2, NUINT8, XY };
|
||||||
|
|
||||||
|
|
|
@ -239,7 +239,7 @@ void ObjectMotionState::handleEasyChanges(uint32_t& flags) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_body->getCollisionShape()->getShapeType() != TRIANGLE_MESH_SHAPE_PROXYTYPE) {
|
if (_body && _body->getCollisionShape()->getShapeType() != TRIANGLE_MESH_SHAPE_PROXYTYPE) {
|
||||||
if (flags & Simulation::DIRTY_LINEAR_VELOCITY) {
|
if (flags & Simulation::DIRTY_LINEAR_VELOCITY) {
|
||||||
btVector3 newLinearVelocity = glmToBullet(getObjectLinearVelocity());
|
btVector3 newLinearVelocity = glmToBullet(getObjectLinearVelocity());
|
||||||
if (!(flags & Simulation::DIRTY_PHYSICS_ACTIVATION)) {
|
if (!(flags & Simulation::DIRTY_PHYSICS_ACTIVATION)) {
|
||||||
|
|
|
@ -33,6 +33,11 @@ void EngineStats::run(const RenderContextPointer& renderContext) {
|
||||||
config->textureCPUMemSize = gpu::Texture::getTextureCPUMemSize();
|
config->textureCPUMemSize = gpu::Texture::getTextureCPUMemSize();
|
||||||
config->textureGPUMemSize = gpu::Context::getTextureGPUMemSize();
|
config->textureGPUMemSize = gpu::Context::getTextureGPUMemSize();
|
||||||
|
|
||||||
|
config->textureResidentGPUCount = gpu::Context::getTextureResidentGPUCount();
|
||||||
|
config->textureFramebufferGPUCount = gpu::Context::getTextureFramebufferGPUCount();
|
||||||
|
config->textureResourceGPUCount = gpu::Context::getTextureResourceGPUCount();
|
||||||
|
config->textureExternalGPUCount = gpu::Context::getTextureExternalGPUCount();
|
||||||
|
|
||||||
config->textureResidentGPUMemSize = gpu::Context::getTextureResidentGPUMemSize();
|
config->textureResidentGPUMemSize = gpu::Context::getTextureResidentGPUMemSize();
|
||||||
config->textureFramebufferGPUMemSize = gpu::Context::getTextureFramebufferGPUMemSize();
|
config->textureFramebufferGPUMemSize = gpu::Context::getTextureFramebufferGPUMemSize();
|
||||||
config->textureResourceGPUMemSize = gpu::Context::getTextureResourceGPUMemSize();
|
config->textureResourceGPUMemSize = gpu::Context::getTextureResourceGPUMemSize();
|
||||||
|
|
|
@ -31,9 +31,13 @@ namespace render {
|
||||||
|
|
||||||
Q_PROPERTY(quint32 textureCPUCount MEMBER textureCPUCount NOTIFY dirty)
|
Q_PROPERTY(quint32 textureCPUCount MEMBER textureCPUCount NOTIFY dirty)
|
||||||
Q_PROPERTY(quint32 textureGPUCount MEMBER textureGPUCount NOTIFY dirty)
|
Q_PROPERTY(quint32 textureGPUCount MEMBER textureGPUCount NOTIFY dirty)
|
||||||
|
Q_PROPERTY(quint32 textureResidentGPUCount MEMBER textureResidentGPUCount NOTIFY dirty)
|
||||||
|
Q_PROPERTY(quint32 textureFramebufferGPUCount MEMBER textureFramebufferGPUCount NOTIFY dirty)
|
||||||
|
Q_PROPERTY(quint32 textureResourceGPUCount MEMBER textureResourceGPUCount NOTIFY dirty)
|
||||||
|
Q_PROPERTY(quint32 textureExternalGPUCount MEMBER textureExternalGPUCount NOTIFY dirty)
|
||||||
|
|
||||||
Q_PROPERTY(qint64 textureCPUMemSize MEMBER textureCPUMemSize NOTIFY dirty)
|
Q_PROPERTY(qint64 textureCPUMemSize MEMBER textureCPUMemSize NOTIFY dirty)
|
||||||
Q_PROPERTY(qint64 textureGPUMemSize MEMBER textureGPUMemSize NOTIFY dirty)
|
Q_PROPERTY(qint64 textureGPUMemSize MEMBER textureGPUMemSize NOTIFY dirty)
|
||||||
|
|
||||||
Q_PROPERTY(qint64 textureResidentGPUMemSize MEMBER textureResidentGPUMemSize NOTIFY dirty)
|
Q_PROPERTY(qint64 textureResidentGPUMemSize MEMBER textureResidentGPUMemSize NOTIFY dirty)
|
||||||
Q_PROPERTY(qint64 textureFramebufferGPUMemSize MEMBER textureFramebufferGPUMemSize NOTIFY dirty)
|
Q_PROPERTY(qint64 textureFramebufferGPUMemSize MEMBER textureFramebufferGPUMemSize NOTIFY dirty)
|
||||||
Q_PROPERTY(qint64 textureResourceGPUMemSize MEMBER textureResourceGPUMemSize NOTIFY dirty)
|
Q_PROPERTY(qint64 textureResourceGPUMemSize MEMBER textureResourceGPUMemSize NOTIFY dirty)
|
||||||
|
@ -66,14 +70,19 @@ namespace render {
|
||||||
qint64 bufferGPUMemSize { 0 };
|
qint64 bufferGPUMemSize { 0 };
|
||||||
|
|
||||||
quint32 textureCPUCount{ 0 };
|
quint32 textureCPUCount{ 0 };
|
||||||
quint32 textureGPUCount{ 0 };
|
quint32 textureGPUCount { 0 };
|
||||||
|
quint32 textureResidentGPUCount { 0 };
|
||||||
|
quint32 textureFramebufferGPUCount { 0 };
|
||||||
|
quint32 textureResourceGPUCount { 0 };
|
||||||
|
quint32 textureExternalGPUCount { 0 };
|
||||||
|
quint32 texturePendingGPUTransferCount { 0 };
|
||||||
|
|
||||||
qint64 textureCPUMemSize { 0 };
|
qint64 textureCPUMemSize { 0 };
|
||||||
qint64 textureGPUMemSize { 0 };
|
qint64 textureGPUMemSize { 0 };
|
||||||
qint64 textureResidentGPUMemSize { 0 };
|
qint64 textureResidentGPUMemSize { 0 };
|
||||||
qint64 textureFramebufferGPUMemSize { 0 };
|
qint64 textureFramebufferGPUMemSize { 0 };
|
||||||
qint64 textureResourceGPUMemSize { 0 };
|
qint64 textureResourceGPUMemSize { 0 };
|
||||||
qint64 textureExternalGPUMemSize { 0 };
|
qint64 textureExternalGPUMemSize { 0 };
|
||||||
quint32 texturePendingGPUTransferCount { 0 };
|
|
||||||
qint64 texturePendingGPUTransferSize { 0 };
|
qint64 texturePendingGPUTransferSize { 0 };
|
||||||
|
|
||||||
quint32 frameAPIDrawcallCount{ 0 };
|
quint32 frameAPIDrawcallCount{ 0 };
|
||||||
|
|
|
@ -23,7 +23,7 @@ Item {
|
||||||
anchors.fill:parent
|
anchors.fill:parent
|
||||||
|
|
||||||
property var config: Render.getConfig("Stats")
|
property var config: Render.getConfig("Stats")
|
||||||
|
|
||||||
function evalEvenHeight() {
|
function evalEvenHeight() {
|
||||||
// Why do we have to do that manually ? cannot seem to find a qml / anchor / layout mode that does that ?
|
// Why do we have to do that manually ? cannot seem to find a qml / anchor / layout mode that does that ?
|
||||||
return (height - spacing * (children.length - 1)) / children.length
|
return (height - spacing * (children.length - 1)) / children.length
|
||||||
|
@ -38,15 +38,30 @@ Item {
|
||||||
label: "CPU",
|
label: "CPU",
|
||||||
color: "#00B4EF"
|
color: "#00B4EF"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
prop: "textureGPUCount",
|
|
||||||
label: "GPU",
|
|
||||||
color: "#1AC567"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
prop: "texturePendingGPUTransferCount",
|
prop: "texturePendingGPUTransferCount",
|
||||||
label: "Transfer",
|
label: "Transfer",
|
||||||
color: "#9495FF"
|
color: "#359D85"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "textureResourceGPUCount",
|
||||||
|
label: "Resource",
|
||||||
|
color: "#1FC6A6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "textureResidentGPUCount",
|
||||||
|
label: "Resident",
|
||||||
|
color: "#FF6309"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "textureFramebufferGPUCount",
|
||||||
|
label: "Framebuffer",
|
||||||
|
color: "#EF93D1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "textureExternalGPUCount",
|
||||||
|
label: "External",
|
||||||
|
color: "#C62147"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -64,14 +79,14 @@ Item {
|
||||||
color: "#00B4EF"
|
color: "#00B4EF"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: "textureGPUMemSize",
|
prop: "texturePendingGPUTransferSize",
|
||||||
label: "GPU",
|
label: "Transfer",
|
||||||
color: "#1AC567"
|
color: "#359D85"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: "textureTransferPendingSize",
|
prop: "textureGPUMemSize",
|
||||||
label: "Pending Transfer",
|
label: "GPU",
|
||||||
color: "#9495FF"
|
color: "#E3E3E3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: "textureResourceGPUMemSize",
|
prop: "textureResourceGPUMemSize",
|
||||||
|
|
Loading…
Reference in a new issue