From ca96b04a0c524a1a6c3bc6952aab7d059da52c3d Mon Sep 17 00:00:00 2001 From: Subv Date: Mon, 26 Mar 2018 21:42:54 -0500 Subject: GL: Ported the SamplerInfo struct from citra. --- src/video_core/renderer_opengl/gl_rasterizer.h | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/video_core/renderer_opengl/gl_rasterizer.h') diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h index fd53e94cd..ba2113921 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.h +++ b/src/video_core/renderer_opengl/gl_rasterizer.h @@ -85,7 +85,26 @@ public: "FSUniformData structure must be less than 16kb as per the OpenGL spec"); private: - struct SamplerInfo {}; + class SamplerInfo { + public: + OGLSampler sampler; + + /// Creates the sampler object, initializing its state so that it's in sync with the + /// SamplerInfo struct. + void Create(); + /// Syncs the sampler object with the config, updating any necessary state. + void SyncWithConfig(const Tegra::Texture::TSCEntry& config); + + private: + Tegra::Texture::TextureFilter mag_filter; + Tegra::Texture::TextureFilter min_filter; + Tegra::Texture::WrapMode wrap_u; + Tegra::Texture::WrapMode wrap_v; + u32 border_color_r; + u32 border_color_g; + u32 border_color_b; + u32 border_color_a; + }; /// Binds the framebuffer color and depth surface void BindFramebufferSurfaces(const Surface& color_surface, const Surface& depth_surface, -- cgit v1.2.3