VideoCore: Rename some types to more accurate names
This commit is contained in:
parent
bbc7844021
commit
ab6954e942
@ -71,8 +71,8 @@ void GraphicsTracingWidget::StartRecording() {
|
||||
std::array<u32, 4 * 16> default_attributes;
|
||||
for (unsigned i = 0; i < 16; ++i) {
|
||||
for (unsigned comp = 0; comp < 3; ++comp) {
|
||||
default_attributes[4 * i + comp] =
|
||||
nihstro::to_float24(Pica::g_state.vs_default_attributes[i][comp].ToFloat32());
|
||||
default_attributes[4 * i + comp] = nihstro::to_float24(
|
||||
Pica::g_state.input_default_attributes.attr[i][comp].ToFloat32());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -82,7 +82,7 @@ private:
|
||||
|
||||
nihstro::ShaderInfo info;
|
||||
Pica::Shader::DebugData<true> debug_data;
|
||||
Pica::Shader::InputVertex input_vertex;
|
||||
Pica::Shader::AttributeBuffer input_vertex;
|
||||
|
||||
friend class GraphicsVertexShaderModel;
|
||||
};
|
||||
|
@ -125,7 +125,7 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) {
|
||||
|
||||
// TODO: Verify that this actually modifies the register!
|
||||
if (setup.index < 15) {
|
||||
g_state.vs_default_attributes[setup.index] = attribute;
|
||||
g_state.input_default_attributes.attr[setup.index] = attribute;
|
||||
setup.index++;
|
||||
} else {
|
||||
// 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;
|
||||
|
||||
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);
|
||||
immediate_attribute_id = 0;
|
||||
|
||||
@ -150,8 +150,7 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) {
|
||||
g_debug_context->OnEvent(DebugContext::Event::VertexShaderInvocation,
|
||||
static_cast<void*>(&immediate_input));
|
||||
Shader::UnitState shader_unit;
|
||||
shader_unit.LoadInputVertex(immediate_input,
|
||||
regs.vs.max_input_attribute_index + 1);
|
||||
shader_unit.LoadInput(immediate_input, regs.vs.max_input_attribute_index + 1);
|
||||
shader_engine->Run(g_state.vs, shader_unit);
|
||||
auto output_vertex = Shader::OutputVertex::FromRegisters(
|
||||
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) {
|
||||
// Initialize data for the current vertex
|
||||
Shader::InputVertex input;
|
||||
Shader::AttributeBuffer input;
|
||||
loader.LoadVertex(base_address, index, vertex, input, memory_accesses);
|
||||
|
||||
// Send to vertex shader
|
||||
if (g_debug_context)
|
||||
g_debug_context->OnEvent(DebugContext::Event::VertexShaderInvocation,
|
||||
(void*)&input);
|
||||
shader_unit.LoadInputVertex(input, loader.GetNumTotalAttributes());
|
||||
shader_unit.LoadInput(input, loader.GetNumTotalAttributes());
|
||||
shader_engine->Run(g_state.vs, shader_unit);
|
||||
|
||||
// Retrieve vertex from register data
|
||||
|
@ -23,7 +23,7 @@ struct State {
|
||||
Shader::ShaderSetup vs;
|
||||
Shader::ShaderSetup gs;
|
||||
|
||||
std::array<Math::Vec4<float24>, 16> vs_default_attributes;
|
||||
Shader::AttributeBuffer input_default_attributes;
|
||||
|
||||
struct {
|
||||
union LutEntry {
|
||||
@ -66,7 +66,7 @@ struct State {
|
||||
/// Struct used to describe immediate mode rendering state
|
||||
struct ImmediateModeState {
|
||||
// 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`.
|
||||
u32 current_attribute = 0;
|
||||
} immediate;
|
||||
|
@ -71,7 +71,7 @@ OutputVertex OutputVertex::FromRegisters(Math::Vec4<float24> output_regs[16], co
|
||||
return ret;
|
||||
}
|
||||
|
||||
void UnitState::LoadInputVertex(const InputVertex& input, int num_attributes) {
|
||||
void UnitState::LoadInput(const AttributeBuffer& input, int num_attributes) {
|
||||
// Setup input register table
|
||||
const auto& attribute_register_map = g_state.regs.vs.input_register_map;
|
||||
|
||||
|
@ -23,7 +23,7 @@ namespace Pica {
|
||||
|
||||
namespace Shader {
|
||||
|
||||
struct InputVertex {
|
||||
struct AttributeBuffer {
|
||||
alignas(16) Math::Vec4<float24> attr[16];
|
||||
};
|
||||
|
||||
@ -140,7 +140,7 @@ struct UnitState {
|
||||
* @param input Input vertex into the shader
|
||||
* @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 {
|
||||
|
@ -668,14 +668,14 @@ void InterpreterEngine::Run(const ShaderSetup& setup, UnitState& state) const {
|
||||
}
|
||||
|
||||
DebugData<true> InterpreterEngine::ProduceDebugInfo(const ShaderSetup& setup,
|
||||
const InputVertex& input,
|
||||
const AttributeBuffer& input,
|
||||
int num_attributes) const {
|
||||
UnitState state;
|
||||
DebugData<true> debug_data;
|
||||
|
||||
// Setup input register table
|
||||
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);
|
||||
return debug_data;
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ public:
|
||||
* @param config Configuration object for the shader pipeline
|
||||
* @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;
|
||||
};
|
||||
|
||||
|
@ -70,7 +70,8 @@ void VertexLoader::Setup(const Pica::Regs& regs) {
|
||||
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) {
|
||||
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());
|
||||
} else if (vertex_attribute_is_default[i]) {
|
||||
// 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,
|
||||
"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(),
|
||||
|
@ -11,7 +11,7 @@ class MemoryAccessTracker;
|
||||
}
|
||||
|
||||
namespace Shader {
|
||||
struct InputVertex;
|
||||
struct AttributeBuffer;
|
||||
}
|
||||
|
||||
class VertexLoader {
|
||||
@ -22,7 +22,7 @@ public:
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
int GetNumTotalAttributes() const {
|
||||
|
Loading…
Reference in New Issue
Block a user