citra-emu
/
citra
Archived
1
0
Fork 0

VideoCore: Rename some types to more accurate names

This commit is contained in:
Yuri Kunde Schlesner 2016-12-18 16:42:19 -08:00
parent bbc7844021
commit ab6954e942
10 changed files with 21 additions and 21 deletions

View File

@ -71,8 +71,8 @@ void GraphicsTracingWidget::StartRecording() {
std::array<u32, 4 * 16> default_attributes; std::array<u32, 4 * 16> default_attributes;
for (unsigned i = 0; i < 16; ++i) { for (unsigned i = 0; i < 16; ++i) {
for (unsigned comp = 0; comp < 3; ++comp) { for (unsigned comp = 0; comp < 3; ++comp) {
default_attributes[4 * i + comp] = default_attributes[4 * i + comp] = nihstro::to_float24(
nihstro::to_float24(Pica::g_state.vs_default_attributes[i][comp].ToFloat32()); Pica::g_state.input_default_attributes.attr[i][comp].ToFloat32());
} }
} }

View File

@ -82,7 +82,7 @@ private:
nihstro::ShaderInfo info; nihstro::ShaderInfo info;
Pica::Shader::DebugData<true> debug_data; Pica::Shader::DebugData<true> debug_data;
Pica::Shader::InputVertex input_vertex; Pica::Shader::AttributeBuffer input_vertex;
friend class GraphicsVertexShaderModel; friend class GraphicsVertexShaderModel;
}; };

View File

