bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							c4ed0b16b1 
							
						 
					 
					
						
						
							
							gl_state: Update to handle stencil front/back face separately.  
						
						
						
						
					 
					
						2018-08-23 11:08:46 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c7f2fb2151 
							
						 
					 
					
						
						
							
							Merge pull request  #1157  from lioncash/vec  
						
						... 
						
						
						
						gl_shader_gen: Use a std::vector to represent program code instead of std::array 
						
						
					 
					
						2018-08-23 02:19:00 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							232b0d9d2a 
							
						 
					 
					
						
						
							
							Merge pull request  #1156  from Lakumakkara/lop3  
						
						... 
						
						
						
						gl_shader_decompiler: Implement LOP3 
						
						
					 
					
						2018-08-23 02:16:49 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							12ba80a86c 
							
						 
					 
					
						
						
							
							gl_shader_gen: Make ShaderSetup's constructor explicit  
						
						... 
						
						
						
						Prevents implicit conversions. 
						
						
					 
					
						2018-08-22 17:04:44 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							1fd979f50a 
							
						 
					 
					
						
						
							
							gl_shader_gen: Use a std::vector to represent program code instead of std::array  
						
						... 
						
						
						
						While convenient as a std::array, it's also quite a large set of data as
well (32KB). It being an array also means data cannot be std::moved. Any
situation where the code is being set or relocated means that a full
copy of that 32KB data must be done.
If we use a std::vector we do need to allocate on the heap, however, it
does allow us to std::move the data we have within the std::vector into
another std::vector instance, eliminating the need to always copy the
program data (as std::move in this case would just transfer the pointers
and bare necessities over to the new vector instance). 
						
						
					 
					
						2018-08-22 17:04:44 -04:00 
						 
				 
			
				
					
						
							
							
								Laku 
							
						 
					 
					
						
						
						
						
							
						
						
							b2ca8089ce 
							
						 
					 
					
						
						
							
							more fixes  
						
						
						
						
					 
					
						2018-08-23 00:01:40 +03:00 
						 
				 
			
				
					
						
							
							
								Laku 
							
						 
					 
					
						
						
						
						
							
						
						
							e70a3c5a5d 
							
						 
					 
					
						
						
							
							fixes  
						
						
						
						
					 
					
						2018-08-22 21:33:32 +03:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							dd35b4b18a 
							
						 
					 
					
						
						
							
							renderer_opengl: Namespace OpenGL code  
						
						... 
						
						
						
						Namespaces all OpenGL code under the OpenGL namespace.
Prevents polluting the global namespace and allows clear distinction
between other renderers' code in the future. 
						
						
					 
					
						2018-08-22 06:14:47 -04:00 
						 
				 
			
				
					
						
							
							
								Laku 
							
						 
					 
					
						
						
						
						
							
						
						
							4877e6c2f6 
							
						 
					 
					
						
						
							
							remove debug logging  
						
						
						
						
					 
					
						2018-08-22 11:45:28 +03:00 
						 
				 
			
				
					
						
							
							
								Laku 
							
						 
					 
					
						
						
						
						
							
						
						
							8e8326595f 
							
						 
					 
					
						
						
							
							implement lop3  
						
						
						
						
					 
					
						2018-08-22 10:09:44 +03:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							cea627b0fc 
							
						 
					 
					
						
						
							
							Merge pull request  #840  from FearlessTobi/port-3353  
						
						... 
						
						
						
						Port #3353  from Citra: "citra-qt: Add customizable speed limit target " 
						
						
					 
					
						2018-08-22 01:19:50 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5abf71fe65 
							
						 
					 
					
						
						
							
							Merge pull request  #1154  from OatmealDome/topology-lines  
						
						... 
						
						
						
						maxwell_to_gl: Implement PrimitiveTopology::Lines 
						
						
					 
					
						2018-08-22 01:08:34 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							125d7122ac 
							
						 
					 
					
						
						
							
							Merge pull request  #1124  from Subv/logic_ops  
						
						... 
						
						
						
						GPU: Implemented logic ops. 
						
						
					 
					
						2018-08-22 01:05:25 -04:00 
						 
				 
			
				
					
						
							
							
								OatmealDome 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ad1220e1b3 
							
						 
					 
					
						
						
							
							maxwell_to_gl: Implement PrimitiveTopology::Lines  
						
						... 
						
						
						
						Used by Splatoon 2's debug menu. 
						
						
					 
					
						2018-08-22 01:01:06 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							d63b1d21f1 
							
						 
					 
					
						
						
							
							Revert "Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions."  
						
						... 
						
						
						
						- This reverts commit 3ef4b3d4b445960576f10d1ba6521580d03e3da8.
