Assert that the descriptor set is not null

This uses a run-time Reactor Assert() to catch bugs.

Bug: chromium:1209285
Change-Id: I184ce8dade8e43174a5bab9b2a912b7ec14bb602
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/59989
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Pipeline/SpirvShaderMemory.cpp b/src/Pipeline/SpirvShaderMemory.cpp
index a39af42..18ed889 100644
--- a/src/Pipeline/SpirvShaderMemory.cpp
+++ b/src/Pipeline/SpirvShaderMemory.cpp
@@ -16,7 +16,7 @@
 #include "SpirvShaderDebug.hpp"
 
 #include "ShaderCore.hpp"
-
+#include "Reactor/Assert.hpp"
 #include "Vulkan/VkPipelineLayout.hpp"
 
 #include <spirv/unified1/spirv.hpp>
@@ -394,6 +394,7 @@
 			Int descriptorOffset = bindingOffset + descriptorSize * arrayIndex;
 
 			auto set = state->getPointer(id);
+			Assert(set.base != Pointer<Byte>(nullptr));
 			Pointer<Byte> descriptor = set.base + descriptorOffset;                                        // BufferDescriptor*
 			Pointer<Byte> data = *Pointer<Pointer<Byte>>(descriptor + OFFSET(vk::BufferDescriptor, ptr));  // void*
 			Int size = *Pointer<Int>(descriptor + OFFSET(vk::BufferDescriptor, sizeInBytes));