+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+
+#include "util.h"
+
+char *
+sdr_load(const char *fname, int *sz)
+{
+ FILE *fp;
+ char *sdr_text;
+ struct stat sp;
+ size_t filesz;
+
+ if (!(fp = fopen(fname, "r"))) {
+ fprintf(stderr, "Failed to open shader file: %s: %s.\n", fname, strerror(errno));
+ return 0;
+ }
+
+ fstat(fileno(fp), &sp);
+ filesz = sp.st_size;
+
+ if (!(sdr_text = malloc(filesz + 1))) {
+ fclose(fp);
+ return 0;
+ }
+
+ fread(sdr_text, 1, filesz, fp);
+ sdr_text[filesz] = 0;
+ fclose(fp);
+
+ if (!sdr_text)
+ fprintf(stderr, "Failed to load shader source code from: %s.\n", fname);
+
+ *sz = filesz;
+ return sdr_text;
+
+}
+
+bool
+img_dump_rgba(const char *fname,
+ int w, int h,
+ unsigned char *data)
+{
+ return true;
+}