VideoCore: Split texturing regs from Regs struct
This commit is contained in:
parent
000e78144c
commit
9017093f58
17 changed files with 548 additions and 507 deletions
|
@ -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;
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue