|
|
|
@ -94,6 +94,23 @@ private: |
|
|
|
float max_anisotropic = 1.0f; |
|
|
|
}; |
|
|
|
|
|
|
|
struct FramebufferConfigState { |
|
|
|
bool using_color_fb{}; |
|
|
|
bool using_depth_fb{}; |
|
|
|
bool preserve_contents{}; |
|
|
|
std::optional<std::size_t> single_color_target; |
|
|
|
|
|
|
|
bool operator==(const FramebufferConfigState& rhs) const { |
|
|
|
return std::tie(using_color_fb, using_depth_fb, preserve_contents, |
|
|
|
single_color_target) == std::tie(rhs.using_color_fb, rhs.using_depth_fb, |
|
|
|
rhs.preserve_contents, |
|
|
|
rhs.single_color_target); |
|
|
|
} |
|
|
|
bool operator!=(const FramebufferConfigState& rhs) const { |
|
|
|
return !operator==(rhs); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
/** |
|
|
|
* Configures the color and depth framebuffer states. |
|
|
|
* @param use_color_fb If true, configure color framebuffers. |
|
|
|
@ -197,6 +214,7 @@ private: |
|
|
|
vertex_array_cache; |
|
|
|
|
|
|
|
std::map<FramebufferCacheKey, OGLFramebuffer> framebuffer_cache; |
|
|
|
FramebufferConfigState current_framebuffer_config_state; |
|
|
|
|
|
|
|
std::array<SamplerInfo, Tegra::Engines::Maxwell3D::Regs::NumTextureSamplers> texture_samplers; |
|
|
|
|
|
|
|
|