- This commit had broken a lot of games. We really should do a full implementation of this in one change. 
						
						
					 
					
						2018-08-21 20:07:40 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							a0e2bd85a5 
							
						 
					 
					
						
						
							
							shader_bytecode: Parenthesize conditional expression within GetTextureType()  
						
						... 
						
						
						
						Resolves a -Wlogical-op-parentheses warning. 
						
						
					 
					
						2018-08-21 15:08:35 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							bf89a99839 
							
						 
					 
					
						
						
							
							Merge pull request  #1123  from lioncash/screen  
						
						... 
						
						
						
						rasterizer_interface: Remove renderer-specific ScreenInfo type from AccelerateDraw() in RasterizerInterface 
						
						
					 
					
						2018-08-21 01:18:34 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b0f7713fce 
							
						 
					 
					
						
						
							
							Merge pull request  #1132  from Subv/gl_FragDepth  
						
						... 
						
						
						
						Shaders: Implement depth writing in fragment shaders. 
						
						
					 
					
						2018-08-21 01:17:53 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8c9abe1d41 
							
						 
					 
					
						
						
							
							Merge pull request  #1134  from lioncash/log  
						
						... 
						
						
						
						renderer_opengl: Use LOG_DEBUG for GL_DEBUG_SEVERITY_NOTIFICATION and GL_DEBUG_SEVERITY_LOW logs 
						
						
					 
					
						2018-08-21 01:17:31 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ca58929eb0 
							
						 
					 
					
						
						
							
							Merge pull request  #1121  from Subv/tex_reinterpret  
						
						... 
						
						
						
						Rasterizer: Use PBOs to reinterpret texture formats when games re-use the same memory. 
						
						
					 
					
						2018-08-21 01:06:40 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							523e4be02c 
							
						 
					 
					
						
						
							
							renderer_opengl: Use LOG_DEBUG for GL_DEBUG_SEVERITY_NOTIFICATION and GL_DEBUG_SEVERITY_LOW logs  
						
						... 
						
						
						
						LOG_TRACE is only enabled on debug builds which can be quite slow when
trying to debug graphics issues. Instead we can log the messages to the
debug log, which is available on both release and debug builds. 
						
						
					 
					
						2018-08-21 00:23:09 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							fde3b1b6f2 
							
						 
					 
					
						
						
							
							Merge pull request  #1133  from lioncash/guard  
						
						... 
						
						
						
						gl_stream_buffer: Add missing header guard 
						
						
					 
					
						2018-08-20 23:37:55 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							93a4097e9d 
							
						 
					 
					
						
						
							
							gl_stream_buffer: Add missing header guard  
						
						... 
						
						
						
						Prevents potential compilation errors from occuring due to multiple
