summaryrefslogtreecommitdiffstats
path: root/src/citra_qt/debugger/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'src/citra_qt/debugger/graphics')
-rw-r--r--src/citra_qt/debugger/graphics/graphics_cmdlists.cpp24
-rw-r--r--src/citra_qt/debugger/graphics/graphics_surface.cpp33
-rw-r--r--src/citra_qt/debugger/graphics/graphics_tracing.cpp1
-rw-r--r--src/citra_qt/debugger/graphics/graphics_vertex_shader.cpp3
4 files changed, 31 insertions, 30 deletions
diff --git a/src/citra_qt/debugger/graphics/graphics_cmdlists.cpp b/src/citra_qt/debugger/graphics/graphics_cmdlists.cpp
index ee79f0edf..536548f36 100644
--- a/src/citra_qt/debugger/graphics/graphics_cmdlists.cpp
+++ b/src/citra_qt/debugger/graphics/graphics_cmdlists.cpp
@@ -18,8 +18,8 @@
#include "citra_qt/util/util.h"
#include "common/vector_math.h"
#include "video_core/debug_utils/debug_utils.h"
-#include "video_core/pica.h"
#include "video_core/pica_state.h"
+#include "video_core/regs.h"
#include "video_core/texture/texture_decode.h"
namespace {
@@ -123,15 +123,16 @@ void GPUCommandListModel::OnPicaTraceFinished(const Pica::DebugUtils::PicaTrace&
void GPUCommandListWidget::OnCommandDoubleClicked(const QModelIndex& index) {
const unsigned int command_id =
list_widget->model()->data(index, GPUCommandListModel::CommandIdRole).toUInt();
- if (COMMAND_IN_RANGE(command_id, texture0) || COMMAND_IN_RANGE(command_id, texture1) ||
- COMMAND_IN_RANGE(command_id, texture2)) {
+ if (COMMAND_IN_RANGE(command_id, texturing.texture0) ||
+ COMMAND_IN_RANGE(command_id, texturing.texture1) ||
+ COMMAND_IN_RANGE(command_id, texturing.texture2)) {
unsigned texture_index;
- if (COMMAND_IN_RANGE(command_id, texture0)) {
+ if (COMMAND_IN_RANGE(command_id, texturing.texture0)) {
texture_index = 0;
- } else if (COMMAND_IN_RANGE(command_id, texture1)) {
+ } else if (COMMAND_IN_RANGE(command_id, texturing.texture1)) {
texture_index = 1;
- } else if (COMMAND_IN_RANGE(command_id, texture2)) {
+ } else if (COMMAND_IN_RANGE(command_id, texturing.texture2)) {
texture_index = 2;
} else {
UNREACHABLE_MSG("Unknown texture command");
@@ -146,19 +147,20 @@ void GPUCommandListWidget::SetCommandInfo(const QModelIndex& index) {
const unsigned int command_id =
list_widget->model()->data(index, GPUCommandListModel::CommandIdRole).toUInt();
- if (COMMAND_IN_RANGE(command_id, texture0) || COMMAND_IN_RANGE(command_id, texture1) ||
- COMMAND_IN_RANGE(command_id, texture2)) {
+ if (COMMAND_IN_RANGE(command_id, texturing.texture0) ||
+ COMMAND_IN_RANGE(command_id, texturing.texture1) ||
+ COMMAND_IN_RANGE(command_id, texturing.texture2)) {
unsigned texture_index;
- if (COMMAND_IN_RANGE(command_id, texture0)) {
+ if (COMMAND_IN_RANGE(command_id, texturing.texture0)) {
texture_index = 0;
- } else if (COMMAND_IN_RANGE(command_id, texture1)) {
+ } else if (COMMAND_IN_RANGE(command_id, texturing.texture1)) {
texture_index = 1;
} else {
texture_index = 2;
}
- const auto texture = Pica::g_state.regs.GetTextures()[texture_index];
+ const auto texture = Pica::g_state.regs.texturing.GetTextures()[texture_index];
const auto config = texture.config;
const auto format = texture.format;
diff --git a/src/citra_qt/debugger/graphics/graphics_surface.cpp b/src/citra_qt/debugger/graphics/graphics_surface.cpp
index bd82b00d4..f83c1f96c 100644
--- a/src/citra_qt/debugger/graphics/graphics_surface.cpp
+++ b/src/citra_qt/debugger/graphics/graphics_surface.cpp
@@ -16,8 +16,8 @@
#include "common/color.h"
#include "core/hw/gpu.h"
#include "core/memory.h"
-#include "video_core/pica.h"
#include "video_core/pica_state.h"
+#include "video_core/regs.h"
#include "video_core/texture/texture_decode.h"
#include "video_core/utils.h"
@@ -414,30 +414,30 @@ void GraphicsSurfaceWidget::OnUpdate() {
// TODO: Store a reference to the registers in the debug context instead of accessing them
// directly...
- const auto& framebuffer = Pica::g_state.regs.framebuffer;
+ const auto& framebuffer = Pica::g_state.regs.framebuffer.framebuffer;
surface_address = framebuffer.GetColorBufferPhysicalAddress();
surface_width = framebuffer.GetWidth();
surface_height = framebuffer.GetHeight();
switch (framebuffer.color_format) {
- case Pica::Regs::ColorFormat::RGBA8:
+ case Pica::FramebufferRegs::ColorFormat::RGBA8:
surface_format = Format::RGBA8;
break;
- case Pica::Regs::ColorFormat::RGB8:
+ case Pica::FramebufferRegs::ColorFormat::RGB8:
surface_format = Format::RGB8;
break;
- case Pica::Regs::ColorFormat::RGB5A1:
+ case Pica::FramebufferRegs::ColorFormat::RGB5A1:
surface_format = Format::RGB5A1;
break;
- case Pica::Regs::ColorFormat::RGB565:
+ case Pica::FramebufferRegs::ColorFormat::RGB565:
surface_format = Format::RGB565;
break;
- case Pica::Regs::ColorFormat::RGBA4:
+ case Pica::FramebufferRegs::ColorFormat::RGBA4:
surface_format = Format::RGBA4;
break;
@@ -450,22 +450,22 @@ void GraphicsSurfaceWidget::OnUpdate() {
}
case Source::DepthBuffer: {
- const auto& framebuffer = Pica::g_state.regs.framebuffer;
+ const auto& framebuffer = Pica::g_state.regs.framebuffer.framebuffer;
surface_address = framebuffer.GetDepthBufferPhysicalAddress();
surface_width = framebuffer.GetWidth();
surface_height = framebuffer.GetHeight();
switch (framebuffer.depth_format) {
- case Pica::Regs::DepthFormat::D16:
+ case Pica::FramebufferRegs::DepthFormat::D16:
surface_format = Format::D16;
break;
- case Pica::Regs::DepthFormat::D24:
+ case Pica::FramebufferRegs::DepthFormat::D24:
surface_format = Format::D24;
break;
- case Pica::Regs::DepthFormat::D24S8:
+ case Pica::FramebufferRegs::DepthFormat::D24S8:
surface_format = Format::D24X8;
break;
@@ -478,14 +478,14 @@ void GraphicsSurfaceWidget::OnUpdate() {
}
case Source::StencilBuffer: {
- const auto& framebuffer = Pica::g_state.regs.framebuffer;
+ const auto& framebuffer = Pica::g_state.regs.framebuffer.framebuffer;
surface_address = framebuffer.GetDepthBufferPhysicalAddress();
surface_width = framebuffer.GetWidth();
surface_height = framebuffer.GetHeight();
switch (framebuffer.depth_format) {
- case Pica::Regs::DepthFormat::D24S8:
+ case Pica::FramebufferRegs::DepthFormat::D24S8:
surface_format = Format::X24S8;
break;
@@ -512,7 +512,7 @@ void GraphicsSurfaceWidget::OnUpdate() {
break;
}
- const auto texture = Pica::g_state.regs.GetTextures()[texture_index];
+ const auto texture = Pica::g_state.regs.texturing.GetTextures()[texture_index];
auto info = Pica::Texture::TextureInfo::FromPicaRegister(texture.config, texture.format);
surface_address = info.physical_address;
@@ -574,7 +574,7 @@ void GraphicsSurfaceWidget::OnUpdate() {
info.physical_address = surface_address;
info.width = surface_width;
info.height = surface_height;
- info.format = static_cast<Pica::Regs::TextureFormat>(surface_format);
+ info.format = static_cast<Pica::TexturingRegs::TextureFormat>(surface_format);
info.SetDefaultStride();
for (unsigned int y = 0; y < surface_height; ++y) {
@@ -689,7 +689,8 @@ void GraphicsSurfaceWidget::SaveSurface() {
unsigned int GraphicsSurfaceWidget::NibblesPerPixel(GraphicsSurfaceWidget::Format format) {
if (format <= Format::MaxTextureFormat) {
- return Pica::Regs::NibblesPerPixel(static_cast<Pica::Regs::TextureFormat>(format));
+ return Pica::TexturingRegs::NibblesPerPixel(
+ static_cast<Pica::TexturingRegs::TextureFormat>(format));
}
switch (format) {
diff --git a/src/citra_qt/debugger/graphics/graphics_tracing.cpp b/src/citra_qt/debugger/graphics/graphics_tracing.cpp
index 17f1c5ce2..40d5bed51 100644
--- a/src/citra_qt/debugger/graphics/graphics_tracing.cpp
+++ b/src/citra_qt/debugger/graphics/graphics_tracing.cpp
@@ -18,7 +18,6 @@
#include "core/hw/lcd.h"
#include "core/tracer/recorder.h"
#include "nihstro/float24.h"
-#include "video_core/pica.h"
#include "video_core/pica_state.h"
GraphicsTracingWidget::GraphicsTracingWidget(std::shared_ptr<Pica::DebugContext> debug_context,
diff --git a/src/citra_qt/debugger/graphics/graphics_vertex_shader.cpp b/src/citra_qt/debugger/graphics/graphics_vertex_shader.cpp
index 489ec5f21..e3f3194db 100644
--- a/src/citra_qt/debugger/graphics/graphics_vertex_shader.cpp
+++ b/src/citra_qt/debugger/graphics/graphics_vertex_shader.cpp
@@ -16,7 +16,6 @@
#include <QTreeView>
#include "citra_qt/debugger/graphics/graphics_vertex_shader.h"
#include "citra_qt/util/util.h"
-#include "video_core/pica.h"
#include "video_core/pica_state.h"
#include "video_core/shader/debug_data.h"
#include "video_core/shader/shader.h"
@@ -359,7 +358,7 @@ void GraphicsVertexShaderWidget::DumpShader() {
auto& config = Pica::g_state.regs.vs;
Pica::DebugUtils::DumpShader(filename.toStdString(), config, setup,
- Pica::g_state.regs.vs_output_attributes);
+ Pica::g_state.regs.rasterizer.vs_output_attributes);
}
GraphicsVertexShaderWidget::GraphicsVertexShaderWidget(