2
0
mirror of https://github.com/boostorg/compute.git synced 2026-01-23 17:32:15 +00:00
Files
compute/test/test_image_sampler.cpp
Kyle Lutz 1c4c772921 Add quirks for image tests on POCL
This adds code to skip certain image tests on POCL devices which
do not fully support images and image samplers.
2013-09-07 15:10:35 -04:00

52 lines
1.9 KiB
C++

//---------------------------------------------------------------------------//
// Copyright (c) 2013 Kyle Lutz <kyle.r.lutz@gmail.com>
//
// Distributed under the Boost Software License, Version 1.0
// See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt
//
// See http://kylelutz.github.com/compute for more information.
//---------------------------------------------------------------------------//
#define BOOST_TEST_MODULE TestImageSampler
#include <boost/test/unit_test.hpp>
#include <boost/compute/system.hpp>
#include <boost/compute/image_sampler.hpp>
#include "quirks.hpp"
#include "context_setup.hpp"
namespace bc = boost::compute;
BOOST_AUTO_TEST_CASE(get_context)
{
if(!supports_image_samplers(device)){
std::cerr << "skipping get_context test" << std::endl;
return;
}
bc::image_sampler sampler(context, true, CL_ADDRESS_NONE, CL_FILTER_NEAREST);
BOOST_CHECK(sampler.get_context() == context);
}
BOOST_AUTO_TEST_CASE(get_info)
{
if(!supports_image_samplers(device)){
std::cerr << "skipping get_info test" << std::endl;
return;
}
bc::image_sampler sampler(context, true, CL_ADDRESS_NONE, CL_FILTER_NEAREST);
BOOST_CHECK_EQUAL(sampler.get_info<bool>(CL_SAMPLER_NORMALIZED_COORDS), true);
BOOST_CHECK_EQUAL(sampler.get_info<cl_addressing_mode>(CL_SAMPLER_ADDRESSING_MODE), CL_ADDRESS_NONE);
BOOST_CHECK_EQUAL(sampler.get_info<cl_filter_mode>(CL_SAMPLER_FILTER_MODE), CL_FILTER_NEAREST);
sampler = bc::image_sampler(context, false, CL_ADDRESS_CLAMP, CL_FILTER_LINEAR);
BOOST_CHECK_EQUAL(sampler.get_info<bool>(CL_SAMPLER_NORMALIZED_COORDS), false);
BOOST_CHECK_EQUAL(sampler.get_info<cl_addressing_mode>(CL_SAMPLER_ADDRESSING_MODE), CL_ADDRESS_CLAMP);
BOOST_CHECK_EQUAL(sampler.get_info<cl_filter_mode>(CL_SAMPLER_FILTER_MODE), CL_FILTER_LINEAR);
}
BOOST_AUTO_TEST_SUITE_END()