mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 22:00:05 +00:00 
			
		
		
		
	VideoCore: Use correct register for immediate mode attribute count
This commit is contained in:
		
							parent
							
								
									ab6954e942
								
							
						
					
					
						commit
						fccb28d2e9
					
				
					 2 changed files with 13 additions and 7 deletions
				
			
		|  | @ -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; | ||||
| 
 | ||||
|  |  | |||
|  | @ -1176,7 +1176,12 @@ struct Regs { | |||
|         } | ||||
|     } command_buffer; | ||||
| 
 | ||||
|     INSERT_PADDING_WORDS(0x07); | ||||
|     INSERT_PADDING_WORDS(4); | ||||
| 
 | ||||
|     /// Number of input attributes to the vertex shader minus 1
 | ||||
|     BitField<0, 4, u32> max_input_attrib_index; | ||||
| 
 | ||||
|     INSERT_PADDING_WORDS(2); | ||||
| 
 | ||||
|     enum class GPUMode : u32 { | ||||
|         Drawing = 0, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue