diff options
Diffstat (limited to 'src/video_core/shader_environment.h')
| -rw-r--r-- | src/video_core/shader_environment.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/video_core/shader_environment.h b/src/video_core/shader_environment.h index a05833f38..bb55b029f 100644 --- a/src/video_core/shader_environment.h +++ b/src/video_core/shader_environment.h | |||
| @@ -63,14 +63,15 @@ public: | |||
| 63 | protected: | 63 | protected: |
| 64 | std::optional<u64> TryFindSize(); | 64 | std::optional<u64> TryFindSize(); |
| 65 | 65 | ||
| 66 | Shader::TextureType ReadTextureTypeImpl(GPUVAddr tic_addr, u32 tic_limit, bool via_header_index, | 66 | Tegra::Texture::TICEntry ReadTextureInfo(GPUVAddr tic_addr, u32 tic_limit, |
| 67 | u32 raw); | 67 | bool via_header_index, u32 raw); |
| 68 | 68 | ||
| 69 | Tegra::MemoryManager* gpu_memory{}; | 69 | Tegra::MemoryManager* gpu_memory{}; |
| 70 | GPUVAddr program_base{}; | 70 | GPUVAddr program_base{}; |
| 71 | 71 | ||
| 72 | std::vector<u64> code; | 72 | std::vector<u64> code; |
| 73 | std::unordered_map<u32, Shader::TextureType> texture_types; | 73 | std::unordered_map<u32, Shader::TextureType> texture_types; |
| 74 | std::unordered_map<u32, Shader::TexturePixelFormat> texture_pixel_formats; | ||
| 74 | std::unordered_map<u64, u32> cbuf_values; | 75 | std::unordered_map<u64, u32> cbuf_values; |
| 75 | 76 | ||
| 76 | u32 local_memory_size{}; | 77 | u32 local_memory_size{}; |
| @@ -104,6 +105,8 @@ public: | |||
| 104 | 105 | ||
| 105 | Shader::TextureType ReadTextureType(u32 handle) override; | 106 | Shader::TextureType ReadTextureType(u32 handle) override; |
| 106 | 107 | ||
| 108 | Shader::TexturePixelFormat ReadTexturePixelFormat(u32 handle) override; | ||
| 109 | |||
| 107 | u32 ReadViewportTransformState() override; | 110 | u32 ReadViewportTransformState() override; |
| 108 | 111 | ||
| 109 | private: | 112 | private: |
| @@ -124,6 +127,8 @@ public: | |||
| 124 | 127 | ||
| 125 | Shader::TextureType ReadTextureType(u32 handle) override; | 128 | Shader::TextureType ReadTextureType(u32 handle) override; |
| 126 | 129 | ||
| 130 | Shader::TexturePixelFormat ReadTexturePixelFormat(u32 handle) override; | ||
| 131 | |||
| 127 | u32 ReadViewportTransformState() override; | 132 | u32 ReadViewportTransformState() override; |
| 128 | 133 | ||
| 129 | private: | 134 | private: |
| @@ -149,6 +154,8 @@ public: | |||
| 149 | 154 | ||
| 150 | [[nodiscard]] Shader::TextureType ReadTextureType(u32 handle) override; | 155 | [[nodiscard]] Shader::TextureType ReadTextureType(u32 handle) override; |
| 151 | 156 | ||
| 157 | [[nodiscard]] Shader::TexturePixelFormat ReadTexturePixelFormat(u32 handle) override; | ||
| 158 | |||
| 152 | [[nodiscard]] u32 ReadViewportTransformState() override; | 159 | [[nodiscard]] u32 ReadViewportTransformState() override; |
| 153 | 160 | ||
| 154 | [[nodiscard]] u32 LocalMemorySize() const override; | 161 | [[nodiscard]] u32 LocalMemorySize() const override; |
| @@ -164,6 +171,7 @@ public: | |||
| 164 | private: | 171 | private: |
| 165 | std::unique_ptr<u64[]> code; | 172 | std::unique_ptr<u64[]> code; |
| 166 | std::unordered_map<u32, Shader::TextureType> texture_types; | 173 | std::unordered_map<u32, Shader::TextureType> texture_types; |
| 174 | std::unordered_map<u32, Shader::TexturePixelFormat> texture_pixel_formats; | ||
| 167 | std::unordered_map<u64, u32> cbuf_values; | 175 | std::unordered_map<u64, u32> cbuf_values; |
| 168 | std::array<u32, 3> workgroup_size{}; | 176 | std::array<u32, 3> workgroup_size{}; |
| 169 | u32 local_memory_size{}; | 177 | u32 local_memory_size{}; |