diff options
author | David <25727384+ogniK5377@users.noreply.github.com> | 2018-09-24 07:55:41 +1000 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-09-23 17:55:41 -0400 |
commit | 9f3fc067bf6fd1a26f48213e73f32f1635cbd04d (patch) | |
tree | 93c02bdb5f58e6a2bdc67d0f4918c682a99934cf /src/video_core/utils.h | |
parent | 6b05f71b671268e15ce0fd83fd7adbef8896a491 (diff) |
Added glObjectLabels for renderdoc for textures and shader programs (#1384)
* Added glObjectLabels for renderdoc for textures and shader programs
* Changed hardcoded "Texture" name to reflect the texture type instead
* Removed string initialize
Diffstat (limited to 'src/video_core/utils.h')
-rw-r--r-- | src/video_core/utils.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/video_core/utils.h b/src/video_core/utils.h index e0a14d48f1..681919ae3f 100644 --- a/src/video_core/utils.h +++ b/src/video_core/utils.h @@ -161,4 +161,26 @@ static inline void MortonCopyPixels128(u32 width, u32 height, u32 bytes_per_pixe } } +static void LabelGLObject(GLenum identifier, GLuint handle, VAddr addr, + std::string extra_info = "") { + if (!GLAD_GL_KHR_debug) { + return; // We don't need to throw an error as this is just for debugging + } + const std::string nice_addr = fmt::format("0x{:016x}", addr); + std::string object_label; + + switch (identifier) { + case GL_TEXTURE: + object_label = extra_info + "@" + nice_addr; + break; + case GL_PROGRAM: + object_label = "ShaderProgram@" + nice_addr; + break; + default: + object_label = fmt::format("Object(0x{:x})@{}", identifier, nice_addr); + break; + } + glObjectLabel(identifier, handle, -1, static_cast<const GLchar*>(object_label.c_str())); +} + } // namespace VideoCore |