bug 14608: VkShaderModule object lifetime (WIP)

Remove VkShader.  We add a simple cache to intel_shader_module in place of
intel_shader.

https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14608
diff --git a/tests/init.cpp b/tests/init.cpp
index a4157a8..ece7eb9 100644
--- a/tests/init.cpp
+++ b/tests/init.cpp
@@ -72,7 +72,7 @@
     void CreateCommandBufferTest();
     void CreatePipelineTest();
     void CreateShaderTest();
-    void CreateShader(VkShader *pshader, VkShaderStageFlagBits stage);
+    void CreateShader(VkShaderModule *pmodule, VkShaderStageFlagBits stage);
 
     VkDevice device() {return m_device->handle();}
 
@@ -519,7 +519,7 @@
     CreateCommandBufferTest();
 }
 
-void VkTest::CreateShader(VkShader *pshader, VkShaderStageFlagBits stage)
+void VkTest::CreateShader(VkShaderModule *pmodule, VkShaderStageFlagBits stage)
 {
     uint32_t *code;
     uint32_t codeSize;
@@ -539,8 +539,6 @@
 
     VkShaderModuleCreateInfo moduleCreateInfo;
     VkShaderModule module;
-    VkShaderCreateInfo createInfo;
-    VkShader shader;
 
     moduleCreateInfo.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
     moduleCreateInfo.pNext = NULL;
@@ -550,18 +548,7 @@
     err = vkCreateShaderModule(device(), &moduleCreateInfo, NULL, &module);
     ASSERT_VK_SUCCESS(err);
 
-    createInfo.sType = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO;
-    createInfo.pNext = NULL;
-    createInfo.module = module;
-    createInfo.pName = "main";
-    createInfo.flags = 0;
-    createInfo.stage = stage;
-    err = vkCreateShader(device(), &createInfo, NULL, &shader);
-    ASSERT_VK_SUCCESS(err);
-
-    vkDestroyShaderModule(device(), module, NULL);
-
-    *pshader = shader;
+    *pmodule = module;
 }
 
 int main(int argc, char **argv) {