From 59998ff0b297d614274068c2e08158a4169ec64f Mon Sep 17 00:00:00 2001 From: Stephan Unverwerth Date: Mon, 16 Aug 2021 18:22:06 +0200 Subject: [PATCH] LibGL: Return white texel when sampling uninitialized texture --- Userland/Libraries/LibGL/Tex/MipMap.h | 4 ++-- Userland/Libraries/LibGL/Tex/Sampler2D.cpp | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibGL/Tex/MipMap.h b/Userland/Libraries/LibGL/Tex/MipMap.h index b8f365a916..01bfd02397 100644 --- a/Userland/Libraries/LibGL/Tex/MipMap.h +++ b/Userland/Libraries/LibGL/Tex/MipMap.h @@ -42,8 +42,8 @@ public: } private: - GLsizei m_width; - GLsizei m_height; + GLsizei m_width { 0 }; + GLsizei m_height { 0 }; Vector m_pixel_data; }; } diff --git a/Userland/Libraries/LibGL/Tex/Sampler2D.cpp b/Userland/Libraries/LibGL/Tex/Sampler2D.cpp index 5ab81aea00..d72fc0fe82 100644 --- a/Userland/Libraries/LibGL/Tex/Sampler2D.cpp +++ b/Userland/Libraries/LibGL/Tex/Sampler2D.cpp @@ -57,6 +57,9 @@ FloatVector4 Sampler2D::sample(FloatVector2 const& uv) const MipMap const& mip = m_texture.mipmap(lod); + if (mip.width() < 1 || mip.height() < 1) + return { 1, 1, 1, 1 }; + float x = wrap(uv.x(), m_wrap_t_mode); float y = wrap(uv.y(), m_wrap_s_mode);