inclusions 
						
						
					 
					
						2018-08-20 23:25:08 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							e3bddf8137 
							
						 
					 
					
						
						
							
							Shaders: Implement depth writing in fragment shaders.  
						
						... 
						
						
						
						We'll write <last color output reg + 2> to gl_FragDepth. 
						
						
					 
					
						2018-08-20 21:57:56 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e33452f7e8 
							
						 
					 
					
						
						
							
							Merge pull request  #1131  from bunnei/impl-tex3d-texcube  
						
						... 
						
						
						
						gl_shader_decompiler: Implement TextureCube/Texture3D for TEX/TEXS. 
						
						
					 
					
						2018-08-20 22:15:18 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5aaee2ff8d 
							
						 
					 
					
						
						
							
							Merge pull request  #1106  from Subv/multiple_rendertargets  
						
						... 
						
						
						
						Shaders: Write all the enabled color outputs when a fragment shader exits. 
						
						
					 
					
						2018-08-20 21:56:06 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							2ae88feea7 
							
						 
					 
					
						
						
							
							shader_bytecode: Replace some UNIMPLEMENTED logs.  
						
						
						
						
					 
					
						2018-08-20 21:53:49 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							16db8b9d9f 
							
						 
					 
					
						
						
							
							gl_shader_decompiler: Implement Texture3D for TEXS.  
						
						
						
						
					 
					
						2018-08-20 21:53:18 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							948002635f 
							
						 
					 
					
						
						
							
							gl_shader_decompiler: Implement TextureCube for TEX.  
						
						
						
						
					 
					
						2018-08-20 21:53:00 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							eac3cf301c 
							
						 
					 
					
						
						
							
							Shaders: Fixed the coords in TEX with Texture2D.  
						
						... 
						
						
						
						The X and Y coordinates should be in gpr8 and gpr8+1, respectively.
This fixes the cutscene rendering in Sonic Mania. 
						
						
					 
					
						2018-08-20 20:45:46 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							fc5b489b0f 
							
						 
					 
					
						
						
							
							Shaders: Log and crash when using an unimplemented texture type in a texture sampling instruction.  
						
						
						
						
					 
					
						2018-08-20 20:44:56 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							2b9eee4d1e 
							
						 
					 
					
						
						
							
							GPU: Implemented the logic op functionality of the GPU.  
						
						... 
						
						
						
						This will ASSERT if blending is enabled at the same time as logic ops. 
						
						
					 
					
						2018-08-20 18:44:47 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							f24ab6d9e6 
							
						 
					 
					
						
						
							
							GLState: Allow enabling/disabling GL_COLOR_LOGIC_OP independently from blending.  
						
						
						
						
					 
					
						2018-08-20 18:43:11 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							46ef072cf9 
							
						 
					 
					
						
						
							
							rasterizer_interface: Remove ScreenInfo from AccelerateDraw()'s signature  
						
						... 
						
						
						
						This is an OpenGL renderer-specific data type. Given that, this type
shouldn't be used within the base interface for the rasterizer. Instead,
we can pass this information to the rasterizer via reference. 
						
						
					 
					
						2018-08-20 19:43:05 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							6bcdf37d4f 
							
						 
					 
					
						
						
							
							GPU: Added registers for the logicop functionality.  
						
						
						
						
					 
					
						2018-08-20 18:42:36 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							bc16f7f3cc 
							
						 
					 
					
						
						
							
							renderer_base: Make creation of the rasterizer, the responsibility of the renderers themselves  
						
						... 
						
						
						
						Given we use a base-class type within the renderer for the rasterizer
(RasterizerInterface), we want to allow renderers to perform more
complex initialization if they need to do such a thing. This makes it
important to reserve type information.
Given the OpenGL renderer is quite simple settings-wise, this is just a
simple shuffling of the initialization code. For something like Vulkan
however this might involve doing something like:
// Initialize and call rasterizer-specific function that requires
// the full type of the instance created.
auto raster = std::make_unique<VulkanRasterizer>(some, params);
raster->CallSomeVulkanRasterizerSpecificFunction();
// Assign to base class variable
rasterizer = std::move(raster) 
						
						
					 
					
						2018-08-20 19:28:00 -04:00 
						 
				 
			
				
					
						
							
							
								fearlessTobi 
							
						 
					 
					
						
						
						
						
							
						
						
							ba8ff096fd 
							
						 
					 
					
						
						
							
							Port  #3353  from Citra  
						
						
						
						
					 
					
						2018-08-21 01:14:06 +02:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							7784ce1854 
							
						 
					 
					
						
						
							
							Shaders: Write all the enabled color outputs when a fragment shader exits.  
						
						... 
						
						
						
						We were only writing to the first render target before.
