diff options
| author | 2023-05-07 14:09:03 -0400 | |
|---|---|---|
| committer | 2023-05-07 14:09:03 -0400 | |
| commit | cb49c3b64cb0a4391ca33eb95526ceb3b2ba244a (patch) | |
| tree | 6b9bda6059babf2812572f493a530454da7fbe06 /src/video_core/renderer_opengl | |
| parent | Merge pull request #10189 from Qigo42/master (diff) | |
| parent | Log object names with debug renderer, add a GPU address to ImageViews (diff) | |
| download | yuzu-cb49c3b64cb0a4391ca33eb95526ceb3b2ba244a.tar.gz yuzu-cb49c3b64cb0a4391ca33eb95526ceb3b2ba244a.tar.xz yuzu-cb49c3b64cb0a4391ca33eb95526ceb3b2ba244a.zip | |
Merge pull request #10172 from Kelebek1/debug_validation_names
Log object names with debug renderer, add a GPU address to ImageViews
Diffstat (limited to 'src/video_core/renderer_opengl')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_device.cpp | 3 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_texture_cache.cpp | 9 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_texture_cache.h | 1 |
3 files changed, 7 insertions, 6 deletions
diff --git a/src/video_core/renderer_opengl/gl_device.cpp b/src/video_core/renderer_opengl/gl_device.cpp index 22ed16ebf..400c21981 100644 --- a/src/video_core/renderer_opengl/gl_device.cpp +++ b/src/video_core/renderer_opengl/gl_device.cpp | |||
| @@ -108,7 +108,8 @@ bool IsASTCSupported() { | |||
| 108 | 108 | ||
| 109 | [[nodiscard]] bool IsDebugToolAttached(std::span<const std::string_view> extensions) { | 109 | [[nodiscard]] bool IsDebugToolAttached(std::span<const std::string_view> extensions) { |
| 110 | const bool nsight = std::getenv("NVTX_INJECTION64_PATH") || std::getenv("NSIGHT_LAUNCHED"); | 110 | const bool nsight = std::getenv("NVTX_INJECTION64_PATH") || std::getenv("NSIGHT_LAUNCHED"); |
| 111 | return nsight || HasExtension(extensions, "GL_EXT_debug_tool"); | 111 | return nsight || HasExtension(extensions, "GL_EXT_debug_tool") || |
| 112 | Settings::values.renderer_debug.GetValue(); | ||
| 112 | } | 113 | } |
| 113 | } // Anonymous namespace | 114 | } // Anonymous namespace |
| 114 | 115 | ||
diff --git a/src/video_core/renderer_opengl/gl_texture_cache.cpp b/src/video_core/renderer_opengl/gl_texture_cache.cpp index 47cccd0e5..052456f61 100644 --- a/src/video_core/renderer_opengl/gl_texture_cache.cpp +++ b/src/video_core/renderer_opengl/gl_texture_cache.cpp | |||
| @@ -1126,7 +1126,8 @@ bool Image::ScaleDown(bool ignore) { | |||
| 1126 | 1126 | ||
| 1127 | ImageView::ImageView(TextureCacheRuntime& runtime, const VideoCommon::ImageViewInfo& info, | 1127 | ImageView::ImageView(TextureCacheRuntime& runtime, const VideoCommon::ImageViewInfo& info, |
| 1128 | ImageId image_id_, Image& image, const SlotVector<Image>&) | 1128 | ImageId image_id_, Image& image, const SlotVector<Image>&) |
| 1129 | : VideoCommon::ImageViewBase{info, image.info, image_id_}, views{runtime.null_image_views} { | 1129 | : VideoCommon::ImageViewBase{info, image.info, image_id_, image.gpu_addr}, |
| 1130 | views{runtime.null_image_views} { | ||
| 1130 | const Device& device = runtime.device; | 1131 | const Device& device = runtime.device; |
| 1131 | if (True(image.flags & ImageFlagBits::Converted)) { | 1132 | if (True(image.flags & ImageFlagBits::Converted)) { |
| 1132 | internal_format = IsPixelFormatSRGB(info.format) ? GL_SRGB8_ALPHA8 : GL_RGBA8; | 1133 | internal_format = IsPixelFormatSRGB(info.format) ? GL_SRGB8_ALPHA8 : GL_RGBA8; |
| @@ -1217,12 +1218,12 @@ ImageView::ImageView(TextureCacheRuntime& runtime, const VideoCommon::ImageViewI | |||
| 1217 | 1218 | ||
| 1218 | ImageView::ImageView(TextureCacheRuntime&, const VideoCommon::ImageInfo& info, | 1219 | ImageView::ImageView(TextureCacheRuntime&, const VideoCommon::ImageInfo& info, |
| 1219 | const VideoCommon::ImageViewInfo& view_info, GPUVAddr gpu_addr_) | 1220 | const VideoCommon::ImageViewInfo& view_info, GPUVAddr gpu_addr_) |
| 1220 | : VideoCommon::ImageViewBase{info, view_info}, gpu_addr{gpu_addr_}, | 1221 | : VideoCommon::ImageViewBase{info, view_info, gpu_addr_}, |
| 1221 | buffer_size{VideoCommon::CalculateGuestSizeInBytes(info)} {} | 1222 | buffer_size{VideoCommon::CalculateGuestSizeInBytes(info)} {} |
| 1222 | 1223 | ||
| 1223 | ImageView::ImageView(TextureCacheRuntime&, const VideoCommon::ImageInfo& info, | 1224 | ImageView::ImageView(TextureCacheRuntime&, const VideoCommon::ImageInfo& info, |
| 1224 | const VideoCommon::ImageViewInfo& view_info) | 1225 | const VideoCommon::ImageViewInfo& view_info) |
| 1225 | : VideoCommon::ImageViewBase{info, view_info} {} | 1226 | : VideoCommon::ImageViewBase{info, view_info, 0} {} |
| 1226 | 1227 | ||
| 1227 | ImageView::ImageView(TextureCacheRuntime& runtime, const VideoCommon::NullImageViewParams& params) | 1228 | ImageView::ImageView(TextureCacheRuntime& runtime, const VideoCommon::NullImageViewParams& params) |
| 1228 | : VideoCommon::ImageViewBase{params}, views{runtime.null_image_views} {} | 1229 | : VideoCommon::ImageViewBase{params}, views{runtime.null_image_views} {} |
| @@ -1282,7 +1283,7 @@ GLuint ImageView::MakeView(Shader::TextureType view_type, GLenum view_format) { | |||
| 1282 | ApplySwizzle(view.handle, format, casted_swizzle); | 1283 | ApplySwizzle(view.handle, format, casted_swizzle); |
| 1283 | } | 1284 | } |
| 1284 | if (set_object_label) { | 1285 | if (set_object_label) { |
| 1285 | const std::string name = VideoCommon::Name(*this); | 1286 | const std::string name = VideoCommon::Name(*this, gpu_addr); |
| 1286 | glObjectLabel(GL_TEXTURE, view.handle, static_cast<GLsizei>(name.size()), name.data()); | 1287 | glObjectLabel(GL_TEXTURE, view.handle, static_cast<GLsizei>(name.size()), name.data()); |
| 1287 | } | 1288 | } |
| 1288 | return view.handle; | 1289 | return view.handle; |
diff --git a/src/video_core/renderer_opengl/gl_texture_cache.h b/src/video_core/renderer_opengl/gl_texture_cache.h index 0dd039ed2..1190999a8 100644 --- a/src/video_core/renderer_opengl/gl_texture_cache.h +++ b/src/video_core/renderer_opengl/gl_texture_cache.h | |||
| @@ -314,7 +314,6 @@ private: | |||
| 314 | std::unique_ptr<StorageViews> storage_views; | 314 | std::unique_ptr<StorageViews> storage_views; |
| 315 | GLenum internal_format = GL_NONE; | 315 | GLenum internal_format = GL_NONE; |
| 316 | GLuint default_handle = 0; | 316 | GLuint default_handle = 0; |
| 317 | GPUVAddr gpu_addr = 0; | ||
| 318 | u32 buffer_size = 0; | 317 | u32 buffer_size = 0; |
| 319 | GLuint original_texture = 0; | 318 | GLuint original_texture = 0; |
| 320 | int num_samples = 0; | 319 | int num_samples = 0; |