bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							5a47832221 
							
						 
					 
					
						
						
							
							shader_bytecode: Add SubOp decoding.  
						
						
						
						
					 
					
						2018-04-14 16:01:40 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							35aca0bf1f 
							
						 
					 
					
						
						
							
							maxwell_3d: Make memory_manager public.  
						
						
						
						
					 
					
						2018-04-13 23:48:27 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							33bb53571b 
							
						 
					 
					
						
						
							
							maxwell_3d: Fix shader_config decodings.  
						
						
						
						
					 
					
						2018-04-13 23:48:26 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							4e7e0f8112 
							
						 
					 
					
						
						
							
							shader_bytecode: Add initial module for shader decoding.  
						
						
						
						
					 
					
						2018-04-13 23:48:19 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							dcc27d6dc1 
							
						 
					 
					
						
						
							
							GPU: Assert when finding a texture with a format type other than UNORM.  
						
						
						
						
					 
					
						2018-04-06 20:44:46 -06:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							11b4ab9685 
							
						 
					 
					
						
						
							
							GPU: Use the MacroInterpreter class to execute the GPU macros instead of HLEing them.  
						
						
						
						
					 
					
						2018-04-01 12:07:26 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							1ec8d2123d 
							
						 
					 
					
						
						
							
							GPU: Implemented a gpu macro interpreter.  
						
						... 
						
						
						
						The Ryujinx macro interpreter and envydis were used as reference.
