|
|
|
@ -39,38 +39,31 @@ static struct { |
|
|
|
static std::array<u32, 1024> shader_memory; |
|
|
|
static std::array<u32, 1024> swizzle_data; |
|
|
|
|
|
|
|
void SubmitShaderMemoryChange(u32 addr, u32 value) |
|
|
|
{ |
|
|
|
void SubmitShaderMemoryChange(u32 addr, u32 value) { |
|
|
|
shader_memory[addr] = value; |
|
|
|
} |
|
|
|
|
|
|
|
void SubmitSwizzleDataChange(u32 addr, u32 value) |
|
|
|
{ |
|
|
|
void SubmitSwizzleDataChange(u32 addr, u32 value) { |
|
|
|
swizzle_data[addr] = value; |
|
|
|
} |
|
|
|
|
|
|
|
Math::Vec4<float24>& GetFloatUniform(u32 index) |
|
|
|
{ |
|
|
|
Math::Vec4<float24>& GetFloatUniform(u32 index) { |
|
|
|
return shader_uniforms.f[index]; |
|
|
|
} |
|
|
|
|
|
|
|
bool& GetBoolUniform(u32 index) |
|
|
|
{ |
|
|
|
bool& GetBoolUniform(u32 index) { |
|
|
|
return shader_uniforms.b[index]; |
|
|
|
} |
|
|
|
|
|
|
|
Math::Vec4<u8>& GetIntUniform(u32 index) |
|
|
|
{ |
|
|
|
Math::Vec4<u8>& GetIntUniform(u32 index) { |
|
|
|
return shader_uniforms.i[index]; |
|
|
|
} |
|
|
|
|
|
|
|
const std::array<u32, 1024>& GetShaderBinary() |
|
|
|
{ |
|
|
|
const std::array<u32, 1024>& GetShaderBinary() { |
|
|
|
return shader_memory; |
|
|
|
} |
|
|
|
|
|
|
|
const std::array<u32, 1024>& GetSwizzlePatterns() |
|
|
|
{ |
|
|
|
const std::array<u32, 1024>& GetSwizzlePatterns() { |
|
|
|
return swizzle_data; |
|
|
|
} |
|
|
|
|
|
|
|
@ -444,8 +437,7 @@ static void ProcessShaderCode(VertexShaderState& state) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
OutputVertex RunShader(const InputVertex& input, int num_attributes) |
|
|
|
{ |
|
|
|
OutputVertex RunShader(const InputVertex& input, int num_attributes) { |
|
|
|
VertexShaderState state; |
|
|
|
|
|
|
|
const u32* main = &shader_memory[registers.vs_main_offset]; |
|
|
|
|