ShaderRenderCase: moved texture utiles from vktTexture.cpp to vkImageUtil.cpp
authorPeter Gal <pgal.u-szeged@partner.samsung.com>
Tue, 20 Oct 2015 13:59:16 +0000 (15:59 +0200)
committerPeter Gal <pgal.u-szeged@partner.samsung.com>
Thu, 12 Nov 2015 18:54:15 +0000 (19:54 +0100)
external/vulkancts/framework/vulkan/vkImageUtil.cpp
external/vulkancts/framework/vulkan/vkImageUtil.hpp
external/vulkancts/modules/vulkan/shaderrendercase/vktShaderRenderCase.cpp
external/vulkancts/modules/vulkan/shaderrendercase/vktShaderRenderCase.hpp
external/vulkancts/modules/vulkan/shaderrendercase/vktTexture.cpp [deleted file]
external/vulkancts/modules/vulkan/shaderrendercase/vktTexture.hpp [deleted file]

index 70e93f7..e064cf9 100644 (file)
@@ -626,4 +626,77 @@ void imageUtilSelfTest (void)
        }
 }
 
+VkTexFilter mapFilterMode (tcu::Sampler::FilterMode filterMode)
+{
+       // \todo [2015-09-07 elecro] dobule check the mappings
+       switch(filterMode)
+       {
+               case tcu::Sampler::NEAREST:                                     return VK_TEX_FILTER_NEAREST;
+               case tcu::Sampler::LINEAR:                                      return VK_TEX_FILTER_LINEAR;
+               case tcu::Sampler::NEAREST_MIPMAP_NEAREST:      return VK_TEX_FILTER_NEAREST;
+               case tcu::Sampler::LINEAR_MIPMAP_NEAREST:       return VK_TEX_FILTER_NEAREST;
+               case tcu::Sampler::LINEAR_MIPMAP_LINEAR:        return VK_TEX_FILTER_LINEAR;
+               default:
+                       DE_ASSERT(false);
+       }
+
+       return VK_TEX_FILTER_NEAREST;
+}
+
+VkTexMipmapMode mapMipmapMode (tcu::Sampler::FilterMode filterMode)
+{
+       // \todo [2015-09-07 elecro] dobule check the mappings
+       switch(filterMode)
+       {
+               case tcu::Sampler::NEAREST:                                     return VK_TEX_MIPMAP_MODE_BASE;
+               case tcu::Sampler::LINEAR:                                      return VK_TEX_MIPMAP_MODE_BASE;
+               case tcu::Sampler::NEAREST_MIPMAP_NEAREST:      return VK_TEX_MIPMAP_MODE_NEAREST;
+               case tcu::Sampler::LINEAR_MIPMAP_NEAREST:       return VK_TEX_MIPMAP_MODE_NEAREST;
+               case tcu::Sampler::LINEAR_MIPMAP_LINEAR:        return VK_TEX_MIPMAP_MODE_LINEAR;
+               default:
+                       DE_ASSERT(false);
+       }
+
+       return VK_TEX_MIPMAP_MODE_BASE;
+}
+
+VkTexAddressMode mapWrapMode (tcu::Sampler::WrapMode wrapMode)
+{
+       // \todo [2015-09-07 elecro] dobule check the mappings
+       switch(wrapMode)
+       {
+               case tcu::Sampler::CLAMP_TO_EDGE:               return VK_TEX_ADDRESS_MODE_CLAMP;
+               case tcu::Sampler::CLAMP_TO_BORDER:             return VK_TEX_ADDRESS_MODE_CLAMP_BORDER;
+               case tcu::Sampler::REPEAT_GL:                   return VK_TEX_ADDRESS_MODE_WRAP;
+               case tcu::Sampler::REPEAT_CL:                   return VK_TEX_ADDRESS_MODE_WRAP;
+               case tcu::Sampler::MIRRORED_REPEAT_GL:  return VK_TEX_ADDRESS_MODE_MIRROR;
+               case tcu::Sampler::MIRRORED_REPEAT_CL:  return VK_TEX_ADDRESS_MODE_MIRROR;
+               default:
+                       DE_ASSERT(false);
+       }
+
+       return VK_TEX_ADDRESS_MODE_WRAP;
+}
+
+vk::VkCompareOp mapCompareMode (tcu::Sampler::CompareMode mode)
+{
+       // \todo [2015-09-07 elecro] dobule check the mappings
+       switch(mode)
+       {
+               case tcu::Sampler::COMPAREMODE_NONE:                            return vk::VK_COMPARE_OP_NEVER;
+               case tcu::Sampler::COMPAREMODE_LESS:                            return vk::VK_COMPARE_OP_LESS;
+               case tcu::Sampler::COMPAREMODE_LESS_OR_EQUAL:           return vk::VK_COMPARE_OP_LESS_EQUAL;
+               case tcu::Sampler::COMPAREMODE_GREATER:                         return vk::VK_COMPARE_OP_GREATER;
+               case tcu::Sampler::COMPAREMODE_GREATER_OR_EQUAL:        return vk::VK_COMPARE_OP_GREATER_EQUAL;
+               case tcu::Sampler::COMPAREMODE_EQUAL:                           return vk::VK_COMPARE_OP_EQUAL;
+               case tcu::Sampler::COMPAREMODE_NOT_EQUAL:                       return vk::VK_COMPARE_OP_NOT_EQUAL;
+               case tcu::Sampler::COMPAREMODE_ALWAYS:                          return vk::VK_COMPARE_OP_ALWAYS;
+               case tcu::Sampler::COMPAREMODE_NEVER:                           return vk::VK_COMPARE_OP_NEVER;
+               default:
+                       DE_ASSERT(false);
+       }
+
+       return vk::VK_COMPARE_OP_NEVER;
+}
+
 } // vk
