ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							53acdda772 
							
						 
					 
					
						
						
							
							vk_scheduler: Allow command submission on worker thread  
						
						... 
						
						
						
						This changes how Scheduler::Flush works. It queues the current command
buffer to be sent to the GPU but does not do it immediately. The Vulkan
worker thread takes care of that. Users will have to use
Scheduler::Flush + Scheduler::WaitWorker to get the previous behavior.
Scheduler::Finish is unchanged.
To avoid waiting on work never queued, Scheduler::Wait sends the current
command buffer if that's what the caller wants to wait. 
						
						
					 
					
						2021-07-22 21:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							c5425b38c1 
							
						 
					 
					
						
						
							
							vk_compute_pass: Fix -Wshadow warning  
						
						
						
						
					 
					
						2021-07-22 21:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							025b20f96a 
							
						 
					 
					
						
						
							
							shader: Move pipeline cache logic to separate files  
						
						... 
						
						
						
						Move code to separate files to be able to reuse it from OpenGL. This
greatly simplifies the pipeline cache logic on Vulkan.
Transform feedback state is not yet abstracted and it's still
intrusively stored inside vk_pipeline_cache. It will be moved when
needed on OpenGL. 
						
						
					 
					
						2021-07-22 21:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							ac8835659e 
							
						 
					 
					
						
						
							
							vulkan: Defer descriptor set work to the Vulkan thread  
						
						... 
						
						
						
						Move descriptor lookup and update code to a separate thread. Delaying
this removes work from the main GPU thread and allows creating
descriptor layouts on another thread. This reduces a bit the workload
of the main thread when new pipelines are encountered. 
						
						
					 
					
						2021-07-22 21:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							2f3c3dfc10 
							
						 
					 
					
						
						
							
							vulkan: Rework descriptor allocation algorithm  
						
						... 
						
						
						
						Create multiple descriptor pools on demand. There are some degrees of
freedom what is considered a compatible pool to avoid wasting large
pools on small descriptors. 
						
						
					 
					
						2021-07-22 21:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							5ed871398b 
							
						 
					 
					
						
						
							
							vk_graphics_pipeline: Generate specialized pipeline config functions and improve code  
						
						
						
						
					 
					
						2021-07-22 21:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							f4ace63957 
							
						 
					 
					
						
						
							
							shader: Accelerate pipeline transitions and use dirty flags for shaders  
						
						
						
						
					 
					
						2021-07-22 21:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							8fda599a31 
							
						 
					 
					
						
						
							
							vk_compute_pipeline: Fix index comparison oversight on compute texture buffers  
						
						
						
						
					 
					
						2021-07-22 21:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							0c0ee9d897 
							
						 
					 
					
						
						
							
							vulkan_device: Require shaderClipDistance and shaderCullDistance features  
						
						
						
						
					 
					
						2021-07-22 21:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							5b1b06f11e 
							
						 
					 
					
						
						
							
							vk_graphics_pipeline: Guard against non-tessellation pipelines using patches  
						
						
						
						
					 
					
						2021-07-22 21:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								Rodrigo Locatti 
							
						 
					 
					
						
						
						
						
							
						
						
							2dc86372c7 
							
						 
					 
					
						
						
							
							shader: Fix bugs and build issues on GCC  
						
						
						
						
					 
					
						2021-07-22 21:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							7a1f296cda 
							
						 
					 
					
						
						
							
							shader: Fix render targets with null attachments  
						
						
						
						
					 
					
						2021-07-22 21:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							0ace34575c 
							
						 
					 
					
						
						
							
							shader: Require dual source blending  
						
						
						
						
					 
					
						2021-07-22 21:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							d10cf55353 
							
						 
					 
					
						
						
							
							shader: Implement indexed textures  
						
						
						
						
					 
					
						2021-07-22 21:51:28 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							050e81500c 
							
						 
					 
					
						
						
							
							shader: Move microinstruction header to the value header  
						
						
						
						
					 
					
						2021-07-22 21:51:28 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							dd860b684c 
							
						 
					 
					
						
						
							
							shader: Implement D3D samplers  
						
						
						
						
					 
					
						2021-07-22 21:51:28 -04:00 
						 
				 
			
				
					
						
							
							
								FernandoS27 
							
						 
					 
					
						
						
						
						
							
						
						
							f18a6dd1bd 
							
						 
					 
					
						
						
							
							shader: Implement SR_Y_DIRECTION  
						
						
						
						
					 
					
						2021-07-22 21:51:28 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							95815a3883 
							
						 
					 
					
						
						
							
							shader: Implement PIXLD.MY_INDEX  
						
						
						
						
					 
					
						2021-07-22 21:51:28 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							e3514bcd6b 
							
						 
					 
					
						
						
							
							spirv: Implement ViewportMask with NV_viewport_array2  
						
						
						
						
					 
					
						2021-07-22 21:51:28 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							183855e396 
							
						 
					 
					
						
						
							
							shader: Implement tessellation shaders, polygon mode and invocation id  
						
						
						
						
					 
					
						2021-07-22 21:51:27 -04:00 
						 
				 
			
				
					
						
							
							
								lat9nq 
							
						 
					 
					
						
						
						
						
							
						
						
							7ae3ea6bee 
							
						 
					 
					
						
						
							
							vk_pipeline_cache: Silence GCC warnings  
						
						... 
						
						
						
						Silences `-Werror=missing-field-initializers` due to missing
