diff options
| author | Tony Wasserka <neobrainx@gmail.com> | 2015-04-21 22:18:58 +0200 | 
|---|---|---|
| committer | Tony Wasserka <neobrainx@gmail.com> | 2015-07-13 23:54:38 +0200 | 
| commit | 302e9a20f36b62e47ab95dc9b9a3d495265a2133 (patch) | |
| tree | 9b0081cb9a7e35127525d079f27a794c0f73595e /src/citra_qt/debugger | |
| parent | 88df3fbf275377e6d10cf86aa680ca04e3b5b0d3 (diff) | |
citra-qt: Add depth formats to framebuffer viewing widget.
Diffstat (limited to 'src/citra_qt/debugger')
| -rw-r--r-- | src/citra_qt/debugger/graphics_framebuffer.cpp | 34 | ||||
| -rw-r--r-- | src/citra_qt/debugger/graphics_framebuffer.h | 5 | 
2 files changed, 33 insertions, 6 deletions
| diff --git a/src/citra_qt/debugger/graphics_framebuffer.cpp b/src/citra_qt/debugger/graphics_framebuffer.cpp index d9e73a46a..39eefbf75 100644 --- a/src/citra_qt/debugger/graphics_framebuffer.cpp +++ b/src/citra_qt/debugger/graphics_framebuffer.cpp @@ -55,7 +55,9 @@ GraphicsFramebufferWidget::GraphicsFramebufferWidget(std::shared_ptr<Pica::Debug      framebuffer_format_control->addItem(tr("RGBA4"));      framebuffer_format_control->addItem(tr("D16"));      framebuffer_format_control->addItem(tr("D24")); -    framebuffer_format_control->addItem(tr("D24S8")); +    framebuffer_format_control->addItem(tr("D24X8")); +    framebuffer_format_control->addItem(tr("X24S8")); +    framebuffer_format_control->addItem(tr("(unknown)"));      // TODO: This QLabel should shrink the image to the available space rather than just expanding...      framebuffer_picture_label = new QLabel; @@ -221,7 +223,24 @@ void GraphicsFramebufferWidget::OnUpdate()          framebuffer_address = framebuffer.GetDepthBufferPhysicalAddress();          framebuffer_width = framebuffer.GetWidth();          framebuffer_height = framebuffer.GetHeight(); -        framebuffer_format = Format::D16; + +        switch (framebuffer.depth_format) { +        case Pica::Regs::DepthFormat::D16: +            framebuffer_format = Format::D16; +            break; + +        case Pica::Regs::DepthFormat::D24: +            framebuffer_format = Format::D24; +            break; + +        case Pica::Regs::DepthFormat::D24S8: +            framebuffer_format = Format::D24X8; +            break; + +        default: +            framebuffer_format = Format::Unknown; +            break; +        }          break;      } @@ -282,7 +301,7 @@ void GraphicsFramebufferWidget::OnUpdate()                  color.b() = (data >> 16) & 0xFF;                  break;              } -            case Format::D24S8: +            case Format::D24X8:              {                  Math::Vec2<u32> data = Color::DecodeD24S8(pixel);                  color.r() = data.x & 0xFF; @@ -290,6 +309,12 @@ void GraphicsFramebufferWidget::OnUpdate()                  color.b() = (data.x >> 16) & 0xFF;                  break;              } +            case Format::X24S8: +            { +                Math::Vec2<u32> data = Color::DecodeD24S8(pixel); +                color.r() = color.g() = color.b() = data.y; +                break; +            }              default:                  qDebug() << "Unknown fb color format " << static_cast<int>(framebuffer_format);                  break; @@ -310,7 +335,8 @@ void GraphicsFramebufferWidget::OnUpdate()  u32 GraphicsFramebufferWidget::BytesPerPixel(GraphicsFramebufferWidget::Format format) {      switch (format) {          case Format::RGBA8: -        case Format::D24S8: +        case Format::D24X8: +        case Format::X24S8:              return 4;          case Format::RGB8:          case Format::D24: diff --git a/src/citra_qt/debugger/graphics_framebuffer.h b/src/citra_qt/debugger/graphics_framebuffer.h index 267c81983..e9eae679f 100644 --- a/src/citra_qt/debugger/graphics_framebuffer.h +++ b/src/citra_qt/debugger/graphics_framebuffer.h @@ -35,8 +35,9 @@ class GraphicsFramebufferWidget : public BreakPointObserverDock {          RGBA4    = 4,          D16      = 5,          D24      = 6, -        D24S8    = 7, -        Unknown  = 8 +        D24X8    = 7, +        X24S8    = 8, +        Unknown  = 9      };      static u32 BytesPerPixel(Format format); | 
