Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							01db5cf203 
							
						 
					 
					
						
						
							
							async_shaders: emplace threads into the worker thread vector  
						
						... 
						
						
						
						Same behavior, but constructs the threads in place instead of moving
them. 
						
					 
					
						2020-11-20 04:46:56 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							ba3916fc67 
							
						 
					 
					
						
						
							
							async_shaders: Simplify implementation of GetCompletedWork()  
						
						... 
						
						
						
						This is equivalent to moving all the contents and then clearing the
vector. This avoids a redundant allocation. 
						
					 
					
						2020-11-20 04:44:44 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							3fcc98e11a 
							
						 
					 
					
						
						
							
							async_shaders: Simplify moving data into the pending queue  
						
						
						
					 
					
						2020-11-20 04:41:29 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							5b441fa25d 
							
						 
					 
					
						
						
							
							async_shaders: std::move data within QueueVulkanShader()  
						
						... 
						
						
						
						Same behavior, but avoids redundant copies.
While we're at it, we can simplify the pushing of the parameters into
the pending queue. 
						
					 
					
						2020-11-20 04:38:18 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							70812ec57b 
							
						 
					 
					
						
						
							
							rasterizer_interface: Make use of [[nodiscard]] where applicable  
						
						
						
					 
					
						2020-11-17 07:19:13 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							a78021580d 
							
						 
					 
					
						
						
							
							render_base: Make use of [[nodiscard]] where applicable  
						
						
						
					 
					
						2020-11-17 07:19:12 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							b928fca114 
							
						 
					 
					
						
						
							
							gpu: Make use of [[nodiscard]] where applicable  
						
						
						
					 
					
						2020-11-17 07:19:09 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							dc5396a466 
							
						 
					 
					
						
						
							
							video_core: dma_pusher: Remove integrity check on command lists.  
						
						... 
						
						
						
						- This seems to cause softlocks in Breath of the Wild. 
						
					 
					
						2020-11-07 00:08:19 -08:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							91a45834fd 
							
						 
					 
					
						
						
							
							Merge pull request  #4891  from lioncash/clang2  
						
						... 
						
						
						
						General: Fix clang build 
						
					 
					
						2020-11-06 10:33:13 -08:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							a111a9ae2c 
							
						 
					 
					
						
						
							
							Merge pull request  #4854  from ReinUsesLisp/cube-array-shadow  
						
						... 
						
						
						
						shader: Partially implement texture cube array shadow 
						
					 
					
						2020-11-05 16:25:00 -08:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							6f006d051e 
							
						 
					 
					
						
						
							
							General: Fix clang build  
						
						... 
						
						
						
						Allows building on clang to work again 
						
					 
					
						2020-11-05 10:07:16 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							087f52e872 
							
						 
					 
					
						
						
							
							Merge pull request  #4858  from lioncash/initializer  
						
						... 
						
						
						
						General: Resolve a few missing initializer warnings 
						
					 
					
						2020-11-04 12:10:10 -08:00 
						 
				 
			
				
					
						
							
							
								Chloe 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6bbbbe8f85 
							
						 
					 
					
						
						
							
							Merge pull request  #4869  from bunnei/improve-gpu-sync  
						
						... 
						
						
						
						Improvements to GPU synchronization & various refactoring 
						
					 
					
						2020-11-04 18:36:55 +11:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4bfa411ddc 
							
						 
					 
					
						
						
							
							Merge pull request  #4874  from lioncash/nodiscard2  
						
						... 
						
						
						
						nvdec: Make use of [[nodiscard]] where applicable 
						
					 
					
						2020-11-03 16:34:07 -08:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							4f0f481f63 
							
						 
					 
					
						
						
							
							nvdec: Make use of [[nodiscard]] where applicable  
						
						... 
						
						
						
						Prevents bugs from occurring where the results of a function are
accidentally discarded 
						
					 
					
						2020-11-02 02:45:15 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1089d76736 
							
						 
					 
					
						
						
							
							Merge pull request  #4865  from ameerj/async-threadcount  
						
						... 
						
						
						
						async_shaders: Increase Async worker thread count for >8 thread cpus 
						
					 
					
						2020-11-01 01:54:01 -07:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							c6e1c46ac7 
							
						 
					 
					
						
						
							
							video_core: dma_pusher: Add support for integrity checks.  
						
						... 
						
						
						
						- Log corrupted command lists, rather than crash. 
						
					 
					
						2020-11-01 01:52:38 -07:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							c64545d07a 
							
						 
					 
					
						
						
							
							video_core: dma_pusher: Add support for prefetched command lists.  
						
						
						
					 
					
						2020-11-01 01:52:38 -07:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							6053b95552 
							
						 
					 
					
						
						
							
							video_core: gpu: Implement WaitFence and IncrementSyncPoint.  
						
						
						
					 
					
						2020-11-01 01:52:37 -07:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							98f68d06f1 
							
						 
					 
					
						
						
							
							Merge pull request  #4853  from ReinUsesLisp/fcmp-imm  
						
						... 
						
						
						
						shader/arithmetic: Implement FCMP immediate + register variant 
						
					 
					
						2020-10-31 01:25:02 -07:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							12eeffcb7c 
							
						 
					 
					
						
						
							
							vp9: Be explicit with copy and move operators  
						
						... 
						
						
						
						It's deprecated in the language to autogenerate these if the destructor
