From 70807e4a15c38b2945c3f292681bc7edd2285032 Mon Sep 17 00:00:00 2001 From: matthew Date: Sun, 10 Aug 2025 11:56:48 +1000 Subject: [PATCH] add default texture, remove codegen --- assets/shaders/gui.vert.spv | Bin 3772 -> 3844 bytes dub.json | 15 +---- src/codegen/codegen.d | 107 --------------------------------- src/gears/game.d | 51 ++++++++-------- src/gears/vulkan.d | 41 ++++++++++++- src/generated/assets_codegen.d | 101 ------------------------------- src/shaders/gui.vert.glsl | 2 +- src/shared/includes.c | 1 + 8 files changed, 66 insertions(+), 252 deletions(-) delete mode 100644 src/codegen/codegen.d delete mode 100644 src/generated/assets_codegen.d diff --git a/assets/shaders/gui.vert.spv b/assets/shaders/gui.vert.spv index df1c78bc0ccfd86522c5ae6e93779754256d4c73..1c92e68b14d06bd29f42361a39f833d95935a677 100644 GIT binary patch delta 981 zcmYk4%}x_h7>3Wxw6p{U7L_yvsaAFx7jB3NfrMxRVPjpHxKJ@6rt(vu4F6CNkUzmT z=LYl=3|lvZ>+lk|02d~{&-9#xY2Kdqd%xfF&HNrbEX7eclr!1DbeY(+TJc)vnlWZq zX#Tp0!XUA&u-Ko-=J_=DzEZ1KSE{uI(_wNZvDe{%V*aH6f5U;8Y@V!s+qN7P2DjUS zS)Qp&i_+Sa7ww3qeI4DzR1bwo`4d~t6y{L^q061AN1Q0MNbnjQEh9|GLqA{5_a2hQ zGoh%a&T?uw`|4-rLDYC6S6=dGfz}UYFYBayPPi|7MQ4XVOi7F}-#85)Aa7MCdH6@1 z&0^5-uj`~HwMy-gr&0muj>JxZ*-6IceW2lQI8HJ{bDj%4{ffG@x7niok?-#N-WJWJ zPAXwHudeg2GL3Pq`lHNQ;ibThMqRNvrxPe5XQ6$Yy$DKrVYCk7oKgxgdIWX6_{1=Ic4<`_4V{-8-}0`Z?Q7lev1RRl-DQhJ(ZA`uHG( z@CJ;29HdF5pB*Ms(|u~!)1`-<-k`hI?X85dP!Ij=IGLg6cmDr3nQ6M)RpYmjwbRMj zje-cPPX=&lKD%?X=on>->93~K6L1^7pS7!#%Q6)(5o4~9+a;HRk~5d9f&~UnBYqXSE8;cXC4UHRL$ZyPK_jA9Ct%WA0{68h3$fny&rqPi-pu);M+MYe9y6 zqLZvgN5_r3)!}tY9XtcKz#>=gpy!bzgbtiNOP~wX=Ha}h6>uLs0yj8;wSDTI?j^Va z9s{4{>{md3C)9>Hu}*O*3iB|Y>>cp57r@EQ@1wRCjeekZzx-C@hUD_6L22Y8xkh}A zrIF1*rvgrLBcI4MvI$BfTjZsYlbg5U)k-5f 0, "PushConstants pipeline_id == 0"); + PipelineHandles* pipeline = vk.pipeline_handles.ptr + pipeline_id; + VkShaderStageFlags stage = (pipeline.type == VK_PIPELINE_BIND_POINT_GRAPHICS ? + VK_SHADER_STAGE_VERTEX_BIT|VK_SHADER_STAGE_FRAGMENT_BIT : + VK_SHADER_STAGE_COMPUTE_BIT); + vkCmdPushConstants( vk.cmds[vk.frame_index], - layout, - VK_SHADER_STAGE_VERTEX_BIT|VK_SHADER_STAGE_FRAGMENT_BIT|VK_SHADER_STAGE_COMPUTE_BIT, + pipeline.layout, + stage, 0, T.sizeof, pc @@ -2079,6 +2092,28 @@ InitGlobalDescSet(Vulkan* vk) return success; } +void +WriteGUI(Vulkan* vk, DescSet set, ImageView* atlas) +{ + VkDescriptorImageInfo image_info = { + imageView: atlas.view, + imageLayout: atlas.layout, + }; + + VkWriteDescriptorSet[] writes = [ + { + sType: VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, + dstSet: set, + dstBinding: 0, + descriptorCount: 1, + descriptorType: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, + pImageInfo: &image_info, + } + ]; + + vkUpdateDescriptorSets(vk.device, cast(u32)writes.length, writes.ptr, 0, null); +} + void WriteDrawImageDesc(Vulkan* vk) { diff --git a/src/generated/assets_codegen.d b/src/generated/assets_codegen.d deleted file mode 100644 index 6dc7c71..0000000 --- a/src/generated/assets_codegen.d +++ /dev/null @@ -1,101 +0,0 @@ -import aliases; - -static immutable string[] MODEL_FILES = [ - "models/cube.m3d", - "models/test_char.m3d", - "models/yoda.m3d", -]; - -static immutable string[] MODEL_NAMES = [ - "models/cube", - "models/test_char", - "models/yoda", -]; - -static immutable u64[] MODEL_HASHES = [ - 16487010975852376380, - 13826959199295087925, - 4559395153940738542, -]; - -static immutable string[] STYLIZEDNATURE_FILES = [ - "StylizedNature/Textures", - "StylizedNature/Nature", - "StylizedNature/Ruins", -]; - -static immutable string[] STYLIZEDNATURE_NAMES = [ - "StylizedNature/Textures", - "StylizedNature/Nature", - "StylizedNature/Ruins", -]; - -static immutable u64[] STYLIZEDNATURE_HASHES = [ - 13989528115033644773, - 6938651194392675090, - 4760645683512501027, -]; - -static immutable string[] SHADER_FILES = [ - "shaders/gui.frag.spv", - "shaders/triangle.vert.spv", - "shaders/pbr.frag.spv", - "shaders/gui.vert.spv", - "shaders/gradient.comp.spv", - "shaders/convert.comp.spv", - "shaders/triangle.frag.spv", - "shaders/pbr.vert.spv", -]; - -static immutable string[] SHADER_NAMES = [ - "shaders/gui.frag", - "shaders/triangle.vert", - "shaders/pbr.frag", - "shaders/gui.vert", - "shaders/gradient.comp", - "shaders/convert.comp", - "shaders/triangle.frag", - "shaders/pbr.vert", -]; - -static immutable u64[] SHADER_HASHES = [ - 15780387719315455808, - 8769314645675479020, - 2230071466542309169, - 14797956403837654625, - 16130483095684998267, - 3780699516113804562, - 6282520872716708711, - 8518761701216801634, -]; - -static immutable string[] TEXTURE_FILES = [ - "textures/ham_smoke.png", - "textures/cheesoid.png", - "textures/hog.jpg", - "textures/patamon.png", - "textures/pattermon.png", - "textures/hamster.png", - "textures/purplemon.png", -]; - -static immutable string[] TEXTURE_NAMES = [ - "textures/ham_smoke", - "textures/cheesoid", - "textures/hog", - "textures/patamon", - "textures/pattermon", - "textures/hamster", - "textures/purplemon", -]; - -static immutable u64[] TEXTURE_HASHES = [ - 15457434128510259736, - 12443444479937967236, - 5538438794723924882, - 16650761267170532297, - 11718504567089932798, - 7627422980398294448, - 14316598952102237724, -]; - diff --git a/src/shaders/gui.vert.glsl b/src/shaders/gui.vert.glsl index 5fe8e20..eac1cc1 100644 --- a/src/shaders/gui.vert.glsl +++ b/src/shaders/gui.vert.glsl @@ -43,7 +43,7 @@ void main() FragData.color = in_col; FragData.uv = vec2( in_src_start.x / tex_size.x, - in_src_start + in_src_start.y / tex_size.y ); gl_Position = vec4(2 * dst_pos.x / PC.res.x - 1, diff --git a/src/shared/includes.c b/src/shared/includes.c index 5350278..b4662be 100644 --- a/src/shared/includes.c +++ b/src/shared/includes.c @@ -6,6 +6,7 @@ # include # include # include +# include #endif #include