summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader_environment.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/shader_environment.h')
-rw-r--r--src/video_core/shader_environment.h12
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:
protected:
std::optional<u64> TryFindSize();
- Shader::TextureType ReadTextureTypeImpl(GPUVAddr tic_addr, u32 tic_limit, bool via_header_index,
- u32 raw);
+ Tegra::Texture::TICEntry ReadTextureInfo(GPUVAddr tic_addr, u32 tic_limit,
+ bool via_header_index, u32 raw);
Tegra::MemoryManager* gpu_memory{};
GPUVAddr program_base{};
std::vector<u64> code;
std::unordered_map<u32, Shader::TextureType> texture_types;
+ std::unordered_map<u32, Shader::TexturePixelFormat> texture_pixel_formats;
std::unordered_map<u64, u32> cbuf_values;
u32 local_memory_size{};
@@ -104,6 +105,8 @@ public:
Shader::TextureType ReadTextureType(u32 handle) override;
+ Shader::TexturePixelFormat ReadTexturePixelFormat(u32 handle) override;
+
u32 ReadViewportTransformState() override;
private:
@@ -124,6 +127,8 @@ public:
Shader::TextureType ReadTextureType(u32 handle) override;
+ Shader::TexturePixelFormat ReadTexturePixelFormat(u32 handle) override;
+
u32 ReadViewportTransformState() override;
private:
@@ -149,6 +154,8 @@ public:
[[nodiscard]] Shader::TextureType ReadTextureType(u32 handle) override;
+ [[nodiscard]] Shader::TexturePixelFormat ReadTexturePixelFormat(u32 handle) override;
+
[[nodiscard]] u32 ReadViewportTransformState() override;
[[nodiscard]] u32 LocalMemorySize() const override;
@@ -164,6 +171,7 @@ public:
private:
std::unique_ptr<u64[]> code;
std::unordered_map<u32, Shader::TextureType> texture_types;
+ std::unordered_map<u32, Shader::TexturePixelFormat> texture_pixel_formats;
std::unordered_map<u64, u32> cbuf_values;
std::array<u32, 3> workgroup_size{};
u32 local_memory_size{};