summaryrefslogtreecommitdiff
path: root/embed
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-08-21 21:45:38 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-08-21 21:45:38 -0400
commit8bbef6b1f8fe61ae8b0f24693af28b7fa6e68237 (patch)
treeeaddcd8a1f6f735dc6ea2fe3380e5fe1c90754e6 /embed
parent77d547596c23d5878fee417d3aa0a3bf38037e65 (diff)
pke: embed shaders in executable
Diffstat (limited to 'embed')
-rw-r--r--embed/embedded-file.h4
-rw-r--r--embed/embedded-fonts.c4
-rw-r--r--embed/embedded-shaders.c24
-rw-r--r--embed/embedded-shaders.h19
4 files changed, 48 insertions, 3 deletions
diff --git a/embed/embedded-file.h b/embed/embedded-file.h
index 85f2a34..504225c 100644
--- a/embed/embedded-file.h
+++ b/embed/embedded-file.h
@@ -1,10 +1,12 @@
#ifndef PKE_EMBED_EMBEDDED_FILE_H
#define PKE_EMBED_EMBEDDED_FILE_H
+#include "../src/asset-types.h"
+
#include <stddef.h>
struct embedded_file {
- const char *name;
+ AssetKey name;
const unsigned char *data;
const size_t size;
};
diff --git a/embed/embedded-fonts.c b/embed/embedded-fonts.c
index ca85d91..187072f 100644
--- a/embed/embedded-fonts.c
+++ b/embed/embedded-fonts.c
@@ -4,6 +4,6 @@
#include "../assets/fonts/font_mannequin_glyph.h"
const struct embedded_file embedded_fonts[] = {
- { "fnt_mquin_img\0\0", assets_fonts_font_mannequin_png, assets_fonts_font_mannequin_png_len },
- { "fnt_mquin_gly\0\0", assets_fonts_font_mannequin_glyph, assets_fonts_font_mannequin_glyph_len },
+ { "fnt_mquin_img\0", assets_fonts_font_mannequin_png, assets_fonts_font_mannequin_png_len },
+ { "fnt_mquin_gly\0", assets_fonts_font_mannequin_glyph, assets_fonts_font_mannequin_glyph_len },
};
diff --git a/embed/embedded-shaders.c b/embed/embedded-shaders.c
new file mode 100644
index 0000000..5e0a71a
--- /dev/null
+++ b/embed/embedded-shaders.c
@@ -0,0 +1,24 @@
+
+#include "embedded-shaders.h"
+
+#include "../../obj/shaders/3d_frag_spv.h"
+#include "../../obj/shaders/3d_vert_spv.h"
+#include "../../obj/shaders/glyph_frag_spv.h"
+#include "../../obj/shaders/glyph_vert_spv.h"
+#include "../../obj/shaders/present_frag_spv.h"
+#include "../../obj/shaders/present_vert_spv.h"
+#include "../../obj/shaders/ui_base_frag_spv.h"
+#include "../../obj/shaders/ui_base_vert_spv.h"
+#include "../../obj/shaders/ui_txtr_frag_spv.h"
+
+const struct embedded_file embedded_shaders[] = {
+ { "shdr-3d-frag\0\0\0\0", obj_shaders_3d_frag_spv, obj_shaders_3d_frag_spv_len, },
+ { "shdr-3d-vert\0\0\0\0", obj_shaders_3d_vert_spv, obj_shaders_3d_vert_spv_len, },
+ { "shdr-glyph-frag\0", obj_shaders_glyph_frag_spv, obj_shaders_glyph_frag_spv_len, },
+ { "shdr-glyph-vert\0", obj_shaders_glyph_vert_spv, obj_shaders_glyph_vert_spv_len, },
+ { "shdr-prsnt-frag\0", obj_shaders_present_frag_spv, obj_shaders_present_frag_spv_len, },
+ { "shdr-prsnt-vert\0", obj_shaders_present_vert_spv, obj_shaders_present_vert_spv_len, },
+ { "shdr-ui-bs-frag\0", obj_shaders_ui_base_frag_spv, obj_shaders_ui_base_frag_spv_len, },
+ { "shdr-ui-bs-vert\0", obj_shaders_ui_base_vert_spv, obj_shaders_ui_base_vert_spv_len, },
+ { "shdr-ui-tx-frag\0", obj_shaders_ui_txtr_frag_spv, obj_shaders_ui_txtr_frag_spv_len, },
+};
diff --git a/embed/embedded-shaders.h b/embed/embedded-shaders.h
new file mode 100644
index 0000000..94869e2
--- /dev/null
+++ b/embed/embedded-shaders.h
@@ -0,0 +1,19 @@
+#ifndef PKE_EMBED_EMBEDDED_SHADERS_H
+#define PKE_EMBED_EMBEDDED_SHADERS_H
+
+#include "embedded-file.h"
+
+#define embedded_shader_index_3d_frag 0
+#define embedded_shader_index_3d_vert 1
+#define embedded_shader_index_glyph_frag 2
+#define embedded_shader_index_glyph_vert 3
+#define embedded_shader_index_present_frag 4
+#define embedded_shader_index_present_vert 5
+#define embedded_shader_index_ui_base_frag 6
+#define embedded_shader_index_ui_base_vert 7
+#define embedded_shader_index_ui_texture_frag 8
+#define embedded_shader_index_count 9
+
+extern const struct embedded_file embedded_shaders[];
+
+#endif /* PKE_EMBED_EMBEDDED_SHADERS_H */