Macros are programs that are uploaded by the games during boot and can later be called by writing to their method id in a GPU command buffer. 
						
						
					 
					
						2018-04-01 12:07:26 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							d30110348b 
							
						 
					 
					
						
						
							
							gl_rasterizer: Add a SyncViewport method.  
						
						
						
						
					 
					
						2018-03-26 21:17:04 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							a6cab532f8 
							
						 
					 
					
						
						
							
							gl_rasterizer: Normalize vertex array data as appropriate.  
						
						
						
						
					 
					
						2018-03-26 21:17:02 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							3754e0fdfd 
							
						 
					 
					
						
						
							
							maxwell_3d: Use names that match envytools for VertexType.  
						
						
						
						
					 
					
						2018-03-26 21:16:55 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							15925b8293 
							
						 
					 
					
						
						
							
							maxwell_3d: Add VertexAttribute struct and cleanup.  
						
						
						
						
					 
					
						2018-03-26 21:16:54 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							33c0bf9dc5 
							
						 
					 
					
						
						
							
							Maxwell3D: Call AccelerateDrawBatch on DrawArrays.  
						
						
						
						
					 
					
						2018-03-26 21:16:52 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							ed2134784e 
							
						 
					 
					
						
						
							
							gl_rasterizer: Implement AnalyzeVertexArray.  
						
						
						
						
					 
					
						2018-03-26 21:16:52 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							94c70693f9 
							
						 
					 
					
						
						
							
							maxwell: Add RenderTargetFormat enum.  
						
						
						
						
					 
					
						2018-03-26 21:16:49 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							4697025b73 
							
						 
					 
					
						
						
							
							GPU: Load the sampler info (TSC) when retrieving active textures.  
						
						
						
						
					 
					
						2018-03-26 15:46:49 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							0ce52b1da2 
							
						 
					 
					
						
						
							
							GPU: Make the debug_context variable a member of the frontend instead of a global.  
						
						
						
						
					 
					
						2018-03-24 23:35:06 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							2c785bd06c 
							
						 
					 
					
						
						
							
							GPU: Added a function to retrieve the active textures for a shader stage.  
						
						... 
						
						
						
						TODO: A shader may not use all of these textures at the same time, shader analysis should be performed to determine which textures are actually sampled. 
						
						
					 
					
						2018-03-24 11:31:53 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							1c31e2b3d2 
							
						 
					 
					
						
						
							
							GPU: Implement the Incoming/FinishedPrimitiveBatch debug breakpoints.  
						
						
						
						
					 
					
						2018-03-24 11:31:50 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							1ad97c75a0 
							
						 
					 
					
						
						
							
							GPU: Implement the MaxwellCommandLoaded/Processed debug breakpoints.  
						
						
						
						
					 
					
						2018-03-24 11:31:50 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							1b8d798835 
							
						 
					 
					
						
						
							
							GPU: Added a method to unswizzle a texture without decoding it.  
						
						... 
						
						
						
						Allow unswizzling of DXT1 textures. 
						
						
					 
					
						2018-03-24 11:30:56 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							71ebc3e90d 
							
						 
					 
					
						
						
							
							GPU: Preliminary work for texture decoding.  
						
						
						
						
					 
					
						2018-03-24 11:30:56 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							9b9de30086 
							
						 
					 
					
						
						
							
							GPU: Added viewport registers to Maxwell3D's reg structure.  
						
						
						
						
					 
					
						2018-03-24 01:22:19 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							3a6604e8fa 
							
						 
					 
					
						
						
							
							maxwell_3d: Add some format decodings and string helper functions.  
						
						
						
						
					 
					
						2018-03-22 19:47:28 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							c450d264eb 
							
						 
					 
					
						
						
							
							GPU: Added vertex attribute format registers.  
						
						
						
						
					 
					
						2018-03-21 09:26:47 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							ae28a52277 
							
						 
					 
					
						
						
							
							GPU: Added registers for the number of vertices to render.  
						
						
						
						
					 
					
						2018-03-20 23:28:06 -05:00 
						 
				 
			
				
					
						
							
							
								Mat M 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f4700ccabf 
							
						 
					 
					
						
						
							
							Merge pull request  #253  from Subv/rt_depth  
						
						... 
						
						
						
						GPU: Added registers for color and Z buffers. 
						
						
					 
					
						2018-03-19 23:37:47 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							7a27a11770 
							
						 
					 
					
						
						
							
							GPU: Added Z buffer registers to Maxwell3D's reg structure.  
						
						
						
						
					 
					
						2018-03-19 16:55:33 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							21d9519032 
							
						 
					 
					
						
						
							
							GPU: Added the render target (RT) registers to Maxwell3D's reg structure.  
						
						
						
						
					 
					
						2018-03-19 16:46:29 -05:00 
						 
				 
			
				
					
						
							
							
								N00byKing 
							
						 
					 
					
						
						
						
						
							
						
						
							1d8b6ad13b 
							
						 
					 
					
						
						
							
							Clang Fixes  
						
						
						
						
					 
					
						2018-03-19 17:53:35 +01:00 
						 
				 
			
				
					
						
							
							
								N00byKing 
							
						 
					 
					
						
						
						
						
							
						
						
							ef875d6a35 
							
						 
					 
					
						
						
							
							Clean Warnings (?)  
						
						
						
						
					 
					
						2018-03-19 17:07:08 +01:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							dcae0c9a4f 
							
						 
					 
					
						
						
							
							GPU: Added the TSC registers to the Maxwell3D register structure.  
						
						
						
						
					 
					
						2018-03-19 00:36:25 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							cff7b29bba 
							
						 
					 
					
						
						
							
							GPU: Added the TIC registers to the Maxwell3D register structure.  
						
						
						
						
					 
					
						2018-03-19 00:32:57 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							03156d0c9a 
							
						 
					 
					
						
						
							
							GPU: Implement macro 0xE1A BindTextureInfoBuffer in HLE.  
						
						... 
						
						
						
						This macro simply sets the current CB_ADDRESS to the texture buffer address for the input shader stage. 
						
						
					 
					
						2018-03-18 19:03:40 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							7b6868e908 
							
						 
					 
					
						
						
							
							GPU: Implement the BindStorageBuffer macro method in HLE.  
						
						... 
						
						
						
						This macro binds the SSBO Info Buffer as the current ConstBuffer.
This buffer is usually bound to c0 during shader execution.
Games seem to use this macro instead of directly writing the address for some reason. 
						
						
					 
					
						2018-03-18 16:50:42 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							85d820b1b4 
							
						 
					 
					
						
						
							
							GPU: Handle writes to the CB_DATA method.  
						
						... 
						
						
						
						Writing to this method will cause the written value to be stored in the currently-set ConstBuffer plus CB_POS.
