X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=test_util.cpp;h=99ab731f6d7c1c3af31b93035b27618a770c4f27;hp=ed8b92a93990e974b0cb1d385d3eda952075614c;hb=3559b216df102fb518876e1d567e2a3558283d31;hpb=c220f1f515ce115e049dfff990b08b2592bd8f8d diff --git a/test_util.cpp b/test_util.cpp index ed8b92a..99ab731 100644 --- a/test_util.cpp +++ b/test_util.cpp @@ -42,6 +42,11 @@ void vertical_flip(T *data, unsigned width, unsigned height) } } +void init_movit_for_test() +{ + CHECK(init_movit(".", MOVIT_DEBUG_OFF)); +} + } // namespace EffectChainTester::EffectChainTester(const float *data, unsigned width, unsigned height, @@ -512,4 +517,32 @@ double linear_to_srgb(double x) } } +DisableComputeShadersTemporarily::DisableComputeShadersTemporarily(bool disable_compute_shaders) + : disable_compute_shaders(disable_compute_shaders) +{ + init_movit_for_test(); + saved_compute_shaders_supported = movit_compute_shaders_supported; + if (disable_compute_shaders) { + movit_compute_shaders_supported = false; + } +} + +DisableComputeShadersTemporarily::~DisableComputeShadersTemporarily() +{ + movit_compute_shaders_supported = saved_compute_shaders_supported; +} + +bool DisableComputeShadersTemporarily::should_skip() +{ + if (disable_compute_shaders) { + return false; + } + + if (!movit_compute_shaders_supported) { + fprintf(stderr, "Compute shaders not supported; skipping.\n"); + return true; + } + return false; +} + } // namespace movit