for a type is specified, so we can explicitly specify how we want these
to be generated. 
						
					 
					
						2020-10-29 22:57:35 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							0d713cf8eb 
							
						 
					 
					
						
						
							
							vp9: Mark functions with [[nodiscard]] where applicable  
						
						... 
						
						
						
						Prevents values from mistakenly being discarded in cases where it's a
bug to do so. 
						
					 
					
						2020-10-29 22:57:32 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							badea3b301 
							
						 
					 
					
						
						
							
							vp9: Provide a default initializer for "hidden" member  
						
						... 
						
						
						
						The API of VP9 exposes a WasFrameHidden() function which accesses this
member. Given the constructor previously didn't initialize this member,
it's a potential vector for an uninitialized read.
Instead, we can initialize this to a deterministic value to prevent that
from occurring. 
						
					 
					
						2020-10-29 22:35:55 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							f8543249f0 
							
						 
					 
					
						
						
							
							vp9: Make some member functions internally linked  
						
						... 
						
						
						
						These helper functions don't directly modify any member state and can be
hidden from view. 
						
					 
					
						2020-10-29 22:34:46 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							5553bd3ba2 
							
						 
					 
					
						
						
							
							General: Resolve a few missing initializer warnings  
						
						... 
						
						
						
						Resolves a few -Wmissing-initializer warnings. 
						
					 
					
						2020-10-29 19:37:07 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ef29bf4515 
							
						 
					 
					
						
						
							
							Merge pull request  #4837  from lioncash/nvdec-2  
						
						... 
						
						
						
						nvdec: Minor tidying up 
						
					 
					
						2020-10-29 12:28:07 -07:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
						
						
							
						
						
							3620206136 
							
						 
					 
					
						
						
							
							async_shaders: Increase Async worker thread count for 8+ thread cpus  
						
						... 
						
						
						
						Adds 1 async worker thread for every 2 available threads above 8 
						
					 
					
						2020-10-29 14:16:45 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c6d001c94f 
							
						 
					 
					
						
						
							
							Merge pull request  #4838  from lioncash/syncmgr  
						
						... 
						
						
						
						sync_manager: Amend parameter order of calls to SyncptIncr constructor 
						
					 
					
						2020-10-28 22:49:22 -07:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							94eca09cf6 
							
						 
					 
					
						
						
							
							video_core: cdma_pusher: Add missing LOG_DEBUG field in ExecuteCommand.  
						
						
						
					 
					
						2020-10-28 16:47:08 -07:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							657771bdcb 
							
						 
					 
					
						
						
							
							shader: Partially implement texture cube array shadow  
						
						... 
						
						
						
						This implements texture cube arrays with shadow comparisons but doesn't
fix the asserts related to it.
Fixes out of bounds reads on swizzle constructors and makes them use
bounds checked ::at instead of the unsafe operator[]. 
						
					 
					
						2020-10-28 17:12:40 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							44b552be71 
							
						 
					 
					
						
						
							
							shader/arithmetic: Implement FCMP immediate + register variant  
						
						... 
						
						
						
						Trivially add the encoding for this. 
						
					 
					
						2020-10-28 17:05:41 -03:00 
						 
				 
			
				
					
						
							
							
								LC 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							978e7897a3 
							
						 
					 
					
						
						
							
							Merge pull request  #4848  from ReinUsesLisp/type-limits  
						
						... 
						
						
						
						video_core: Enforce -Werror=type-limits 
						
					 
					
						2020-10-28 03:16:10 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							79da90cea8 
							
						 
					 
					
						
						
							
							video_core: Enforce -Wredundant-move and -Wpessimizing-move  
						
						... 
						
						
						
						Silence three warnings and make them errors to avoid introducing more in the future. 
						
					 
					
						2020-10-28 02:44:50 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							4a451e5849 
							
						 
					 
					
						
						
							
							video_core: Enforce -Werror=type-limits  
						
						... 
						
						
						
						Silences one warning and avoids introducing more in the future. 
						
					 
					
						2020-10-28 02:37:47 -03:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							047e77e2f0 
							
						 
					 
					
						
						
							
							sync_manager: Amend parameter order of calls to SyncptIncr constructor  
						
						... 
						
						
						
						Corrects some cases where the arguments would be incorrectly swapped. 
						
					 
					
						2020-10-27 03:22:57 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							cce14b4cd7 
							
						 
					 
					
						
						
							
							h264: Make WriteUe take a u32  
						
						... 
						
						
						
						Enforces the type of the desired value in calling code. 
						
					 
					
						2020-10-27 03:21:53 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							6291975731 
							
						 
					 
					
						
						
							
							vp9: std::move buffer within ComposeFrameHeader()  
						
						... 
						
						
						
						We can move the buffer here to avoid a heap reallocation 
						
					 
					
						2020-10-27 02:27:31 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							00decfbb07 
							
						 
					 
					
						
						
							
							vp9: Remove dead code  
						
						
						
					 
					
						2020-10-27 02:26:17 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							111802bbbb 
							
						 
					 
					
						
						
							
							vp9: Join declarations with assignments  
						
						
						
					 
					
						2020-10-27 02:26:03 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							3b5d5fa86f 
							
						 
					 
					
						
						
							
							vp9: Remove pessimizing moves  
						
						... 
						
						
						
						The move will already occur without std::move. 
						
					 
					
						2020-10-27 02:21:40 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							dcc26c54a5 
							
						 
					 
					
						
						
							
							vp9: Resolve variable shadowing  
						
						
						
					 
					
						2020-10-27 02:20:17 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							c04203b786 
							
						 
					 
					
						
						
							
							nvdec: Tidy up header includes  
						
						... 
						
						
						
						Prevents a few unnecessary inclusions. 
						
					 
					
						2020-10-27 02:16:42 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
						
						
							
						
						
							eb67a45ca8 
							
						 
					 
					
						
						
							
							video_core: NVDEC Implementation  
						
						... 
						
						
						
						This commit aims to implement the NVDEC (Nvidia Decoder) functionality, with video frame decoding being handled by the FFmpeg library.