Note that this is only the GLSL side of the implementation, supporting multiple render targets requires more changes in the OpenGL renderer.
Dual Source blending is not implemented and stuff that uses it might not work at all. 
						
						
					 
					
						2018-08-20 17:31:25 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							d7c68fbb12 
							
						 
					 
					
						
						
							
							Rasterizer: Reinterpret the raw texture bytes instead of blitting (and thus doing format conversion) to a new texture when a game requests an old texture address with a different format.  
						
						
						
						
					 
					
						2018-08-20 15:20:35 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							3fe77be392 
							
						 
					 
					
						
						
							
							Rasterizer: Don't attempt to copy over the old texture's data when doing a format reinterpretation if we're only going to clear the framebuffer.  
						
						
						
						
					 
					
						2018-08-20 15:20:35 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							028d90eb79 
							
						 
					 
					
						
						
							
							Merge pull request  #1104  from Subv/instanced_arrays  
						
						... 
						
						
						
						GLRasterizer: Implemented instanced vertex arrays. 
						
						
					 
					
						2018-08-20 14:32:50 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							296e57fa0e 
							
						 
					 
					
						
						
							
							Merge pull request  #1115  from Subv/texs_mask  
						
						... 
						
						
						
						Shaders/TEXS: Write to the correct output register when swizzling. 
						
						
					 
					
						2018-08-20 14:31:33 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b20ed93884 
							
						 
					 
					
						
						
							
							Merge pull request  #1112  from Subv/sampler_types  
						
						... 
						
						
						
						Shaders: Use the correct shader type when sampling textures. 
						
						
					 
					
						2018-08-20 14:30:45 -04:00 
						 
				 
			
				
					
						
							
							
								David Marcec 
							
						 
					 
					
						
						
						
						
							
						
						
							23d45715dc 
							
						 
					 
					
						
						
							
							Implemented RGBA8_UINT  
						
						... 
						
						
						
						Needed by kirby 
						
						
					 
					
						2018-08-20 22:26:54 +10:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							6cf719a4ab 
							
						 
					 
					
						
						
							
							Shaders/TEXS: Fixed the component mask in the TEXS instruction.  
						
						... 
						
						
						
						Previously we could end up with a TEXS that didn't write any outputs, this was wrong. 
						
						
					 
					
						2018-08-19 17:09:40 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							51ddb130c5 
							
						 
					 
					
						
						
							
							Merge pull request  #1089  from Subv/neg_bits  
						
						... 
						
						
						
						Shaders: Corrected the 'abs' and 'neg' bit usage in the float arithmetic instructions. 
						
						
					 
					
						2018-08-19 17:01:48 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							9b17486be6 
							
						 
					 
					
						
						
							
							Merge pull request  #1105  from Subv/convert_neg  
						
						... 
						
						
						
						Shader: Remove an unneeded assert, the negate bit is implemented for conversion instructions. 
						
						
					 
					
						2018-08-19 17:01:20 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0a1d4fbc5c 
							
						 
					 
					
						
						
							
							Merge pull request  #1113  from Subv/texs_mask  
						
						... 
						
						
						
						Shaders/TEXS: Fixed the component mask in the TEXS instruction. 
						
						
					 
					
						2018-08-19 17:00:59 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							f7edbcd7a3 
							
						 
					 
					
						
						
							
							Shaders/TEXS: Fixed the component mask in the TEXS instruction.  
						
						... 
						
						
						
						Previously we could end up with a TEXS that didn't write any outputs, this was wrong. 
						
						
					 
					
						2018-08-19 14:00:12 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b0eb580931 
							
						 
					 
					
						
						
							
							Merge pull request  #1102  from ogniK5377/mirror-clamp-edge  
						
						... 
						
						
						
						Added WrapMode MirrorOnceClampToEdge 
						
						
					 
					
						2018-08-19 13:59:41 -04:00