| 808 | } |
| 809 | |
| 810 | void multiFilterNPerDeviceTest(DeviceRef& device, const std::vector<int>& sizes) |
| 811 | { |
| 812 | std::vector<FilterRef> filters; |
| 813 | std::vector<std::shared_ptr<ImageBuffer>> inputs; |
| 814 | std::vector<std::shared_ptr<ImageBuffer>> outputs; |
| 815 | |
| 816 | for (size_t i = 0; i < sizes.size(); ++i) |
| 817 | { |
| 818 | filters.push_back(device.newFilter("RT")); |
| 819 | REQUIRE(bool(filters[i])); |
| 820 | |
| 821 | inputs.push_back (makeConstImage(device, sizes[i], sizes[i], 3, DataType::Float16, 0.5f)); |
| 822 | outputs.push_back(makeConstImage(device, sizes[i], sizes[i], 3, DataType::Float16, 0.f)); |
| 823 | setFilterImage(filters[i], "color", inputs[i]); |
| 824 | setFilterImage(filters[i], "output", outputs[i]); |
| 825 | filters[i].set("hdr", true); |
| 826 | |
| 827 | filters[i].commit(); |
| 828 | REQUIRE(device.getError() == Error::None); |
| 829 | |
| 830 | filters[i].execute(); |
| 831 | REQUIRE(device.getError() == Error::None); |
| 832 | REQUIRE(isBetween(outputs[i], 0.1f, 1.0f)); // output sanity check |
| 833 | } |
| 834 | |
| 835 | for (size_t i = 0; i < filters.size(); ++i) |
| 836 | { |
| 837 | filters[i].execute(); |
| 838 | REQUIRE(device.getError() == Error::None); |
| 839 | REQUIRE(isBetween(outputs[i], 0.1f, 1.0f)); // output sanity check |
| 840 | } |
| 841 | } |
| 842 | |
| 843 | TEST_CASE("multiple filters", "[multi_filter]") |
| 844 | { |
no test coverage detected