index f8e668d..382a10d 100644 (file)
@@ -54,6 +54,10 @@ bool                                         isCompressedFormat              (VkFormat format);
 tcu::TextureFormat                     mapVkFormat                             (VkFormat format);
 tcu::CompressedTexFormat       mapVkCompressedFormat   (VkFormat format);
 VkChannelMapping                       getFormatChannelMapping (VkFormat format);
+VkTexFilter                                    mapFilterMode                   (tcu::Sampler::FilterMode filterMode);
+VkTexMipmapMode                                mapMipmapMode                   (tcu::Sampler::FilterMode filterMode);
+VkTexAddressMode                       mapWrapMode                             (tcu::Sampler::WrapMode wrapMode);
+VkCompareOp                                    mapCompareMode                  (tcu::Sampler::CompareMode mode);
 
 VkFormat                                       mapTextureFormat                (const tcu::TextureFormat& format);
 
index 509c6b5..0c6a26c 100644 (file)
@@ -825,24 +825,25 @@ void ShaderRenderCaseInstance::useSampler2D (deUint32 bindingLocation, deUint32
 
 
        // Create sampler
-       const VkSamplerCreateInfo       samplerParams           =
+       const bool                                              compareEnabled  = (refSampler.compare != tcu::Sampler::COMPAREMODE_NONE);
+       const VkSamplerCreateInfo               samplerParams   =
        {
-               VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,
-               DE_NULL,
-               getVkTexFilter(refSampler.magFilter),
-               getVkTexFilter(refSampler.minFilter),
-               getVkTexMipmapMode(refSampler.minFilter),
-               getVkWrapMode(refSampler.wrapS),
-               getVkWrapMode(refSampler.wrapT),
-               getVkWrapMode(refSampler.wrapR),
-               refSampler.lodThreshold,
-               1,
-               (refSampler.compare != tcu::Sampler::COMPAREMODE_NONE),
-               getVkCompareMode(refSampler.compare),
-               0.0f,
-               0.0f,
-               VK_BORDER_COLOR_INT_OPAQUE_WHITE,
-               VK_FALSE,
+               VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,                  // VkStructureType      sType;
+               DE_NULL,                                                                                // const void*          pNext;
+               mapFilterMode(refSampler.magFilter),                    // VkTexFilter          magFilter;
+               mapFilterMode(refSampler.minFilter),                    // VkTexFilter          minFilter;
+               mapMipmapMode(refSampler.minFilter),                    // VkTexMipmapMode      mipMode;
+               mapWrapMode(refSampler.wrapS),                                  // VkTexAddressMode     addressModeU;
+               mapWrapMode(refSampler.wrapT),                                  // VkTexAddressMode     addressModeV;
+               mapWrapMode(refSampler.wrapR),                                  // VkTexAddressMode     addressModeW;
+               refSampler.lodThreshold,                                                // float                        mipLodBias;
+               1,                                                                                              // float                        maxAnisotropy;
+               compareEnabled,                                                                 // VkBool32                     compareEnable;
+               mapCompareMode(refSampler.compare),                             // VkCompareOp          compareOp;
+               0.0f,                                                                                   // float                        minLod;
+               0.0f,                                                                                   // float                        maxLod;
+               VK_BORDER_COLOR_INT_OPAQUE_WHITE,                               // VkBorderColor        boderColor;
+               VK_FALSE,                                                                               // VkBool32                     unnormalizerdCoordinates;
        };
 
        Move<VkSampler>                         sampler                         = createSampler(vk, vkDevice, &samplerParams);
diff --git a/external/vulkancts/modules/vulkan/shaderrendercase/vktTexture.cpp b/external/vulkancts/modules/vulkan/shaderrendercase/vktTexture.cpp
deleted file mode 100644 (file)
index ac7fafb..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/*------------------------------------------------------------------------
- * Vulkan Conformance Tests
- * ------------------------
- *
- * Copyright (c) 2015 The Khronos Group Inc.
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and/or associated documentation files (the
- * "Materials"), to deal in the Materials without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Materials, and to
- * permit persons to whom the Materials are furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice(s) and this permission notice shall be included
- * in all copies or substantial portions of the Materials.
- *
- * The Materials are Confidential Information as defined by the
- * Khronos Membership Agreement until designated non-confidential by Khronos,
- * at which point this condition clause shall be removed.
- *
- * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
- *
- *//*!
- * \file
- * \brief Vulkan Texture utilities
- *//*--------------------------------------------------------------------*/
-
-#include "vktTexture.hpp"
-
-namespace vkt
-{
-
-vk::VkTexFilter getVkTexFilter (const tcu::Sampler::FilterMode& filterMode)
-{
-       // \todo [2015-09-07 elecro] dobule check the mappings
-       switch(filterMode)
-       {
-               case tcu::Sampler::NEAREST:                                     return vk::VK_TEX_FILTER_NEAREST;
-               case tcu::Sampler::LINEAR:                                      return vk::VK_TEX_FILTER_LINEAR;
-               case tcu::Sampler::NEAREST_MIPMAP_NEAREST:      return vk::VK_TEX_FILTER_NEAREST;
-               case tcu::Sampler::LINEAR_MIPMAP_NEAREST:       return vk::VK_TEX_FILTER_NEAREST;
-               case tcu::Sampler::LINEAR_MIPMAP_LINEAR:        return vk::VK_TEX_FILTER_LINEAR;
-               default:
-                       DE_ASSERT(false);
-       }
-
-       return vk::VK_TEX_FILTER_NEAREST;
-}
-
-vk::VkTexMipmapMode getVkTexMipmapMode (const tcu::Sampler::FilterMode& filterMode)
-{
-       // \todo [2015-09-07 elecro] dobule check the mappings
-       switch(filterMode)
-       {
-               case tcu::Sampler::NEAREST:                                     return vk::VK_TEX_MIPMAP_MODE_BASE;
-               case tcu::Sampler::LINEAR:                                      return vk::VK_TEX_MIPMAP_MODE_BASE;
-               case tcu::Sampler::NEAREST_MIPMAP_NEAREST:      return vk::VK_TEX_MIPMAP_MODE_NEAREST;
-               case tcu::Sampler::LINEAR_MIPMAP_NEAREST:       return vk::VK_TEX_MIPMAP_MODE_NEAREST;
-               case tcu::Sampler::LINEAR_MIPMAP_LINEAR:        return vk::VK_TEX_MIPMAP_MODE_LINEAR;
-               default:
-                       DE_ASSERT(false);
-       }
-
-       return vk::VK_TEX_MIPMAP_MODE_BASE;
-}
-
-vk::VkTexAddressMode getVkWrapMode (const tcu::Sampler::WrapMode& wrapMode)
-{
-       // \todo [2015-09-07 elecro] dobule check the mappings
-       switch(wrapMode)
-       {
-               case tcu::Sampler::CLAMP_TO_EDGE:               return vk::VK_TEX_ADDRESS_MODE_CLAMP;
-               case tcu::Sampler::CLAMP_TO_BORDER:             return vk::VK_TEX_ADDRESS_MODE_CLAMP_BORDER;
-               case tcu::Sampler::REPEAT_GL:                   return vk::VK_TEX_ADDRESS_MODE_WRAP;
-               case tcu::Sampler::REPEAT_CL:                   return vk::VK_TEX_ADDRESS_MODE_WRAP;
-               case tcu::Sampler::MIRRORED_REPEAT_GL:  return vk::VK_TEX_ADDRESS_MODE_MIRROR;
-               case tcu::Sampler::MIRRORED_REPEAT_CL:  return vk::VK_TEX_ADDRESS_MODE_MIRROR;
-               default:
-                       DE_ASSERT(false);
-       }
-
-       return vk::VK_TEX_ADDRESS_MODE_WRAP;
-}
-
-vk::VkCompareOp getVkCompareMode (const tcu::Sampler::CompareMode& mode)
-{
-       // \todo [2015-09-07 elecro] dobule check the mappings
-       switch(mode)
-       {
-               case tcu::Sampler::COMPAREMODE_NONE:                            return vk::VK_COMPARE_OP_NEVER;
-               case tcu::Sampler::COMPAREMODE_LESS:                            return vk::VK_COMPARE_OP_LESS;
-               case tcu::Sampler::COMPAREMODE_LESS_OR_EQUAL:           return vk::VK_COMPARE_OP_LESS_EQUAL;
-               case tcu::Sampler::COMPAREMODE_GREATER:                         return vk::VK_COMPARE_OP_GREATER;
-               case tcu::Sampler::COMPAREMODE_GREATER_OR_EQUAL:        return vk::VK_COMPARE_OP_GREATER_EQUAL;
-               case tcu::Sampler::COMPAREMODE_EQUAL:                           return vk::VK_COMPARE_OP_EQUAL;
-               case tcu::Sampler::COMPAREMODE_NOT_EQUAL:                       return vk::VK_COMPARE_OP_NOT_EQUAL;
-               case tcu::Sampler::COMPAREMODE_ALWAYS:                          return vk::VK_COMPARE_OP_ALWAYS;
-               case tcu::Sampler::COMPAREMODE_NEVER:                           return vk::VK_COMPARE_OP_NEVER;
-               default:
-                       DE_ASSERT(false);
-       }
-
-       return vk::VK_COMPARE_OP_NEVER;
-}
-
-} // vkt
diff --git a/external/vulkancts/modules/vulkan/shaderrendercase/vktTexture.hpp b/external/vulkancts/modules/vulkan/shaderrendercase/vktTexture.hpp
deleted file mode 100644 (file)
index 8f49ea0..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef _VKTTEXTURE_HPP
-#define _VKTTEXTURE_HPP
-/*------------------------------------------------------------------------
- * Vulkan Conformance Tests
- * ------------------------
- *
- * Copyright (c) 2015 The Khronos Group Inc.
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and/or associated documentation files (the
- * "Materials"), to deal in the Materials without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Materials, and to
- * permit persons to whom the Materials are furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice(s) and this permission notice shall be included
- * in all copies or substantial portions of the Materials.
- *
- * The Materials are Confidential Information as defined by the
- * Khronos Membership Agreement until designated non-confidential by Khronos,
- * at which point this condition clause shall be removed.
- *
- * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
- *
- *//*!
- * \file
- * \brief Vulkan Texture utilities
- *//*--------------------------------------------------------------------*/
-
-#include "tcuTexture.hpp"
-
-#include "vkDefs.hpp"
-
-namespace vkt
-{
-
-vk::VkTexFilter                        getVkTexFilter          (const tcu::Sampler::FilterMode& filterMode);
-vk::VkTexMipmapMode            getVkTexMipmapMode      (const tcu::Sampler::FilterMode& filterMode);
-vk::VkTexAddressMode   getVkWrapMode           (const tcu::Sampler::WrapMode& wrapMode);
-vk::VkCompareOp                        getVkCompareMode        (const tcu::Sampler::CompareMode& mode);
-
-} // vkt
-
-#endif // _VKTSHADERRENDERCASE_HPP