diff --git a/src/Vulkan/VkDescriptorSetLayout.cpp b/src/Vulkan/VkDescriptorSetLayout.cpp
index 13a30e9..47f37da 100644
--- a/src/Vulkan/VkDescriptorSetLayout.cpp
+++ b/src/Vulkan/VkDescriptorSetLayout.cpp
@@ -160,7 +160,7 @@
 			for(uint32_t j = 0; j < bindings[i].descriptorCount; j++)
 			{
 				SampledImageDescriptor* imageSamplerDescriptor = reinterpret_cast<SampledImageDescriptor*>(mem);
-				imageSamplerDescriptor->sampler = vk::Cast(bindings[i].pImmutableSamplers[j]);
+				imageSamplerDescriptor->updateSampler(vk::Cast(bindings[i].pImmutableSamplers[j]));
 				mem += typeSize;
 			}
 		}
@@ -245,6 +245,14 @@
 	return &descriptorSet->data[byteOffset];
 }
 
+void SampledImageDescriptor::updateSampler(const vk::Sampler *sampler)
+{
+	this->sampler = sampler;
+
+	texture.minLod = sw::clamp(sampler->minLod, 0.0f, (float)(sw::MAX_TEXTURE_LOD));
+	texture.maxLod = sw::clamp(sampler->maxLod, 0.0f, (float)(sw::MAX_TEXTURE_LOD));
+}
+
 void DescriptorSetLayout::WriteDescriptorSet(DescriptorSet *dstSet, VkDescriptorUpdateTemplateEntry const &entry, char const *src)
 {
 	DescriptorSetLayout* dstLayout = dstSet->layout;
@@ -269,16 +277,9 @@
 			//  descriptorCount of zero, must all either use immutable samplers or must all not use immutable samplers."
 			if(!binding.pImmutableSamplers)
 			{
-				vk::Sampler *sampler = vk::Cast(update->sampler);
-
-				imageSampler[i].sampler = sampler;
-
-				texture->minLod = sw::clamp(sampler->minLod, 0.0f, (float)(sw::MAX_TEXTURE_LOD));
-				texture->maxLod = sw::clamp(sampler->maxLod, 0.0f, (float)(sw::MAX_TEXTURE_LOD));
+				imageSampler[i].updateSampler(vk::Cast(update->sampler));
 			}
 
-			memset(texture, 0, sizeof(sw::Texture));  // TODO(b/129523279): eliminate
-
 			imageSampler[i].imageView = imageView;
 
 			auto &subresourceRange = imageView->getSubresourceRange();
diff --git a/src/Vulkan/VkDescriptorSetLayout.hpp b/src/Vulkan/VkDescriptorSetLayout.hpp
index 3a3d31a..d7660b9 100644
--- a/src/Vulkan/VkDescriptorSetLayout.hpp
+++ b/src/Vulkan/VkDescriptorSetLayout.hpp
@@ -29,9 +29,11 @@
 // TODO(b/129523279): Move to the Device or Pipeline layer.
 struct SampledImageDescriptor
 {
+	void updateSampler(const vk::Sampler *sampler);
+
 	// TODO(b/129523279): Minimize to the data actually needed.
-	vk::Sampler *sampler;
-	vk::ImageView *imageView;
+	const vk::Sampler *sampler;
+	const vk::ImageView *imageView;
 
 	sw::Texture texture;
 };