initializers. 
						
						
					 
					
						2021-07-22 21:51:27 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							416e1b7441 
							
						 
					 
					
						
						
							
							spirv: Implement image buffers  
						
						
						
						
					 
					
						2021-07-22 21:51:27 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
						
						
							
						
						
							6c512f4bff 
							
						 
					 
					
						
						
							
							spirv: Implement alpha test  
						
						
						
						
					 
					
						2021-07-22 21:51:27 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							b126987c59 
							
						 
					 
					
						
						
							
							shader: Implement transform feedbacks and define file format  
						
						
						
						
					 
					
						2021-07-22 21:51:27 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							a83579b50a 
							
						 
					 
					
						
						
							
							shader: Implement early Z tests  
						
						
						
						
					 
					
						2021-07-22 21:51:27 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							fa75b9b062 
							
						 
					 
					
						
						
							
							spirv: Rework storage buffers and shader memory  
						
						
						
						
					 
					
						2021-07-22 21:51:27 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							f263760c5a 
							
						 
					 
					
						
						
							
							shader: Implement geometry shaders  
						
						
						
						
					 
					
						2021-07-22 21:51:27 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							a33014022e 
							
						 
					 
					
						
						
							
							pipeline_helper: Simplify descriptor objects initialization  
						
						
						
						
					 
					
						2021-07-22 21:51:27 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
						
						
							
						
						
							3db2b3effa 
							
						 
					 
					
						
						
							
							shader: Implement ATOM/S and RED  
						
						
						
						
					 
					
						2021-07-22 21:51:27 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							479ca00071 
							
						 
					 
					
						
						
							
							nsight_aftermath_tracker: Report used shaders to Nsight Aftermath  
						
						
						
						
					 
					
						2021-07-22 21:51:27 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							ab543f1821 
							
						 
					 
					
						
						
							
							spirv: Guard against typeless image reads on unsupported devices  
						
						
						
						
					 
					
						2021-07-22 21:51:27 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							1030b612a3 
							
						 
					 
					
						
						
							
							vk_rasterizer: Request outside render pass execution context for compute  
						
						
						
						
					 
					
						2021-07-22 21:51:27 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							e5e79648cf 
							
						 
					 
					
						
						
							
							pipeline_helper: Add missing [[maybe_unused]]  
						
						
						
						
					 
					
						2021-07-22 21:51:27 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							7cb2ab3585 
							
						 
					 
					
						
						
							
							shader: Implement SULD and SUST  
						
						
						
						
					 
					
						2021-07-22 21:51:26 -04:00 
						 
				 
			
				
					
						
							
							
								lat9nq 
							
						 
					 
					
						
						
						
						
							
						
						
							5bfcafa0a2 
							
						 
					 
					
						
						
							
							shader: Address feedback + clang format  
						
						
						
						
					 
					
						2021-07-22 21:51:26 -04:00 
						 
				 
			
				
					
						
							
							
								lat9nq 
							
						 
					 
					
						
						
						
						
							
						
						
							0bb85f6a75 
							
						 
					 
					
						
						
							
							shader_recompiler,video_core: Cleanup some GCC and Clang errors  
						
						... 
						
						
						
						Mostly fixing unused *, implicit conversion, braced scalar init,
