vk_pipeline_cache: Add pipeline cache
This commit is contained in:
		| @@ -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, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user