Lines Matching full:sampler
650 VkFilter mapFilterMode (tcu::Sampler::FilterMode filterMode)
652 DE_STATIC_ASSERT(tcu::Sampler::FILTERMODE_LAST == 6);
656 case tcu::Sampler::NEAREST: return VK_FILTER_NEAREST;
657 case tcu::Sampler::LINEAR: return VK_FILTER_LINEAR;
658 case tcu::Sampler::NEAREST_MIPMAP_NEAREST: return VK_FILTER_NEAREST;
659 case tcu::Sampler::NEAREST_MIPMAP_LINEAR: return VK_FILTER_NEAREST;
660 case tcu::Sampler::LINEAR_MIPMAP_NEAREST: return VK_FILTER_LINEAR;
661 case tcu::Sampler::LINEAR_MIPMAP_LINEAR: return VK_FILTER_LINEAR;
669 VkSamplerMipmapMode mapMipmapMode (tcu::Sampler::FilterMode filterMode)
671 DE_STATIC_ASSERT(tcu::Sampler::FILTERMODE_LAST == 6);
679 case tcu::Sampler::NEAREST: return VK_SAMPLER_MIPMAP_MODE_NEAREST;
680 case tcu::Sampler::LINEAR: return VK_SAMPLER_MIPMAP_MODE_NEAREST;
681 case tcu::Sampler::NEAREST_MIPMAP_NEAREST: return VK_SAMPLER_MIPMAP_MODE_NEAREST;
682 case tcu::Sampler::NEAREST_MIPMAP_LINEAR: return VK_SAMPLER_MIPMAP_MODE_LINEAR;
683 case tcu::Sampler::LINEAR_MIPMAP_NEAREST: return VK_SAMPLER_MIPMAP_MODE_NEAREST;
684 case tcu::Sampler::LINEAR_MIPMAP_LINEAR: return VK_SAMPLER_MIPMAP_MODE_LINEAR;
691 VkSamplerAddressMode mapWrapMode (tcu::Sampler::WrapMode wrapMode)
695 case tcu::Sampler::CLAMP_TO_EDGE: return VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE;
696 case tcu::Sampler::CLAMP_TO_BORDER: return VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER;
697 case tcu::Sampler::REPEAT_GL: return VK_SAMPLER_ADDRESS_MODE_REPEAT;
698 case tcu::Sampler::MIRRORED_REPEAT_GL: return VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT;
699 case tcu::Sampler::MIRRORED_ONCE: return VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
706 vk::VkCompareOp mapCompareMode (tcu::Sampler::CompareMode mode)
710 case tcu::Sampler::COMPAREMODE_NONE: return vk::VK_COMPARE_OP_NEVER;
711 case tcu::Sampler::COMPAREMODE_LESS: return vk::VK_COMPARE_OP_LESS;
712 case tcu::Sampler::COMPAREMODE_LESS_OR_EQUAL: return vk::VK_COMPARE_OP_LESS_OR_EQUAL;
713 case tcu::Sampler::COMPAREMODE_GREATER: return vk::VK_COMPARE_OP_GREATER;
714 case tcu::Sampler::COMPAREMODE_GREATER_OR_EQUAL: return vk::VK_COMPARE_OP_GREATER_OR_EQUAL;
715 case tcu::Sampler::COMPAREMODE_EQUAL: return vk::VK_COMPARE_OP_EQUAL;
716 case tcu::Sampler::COMPAREMODE_NOT_EQUAL: return vk::VK_COMPARE_OP_NOT_EQUAL;
717 case tcu::Sampler::COMPAREMODE_ALWAYS: return vk::VK_COMPARE_OP_ALWAYS;
718 case tcu::Sampler::COMPAREMODE_NEVER: return vk::VK_COMPARE_OP_NEVER;
756 VkSamplerCreateInfo mapSampler (const tcu::Sampler& sampler, const tcu::TextureFormat& format)
758 const bool compareEnabled = (sampler.compare != tcu::Sampler::COMPAREMODE_NONE);
759 const VkCompareOp compareOp = (compareEnabled) ? (mapCompareMode(sampler.compare)) : (VK_COMPARE_OP_ALWAYS);
760 const VkBorderColor borderColor = mapBorderColor(getTextureChannelClass(format.type), sampler.borderColor);
761 const bool isMipmapEnabled = (sampler.minFilter != tcu::Sampler::NEAREST && sampler.minFilter != tcu::Sampler::LINEAR);
768 mapFilterMode(sampler.magFilter), // magFilter
769 mapFilterMode(sampler.minFilter), // minFilter
770 mapMipmapMode(sampler.minFilter), // mipMode
771 mapWrapMode(sampler.wrapS), // addressU
772 mapWrapMode(sampler.wrapT), // addressV
773 mapWrapMode(sampler.wrapR), // addressW
782 (VkBool32)(sampler.normalizedCoords ? VK_FALSE : VK_TRUE), // unnormalizedCoords
788 tcu::Sampler mapVkSampler (const VkSamplerCreateInfo& samplerCreateInfo)
790 // \note minLod & maxLod are not supported by tcu::Sampler. LOD must be clamped
793 tcu::Sampler sampler(mapVkSamplerAddressMode(samplerCreateInfo.addressModeU),
801 : tcu::Sampler::COMPAREMODE_NONE,
807 TCU_THROW(InternalError, "Anisotropic filtering is not supported by tcu::Sampler");
812 sampler.borderColor = tcu::UVec4(0,0,0,1);
815 sampler.borderColor = tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f);
818 sampler.borderColor = tcu::UVec4(1, 1, 1, 1);
821 sampler.borderColor = tcu::Vec4(1.0f, 1.0f, 1.0f, 1.0f);
824 sampler.borderColor = tcu::UVec4(0,0,0,0);
827 sampler.borderColor = tcu::Vec4(0.0f, 0.0f, 0.0f, 0.0f);
835 return sampler;
838 tcu::Sampler::CompareMode mapVkSamplerCompareOp (VkCompareOp compareOp)
842 case VK_COMPARE_OP_NEVER: return tcu::Sampler::COMPAREMODE_NEVER;
843 case VK_COMPARE_OP_LESS: return tcu::Sampler::COMPAREMODE_LESS;
844 case VK_COMPARE_OP_EQUAL: return tcu::Sampler::COMPAREMODE_EQUAL;
845 case VK_COMPARE_OP_LESS_OR_EQUAL: return tcu::Sampler::COMPAREMODE_LESS_OR_EQUAL;
846 case VK_COMPARE_OP_GREATER: return tcu::Sampler::COMPAREMODE_GREATER;
847 case VK_COMPARE_OP_NOT_EQUAL: return tcu::Sampler::COMPAREMODE_NOT_EQUAL;
848 case VK_COMPARE_OP_GREATER_OR_EQUAL: return tcu::Sampler::COMPAREMODE_GREATER_OR_EQUAL;
849 case VK_COMPARE_OP_ALWAYS: return tcu::Sampler::COMPAREMODE_ALWAYS;
855 return tcu::Sampler::COMPAREMODE_LAST;
858 tcu::Sampler::WrapMode mapVkSamplerAddressMode (VkSamplerAddressMode addressMode)
862 case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE: return tcu::Sampler::CLAMP_TO_EDGE;
863 case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: return tcu::Sampler::CLAMP_TO_BORDER;
864 case VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT: return tcu::Sampler::MIRRORED_REPEAT_GL;
865 case VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE: return tcu::Sampler::MIRRORED_ONCE;
866 case VK_SAMPLER_ADDRESS_MODE_REPEAT: return tcu::Sampler::REPEAT_GL;
872 return tcu::Sampler::WRAPMODE_LAST;
875 tcu::Sampler::FilterMode mapVkMinTexFilter (VkFilter filter, VkSamplerMipmapMode mipMode)
882 case VK_SAMPLER_MIPMAP_MODE_LINEAR: return tcu::Sampler::LINEAR_MIPMAP_LINEAR;
883 case VK_SAMPLER_MIPMAP_MODE_NEAREST: return tcu::Sampler::LINEAR_MIPMAP_NEAREST;
892 case VK_SAMPLER_MIPMAP_MODE_LINEAR: return tcu::Sampler::NEAREST_MIPMAP_LINEAR;
893 case VK_SAMPLER_MIPMAP_MODE_NEAREST: return tcu::Sampler::NEAREST_MIPMAP_NEAREST;
904 return tcu::Sampler::FILTERMODE_LAST;
907 tcu::Sampler::FilterMode mapVkMagTexFilter (VkFilter filter)
911 case VK_FILTER_LINEAR: return tcu::Sampler::LINEAR;
912 case VK_FILTER_NEAREST: return tcu::Sampler::NEAREST;
918 return tcu::Sampler::FILTERMODE_LAST;