| 
									
										
										
										
											2016-08-13 22:57:50 +10:00
										 |  |  | // Copyright 2016 Dolphin Emulator Project
 | 
					
						
							|  |  |  | // Licensed under GPLv2+
 | 
					
						
							|  |  |  | // Refer to the license.txt file included.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #pragma once
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-30 23:07:50 -04:00
										 |  |  | #include <cstddef>
 | 
					
						
							| 
									
										
										
										
											2016-08-13 22:57:50 +10:00
										 |  |  | #include <vector>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-30 23:07:50 -04:00
										 |  |  | #include "Common/CommonTypes.h"
 | 
					
						
							| 
									
										
										
										
											2016-08-13 22:57:50 +10:00
										 |  |  | 
 | 
					
						
							|  |  |  | namespace Vulkan | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | namespace ShaderCompiler | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | // SPIR-V compiled code type
 | 
					
						
							|  |  |  | using SPIRVCodeType = u32; | 
					
						
							|  |  |  | using SPIRVCodeVector = std::vector<SPIRVCodeType>; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Compile a vertex shader to SPIR-V.
 | 
					
						
							|  |  |  | bool CompileVertexShader(SPIRVCodeVector* out_code, const char* source_code, | 
					
						
							|  |  |  |                          size_t source_code_length, bool prepend_header = true); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Compile a geometry shader to SPIR-V.
 | 
					
						
							|  |  |  | bool CompileGeometryShader(SPIRVCodeVector* out_code, const char* source_code, | 
					
						
							|  |  |  |                            size_t source_code_length, bool prepend_header = true); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Compile a fragment shader to SPIR-V.
 | 
					
						
							|  |  |  | bool CompileFragmentShader(SPIRVCodeVector* out_code, const char* source_code, | 
					
						
							|  |  |  |                            size_t source_code_length, bool prepend_header = true); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | }  // namespace ShaderCompiler
 | 
					
						
							|  |  |  | }  // namespace Vulkan
 |