fpermissive, and some others.
Some Clang errors likely remain in video_core, and std::ranges is still
a pertinent issue in shader_recompiler
shader_recompiler: cmake: Force bracket depth to 1024 on Clang
Increases the maximum fold expression depth
thread_worker: Include condition_variable
Don't use list initializers in control flow
Co-authored-by: ReinUsesLisp <reinuseslisp@airmail.cc> 
						
						
					 
					
						2021-07-22 21:51:26 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							e9a91bc5cc 
							
						 
					 
					
						
						
							
							shader: Interact texture buffers with buffer cache  
						
						
						
						
					 
					
						2021-07-22 21:51:26 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							1f3eb601ac 
							
						 
					 
					
						
						
							
							shader: Implement texture buffers  
						
						
						
						
					 
					
						2021-07-22 21:51:26 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							bfeeb23ddc 
							
						 
					 
					
						
						
							
							vk_pipeline_cache: Fix num of pipeline workers on weird platforms  
						
						
						
						
					 
					
						2021-07-22 21:51:26 -04:00 
						 
				 
			
				
					
						
							
							
								FernandoS27 
							
						 
					 
					
						
						
						
						
							
						
						
							72daa2a039 
							
						 
					 
					
						
						
							
							shader: Fix ShadowCube declaration type, set number of pipeline threads based on hardware  
						
						
						
						
					 
					
						2021-07-22 21:51:26 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							5b3c6d59c2 
							
						 
					 
					
						
						
							
							vk_compute_pass: Fix compute passes  
						
						
						
						
					 
					
						2021-07-22 21:51:26 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							5ed68e83db 
							
						 
					 
					
						
						
							
							shader: Remove atomic flags and use mutex + cond variable for pipelines  
						
						
						
						
					 
					
						2021-07-22 21:51:26 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							6ff2e9ba09 
							
						 
					 
					
						
						
							
							vk_pipeline_cache: Remove unnecesary scope in pipeline cache locking  
						
						
						
						
					 
					
						2021-07-22 21:51:26 -04:00 
						 
				 
			
				
					
						
							
							
								FernandoS27 
							
						 
					 
					
						
						
						
						
							
						
						
							480dc0d5e6 
							
						 
					 
					
						
						
							
							vk_pipeline_cache: Small fixes to the pipeline cache  
						
						
						
						
					 
					
						2021-07-22 21:51:26 -04:00 
						 
				 
			
				
					
						
							
							
								FernandoS27 
							
						 
					 
					
						
						
						
						
							
						
						
							12f5f32098 
							
						 
					 
					
						
						
							
							shader: Mark SSBOs as written when they are  
						
						
						
						
					 
					
						2021-07-22 21:51:25 -04:00 
						 
				 
			
				
					
						
							
							
								FernandoS27 
							
						 
					 
					
						
						
						
						
							
						
						
							d819ba4489 
							
						 
					 
					
						
						
							
							shader: Implement ViewportIndex  
						
						
						
						
					 
					
						2021-07-22 21:51:25 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							d0a529683a 
							
						 
					 
					
						
						
							
							vulkan: Serialize pipelines on a separate thread  
						
						
						
						
					 
					
						2021-07-22 21:51:25 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							8771639d1e 
							
						 
					 
					
						
						
							
							vulkan: Create pipeline layouts in separate threads  
						
						
						
						
					 
					
						2021-07-22 21:51:25 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							2fc698b040 
							
						 
					 
					
						
						
							
							vulkan: Build pipelines in parallel at runtime  
						
						... 
						
						
						
						Wait from the worker thread for a pipeline to build before binding it to
the command buffer. This allows queueing pipelines to multiple threads. 
						
						
					 
					
						2021-07-22 21:51:25 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							0c933e20de 
							
						 
					 
					
						
						
							
							vk_pipeline_cache: Name SPIR-V modules  
						
						
						
						
					 
					
						2021-07-22 21:51:25 -04:00