[PICA] Implement address registers

This commit is contained in:
wheremyfoodat 2022-09-25 16:12:35 +03:00
parent 63ff2ac0de
commit 9eb661c768
3 changed files with 27 additions and 5 deletions
include/PICA

View file

@ -34,7 +34,8 @@ class PICAShader {
std::array<u32, 4> floatUniformBuffer; // Buffer for temporarily caching float uniform data
std::array<u32, 128> operandDescriptors;
std::array<vec4f, 16> tempRegisters; // General purpose registers the shader can use for temp values
OpenGL::Vector<u32, 2> addrRegister; // Address register
OpenGL::Vector<s32, 2> addrRegister; // Address register
u32 loopCounter;
ShaderType type;
vec4f getSource(u32 source);
@ -94,6 +95,8 @@ class PICAShader {
return srcVector;
}
u8 getIndexedSource(u32 source, u32 index);
public:
std::array<u32, 512> loadedShader; // Currently loaded & active shader
std::array<u32, 512> bufferedShader; // Shader to be transferred when the SH_CODETRANSFER_END reg gets written to