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 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							3841ec4200 
							
						 
					 
					
						
						
							
							renderer_opengl: Add missing header guards  
						
						
						
						
					 
					
						2018-04-19 21:13:59 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							17ad56c1dc 
							
						 
					 
					
						
						
							
							Merge pull request  #356  from lioncash/shader  
						
						... 
						
						
						
						glsl_shader_decompiler: Minor API changes to ShaderWriter 
						
						
					 
					
						2018-04-19 21:09:25 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							e3b6f6c016 
							
						 
					 
					
						
						
							
							glsl_shader_decompiler: Use std::string_view instead of std::string for AddLine()  
						
						... 
						
						
						
						This function doesn't need to take ownership of the string data being
given to it, considering all we do is append the characters to the
internal string instance.
Instead, use a string view to simply reference the string data without
any potential heap allocation.
Now anything that is a raw const char* won't need to be converted to a
std::string before appending. 
						
						
					 
					
						2018-04-19 20:12:58 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							412b31ad72 
							
						 
					 
					
						
						
							
							glsl_shader_decompiler: Add AddNewLine() function to ShaderWriter  
						
						... 
						
						
						
						Avoids constructing a std::string just to append a newline character 
						
						
					 
					
						2018-04-19 20:09:27 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							aa26baa3db 
							
						 
					 
					
						
						
							
							glsl_shader_decompiler: Add char overload for ShaderWriter's AddLine()  
						
						... 
						
						
						
						Avoids constructing a std::string just to append a character. 
						
						
					 
					
						2018-04-19 20:04:09 -04:00