Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							e9ad8e9185 
							
						 
					 
					
						
						
							
							Shaders: Added bit decodings for the I2I instruction.  
						
						
						
						
					 
					
						2018-04-25 12:52:55 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							1740aa5444 
							
						 
					 
					
						
						
							
							Shaders: Implemented the FSET instruction.  
						
						... 
						
						
						
						This instruction is similar to the FSETP instruction, but it doesn't set a predicate, it sets the destination register to 1.0 if the condition holds, and 0 otherwise. 
						
						
					 
					
						2018-04-25 12:52:32 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							1dd4861d38 
							
						 
					 
					
						
						
							
							GPU: Make the Textures::CopySwizzledData function accessible from the outside of the file.  
						
						
						
						
					 
					
						2018-04-25 11:55:30 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							a6da2b93c1 
							
						 
					 
					
						
						
							
							GPU: Added a function to retrieve the bytes per pixel of the render target formats.  
						
						
						
						
					 
					
						2018-04-25 11:55:29 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							378c881427 
							
						 
					 
					
						
						
							
							GPU: Added surface copy registers to Fermi2D  
						
						
						
						
					 
					
						2018-04-25 11:55:29 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							b1109931b9 
							
						 
					 
					
						
						
							
							GPU: Added boilerplate code for the Fermi2D engine  
						
						
						
						
					 
					
						2018-04-25 11:55:29 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							c16cfbbc6c 
							
						 
					 
					
						
						
							
							GPU: Reduce the number of registers of Maxwell3D to 0xE00.  
						
						... 
						
						
						
						The rest are just macro shim registers. 
						
						
					 
					
						2018-04-25 11:55:28 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							a994446b6e 
							
						 
					 
					
						
						
							
							GPU: Move the Maxwell3D macro uploading code to the inside of the Maxwell3D processor.  
						
						... 
						
						
						
						It doesn't belong in the PFIFO handler. 
						
						
					 
					
						2018-04-25 11:55:27 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							e2f2a49d2d 
							
						 
					 
					
						
						
							
							GPU: Corrected the upper bound of the PFIFO method ids in the command processor.  
						
						
						
						
					 
					
						2018-04-25 11:53:54 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b7551e457b 
							
						 
					 
					
						
						
							
							video-core: Move logging macros over to new fmt-capable ones  
						
						
						
						
					 
					
						2018-04-25 09:13:57 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							0369ee7248 
							
						 
					 
					
						
						
							
							Shaders: Added decodings for the FSET instructions.  
						
						
						
						
					 
					
						2018-04-24 22:42:54 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							c30cd898fc 
							
						 
					 
					
						
						
							
							renderer_opengl: Use correct byte order for framebuffer pixel format ABGR8.  
						
						
						
						
					 
					
						2018-04-24 22:31:46 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							f1a4a004fb 
							
						 
					 
					
						
						
							
							gl_rasterizer_cache: Use CHAR_BIT for bpp conversions instead of 8.  
						
						
						
						
					 
					
						2018-04-24 22:31:46 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							0a023cfb4f 
							
						 
					 
					
						
						
							
							gl_rasterizer_cache: Use GPU PAGE_BITS/SIZE, not CPU.  
						
						
						
						
					 
					
						2018-04-24 22:31:46 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							9022d926eb 
							
						 
					 
					
						
						
							
							gl_rasterizer_cache: Use new logger.  
						
						
						
						
					 
					
						2018-04-24 22:31:46 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							fbb3cd110c 
							
						 
					 
					
						
						
							
							gl_rasterizer_cache: Add a function for finding framebuffer GPU address.  
						
						
						
						
					 
					
						2018-04-24 22:31:46 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							bc0f1896fc 
							
						 
					 
					
						
						
							
							gl_rasterizer_cache: Handle compressed texture sizes.  
						
						
						
						
					 
					
						2018-04-24 22:31:46 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							4415e00181 
							
						 
					 
					
						
						
							
							gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.  
						
						
						
						
					 
					
						2018-04-24 22:31:45 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							10c6d89119 
							
						 
					 
					
						
						
							
							memory_manager: Add implement CpuToGpuAddress.  
						
						
						
						
					 
					
						2018-04-24 17:49:20 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							239ac8abe2 
							
						 
					 
					
						
						
							
							memory_manager: Make GpuToCpuAddress return an optional.  
						
						
						
						
					 
					
						2018-04-24 17:49:19 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							9e11a76e92 
							
						 
					 
					
						
						
							
							memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses.  
						
						
						
						
					 
					
						2018-04-24 17:40:43 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e8c2bb24b2 
							
						 
					 
					
						
						
							
							Merge pull request  #386  from Subv/gpu_query  
						
						... 
						
						
						
						GPU: Added asserts to our code for handling the QUERY_GET GPU command. 
						
						
					 
					
						2018-04-24 16:13:51 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d1b23b2b51 
							
						 
					 
					
						
						
							
							renderer_opengl: Silence a -Wdangling-else warning in DrawScreenTriangles()  
						
						
						
						
					 
					
						2018-04-24 11:13:08 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							07dc0bbf3e 
							
						 
					 
					
						
						
							
							Merge pull request  #379  from Subv/multi_buffers  
						
						... 
						
						
						
						GPU: Support multiple enabled vertex arrays. 
						
						
					 
					
						2018-04-24 01:09:02 -04:00 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3967f9c6ef 
							
						 
					 
					
						
						
							
							Merge pull request  #383  from Subv/gpu_mmu  
						
						... 
						
						
						
						GPU: Make the GPU virtual memory manager use 16 page bits and 10 pagetable bits. 
						
						
					 
					
						2018-04-23 14:00:52 -04: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 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							f823c1d599 
							
						 
					 
					
						
						
							
							GPU: Make the GPU virtual memory manager use 16 page bits and 10 page table bits.  
						
						... 
						
						
						
						Also removed some dead code and added memory map consistency asserts. 
						
						
					 
					
						2018-04-23 10:57:12 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							010227e149 
							
						 
					 
					
						
						
							
							GPU: Implement the RGB10_A2 RenderTarget format, it will use the same format as the A2BGR10 texture format.  
						
						
						
						
					 
					
						2018-04-23 10:50:28 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							c079cf4eec 
							
						 
					 
					
						
						
							
							GPU: Implement the A2BGR10 texture format.  
						
						
						
						
					 
					
						2018-04-21 17:32:25 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f8764bb5d3 
							
						 
					 
					
						
						
							
							Merge pull request  #376  from bunnei/shader-decoder  
						
						... 
						
						
						
						Shader opcode decoding 
						
						
					 
					
						2018-04-21 00:04:51 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f8a037ead4 
							
						 
					 
					
						
						
							
							Merge pull request  #375  from lioncash/header  
						
						... 
						
						
						
						opengl: Remove unnecessary header inclusions 
						
						
					 
					
						2018-04-20 23:08:47 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							d08fd7e86d 
							
						 
					 
					
						
						
							
							gl_shader_decompiler: Skip RRO instruction.  
						
						
						
						
					 
					
						2018-04-20 22:30:56 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							8b28dc55e6 
							
						 
					 
					
						
						
							
							gl_shader_decompiler: Cleanup error logging.  
						
						
						
						
					 
					
						2018-04-20 22:30:56 -04: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 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8ac3a3f45e 
							
						 
					 
					
						
						
							
							Merge pull request  #369  from Subv/shader_instr2  
						
						... 
						
						
						
						ShaderGen: Implemented fsetp/kil and predicated instruction execution. 
						
						
					 
					
						2018-04-20 22:29:39 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							634d9ee18b 
							
						 
					 
					
						
						
							
							Merge pull request  #374  from lioncash/noexcept  
						
						... 
						
						
						
						gl_resource_manager: Add missing noexcept specifiers to move constructors and assignment operators 
						
						
					 
					
						2018-04-20 22:28:47 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							17a0ef1e1e 
							
						 
					 
					
						
						
							
							ShaderGen: Implemented the KIL instruction, which is equivalent to 'discard'.  
						
						
						
						
					 
					
						2018-04-20 21:09:34 -05: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 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							eafdcc1b8a 
							
						 
					 
					
						
						
							
							opengl: Remove unnecessary header inclusions  
						
						
						
						
					 
					
						2018-04-20 20:19:37 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							ab71997b2c 
							
						 
					 
					
						
						
							
							gl_resource_manager: Add missing noexcept specifiers to move constructors and assignment operators  
						
						... 
						
						
						
						Standard library containers may use std::move_if_noexcept to perform
