[PICA] Shader uploads

This commit is contained in:
wheremyfoodat 2022-09-22 03:46:19 +03:00
parent 36a30da78d
commit 5993dc4759
11 changed files with 105 additions and 9 deletions
include/PICA

25
include/PICA/gpu.hpp Normal file
View file

@ -0,0 +1,25 @@
#pragma once
#include <array>
#include "helpers.hpp"
#include "memory.hpp"
#include "PICA/shader_unit.hpp"
class GPU {
Memory& mem;
static constexpr u32 regNum = 0x300;
ShaderUnit shaderUnit;
std::array<u32, regNum> regs; // GPU internal registers
public:
GPU(Memory& mem) : mem(mem) {}
void clearBuffer(u32 startAddress, u32 endAddress, u32 value, u32 control);
void reset();
// Used by the GSP GPU service for readHwRegs/writeHwRegs/writeHwRegsMasked
u32 readReg(u32 address);
void writeReg(u32 address, u32 value);
// Used when processing GPU command lists
u32 readInternalReg(u32 index);
void writeInternalReg(u32 index, u32 value, u32 mask);
};