diff options
Diffstat (limited to 'src/video_core/debug_utils')
| -rw-r--r-- | src/video_core/debug_utils/debug_utils.cpp | 12 | ||||
| -rw-r--r-- | src/video_core/debug_utils/debug_utils.h | 4 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/video_core/debug_utils/debug_utils.cpp b/src/video_core/debug_utils/debug_utils.cpp index 59909c827..31ce09faf 100644 --- a/src/video_core/debug_utils/debug_utils.cpp +++ b/src/video_core/debug_utils/debug_utils.cpp | |||
| @@ -382,6 +382,18 @@ const Math::Vec4<u8> LookupTexture(const u8* source, int x, int y, const Texture | |||
| 382 | return { source_ptr[2], source_ptr[1], source_ptr[0], 255 }; | 382 | return { source_ptr[2], source_ptr[1], source_ptr[0], 255 }; |
| 383 | } | 383 | } |
| 384 | 384 | ||
| 385 | TextureInfo TextureInfo::FromPicaRegister(const Regs::TextureConfig& config, | ||
| 386 | const Regs::TextureFormat& format) | ||
| 387 | { | ||
| 388 | TextureInfo info; | ||
| 389 | info.address = config.GetPhysicalAddress(); | ||
| 390 | info.width = config.width; | ||
| 391 | info.height = config.height; | ||
| 392 | info.format = format; | ||
| 393 | info.stride = Pica::Regs::BytesPerPixel(info.format) * info.width; | ||
| 394 | return info; | ||
| 395 | } | ||
| 396 | |||
| 385 | void DumpTexture(const Pica::Regs::TextureConfig& texture_config, u8* data) { | 397 | void DumpTexture(const Pica::Regs::TextureConfig& texture_config, u8* data) { |
| 386 | // NOTE: Permanently enabling this just trashes hard disks for no reason. | 398 | // NOTE: Permanently enabling this just trashes hard disks for no reason. |
| 387 | // Hence, this is currently disabled. | 399 | // Hence, this is currently disabled. |
diff --git a/src/video_core/debug_utils/debug_utils.h b/src/video_core/debug_utils/debug_utils.h index bad4c919a..51f14f12f 100644 --- a/src/video_core/debug_utils/debug_utils.h +++ b/src/video_core/debug_utils/debug_utils.h | |||
| @@ -192,10 +192,14 @@ void OnPicaRegWrite(u32 id, u32 value); | |||
| 192 | std::unique_ptr<PicaTrace> FinishPicaTracing(); | 192 | std::unique_ptr<PicaTrace> FinishPicaTracing(); |
| 193 | 193 | ||
| 194 | struct TextureInfo { | 194 | struct TextureInfo { |
| 195 | unsigned int address; | ||
| 195 | int width; | 196 | int width; |
| 196 | int height; | 197 | int height; |
| 197 | int stride; | 198 | int stride; |
| 198 | Pica::Regs::TextureFormat format; | 199 | Pica::Regs::TextureFormat format; |
| 200 | |||
| 201 | static TextureInfo FromPicaRegister(const Pica::Regs::TextureConfig& config, | ||
| 202 | const Pica::Regs::TextureFormat& format); | ||
| 199 | }; | 203 | }; |
| 200 | 204 | ||
| 201 | const Math::Vec4<u8> LookupTexture(const u8* source, int x, int y, const TextureInfo& info); | 205 | const Math::Vec4<u8> LookupTexture(const u8* source, int x, int y, const TextureInfo& info); |