mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-30 04:38:49 +00:00
meh
This commit is contained in:
parent
2c393d35f0
commit
98c174edc4
520 changed files with 74815 additions and 58942 deletions
|
@ -3,7 +3,8 @@
|
|||
|
||||
#include "VideoCommon/XFStructs.h"
|
||||
|
||||
#include "Common/BitUtils.h"
|
||||
#include <bit>
|
||||
|
||||
#include "Common/CommonTypes.h"
|
||||
#include "Common/Logging/Log.h"
|
||||
#include "Common/Swap.h"
|
||||
|
@ -259,19 +260,21 @@ void LoadIndexedXF(CPArray array, u32 index, u16 address, u8 size)
|
|||
{
|
||||
// load stuff from array to address in xf mem
|
||||
|
||||
u32* currData = (u32*)(&xfmem) + address;
|
||||
const u32 buf_size = size * sizeof(u32);
|
||||
u32* currData = reinterpret_cast<u32*>(&xfmem) + address;
|
||||
u32* newData;
|
||||
auto& system = Core::System::GetInstance();
|
||||
auto& fifo = system.GetFifo();
|
||||
if (fifo.UseDeterministicGPUThread())
|
||||
{
|
||||
newData = (u32*)fifo.PopFifoAuxBuffer(size * sizeof(u32));
|
||||
newData = reinterpret_cast<u32*>(fifo.PopFifoAuxBuffer(buf_size));
|
||||
}
|
||||
else
|
||||
{
|
||||
auto& memory = system.GetMemory();
|
||||
newData = (u32*)memory.GetPointer(g_main_cp_state.array_bases[array] +
|
||||
g_main_cp_state.array_strides[array] * index);
|
||||
newData = reinterpret_cast<u32*>(memory.GetPointerForRange(
|
||||
g_main_cp_state.array_bases[array] + g_main_cp_state.array_strides[array] * index,
|
||||
buf_size));
|
||||
}
|
||||
|
||||
auto& xf_state_manager = system.GetXFStateManager();
|
||||
|
@ -294,12 +297,14 @@ void LoadIndexedXF(CPArray array, u32 index, u16 address, u8 size)
|
|||
|
||||
void PreprocessIndexedXF(CPArray array, u32 index, u16 address, u8 size)
|
||||
{
|
||||
const size_t buf_size = size * sizeof(u32);
|
||||
|
||||
auto& system = Core::System::GetInstance();
|
||||
auto& memory = system.GetMemory();
|
||||
const u8* new_data = memory.GetPointer(g_preprocess_cp_state.array_bases[array] +
|
||||
g_preprocess_cp_state.array_strides[array] * index);
|
||||
const u8* new_data = memory.GetPointerForRange(
|
||||
g_preprocess_cp_state.array_bases[array] + g_preprocess_cp_state.array_strides[array] * index,
|
||||
buf_size);
|
||||
|
||||
const size_t buf_size = size * sizeof(u32);
|
||||
system.GetFifo().PushFifoAuxBuffer(new_data, buf_size);
|
||||
}
|
||||
|
||||
|
@ -375,42 +380,42 @@ std::pair<std::string, std::string> GetXFRegInfo(u32 address, u32 value)
|
|||
|
||||
case XFMEM_SETVIEWPORT:
|
||||
return std::make_pair(RegName(XFMEM_SETVIEWPORT + 0),
|
||||
fmt::format("Viewport width: {}", Common::BitCast<float>(value)));
|
||||
fmt::format("Viewport width: {}", std::bit_cast<float>(value)));
|
||||
case XFMEM_SETVIEWPORT + 1:
|
||||
return std::make_pair(RegName(XFMEM_SETVIEWPORT + 1),
|
||||
fmt::format("Viewport height: {}", Common::BitCast<float>(value)));
|
||||
fmt::format("Viewport height: {}", std::bit_cast<float>(value)));
|
||||
case XFMEM_SETVIEWPORT + 2:
|
||||
return std::make_pair(RegName(XFMEM_SETVIEWPORT + 2),
|
||||
fmt::format("Viewport z range: {}", Common::BitCast<float>(value)));
|
||||
fmt::format("Viewport z range: {}", std::bit_cast<float>(value)));
|
||||
case XFMEM_SETVIEWPORT + 3:
|
||||
return std::make_pair(RegName(XFMEM_SETVIEWPORT + 3),
|
||||
fmt::format("Viewport x origin: {}", Common::BitCast<float>(value)));
|
||||
fmt::format("Viewport x origin: {}", std::bit_cast<float>(value)));
|
||||
case XFMEM_SETVIEWPORT + 4:
|
||||
return std::make_pair(RegName(XFMEM_SETVIEWPORT + 4),
|
||||
fmt::format("Viewport y origin: {}", Common::BitCast<float>(value)));
|
||||
fmt::format("Viewport y origin: {}", std::bit_cast<float>(value)));
|
||||
case XFMEM_SETVIEWPORT + 5:
|
||||
return std::make_pair(RegName(XFMEM_SETVIEWPORT + 5),
|
||||
fmt::format("Viewport far z: {}", Common::BitCast<float>(value)));
|
||||
fmt::format("Viewport far z: {}", std::bit_cast<float>(value)));
|
||||
break;
|
||||
|
||||
case XFMEM_SETPROJECTION:
|
||||
return std::make_pair(RegName(XFMEM_SETPROJECTION + 0),
|
||||
fmt::format("Projection[0]: {}", Common::BitCast<float>(value)));
|
||||
fmt::format("Projection[0]: {}", std::bit_cast<float>(value)));
|
||||
case XFMEM_SETPROJECTION + 1:
|
||||
return std::make_pair(RegName(XFMEM_SETPROJECTION + 1),
|
||||
fmt::format("Projection[1]: {}", Common::BitCast<float>(value)));
|
||||
fmt::format("Projection[1]: {}", std::bit_cast<float>(value)));
|
||||
case XFMEM_SETPROJECTION + 2:
|
||||
return std::make_pair(RegName(XFMEM_SETPROJECTION + 2),
|
||||
fmt::format("Projection[2]: {}", Common::BitCast<float>(value)));
|
||||
fmt::format("Projection[2]: {}", std::bit_cast<float>(value)));
|
||||
case XFMEM_SETPROJECTION + 3:
|
||||
return std::make_pair(RegName(XFMEM_SETPROJECTION + 3),
|
||||
fmt::format("Projection[3]: {}", Common::BitCast<float>(value)));
|
||||
fmt::format("Projection[3]: {}", std::bit_cast<float>(value)));
|
||||
case XFMEM_SETPROJECTION + 4:
|
||||
return std::make_pair(RegName(XFMEM_SETPROJECTION + 4),
|
||||
fmt::format("Projection[4]: {}", Common::BitCast<float>(value)));
|
||||
fmt::format("Projection[4]: {}", std::bit_cast<float>(value)));
|
||||
case XFMEM_SETPROJECTION + 5:
|
||||
return std::make_pair(RegName(XFMEM_SETPROJECTION + 5),
|
||||
fmt::format("Projection[5]: {}", Common::BitCast<float>(value)));
|
||||
fmt::format("Projection[5]: {}", std::bit_cast<float>(value)));
|
||||
case XFMEM_SETPROJECTION + 6:
|
||||
return std::make_pair(RegName(XFMEM_SETPROJECTION + 6),
|
||||
fmt::to_string(static_cast<ProjectionType>(value)));
|
||||
|
@ -542,7 +547,7 @@ std::string GetXFMemDescription(u32 address, u32 value)
|
|||
(address >= XFMEM_POSTMATRICES && address < XFMEM_POSTMATRICES_END))
|
||||
{
|
||||
// The matrices all use floats
|
||||
return fmt::format("{} = {}", GetXFMemName(address), Common::BitCast<float>(value));
|
||||
return fmt::format("{} = {}", GetXFMemName(address), std::bit_cast<float>(value));
|
||||
}
|
||||
else if (address >= XFMEM_LIGHTS && address < XFMEM_LIGHTS_END)
|
||||
{
|
||||
|
@ -556,7 +561,7 @@ std::string GetXFMemDescription(u32 address, u32 value)
|
|||
else
|
||||
{
|
||||
// Everything else is a float
|
||||
return fmt::format("{} = {}", GetXFMemName(address), Common::BitCast<float>(value));
|
||||
return fmt::format("{} = {}", GetXFMemName(address), std::bit_cast<float>(value));
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue