wwylele 
								
							 
						 
						
							
							
							
							
								
							
							
								47c0c87c47 
								
							 
						 
						
							
							
								
								video_core: clean format warnings  
							
							
							
						 
						
							2017-11-01 12:35:32 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Huw Pascoe 
								
							 
						 
						
							
							
							
							
								
							
							
								a234e4c200 
								
							 
						 
						
							
							
								
								Improved performance of FromAttributeBuffer  
							
							... 
							
							
							
							Ternary operator is optimized by the compiler
whereas std::min() is meant to return a value.
I've noticed a 5%-10% emulation speed increase. 
							
						 
						
							2017-09-17 15:56:36 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									wwylele 
								
							 
						 
						
							
							
							
							
								
							
							
								8285ca4ad8 
								
							 
						 
						
							
							
								
								pica/shader/jit: implement SETEMIT and EMIT  
							
							
							
						 
						
							2017-08-19 10:13:20 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									wwylele 
								
							 
						 
						
							
							
							
							
								
							
							
								bb63ae3052 
								
							 
						 
						
							
							
								
								correct constness  
							
							
							
						 
						
							2017-08-19 10:13:20 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									wwylele 
								
							 
						 
						
							
							
							
							
								
							
							
								28128348f2 
								
							 
						 
						
							
							
								
								pica/shader/interpreter: implement SETEMIT and EMIT  
							
							
							
						 
						
							2017-08-19 10:13:20 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									wwylele 
								
							 
						 
						
							
							
							
							
								
							
							
								46c6973d2b 
								
							 
						 
						
							
							
								
								pica/shader: extend UnitState for GS  
							
							... 
							
							
							
							Among four shader units in pica, a special unit can be configured to run both VS and GS program. GSUnitState represents this unit, which extends UnitState (which represents the other three normal units) with extra state for primitive emitting. It uses lots of raw pointers to represent internal structure in order to keep it standard layout type for JIT to access.
This unit doesn't handle triangle winding (inverting) itself; instead, it calls a WindingSetter handler. This will be explained in the following commits 
							
						 
						
							2017-08-19 10:13:20 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									wwylele 
								
							 
						 
						
							
							
							
							
								
							
							
								c89f804a01 
								
							 
						 
						
							
							
								
								pica/shader_interpreter: fix off-by-one in LOOP  
							
							
							
						 
						
							2017-07-27 13:48:27 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								f6715f98f5 
								
							 
						 
						
							
							
								
								Stop using reserved operator names (and/or/xor) with Xbyak  
							
							... 
							
							
							
							Also has the Dynarmic upgrade with the same change 
							
						 
						
							2017-06-17 12:20:22 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jannik Vogel 
								
							 
						 
						
							
							
							
							
								
							
							
								925724c990 
								
							 
						 
						
							
							
								
								Pica: Set program code / swizzle data limit to 4096  
							
							... 
							
							
							
							One of the later commits will enable writing to GS regs.
It turns out that on startup, most games will write 4096 GS program words.
The current limit of 1024 would hence result in 3072 (4096 - 1024) error messages:
```
HW.GPU <Error> video_core/shader/shader.cpp:WriteProgramCode:229: Invalid GS program offset 1024
```
New constants have been introduced to represent these limits.
The swizzle data size has also been raised. This matches the given field sizes of [GPUREG_SH_OPDESCS_INDEX](https://3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_OPDESCS_INDEX ) and [GPUREG_SH_CODETRANSFER_INDEX](https://www.3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_CODETRANSFER_INDEX ) (12 bit = [0; 4095]). 
							
						 
						
							2017-05-11 15:01:27 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mat M 
								
							 
						 
						
							
							
							
							
								
							
							
								0cb52ee74a 
								
							 
						 
						
							
							
								
								Doxygen: Amend minor issues ( #2593 )  
							
							... 
							
							
							
							Corrects a few issues with regards to Doxygen documentation, for example:
- Incorrect parameter referencing.
- Missing @param tags.
- Typos in @param tags.
and a few minor other issues. 
							
						 
						
							2017-02-26 17:58:51 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								e10b11a5d0 
								
							 
						 
						
							
							
								
								video_core/shader: Document sanitized MUL operation  
							
							
							
						 
						
							2017-02-12 13:29:14 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								443bb3d522 
								
							 
						 
						
							
							
								
								Merge pull request  #2550  from yuriks/pica-refactor2  
							
							... 
							
							
							
							Small VideoCore cleanups 
							
						 
						
							2017-02-12 12:33:26 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								e2fa1ca5e1 
								
							 
						 
						
							
							
								
								video_core: Fix benign out-of-bounds indexing of array ( #2553 )  
							
							... 
							
							
							
							The resulting pointer wasn't written to unless the index was verified as
valid, but that's still UB and triggered debug checks in MSVC.
Reported by garrettboast on IRC 
							
						 
						
							2017-02-10 20:51:09 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								60fc0b086f 
								
							 
						 
						
							
							
								
								VideoCore: Split regs.h inclusions  
							
							
							
						 
						
							2017-02-09 00:04:24 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								5759d94b5c 
								
							 
						 
						
							
							
								
								VideoCore: Move Regs to its own file  
							
							
							
						 
						
							2017-02-04 13:59:12 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								f7c7f422c6 
								
							 
						 
						
							
							
								
								VideoCore: Split shader regs from Regs struct  
							
							
							
						 
						
							2017-02-04 13:59:11 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								000e78144c 
								
							 
						 
						
							
							
								
								VideoCore: Split rasterizer regs from Regs struct  
							
							
							
						 
						
							2017-02-04 13:08:47 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								97e06b0a0d 
								
							 
						 
						
							
							
								
								Merge pull request  #2476  from yuriks/shader-refactor3  
							
							... 
							
							
							
							Oh No! More shader changes! 
							
						 
						
							2017-02-04 13:02:48 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									wwylele 
								
							 
						 
						
							
							
							
							
								
							
							
								6dc1d6e568 
								
							 
						 
						
							
							
								
								ShaderJIT: add 16 dummy bytes at the bottom of the stack  
							
							
							
						 
						
							2017-02-03 14:53:38 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Weiyi Wang 
								
							 
						 
						
							
							
							
							
								
							
							
								0b9c59ff22 
								
							 
						 
						
							
							
								
								Common/x64: remove legacy emitter and abi ( #2504 )  
							
							... 
							
							
							
							These are not used any more since we moved shader JIT to xbyak. 
							
						 
						
							2017-01-31 01:06:42 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Merry 
								
							 
						 
						
							
							
							
							
								
							
							
								f7e96dc068 
								
							 
						 
						
							
							
								
								shader_jit_x64_compiler: esi and edi should be persistent ( #2500 )  
							
							
							
						 
						
							2017-01-31 00:38:31 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								dcdffabfe6 
								
							 
						 
						
							
							
								
								VideoCore: Extract swrast-specific data from OutputVertex  
							
							
							
						 
						
							2017-01-29 21:31:38 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								8ed9f9d49f 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Clean up OutputVertex::FromAttributeBuffer  
							
							... 
							
							
							
							This also fixes a long-standing but neverthless harmless memory
corruption bug, whech the padding of the OutputVertex struct would get
corrupted by unused attributes. 
							
						 
						
							2017-01-29 21:31:38 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								92bf5c88e6 
								
							 
						 
						
							
							
								
								VideoCore: Split shader output writing from semantic loading  
							
							
							
						 
						
							2017-01-29 21:31:37 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								335df895b9 
								
							 
						 
						
							
							
								
								VideoCore: Consistently use shader configuration to load attributes  
							
							
							
						 
						
							2017-01-29 21:31:37 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								ab6954e942 
								
							 
						 
						
							
							
								
								VideoCore: Rename some types to more accurate names  
							
							
							
						 
						
							2017-01-29 21:31:36 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								0e9081b973 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Move entry_point to SetupBatch  
							
							
							
						 
						
							2017-01-25 18:53:25 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								0f64274145 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Move per-batch ShaderEngine state into ShaderSetup  
							
							
							
						 
						
							2017-01-25 18:53:25 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								6fa3687afc 
								
							 
						 
						
							
							
								
								Shader: Remove OutputRegisters struct  
							
							
							
						 
						
							2017-01-25 18:53:25 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								9ea5eacf91 
								
							 
						 
						
							
							
								
								Shader: Initialize conditional_code in interpreter  
							
							... 
							
							
							
							This doesn't belong in LoadInputVertex because it also happens for
non-VS invocations. Since it's not used by the JIT it seems adequate to
initialize it in the interpreter which is the only thing that cares
about them. 
							
						 
						
							2017-01-25 18:53:24 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								1a2acc3baa 
								
							 
						 
						
							
							
								
								Shader: Don't read ShaderSetup from global state  
							
							
							
						 
						
							2017-01-25 18:53:24 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								fa4ac279a7 
								
							 
						 
						
							
							
								
								shader_jit_x64: Don't read program from global state  
							
							
							
						 
						
							2017-01-25 18:53:24 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								ade7ed7c5f 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Move ProduceDebugInfo to InterpreterEngine  
							
							
							
						 
						
							2017-01-25 18:53:24 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								114d6b2f97 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Split interpreter and JIT into separate ShaderEngines  
							
							
							
						 
						
							2017-01-25 18:53:24 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								8eefc62833 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Rename shader_jit_x64{ => _compiler}.{cpp,h}  
							
							
							
						 
						
							2017-01-25 18:53:23 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								dd4a1672a7 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Split shader uniform state and shader engine  
							
							... 
							
							
							
							Currently there's only a single dummy implementation, which will be
split in a following commit. 
							
						 
						
							2017-01-25 18:53:23 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								bd82cffd0b 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Add constness to methods  
							
							
							
						 
						
							2017-01-25 18:53:23 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								1e1f939817 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Use only entry_point as ShaderSetup param  
							
							... 
							
							
							
							This removes all implicit dependency of ShaderState on global PICA
state. 
							
						 
						
							2017-01-25 18:53:23 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								e3caf669b0 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Use self instead of g_state.vs in ShaderSetup  
							
							
							
						 
						
							2017-01-25 18:53:23 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								34d581f2dc 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Extract input vertex loading code into function  
							
							
							
						 
						
							2017-01-25 18:53:20 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kloen 
								
							 
						 
						
							
							
							
							
								
							
							
								5cc94c17f6 
								
							 
						 
						
							
							
								
								video_core: fix shader.cpp signed / unsigned warning  
							
							
							
						 
						
							2017-01-23 16:53:31 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jonathan Hao 
								
							 
						 
						
							
							
							
							
								
							
							
								c18cb1b192 
								
							 
						 
						
							
							
								
								Fix some warnings ( #2399 )  
							
							
							
						 
						
							2017-01-04 13:48:29 -03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								c135317de1 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Extract DebugData out from UnitState  
							
							
							
						 
						
							2016-12-16 00:16:25 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								6e7e767645 
								
							 
						 
						
							
							
								
								Remove unnecessary cast  
							
							
							
						 
						
							2016-12-16 00:15:55 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								b5e3599704 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Extract evaluate_condition lambda to function scope  
							
							
							
						 
						
							2016-12-16 00:15:51 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								960578f4e1 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Extract call lambda up a scope and remove unused param  
							
							
							
						 
						
							2016-12-15 23:08:05 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								e4e962bc7c 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Remove dynamic control flow in (Get)UniformOffset  
							
							
							
						 
						
							2016-12-15 23:08:05 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								d27cb1dedc 
								
							 
						 
						
							
							
								
								VideoCore/Shader: Move DebugData to a separate file  
							
							
							
						 
						
							2016-12-15 23:08:05 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								fb9e856b91 
								
							 
						 
						
							
							
								
								shader_jit_x64: Use LOOPCOUNT_REG as a 64-bit reg when indexing  
							
							
							
						 
						
							2016-12-15 10:02:42 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								f00ada3363 
								
							 
						 
						
							
							
								
								VideoCore: Eliminate an unnecessary copy in the drawcall loop  
							
							
							
						 
						
							2016-12-14 21:00:29 -08:00