@ -125,7 +125,7 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) {
// TODO: Verify that this actually modifies the register! // TODO: Verify that this actually modifies the register!
if (setup.index < 15) { if (setup.index < 15) {
g_state.vs_default_attributes[setup.index] = attribute; g_state.input_default_attributes.attr[setup.index] = attribute;
setup.index++; setup.index++;
} else { } else {
// Put each attribute into an immediate input buffer. // Put each attribute into an immediate input buffer.
@ -138,7 +138,7 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) {
immediate_input.attr[immediate_attribute_id++] = attribute; immediate_input.attr[immediate_attribute_id++] = attribute;
if (immediate_attribute_id >= regs.vs.max_input_attribute_index + 1) { if (immediate_attribute_id > regs.vs.max_input_attribute_index) {
MICROPROFILE_SCOPE(GPU_Drawing); MICROPROFILE_SCOPE(GPU_Drawing);
immediate_attribute_id = 0; immediate_attribute_id = 0;
@ -150,8 +150,7 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) {
g_debug_context->OnEvent(DebugContext::Event::VertexShaderInvocation, g_debug_context->OnEvent(DebugContext::Event::VertexShaderInvocation,
static_cast<void*>(&immediate_input)); static_cast<void*>(&immediate_input));
Shader::UnitState shader_unit; Shader::UnitState shader_unit;
shader_unit.LoadInputVertex(immediate_input, shader_unit.LoadInput(immediate_input, regs.vs.max_input_attribute_index + 1);
regs.vs.max_input_attribute_index + 1);
shader_engine->Run(g_state.vs, shader_unit); shader_engine->Run(g_state.vs, shader_unit);
auto output_vertex = Shader::OutputVertex::FromRegisters( auto output_vertex = Shader::OutputVertex::FromRegisters(
shader_unit.registers.output, regs, regs.vs.output_mask); shader_unit.registers.output, regs, regs.vs.output_mask);
@ -281,14 +280,14 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) {
if (!vertex_cache_hit) { if (!vertex_cache_hit) {
// Initialize data for the current vertex // Initialize data for the current vertex
Shader::InputVertex input; Shader::AttributeBuffer input;
loader.LoadVertex(base_address, index, vertex, input, memory_accesses); loader.LoadVertex(base_address, index, vertex, input, memory_accesses);
// Send to vertex shader // Send to vertex shader
if (g_debug_context) if (g_debug_context)
g_debug_context->OnEvent(DebugContext::Event::VertexShaderInvocation, g_debug_context->OnEvent(DebugContext::Event::VertexShaderInvocation,
(void*)&input); (void*)&input);
shader_unit.LoadInputVertex(input, loader.GetNumTotalAttributes()); shader_unit.LoadInput(input, loader.GetNumTotalAttributes());
shader_engine->Run(g_state.vs, shader_unit); shader_engine->Run(g_state.vs, shader_unit);
// Retrieve vertex from register data // Retrieve vertex from register data

View File

@ -23,7 +23,7 @@ struct State {
Shader::ShaderSetup vs; Shader::ShaderSetup vs;
Shader::ShaderSetup gs; Shader::ShaderSetup gs;
std::array<Math::Vec4<float24>, 16> vs_default_attributes; Shader::AttributeBuffer input_default_attributes;
struct { struct {
union LutEntry { union LutEntry {
@ -66,7 +66,7 @@ struct State {
/// Struct used to describe immediate mode rendering state /// Struct used to describe immediate mode rendering state
struct ImmediateModeState { struct ImmediateModeState {
// Used to buffer partial vertices for immediate-mode rendering. // Used to buffer partial vertices for immediate-mode rendering.
Shader::InputVertex input_vertex; Shader::AttributeBuffer input_vertex;
// Index of the next attribute to be loaded into `input_vertex`. // Index of the next attribute to be loaded into `input_vertex`.
u32 current_attribute = 0; u32 current_attribute = 0;
} immediate; } immediate;

View File

@ -71,7 +71,7 @@ OutputVertex OutputVertex::FromRegisters(Math::Vec4<float24> output_regs[16], co
return ret; return ret;
} }
void UnitState::LoadInputVertex(const InputVertex& input, int num_attributes) { void UnitState::LoadInput(const AttributeBuffer& input, int num_attributes) {
// Setup input register table // Setup input register table
const auto& attribute_register_map = g_state.regs.vs.input_register_map; const auto& attribute_register_map = g_state.regs.vs.input_register_map;

View File

@ -23,7 +23,7 @@ namespace Pica {
namespace Shader { namespace Shader {
struct InputVertex { struct AttributeBuffer {
alignas(16) Math::Vec4<float24> attr[16]; alignas(16) Math::Vec4<float24> attr[16];
}; };
@ -140,7 +140,7 @@ struct UnitState {
* @param input Input vertex into the shader * @param input Input vertex into the shader
* @param num_attributes The number of vertex shader attributes to load * @param num_attributes The number of vertex shader attributes to load
*/ */
void LoadInputVertex(const InputVertex& input, int num_attributes); void LoadInput(const AttributeBuffer& input, int num_attributes);
}; };
struct ShaderSetup { struct ShaderSetup {

View File

@ -668,14 +668,14 @@ void InterpreterEngine::Run(const ShaderSetup& setup, UnitState& state) const {
} }
DebugData<true> InterpreterEngine::ProduceDebugInfo(const ShaderSetup& setup, DebugData<true> InterpreterEngine::ProduceDebugInfo(const ShaderSetup& setup,
const InputVertex& input, const AttributeBuffer& input,
int num_attributes) const { int num_attributes) const {
UnitState state; UnitState state;
DebugData<true> debug_data; DebugData<true> debug_data;
// Setup input register table // Setup input register table
boost::fill(state.registers.input, Math::Vec4<float24>::AssignToAll(float24::Zero())); boost::fill(state.registers.input, Math::Vec4<float24>::AssignToAll(float24::Zero()));
state.LoadInputVertex(input, num_attributes); state.LoadInput(input, num_attributes);
RunInterpreter(setup, state, debug_data, setup.engine_data.entry_point); RunInterpreter(setup, state, debug_data, setup.engine_data.entry_point);
return debug_data; return debug_data;
} }

View File

@ -23,7 +23,7 @@ public:
* @param config Configuration object for the shader pipeline * @param config Configuration object for the shader pipeline
* @return Debug information for this shader with regards to the given vertex * @return Debug information for this shader with regards to the given vertex
*/ */
DebugData<true> ProduceDebugInfo(const ShaderSetup& setup, const InputVertex& input, DebugData<true> ProduceDebugInfo(const ShaderSetup& setup, const AttributeBuffer& input,
int num_attributes) const; int num_attributes) const;
}; };

View File

@ -70,7 +70,8 @@ void VertexLoader::Setup(const Pica::Regs& regs) {
is_setup = true; is_setup = true;
} }
void VertexLoader::LoadVertex(u32 base_address, int index, int vertex, Shader::InputVertex& input, void VertexLoader::LoadVertex(u32 base_address, int index, int vertex,
Shader::AttributeBuffer& input,
DebugUtils::MemoryAccessTracker& memory_accesses) { DebugUtils::MemoryAccessTracker& memory_accesses) {
ASSERT_MSG(is_setup, "A VertexLoader needs to be setup before loading vertices."); ASSERT_MSG(is_setup, "A VertexLoader needs to be setup before loading vertices.");
@ -142,7 +143,7 @@ void VertexLoader::LoadVertex(u32 base_address, int index, int vertex, Shader::I
input.attr[i][2].ToFloat32(), input.attr[i][3].ToFloat32()); input.attr[i][2].ToFloat32(), input.attr[i][3].ToFloat32());
} else if (vertex_attribute_is_default[i]) { } else if (vertex_attribute_is_default[i]) {
// Load the default attribute if we're configured to do so // Load the default attribute if we're configured to do so
input.attr[i] = g_state.vs_default_attributes[i]; input.attr[i] = g_state.input_default_attributes.attr[i];
LOG_TRACE(HW_GPU, LOG_TRACE(HW_GPU,
"Loaded default attribute %x for vertex %x (index %x): (%f, %f, %f, %f)", i, "Loaded default attribute %x for vertex %x (index %x): (%f, %f, %f, %f)", i,
vertex, index, input.attr[i][0].ToFloat32(), input.attr[i][1].ToFloat32(), vertex, index, input.attr[i][0].ToFloat32(), input.attr[i][1].ToFloat32(),

View File

@ -11,7 +11,7 @@ class MemoryAccessTracker;
} }
namespace Shader { namespace Shader {
struct InputVertex; struct AttributeBuffer;
} }
class VertexLoader { class VertexLoader {
@ -22,7 +22,7 @@ public:
} }
void Setup(const Pica::Regs& regs); void Setup(const Pica::Regs& regs);
void LoadVertex(u32 base_address, int index, int vertex, Shader::InputVertex& input, void LoadVertex(u32 base_address, int index, int vertex, Shader::AttributeBuffer& input,
DebugUtils::MemoryAccessTracker& memory_accesses); DebugUtils::MemoryAccessTracker& memory_accesses);
int GetNumTotalAttributes() const { int GetNumTotalAttributes() const {