many changes: Makefile, util, fixed indent, fixes in swapchain
[vkrt] / src / util.c
diff --git a/src/util.c b/src/util.c
new file mode 100644 (file)
index 0000000..7d33134
--- /dev/null
@@ -0,0 +1,48 @@
+#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;
+}