diff --git a/src/Pipeline/SamplerCore.cpp b/src/Pipeline/SamplerCore.cpp
index 8b9f00f..24e9f6c 100644
--- a/src/Pipeline/SamplerCore.cpp
+++ b/src/Pipeline/SamplerCore.cpp
@@ -212,71 +212,6 @@
 			}
 		}
 
-		if(state.textureFilter != FILTER_GATHER)
-		{
-			switch(state.textureFormat)
-			{
-			case VK_FORMAT_R8_SINT:
-			case VK_FORMAT_R8_UINT:
-			case VK_FORMAT_R16_SINT:
-			case VK_FORMAT_R16_UINT:
-			case VK_FORMAT_R32_SINT:
-			case VK_FORMAT_R32_UINT:
-				c.y = As<Float4>(UInt4(0));
-			case VK_FORMAT_R8G8_SINT:
-			case VK_FORMAT_R8G8_UINT:
-			case VK_FORMAT_R16G16_SINT:
-			case VK_FORMAT_R16G16_UINT:
-			case VK_FORMAT_R32G32_SINT:
-			case VK_FORMAT_R32G32_UINT:
-				c.z = As<Float4>(UInt4(0));
-				c.w = As<Float4>(UInt4(1));
-			case VK_FORMAT_R8G8B8A8_SINT:
-			case VK_FORMAT_R8G8B8A8_UINT:
-			case VK_FORMAT_R16G16B16A16_SINT:
-			case VK_FORMAT_R16G16B16A16_UINT:
-			case VK_FORMAT_R32G32B32A32_SINT:
-			case VK_FORMAT_R32G32B32A32_UINT:
-				break;
-			case VK_FORMAT_R8_SNORM:
-			case VK_FORMAT_R8_UNORM:
-			case VK_FORMAT_R16_SNORM:
-			case VK_FORMAT_R16_UNORM:
-			case VK_FORMAT_R32_SFLOAT:
-			case VK_FORMAT_R16_SFLOAT:
-			case VK_FORMAT_D32_SFLOAT:
-			case VK_FORMAT_D16_UNORM:
-				c.y = Float4(0.0f);
-			case VK_FORMAT_R8G8_SNORM:
-			case VK_FORMAT_R8G8_UNORM:
-			case VK_FORMAT_R16G16_SNORM:
-			case VK_FORMAT_R16G16_UNORM:
-			case VK_FORMAT_R32G32_SFLOAT:
-			case VK_FORMAT_R16G16_SFLOAT:
-				c.z = Float4(0.0f);
-			case VK_FORMAT_R5G6B5_UNORM_PACK16:
-			case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:
-			case VK_FORMAT_B10G11R11_UFLOAT_PACK32:
-			case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:
-				c.w = Float4(1.0f);
-			case VK_FORMAT_R8G8B8A8_SNORM:
-			case VK_FORMAT_R16G16B16A16_UNORM:
-			case VK_FORMAT_B8G8R8A8_UNORM:
-			case VK_FORMAT_B8G8R8A8_SRGB:
-			case VK_FORMAT_R8G8B8A8_UNORM:
-			case VK_FORMAT_R8G8B8A8_SRGB:
-			case VK_FORMAT_R32G32B32A32_SFLOAT:
-			case VK_FORMAT_R16G16B16A16_SFLOAT:
-			case VK_FORMAT_A2B10G10R10_UNORM_PACK32:
-			case VK_FORMAT_A2B10G10R10_UINT_PACK32:
-			case VK_FORMAT_B4G4R4A4_UNORM_PACK16:
-			case VK_FORMAT_A1R5G5B5_UNORM_PACK16:
-				break;
-			default:
-				ASSERT(false);
-			}
-		}
-
 		if((state.swizzle.r != VK_COMPONENT_SWIZZLE_R) ||
 			(state.swizzle.g != VK_COMPONENT_SWIZZLE_G) ||
 			(state.swizzle.b != VK_COMPONENT_SWIZZLE_B) ||
