diff options
| author | 2018-09-24 07:55:41 +1000 | |
|---|---|---|
| committer | 2018-09-23 17:55:41 -0400 | |
| commit | 9f3fc067bf6fd1a26f48213e73f32f1635cbd04d (patch) | |
| tree | 93c02bdb5f58e6a2bdc67d0f4918c682a99934cf /src/video_core/utils.h | |
| parent | Merge pull request #1387 from FearlessTobi/port-4245 (diff) | |
| download | yuzu-9f3fc067bf6fd1a26f48213e73f32f1635cbd04d.tar.gz yuzu-9f3fc067bf6fd1a26f48213e73f32f1635cbd04d.tar.xz yuzu-9f3fc067bf6fd1a26f48213e73f32f1635cbd04d.zip | |
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 e0a14d48f..681919ae3 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 | |||
| 161 | } | 161 | } |
| 162 | } | 162 | } |
| 163 | 163 | ||
| 164 | static void LabelGLObject(GLenum identifier, GLuint handle, VAddr addr, | ||
| 165 | std::string extra_info = "") { | ||
| 166 | if (!GLAD_GL_KHR_debug) { | ||
| 167 | return; // We don't need to throw an error as this is just for debugging | ||
| 168 | } | ||
| 169 | const std::string nice_addr = fmt::format("0x{:016x}", addr); | ||
| 170 | std::string object_label; | ||
| 171 | |||
| 172 | switch (identifier) { | ||
| 173 | case GL_TEXTURE: | ||
| 174 | object_label = extra_info + "@" + nice_addr; | ||
| 175 | break; | ||
| 176 | case GL_PROGRAM: | ||
| 177 | object_label = "ShaderProgram@" + nice_addr; | ||
| 178 | break; | ||
| 179 | default: | ||
| 180 | object_label = fmt::format("Object(0x{:x})@{}", identifier, nice_addr); | ||
| 181 | break; | ||
| 182 | } | ||
| 183 | glObjectLabel(identifier, handle, -1, static_cast<const GLchar*>(object_label.c_str())); | ||
| 184 | } | ||
| 185 | |||
| 164 | } // namespace VideoCore | 186 | } // namespace VideoCore |