The process begins with Ioctl commands being sent to the NVDEC and VIC (Video Image Composer) emulated devices. These allocate the necessary GPU buffers for the frame data, along with providing information on the incoming video data. A Submit command then signals the GPU to process and decode the frame data.
To decode the frame, the respective codec's header must be manually composed from the information provided by NVDEC, then sent with the raw frame data to the ffmpeg library.
Currently, H264 and VP9 are supported, with VP9 having some minor artifacting issues related mainly to the reference frame composition in its uncompressed header.
Async GPU is not properly implemented at the moment.
Co-Authored-By: David <25727384+ogniK5377@users.noreply.github.com> 
						
					 
					
						2020-10-26 23:07:36 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3e46934442 
							
						 
					 
					
						
						
							
							Merge pull request  #4706  from ReinUsesLisp/cmake-host-shaders  
						
						... 
						
						
						
						video_core: Fix instances where msbuild always regenerated host shaders 
						
					 
					
						2020-10-23 10:01:16 -07:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							678d012c2c 
							
						 
					 
					
						
						
							
							video_core: Conditially activate relevant compiler warnings  
						
						... 
						
						
						
						These compiler flags aren't shared with clang, so specifying these flags
unconditionally can lead to a bit of warning spam.
While we're in the area, we can also enable -Wunused-but-set-parameter
given this is almost always a bug. 
						
					 
					
						2020-10-20 20:28:25 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							f21a189148 
							
						 
					 
					
						
						
							
							gl_arb_decompiler: Implement robust buffer operations  
						
						... 
						
						
						
						This emulates the behavior we get on GLSL with regular SSBOs with a
pointer + length pair. It aims to be consistent with the crashes we
might get.
Out of bounds stores are ignored. Atomics are ignored and return zero.
Reads return zero. 
						
					 
					
						2020-10-20 03:34:32 -03:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f1ead11df7 
							
						 
					 
					
						
						
							
							Merge pull request  #4204  from ReinUsesLisp/vulkan-1.0  
						
						... 
						
						
						
						renderer_vulkan: Create and properly use Vulkan 1.0 instances when 1.1 is not available 
						
					 
					
						2020-10-19 14:18:54 -07:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							743fe1aea3 
							
						 
					 
					
						
						
							
							Merge pull request  #4782  from ReinUsesLisp/remove-dyn-primitive  
						
						... 
						
						
						
						vk_graphics_pipeline: Manage primitive topology as fixed state 
						
					 
					
						2020-10-17 22:14:17 -07:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d47ac3ce09 
							
						 
					 
					
						
						
							
							Merge pull request  #4772  from goldenx86/block-rdna  
						
						... 
						
						
						
						vk_device: Block VK_EXT_extended_dynamic_state for RDNA devices 
						
					 
					
						2020-10-14 17:51:39 -07:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							e4e0abc418 
							
						 
					 
					
						
						
							
							vk_graphics_pipeline: Manage primitive topology as fixed state  
						
						... 
						
						
						
						Vulkan has requirements for primitive topologies that don't play nicely
with yuzu's. Since it's only 4 bits, we can move it to fixed state
without changing the size of the pipeline key.
- Fixes a regression on recent Nvidia drivers on Fire Emblem: Three
  Houses. 
						
					 
					
						2020-10-13 04:08:33 -03:00