summaryrefslogtreecommitdiff
path: root/src/video_core/utils.h
diff options
context:
space:
mode:
authorGravatar David2018-09-24 07:55:41 +1000
committerGravatar bunnei2018-09-23 17:55:41 -0400
commit9f3fc067bf6fd1a26f48213e73f32f1635cbd04d (patch)
tree93c02bdb5f58e6a2bdc67d0f4918c682a99934cf /src/video_core/utils.h
parentMerge pull request #1387 from FearlessTobi/port-4245 (diff)
downloadyuzu-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.h22
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
164static 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