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 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							85da529f15 
							
						 
					 
					
						
						
							
							Merge pull request  #1101  from Subv/ssy_stack  
						
						... 
						
						
						
						Shaders: Implemented a stack for the SSY/SYNC instructions. 
						
						
					 
					
						2018-08-19 13:58:45 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							7fb406c3fc 
							
						 
					 
					
						
						
							
							Shader: Implemented the TLD4 and TLD4S opcodes using GLSL's textureGather.  
						
						... 
						
						
						
						It is unknown how TLD4S determines the sampler type, more research is needed. 
						
						
					 
					
						2018-08-19 12:57:58 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							3ef4b3d4b4 
							
						 
					 
					
						
						
							
							Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions.  
						
						... 
						
						
						
						Different sampler types have their parameters in different registers. 
						
						
					 
					
						2018-08-19 12:57:54 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							73b937b190 
							
						 
					 
					
						
						
							
							Shader: Added bitfields for the texture type of the various sampling instructions.  
						
						
						
						
					 
					
						2018-08-19 12:57:51 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							656758fd81 
							
						 
					 
					
						
						
							
							Shaders: Added decodings for TLD4 and TLD4S  
						
						
						
						
					 
					
						2018-08-19 12:57:08 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							29d4f8c2dd 
							
						 
					 
					
						
						
							
							Merge pull request  #1109  from Subv/ldg_decode  
						
						... 
						
						
						
						Shaders: Added decodings for  the LDG and STG instructions. 
						
						
					 
					
						2018-08-19 13:31:19 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							9baf5de90c 
							
						 
					 
					
						
						
							
							Merge pull request  #1108  from Subv/front_facing  
						
						... 
						
						
						
						Shaders: Implemented the gl_FrontFacing input attribute (attr 63). 
						
						
					 
					
						2018-08-19 13:21:14 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							1b92ae136f 
							
						 
					 
					
						
						
							
							Shaders: Added decodings for  the LDG and STG instructions.  
						
						
						
						
					 
					
						2018-08-19 00:46:34 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							731701a2d2 
							
						 
					 
					
						
						
							
							Shaders: Implemented the gl_FrontFacing input attribute (attr 63).  
						
						
						
						
					 
					
						2018-08-19 00:14:34 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							9b1c49a9cf 
							
						 
					 
					
						
						
							
							Shader: Remove an unneeded assert, the negate bit is implemented for conversion instructions.  
						
						
						
						
					 
					
						2018-08-18 14:48:05 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							e0f66c1fbf 
							
						 
					 
					
						
						
							
							GLRasterizer: Implemented instanced vertex arrays.  
						
						... 
						
						
						
						Before each draw call, for every enabled vertex array configured as instanced, we take the current instance id and divide it by its configured divisor, then we multiply that by the corresponding stride and increment the start address by the resulting amount. This way we can simulate the vertex array being incremented once per instance without actually using OpenGL's instancing functions. 
						
						
					 
					
						2018-08-18 14:42:26 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							8335b2f115 
							
						 
					 
					
						
						
							
							Shader: Implemented the predicate and mode arguments of LOP.  
						
						... 
						
						
						
						The mode can be used to set the predicate to true depending on the result of the logic operation. In some cases, this means discarding the result (writing it to register 0xFF (Zero)).
This is used by Super Mario Odyssey. 
						
						
					 
					
						2018-08-18 14:36:37 -05:00 
						 
				 
			
				
					
						
							
							
								David Marcec 
							
						 
					 
					
						
						
						
						
							
						
						
							71cc482bbd 
							
						 
					 
					
						
						
							
							Added WrapMode MirrorOnceClampToEdge  
						
						... 
						
						
						
						Used by splatoon 2 
						
						
					 
					
						2018-08-19 02:26:50 +10:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							ff358d97e8 
							
						 
					 
					
						
						
							
							Shaders: Implemented a stack for the SSY/SYNC instructions.  
						
						... 
						
						
						
						The SSY instruction pushes an address into the stack, and the SYNC instruction pops it. The current stack depth is 20, we should figure out if this is enough or not. 
						
						
					 
					
						2018-08-18 10:48:12 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							2e95ba2e9c 
							
						 
					 
					
						
						
							
							Shaders: Corrected the 'abs' and 'neg' bit usage in the float arithmetic instructions.  
						
						... 
						
						
						
						We should definitely audit our shader generator for more errors like this. 
						
						
					 
					
						2018-08-18 10:22:42 -05:00 
						 
				 
			
				
					
						
							
							
								David Marcec 
							
						 
					 
					
						
						
						
						
							
						
						
							63dff47e22 
							
						 
					 
					
						
						
							
							Added predcondition GreaterThanWithNan  
						
						
						
						
					 
					
						2018-08-18 17:49:59 +10:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							504cff2b7a 
							
						 
					 
					
						
						
							
							Merge pull request  #1096  from bunnei/supported-blits  
						
						... 
						
						
						
						gl_rasterizer_cache: Remove asserts for supported blits. 
						
						
					 
					
						2018-08-17 22:41:53 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							e341d868ee 
							
						 
					 
					
						
						
							
							gl_rasterizer_cache: Remove asserts for supported blits.  
						
						
						
						
					 
					
						2018-08-17 00:10:08 -04:00