anchor.diff:  
   Shader API test will verify that shader loading functions behave as expected. Verifying that various SPIR-V constructs are accepted and executed correctly however is not an objective; that will be covered more extensively by a separate SPIR-V test set.
   
  -[source,c]
  -----
  -typedef VkFlags VkShaderModuleCreateFlags;
  -typedef VkFlags VkShaderCreateFlags;
  -
  -typedef struct {
  -    VkStructureType                             sType;
  -    const void*                                 pNext;
  -    size_t                                      codeSize;
  -    const void*                                 pCode;
  -    VkShaderModuleCreateFlags                   flags;
  -} VkShaderModuleCreateInfo;
  -
  -VkResult VKAPI vkCreateShaderModule(
  -    VkDevice                                    device,
  -    const VkShaderModuleCreateInfo*             pCreateInfo,
  -    VkShaderModule*                             pShaderModule);
  -
  -typedef struct {
  -    VkStructureType                             sType;
  -    const void*                                 pNext;
  -    VkShaderModule                              module;
  -    const char*                                 pName;
  -    VkShaderCreateFlags                         flags;
  -} VkShaderCreateInfo;
  -
  -VkResult VKAPI vkCreateShader(
  -    VkDevice                                    device,
  -    const VkShaderCreateInfo*                   pCreateInfo,
  -    VkShader*                                   pShader);
  -----
  -
   Pipelines
   ---------
   
  
positive.code: Mapping memory and CPU access
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
  [source,c]
  ----
  VkResult VKAPI vkMapMemory(
      VkDevice                                    device,
      VkDeviceMemory                              mem,
      VkDeviceSize                                offset,
      VkDeviceSize                                size,
      VkMemoryMapFlags                            flags,
      void**                                      ppData);
  
  VkResult VKAPI vkUnmapMemory(
      VkDevice                                    device,
      VkDeviceMemory                              mem);
  ----
  
   * Verify that mapping of all host-visible allocations succeed and accessing memory works
   * Verify mapping of sub-ranges
   * Access still works after un-mapping and re-mapping memory
  
negative.code: 
  Validate that GPU caches are invalidated where instructed. This includes visibility of memory writes made by both CPU and GPU to both CPU and GPU pipeline stages.
  
   * Image layout transitions may need special care
  
  Binding memory to objects
  ~~~~~~~~~~~~~~~~~~~~~~~~~
  
   * Buffers and images only
   * Straightforward mapping where allocation size matches object size and memOffset = 0
  