ext_external_objects: Remove unnecessary NULL check.
[piglit.git] / tests / spec / ext_external_objects / helpers.c
blob661da8d2fcf9c29d8ef4c457c218a0278b9150d1
1 /*
2 * Copyright © 2020 Intel Corporation
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
13 * Software.
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 * DEALINGS IN THE SOFTWARE.
23 * Author:
24 * Eleni Maria Stea <estea@igalia.com>
25 * Tapani Pälli <tapani.palli@intel.com>
28 #include "helpers.h"
30 char*
31 load_shader(const char *shader_file,
32 unsigned int *size)
34 static char filepath[4096];
35 if (!shader_file)
36 return NULL;
38 piglit_join_paths(filepath, sizeof(filepath), 5,
39 piglit_source_dir(),
40 "tests",
41 "spec",
42 "ext_external_objects",
43 shader_file);
44 char *result =
45 piglit_load_text_file(filepath, size);
47 if (!result)
48 fprintf(stderr, "Failed to load shader source [%s].\n", filepath);
50 return result;
53 bool
54 check_bound_fbo_status(void)
56 GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
57 if (status != GL_FRAMEBUFFER_COMPLETE) {
58 switch(status) {
59 case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT:
60 fprintf(stderr, "GL FBO status: GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT\n");
61 break;
62 case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS:
63 fprintf(stderr, "GL FBO status: GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS\n");
64 break;
65 case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:
66 fprintf(stderr, "GL FBO status: GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\n");
67 break;
68 case GL_FRAMEBUFFER_UNSUPPORTED:
69 fprintf(stderr, "GL FBO status: GL_FRAMEBUFFER_UNSUPPORTED\n");
70 break;
71 default:
72 fprintf(stderr, "GL FBO status: Unknown\n");
74 return false;
76 return true;
79 bool
80 dump_image_rgba(const char *fname,
81 int w, int h,
82 unsigned char *data)
84 FILE *fp;
85 int i;
87 if (!(fp = fopen(fname, "wb"))) {
88 fprintf(stderr, "Failed to open file: %s.\n", fname);
89 return false;
92 fprintf(fp, "P3\n%d %d\n255\n", w, h);
93 for (i = 0; i < w * h; i++) {
94 fprintf(fp, "%d %d %d\n", data[0], data[1], data[2]);
95 data += 4;
97 fclose(fp);
98 return true;