 thrust::host_vector<sgm::output_type> winner_takes_all_left(
 	const thrust::host_vector<sgm::cost_type>& src,
 	size_t width, size_t height, size_t disparity,
-	float uniqueness)
+	float uniqueness, bool subpixel)
 {
 	thrust::host_vector<sgm::output_type> result(width * height);
 	for(size_t i = 0; i < height; ++i){

				const int cost1 = v[1].first;
				const int disp0 = v[0].second;
				const int disp1 = v[1].second;
				result[i * width + j] = static_cast<sgm::output_type>(
					(cost1 * uniqueness < cost0 && abs(disp0 - disp1) > 1)
						? 0
						: disp0);
			}
		}
	}

				}
				v.emplace_back(cost_sum, static_cast<int>(k));
			}
			auto w = v;
			sort(v.begin(), v.end());
			if(v.size() < 2){
				result[i * width + j] = 0;
