forked from eden-emu/eden
		
	vk_pipeline_cache: Add pipeline cache
This commit is contained in:
		
							parent
							
								
									2be5c7eff4
								
							
						
					
					
						commit
						c63cf4fa2e
					
				
					 8 changed files with 358 additions and 117 deletions
				
			
		|  | @ -3,8 +3,8 @@ | |||
| #include <array> | ||||
| 
 | ||||
| #include "common/common_types.h" | ||||
| #include "shader_recompiler/stage.h" | ||||
| #include "shader_recompiler/program_header.h" | ||||
| #include "shader_recompiler/stage.h" | ||||
| 
 | ||||
| namespace Shader { | ||||
| 
 | ||||
|  | @ -14,9 +14,9 @@ public: | |||
| 
 | ||||
|     [[nodiscard]] virtual u64 ReadInstruction(u32 address) = 0; | ||||
| 
 | ||||
|     [[nodiscard]] virtual u32 TextureBoundBuffer() = 0; | ||||
|     [[nodiscard]] virtual u32 TextureBoundBuffer() const = 0; | ||||
| 
 | ||||
|     [[nodiscard]] virtual std::array<u32, 3> WorkgroupSize() = 0; | ||||
|     [[nodiscard]] virtual std::array<u32, 3> WorkgroupSize() const = 0; | ||||
| 
 | ||||
|     [[nodiscard]] const ProgramHeader& SPH() const noexcept { | ||||
|         return sph; | ||||
|  | @ -26,9 +26,14 @@ public: | |||
|         return stage; | ||||
|     } | ||||
| 
 | ||||
|     [[nodiscard]] u32 StartAddress() const noexcept { | ||||
|         return start_address; | ||||
|     } | ||||
| 
 | ||||
| protected: | ||||
|     ProgramHeader sph{}; | ||||
|     Stage stage{}; | ||||
|     u32 start_address{}; | ||||
| }; | ||||
| 
 | ||||
| } // namespace Shader
 | ||||
|  |  | |||
|  | @ -39,11 +39,11 @@ u64 FileEnvironment::ReadInstruction(u32 offset) { | |||
|     return data[offset / 8]; | ||||
| } | ||||
| 
 | ||||
| u32 FileEnvironment::TextureBoundBuffer() { | ||||
| u32 FileEnvironment::TextureBoundBuffer() const { | ||||
|     throw NotImplementedException("Texture bound buffer serialization"); | ||||
| } | ||||
| 
 | ||||
| std::array<u32, 3> FileEnvironment::WorkgroupSize() { | ||||
| std::array<u32, 3> FileEnvironment::WorkgroupSize() const { | ||||
|     return {1, 1, 1}; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -14,9 +14,9 @@ public: | |||
| 
 | ||||
|     u64 ReadInstruction(u32 offset) override; | ||||
| 
 | ||||
|     u32 TextureBoundBuffer() override; | ||||
|     u32 TextureBoundBuffer() const override; | ||||
| 
 | ||||
|     std::array<u32, 3> WorkgroupSize() override; | ||||
|     std::array<u32, 3> WorkgroupSize() const override; | ||||
| 
 | ||||
| private: | ||||
|     std::vector<u64> data; | ||||
|  |  | |||
|  | @ -4,9 +4,11 @@ | |||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "common/common_types.h" | ||||
| 
 | ||||
| namespace Shader { | ||||
| 
 | ||||
| enum class Stage { | ||||
| enum class Stage : u32 { | ||||
|     Compute, | ||||
|     VertexA, | ||||
|     VertexB, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 ReinUsesLisp
						ReinUsesLisp