|
|
@@ -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;
|
|
|
|