static bool check_textures_type(void) { bool check_pass = true; test_data *data = test_data_new(0, 1); unsigned i; int testing64; for (i = 0; i < ARRAY_SIZE(pnames); i++) { bool pass = true; for (testing64 = 0; testing64 <= 1; testing64++) { test_data_set_testing64(data, testing64); pass = try_textures_type(texture_targets, ARRAY_SIZE(texture_targets), valid_internalformats, ARRAY_SIZE(valid_internalformats), pnames[i], equivalent_pnames[i], data) && pass; } piglit_report_subtest_result(pass ? PIGLIT_PASS : PIGLIT_FAIL, "%s", piglit_get_gl_enum_name(pnames[i])); check_pass = check_pass && pass; } test_data_clear(&data); return check_pass; }
/* * Returns if @target/@internalformat is supported using * INTERNALFORMAT_SUPPORTED for @target and @internalformat. * * @data is only used to known if we are testing the 32-bit or the * 64-bit query, so the content of @data will not be modified due this * call. */ bool test_data_check_supported(const test_data *data, const GLenum target, const GLenum internalformat) { bool result; test_data *local_data = test_data_new(data->testing64, 1); test_data_execute(local_data, target, internalformat, GL_INTERNALFORMAT_SUPPORTED); if (!piglit_check_gl_error(GL_NO_ERROR)) result = false; else result = test_data_value_at_index(local_data, 0) == GL_TRUE; test_data_clear(&local_data); return result; }
static bool check_filter() { bool pass = true; test_data *data = test_data_new(0, 1); int testing64; for (testing64 = 0; testing64 <= 1; testing64++) { test_data_set_testing64(data, testing64); pass = try_local(valid_targets, ARRAY_SIZE(valid_targets), valid_internalformats, ARRAY_SIZE(valid_internalformats), GL_FILTER, data) && pass; } piglit_report_subtest_result(pass ? PIGLIT_PASS : PIGLIT_FAIL, "%s", piglit_get_gl_enum_name(GL_FILTER)); test_data_clear(&data); return pass; }
static bool check_textures_size(void) { bool check_pass = true; test_data *data = test_data_new(0, 1); unsigned i; int testing64; for (i = 0; i < ARRAY_SIZE(pnames); i++) { bool pass = true; if (!piglit_is_gles()) { if (pnames[i] == GL_INTERNALFORMAT_SHARED_SIZE || pnames[i] == GL_INTERNALFORMAT_STENCIL_SIZE) { continue; } } for (testing64 = 0; testing64 <= 1; testing64++) { test_data_set_testing64(data, testing64); pass = try_textures_size(texture_targets, ARRAY_SIZE(texture_targets), valid_internalformats, num_valid_internalformats, pnames[i], data) && pass; } piglit_report_subtest_result(pass ? PIGLIT_PASS : PIGLIT_FAIL, "%s", piglit_get_gl_enum_name(pnames[i])); check_pass = check_pass && pass; } test_data_clear(&data); return check_pass; }
static bool check_format_compatibility_type(void) { bool pass = true; test_data *data = test_data_new(0, 1); int testing64; for (testing64 = 0; testing64 <= 1; testing64++) { test_data_set_testing64(data, testing64); pass = try_local(valid_targets, ARRAY_SIZE(valid_targets), valid_internalformats, ARRAY_SIZE(valid_internalformats), GL_IMAGE_FORMAT_COMPATIBILITY_TYPE, data) && pass; } piglit_report_subtest_result(pass ? PIGLIT_PASS : PIGLIT_FAIL, "%s", piglit_get_gl_enum_name(GL_IMAGE_FORMAT_COMPATIBILITY_TYPE)); test_data_clear(&data); return pass; }