|
|
|
@ -128,17 +128,18 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) { |
|
|
|
g_state.input_default_attributes.attr[setup.index] = attribute; |
|
|
|
setup.index++; |
|
|
|
} else { |
|
|
|
// Put each attribute into an immediate input buffer.
|
|
|
|
// When all specified immediate attributes are present, the Vertex Shader is invoked
|
|
|
|
// and everything is
|
|
|
|
// sent to the primitive assembler.
|
|
|
|
// Put each attribute into an immediate input buffer. When all specified immediate
|
|
|
|
// attributes are present, the Vertex Shader is invoked and everything is sent to
|
|
|
|
// the primitive assembler.
|
|
|
|
|
|
|
|
auto& immediate_input = g_state.immediate.input_vertex; |
|
|
|
auto& immediate_attribute_id = g_state.immediate.current_attribute; |
|
|
|
|
|
|
|
immediate_input.attr[immediate_attribute_id++] = attribute; |
|
|
|
immediate_input.attr[immediate_attribute_id] = attribute; |
|
|
|
|
|
|
|
if (immediate_attribute_id > regs.vs.max_input_attribute_index) { |
|
|
|
if (immediate_attribute_id < regs.max_input_attrib_index) { |
|
|
|
immediate_attribute_id += 1; |
|
|
|
} else { |
|
|
|
MICROPROFILE_SCOPE(GPU_Drawing); |
|
|
|
immediate_attribute_id = 0; |
|
|
|
|
|
|
|
|