From 2a504b4765320882be8b4f2bde5f90262f76fd9f Mon Sep 17 00:00:00 2001
From: ameerj <52414509+ameerj@users.noreply.github.com>
Date: Mon, 7 Jun 2021 19:20:32 -0400
Subject: [PATCH] glsl: Conditionally add GL_ARB_sparse_texture2

---
 src/shader_recompiler/backend/glsl/emit_context.cpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/shader_recompiler/backend/glsl/emit_context.cpp b/src/shader_recompiler/backend/glsl/emit_context.cpp
index 8cbb2ec57..d6b3c7aba 100644
--- a/src/shader_recompiler/backend/glsl/emit_context.cpp
+++ b/src/shader_recompiler/backend/glsl/emit_context.cpp
@@ -294,8 +294,6 @@ EmitContext::EmitContext(IR::Program& program, Bindings& bindings, const Profile
 }
 
 void EmitContext::SetupExtensions(std::string&) {
-    // TODO: track this usage
-    header += "#extension GL_ARB_sparse_texture2 : enable\n";
     if (profile.support_gl_texture_shadow_lod) {
         header += "#extension GL_EXT_texture_shadow_lod : enable\n";
     }
@@ -331,6 +329,9 @@ void EmitContext::SetupExtensions(std::string&) {
         stage != Stage::Geometry) {
         header += "#extension GL_ARB_shader_viewport_layer_array : enable\n";
     }
+    if (info.uses_sparse_residency) {
+        header += "#extension GL_ARB_sparse_texture2 : enable\n";
+    }
     if (UsesTyplessImage(info)) {
         header += "#extension GL_EXT_shader_image_load_formatted : enable\n";
     }