move operations. If a move cannot be performed under these
circumstances, then a copy is attempted. Given we only intend for these
types to be move-only this can be somewhat problematic. By defining
these to be noexcept we prevent cases where copies may be attempted. 
						
						
					 
					
						2018-04-20 20:04:00 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							7db0b8d74f 
							
						 
					 
					
						
						
							
							gl_rasterizer_cache: Make MatchFlags an enum class  
						
						... 
						
						
						
						Prevents implicit conversions and scope pollution. 
						
						
					 
					
						2018-04-20 19:50:05 -04: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 
							
						 
					 
					
						
						
						
						
							
						
						
							2e0a9f66a0 
							
						 
					 
					
						
						
							
							ShaderGen: Ignore the 'sched' instruction when generating shaders.  
						
						... 
						
						
						
						The 'sched' instruction has a very convoluted encoding, but fortunately it seems to only appear on a fixed interval (once every 4 instructions). 
						
						
					 
					
						2018-04-20 14:57:40 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							326b044c19 
							
						 
					 
					
						
						
							
							Merge pull request  #367  from lioncash/clamp  
						
						... 
						
						
						
						math_util: Remove the Clamp() function 
						
						
					 
					
						2018-04-20 14:18:03 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							fae2dd0344 
							
						 
					 
					
						
						
							
							math_util: Remove the Clamp() function  
						
						... 
						
						
						
						C++17 adds clamp() to the standard library, so we can remove ours in
favor of it. 
						
						
					 
					
						2018-04-20 10:14:13 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							701dd649e6 
							
						 
					 
					
						
						
							
							Merge pull request  #363  from lioncash/array-size  
						
						... 
						
						
						
						common_funcs: Remove ARRAY_SIZE macro 
						
						
					 
					
						2018-04-20 09:43:02 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							d9e316e353 
							
						 
					 
					
						
						
							
							common_funcs: Remove ARRAY_SIZE macro  
						
						... 
						
						
						
						C++17 has non-member size() which we can just call where necessary. 
						
						
					 
					
						2018-04-19 22:36:52 -04:00