This method is usually used to upload uniforms or other shader-visible data. 
						
						
					 
					
						2018-03-18 15:23:24 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							aa586fa268 
							
						 
					 
					
						
						
							
							GPU: Store uploaded GPU macros and keep track of the number of method parameters.  
						
						
						
						
					 
					
						2018-03-18 11:51:46 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							7ac8657432 
							
						 
					 
					
						
						
							
							GPU: Macros are specific to the Maxwell3D engine, so handle them internally.  
						
						
						
						
					 
					
						2018-03-18 11:51:45 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							ccb8da1512 
							
						 
					 
					
						
						
							
							GPU: Renamed ShaderType to ShaderStage as that is less confusing.  
						
						
						
						
					 
					
						2018-03-17 18:32:57 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							88698c156f 
							
						 
					 
					
						
						
							
							GPU: Store shader constbuffer bindings in the GPU state.  
						
						
						
						
					 
					
						2018-03-17 18:32:57 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							66dae22790 
							
						 
					 
					
						
						
							
							GPU: Corrected some register offsets and removed superfluous macro registers.  
						
						
						
						
					 
					
						2018-03-17 18:32:56 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							1d9d9c16e8 
							
						 
					 
					
						
						
							
							GPU: Make the SetShader macro call do the same as the real macro's code.  
						
						... 
						
						
						
						It'll now set the CB_SIZE, CB_ADDRESS and CB_BIND registers when it's called.
Presumably this SetShader function is binding the constant shader uniforms to buffer 1 (c1[]). 
						
						
					 
					
						2018-03-17 18:32:55 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							579000e747 
							
						 
					 
					
						
						
							
							GPU: Corrected the parameter documentation for the SetShader macro call.  
						
						... 
						
						
						
						Register 0xE24 is actually a macro that sets some shader parameters in the register structure.
Macros are uploaded to the GPU at startup and have their own ISA, we'll probably write an interpreter for this in the future. 
						
						
					 
					
						2018-03-17 13:55:42 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							516ef4f19f 
							
						 
					 
					
						
						
							
							Merge pull request  #242  from Subv/set_shader  
						
						... 
						
						
						
						GPU: Handle the SetShader method call (0xE24) and store the shader config. 
						
						
					 
					
						2018-03-17 00:34:17 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							f93d769a1c 
							
						 
					 
					
						
						
							
							GPU: Handle the SetShader method call (0xE24) and store the shader config.  
						
						
						
						
					 
					
						2018-03-16 22:51:06 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							d2888f7e90 
							
						 
					 
					
						
						
							
							GPU: Added the vertex array registers.  
						
						
						
						
					 
					
						2018-03-16 22:47:45 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							cd4e8a989c 
							
						 
					 
					
						
						
							
							Merge pull request  #241  from Subv/gpu_method_call  
						
						... 
						
						
						
						GPU: Process command mode 5 (IncreaseOnce) differently from other commands 
						
						
					 
					
						2018-03-16 22:28:22 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							29feece4b8 
							
						 
					 
					
						
						
							
							GPU: Process command mode 5 (IncreaseOnce) differently from other commands.  
						
						... 
						
						
						
						Accumulate all arguments before calling the desired method.
Note: Maybe we should do the same for the NonIncreasing mode? 
						
						
					 
					
						2018-03-16 20:32:44 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							bf310a41b8 
							
						 
					 
					
						
						
							
							GPU: Assert that we get a 0 CODE_ADDRESS register in the 3D engine.  
						
						... 
						
						
						
						Shader address calculation depends on this value to some extent, we do not currently know what it being 0 entails. 
						
						
					 
					
						2018-03-16 19:24:41 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							cbec739e7b 
							
						 
					 
					
						
						
							
							GPU: Added Maxwell registers for Shader Program control.  
						
						
						
						
					 
					
						2018-03-16 19:23:11 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							5fb4c718cc 
							
						 
					 
					
						
						
							
							GPU: Intercept writes to the VERTEX_END_GL register.  
						
						... 
						
						
						
						This is the register that gets written after a game calls DrawArrays().
We should collect all GPU state and draw using our graphics API here. 
						
						
					 
					
						2018-03-04 19:14:04 -05:00