Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							f208953585 
							
						 
					 
					
						
						
							
							GPU: Added asserts to our code for handling the QUERY_GET GPU command.  
						
						... 
						
						
						
						This is based on research from nouveau. Many things are currently unknown and will require hwtests in the future.
This commit also stubs QueryMode::Write2 to do the same as Write. Nouveau code treats them interchangeably, it is currently unknown what the difference is. 
						
						
					 
					
						2018-04-23 17:06:57 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							9531a29283 
							
						 
					 
					
						
						
							
							GPU: Support multiple enabled vertex arrays.  
						
						... 
						
						
						
						The vertex arrays will be copied to the stream buffer one after the other, and the attributes will be set using the ARB_vertex_attrib_binding extension.
yuzu now thus requires OpenGL 4.3 or the ARB_vertex_attrib_binding extension. 
						
						
					 
					
						2018-04-23 11:34:50 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							e1630c4d43 
							
						 
					 
					
						
						
							
							shader_bytecode: Add several more instruction decodings.  
						
						
						
						
					 
					
						2018-04-20 22:30:56 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							9f6d305eab 
							
						 
					 
					
						
						
							
							shader_bytecode: Decode instructions based on bit strings.  
						
						
						
						
					 
					
						2018-04-20 22:30:56 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							c3a8ea76f1 
							
						 
					 
					
						
						
							
							ShaderGen: Implemented predicated instruction execution.  
						
						... 
						
						
						
						Each predicated instruction will be wrapped in an `if (predicate) { instruction_body; }` in the GLSL, where `predicate` is one of the predicate boolean variables previously set by fsetp. 
						
						
					 
					
						2018-04-20 21:09:33 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							0a5e01b710 
							
						 
					 
					
						
						
							
							ShaderGen: Implemented the fsetp instruction.  
						
						... 
						
						
						
						Predicate variables are now added to the generated shader code in the form of 'pX' where X is the predicate id.
These predicate variables are initialized to false on shader startup and are set via the fsetp instructions.
TODO:
* Not all the comparison types are implemented.
* Only the single-predicate version is implemented. 
						
						
					 
					
						2018-04-20 21:09:33 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							d03fc77475 
							
						 
					 
					
						
						
							
							ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO).  
						
						
						
						
					 
					
						2018-04-20 14:57:40 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							fe84842137 
							
						 
					 
					
						
						
							
							ShaderGen: Implemented the fmul32i shader instruction.  
						
						
						
						
					 
					
						2018-04-19 13:46:32 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ce4f159b1c 
							
						 
					 
					
						
						
							
							gl_shader_gen: Support vertical/horizontal viewport flipping. ( #347 )  
						
						... 
						
						
						
						* gl_shader_gen: Support vertical/horizontal viewport flipping.
* fixup! gl_shader_gen: Support vertical/horizontal viewport flipping. 
						
						
					 
					
						2018-04-18 16:42:40 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							48d4efbd69 
							
						 
					 
					
						
						
							
							GPU: Pitch textures are now supported, don't assert when encountering them.  
						
						
						
						
					 
					
						2018-04-18 12:52:53 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c93ea96366 
							
						 
					 
					
						
						
							
							Merge pull request  #346  from bunnei/misc-gpu-improvements  
						
						... 
						
						
						
						Misc gpu improvements 
						
						
					 
					
						2018-04-17 22:17:07 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							71b4a3b9f6 
							
						 
					 
					
						
						
							
							Merge pull request  #344  from bunnei/shader-decompiler-p2  
						
						... 
						
						
						
						Shader decompiler changes part 2 
						
						
					 
					
						2018-04-17 22:10:53 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							4a8eb6745e 
							
						 
					 
					
						
						
							
							maxwell3d: Allow Texture2DNoMipmap as Texture2D.  
						
						
						
						
					 
					
						2018-04-17 21:39:15 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							531c25386e 
							
						 
					 
					
						
						
							
							shader_bytecode: Make ctor's constexpr and explicit.  
						
						
						
						
					 
					
						2018-04-17 21:27:07 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							174cba5c58 
							
						 
					 
					
						
						
							
							renderer_opengl: Implement BlendEquation and BlendFunc.  
						
						
						
						
					 
					
						2018-04-17 18:11:48 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							5a28dce9eb 
							
						 
					 
					
						
						
							
							gl_shader_decompiler: Implement FMUL/FADD/FFMA immediate instructions.  
						
						
						
						
					 
					
						2018-04-17 16:36:42 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							8b4443c966 
							
						 
					 
					
						
						
							
							gl_shader_decompiler: Add support for TEXS instruction.  
						
						
						
						
					 
					
						2018-04-17 16:36:38 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							1a1af3fda3 
							
						 
					 
					
						
						
							
							gl_rasterizer: Implement indexed vertex mode.  
						
						
						
						
					 
					
						2018-04-16 21:10:15 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							ae58e46036 
							
						 
					 
					
						
						
							
							GPU: Added a function to determine whether a shader stage is enabled or not.  
						
						
						
						
					 
					
						2018-04-14 22:54:23 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							1b41b875dc 
							
						 
					 
					
						
						
							
							shaders: Add NumTextureSamplers const, remove unused #pragma.  
						
						
						
						
					 
					
						2018-04-14 18:50:06 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							e6224fec27 
							
						 
					 
					
						
						
							
							shaders: Address PR review feedback.  
						
						
						
						
					 
					
						2018-04-14 16:01:41 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							0d408b965b 
							
						 
					 
					
						
						
							
							shaders: Fix GCC and clang build issues.  
						
						
						
						
					 
					
						2018-04-14 16:01:40 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							86135864da 
							
						 
					 
					
						
						
							
							gl_shader_decompiler: Implement negate, abs, etc. and lots of cleanup.  
						
						
						
						
					 
					
						2018-04-14 16:01:40 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							7639667562 
							
						 
					 
					
						
						
							
							shader_bytecode: Add FSETP and KIL to GetInfo.  
						
						
						
						
					 
					
						2018-04-14 16:01:40 -04:00 
						 
				 
			
				
					
						
							
							
								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