summaryrefslogtreecommitdiff
path: root/src/gpu
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-17 08:12:05 +0100
committerskal <pascal.massimino@gmail.com>2026-02-17 08:12:05 +0100
commit50350344d289c3389161cd6914c57f88d1a04dcc (patch)
tree5394a9b7781e3ccbbd332af8b043ea28d9d6a99f /src/gpu
parentfef8f1a9b7ff513963fbcae7590c24f95a06081c (diff)
refactor: move shaders.{h,cc} to src/effects and remove v2 suffix
- Removed unused v1 shader declarations (13 variables) - Removed _v2 suffix from active shader names - Moved shaders.{h,cc} from src/gpu to src/effects - Updated all includes and build references - All tests pass (34/34) handoff(Claude): Cleaned up shader management, tests passing
Diffstat (limited to 'src/gpu')
-rw-r--r--src/gpu/demo_effects.h2
-rw-r--r--src/gpu/gpu.cc2
-rw-r--r--src/gpu/shaders.cc184
-rw-r--r--src/gpu/shaders.h39
4 files changed, 2 insertions, 225 deletions
diff --git a/src/gpu/demo_effects.h b/src/gpu/demo_effects.h
index 999deb1..d98045e 100644
--- a/src/gpu/demo_effects.h
+++ b/src/gpu/demo_effects.h
@@ -12,7 +12,7 @@
#include "gpu/effect.h"
#include "gpu/post_process_helper.h"
#include "gpu/sequence.h"
-#include "gpu/shaders.h"
+#include "effects/shaders.h"
#include "gpu/texture_manager.h"
#include "gpu/uniform_helper.h"
diff --git a/src/gpu/gpu.cc b/src/gpu/gpu.cc
index 805e555..9955169 100644
--- a/src/gpu/gpu.cc
+++ b/src/gpu/gpu.cc
@@ -5,7 +5,7 @@
#include "gpu.h"
#include "generated/timeline.h"
#include "gpu/shader_composer.h"
-#include "gpu/shaders.h"
+#include "effects/shaders.h"
#include "platform/platform.h"
#include <cassert>
diff --git a/src/gpu/shaders.cc b/src/gpu/shaders.cc
deleted file mode 100644
index 4017726..0000000
--- a/src/gpu/shaders.cc
+++ /dev/null
@@ -1,184 +0,0 @@
-// This file is part of the 64k demo project.
-// It defines WGSL shader code for various effects.
-
-#include "demo_effects.h"
-
-#if defined(USE_TEST_ASSETS)
-
-#include "test_assets.h"
-
-#else
-
-#include "generated/assets.h"
-
-#endif
-
-#include "gpu/shader_composer.h"
-
-#include "util/asset_manager.h"
-
-void InitShaderComposer() {
- auto& sc = ShaderComposer::Get();
-
- auto register_if_exists = [&](const char* name, AssetId id) {
- size_t size;
-
- const char* data = (const char*)GetAsset(id, &size);
-
- if (data) {
- sc.RegisterSnippet(name, std::string(data, size));
- }
- };
-
- register_if_exists("common_uniforms", AssetId::ASSET_SHADER_COMMON_UNIFORMS);
- register_if_exists("sequence_uniforms",
- AssetId::ASSET_SHADER_SEQUENCE_V2_UNIFORMS);
- register_if_exists("postprocess_inline",
- AssetId::ASSET_SHADER_POSTPROCESS_INLINE);
- // register_if_exists("camera_common", AssetId::ASSET_SHADER_CAMERA_COMMON);
- register_if_exists("math/sdf_shapes", AssetId::ASSET_SHADER_MATH_SDF_SHAPES);
- register_if_exists("math/sdf_utils", AssetId::ASSET_SHADER_MATH_SDF_UTILS);
- register_if_exists("math/common_utils",
- AssetId::ASSET_SHADER_MATH_COMMON_UTILS);
- register_if_exists("math/noise", AssetId::ASSET_SHADER_MATH_NOISE);
- register_if_exists("render/shadows", AssetId::ASSET_SHADER_RENDER_SHADOWS);
- register_if_exists("render/scene_query_bvh",
- AssetId::ASSET_SHADER_RENDER_SCENE_QUERY_BVH);
- register_if_exists("render/scene_query_linear",
- AssetId::ASSET_SHADER_RENDER_SCENE_QUERY_LINEAR);
- register_if_exists("render/lighting_utils",
- AssetId::ASSET_SHADER_RENDER_LIGHTING_UTILS);
- register_if_exists("render/mesh", AssetId::ASSET_SHADER_MESH);
-
- register_if_exists("math/sdf_shapes", AssetId::ASSET_SHADER_SDF_SHAPES);
-
- register_if_exists("lighting", AssetId::ASSET_SHADER_LIGHTING);
-
- register_if_exists("ray_box", AssetId::ASSET_SHADER_RAY_BOX);
- register_if_exists("ray_triangle", AssetId::ASSET_SHADER_RAY_TRIANGLE);
-
- register_if_exists("render/fullscreen_vs",
- AssetId::ASSET_SHADER_RENDER_FULLSCREEN_VS);
- register_if_exists("math/color", AssetId::ASSET_SHADER_MATH_COLOR);
- register_if_exists("math/utils", AssetId::ASSET_SHADER_MATH_UTILS);
- register_if_exists("render/raymarching",
- AssetId::ASSET_SHADER_RENDER_RAYMARCHING);
-
- // CNN shaders (workspace-specific)
- // register_if_exists("cnn_activation", AssetId::ASSET_SHADER_CNN_ACTIVATION);
- // register_if_exists("cnn_conv1x1", AssetId::ASSET_SHADER_CNN_CONV1X1);
- // register_if_exists("cnn_conv3x3", AssetId::ASSET_SHADER_CNN_CONV3X3);
- // register_if_exists("cnn_conv5x5", AssetId::ASSET_SHADER_CNN_CONV5X5);
- // register_if_exists("cnn_conv7x7", AssetId::ASSET_SHADER_CNN_CONV7X7);
- // register_if_exists("cnn_weights_generated",
- // AssetId::ASSET_SHADER_CNN_WEIGHTS);
-
-#if !defined(STRIP_ALL)
- sc.VerifyIncludes();
-#endif
-}
-
-// Helper to get asset string or empty string
-
-static const char* SafeGetAsset(AssetId id) {
- const uint8_t* data = GetAsset(id);
-
- return data ? (const char*)data : "";
-}
-
-const char* main_shader_wgsl = SafeGetAsset(AssetId::ASSET_SHADER_MAIN);
-
-const char* particle_compute_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_PARTICLE_COMPUTE);
-
-const char* particle_render_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_PARTICLE_RENDER);
-
-const char* passthrough_shader_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_PASSTHROUGH);
-
-const char* ellipse_shader_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_ELLIPSE);
-
-const char* particle_spray_compute_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_PARTICLE_SPRAY_COMPUTE);
-
-const char* gaussian_blur_shader_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_GAUSSIAN_BLUR);
-
-const char* solarize_shader_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_SOLARIZE);
-
-// const char* scene1_shader_wgsl =
-// SafeGetAsset(AssetId::ASSET_SHADER_SCENE1);
-
-// const char* sdf_test_shader_wgsl =
-// SafeGetAsset(AssetId::ASSET_SHADER_SDF_TEST);
-
-const char* distort_shader_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_DISTORT);
-
-const char* chroma_aberration_shader_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_CHROMA_ABERRATION);
-
-// const char* cnn_layer_shader_wgsl =
-// SafeGetAsset(AssetId::ASSET_SHADER_CNN_LAYER);
-
-const char* gen_noise_compute_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_COMPUTE_GEN_NOISE);
-
-const char* gen_perlin_compute_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_COMPUTE_GEN_PERLIN);
-
-const char* gen_grid_compute_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_COMPUTE_GEN_GRID);
-
-#if !defined(STRIP_GPU_COMPOSITE)
-const char* gen_blend_compute_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_COMPUTE_GEN_BLEND);
-
-const char* gen_mask_compute_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_COMPUTE_GEN_MASK);
-#endif
-
-const char* vignette_shader_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_VIGNETTE);
-
-// Sequence v2 shaders
-const char* passthrough_v2_shader_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_PASSTHROUGH_V2);
-
-const char* gaussian_blur_v2_shader_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_GAUSSIAN_BLUR_V2);
-
-const char* heptagon_v2_shader_wgsl =
-
- SafeGetAsset(AssetId::ASSET_SHADER_HEPTAGON_V2);
-
-const char* particle_compute_v2_wgsl =
- SafeGetAsset(AssetId::ASSET_SHADER_PARTICLE_COMPUTE);
-
-const char* particle_render_v2_wgsl =
- SafeGetAsset(AssetId::ASSET_SHADER_PARTICLE_RENDER);
-
-const char* rotating_cube_v2_wgsl =
- SafeGetAsset(AssetId::ASSET_SHADER_ROTATING_CUBE_V2);
-
-const char* flash_shader_wgsl = SafeGetAsset(AssetId::ASSET_SHADER_FLASH);
diff --git a/src/gpu/shaders.h b/src/gpu/shaders.h
deleted file mode 100644
index 4fee863..0000000
--- a/src/gpu/shaders.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// This file is part of the 64k demo project.
-// It declares the WGSL shader strings and initialization function.
-
-#pragma once
-
-// Initializes the ShaderComposer with snippet assets.
-void InitShaderComposer();
-
-// Shader declarations (defined in shaders.cc)
-extern const char* main_shader_wgsl;
-extern const char* particle_compute_wgsl;
-extern const char* particle_render_wgsl;
-extern const char* passthrough_shader_wgsl;
-extern const char* ellipse_shader_wgsl;
-extern const char* particle_spray_compute_wgsl;
-extern const char* gaussian_blur_shader_wgsl;
-extern const char* solarize_shader_wgsl;
-extern const char* scene1_shader_wgsl;
-extern const char* sdf_test_shader_wgsl;
-extern const char* distort_shader_wgsl;
-extern const char* chroma_aberration_shader_wgsl;
-extern const char* vignette_shader_wgsl;
-extern const char* cnn_layer_shader_wgsl;
-extern const char* gen_noise_compute_wgsl;
-extern const char* gen_perlin_compute_wgsl;
-extern const char* gen_grid_compute_wgsl;
-#if !defined(STRIP_GPU_COMPOSITE)
-extern const char* gen_blend_compute_wgsl;
-extern const char* gen_mask_compute_wgsl;
-#endif
-
-// Sequence v2 shaders
-extern const char* passthrough_v2_shader_wgsl;
-extern const char* gaussian_blur_v2_shader_wgsl;
-extern const char* heptagon_v2_shader_wgsl;
-extern const char* particle_compute_v2_wgsl;
-extern const char* particle_render_v2_wgsl;
-extern const char* rotating_cube_v2_wgsl;
-extern const char* flash_shader_wgsl;