summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gpu/effect.h6
-rw-r--r--src/gpu/effects/chroma_aberration_effect.cc8
-rw-r--r--src/gpu/effects/distort_effect.cc8
-rw-r--r--src/gpu/effects/fade_effect.cc8
-rw-r--r--src/gpu/effects/flash_cube_effect.cc4
-rw-r--r--src/gpu/effects/flash_effect.cc8
-rw-r--r--src/gpu/effects/gaussian_blur_effect.cc8
-rw-r--r--src/gpu/effects/heptagon_effect.cc6
-rw-r--r--src/gpu/effects/hybrid_3d_effect.cc4
-rw-r--r--src/gpu/effects/moving_ellipse_effect.cc6
-rw-r--r--src/gpu/effects/particle_spray_effect.cc10
-rw-r--r--src/gpu/effects/particles_effect.cc10
-rw-r--r--src/gpu/effects/passthrough_effect.cc8
-rw-r--r--src/gpu/effects/solarize_effect.cc8
-rw-r--r--src/gpu/effects/theme_modulation_effect.cc8
-rw-r--r--src/test_demo.cc8
16 files changed, 58 insertions, 60 deletions
diff --git a/src/gpu/effect.h b/src/gpu/effect.h
index 006ee6f..725c020 100644
--- a/src/gpu/effect.h
+++ b/src/gpu/effect.h
@@ -9,7 +9,7 @@ class PostProcessEffect;
class Effect {
public:
- Effect(const GpuContext& ctx) : device_(ctx.device), queue_(ctx.queue), format_(ctx.format) {
+ Effect(const GpuContext& ctx) : ctx_(ctx) {
}
virtual ~Effect() = default;
virtual void init(MainSequence* demo) {
@@ -40,9 +40,7 @@ class Effect {
}
protected:
- WGPUDevice device_;
- WGPUQueue queue_;
- WGPUTextureFormat format_;
+ const GpuContext& ctx_;
GpuBuffer uniforms_;
int width_ = 1280;
int height_ = 720;
diff --git a/src/gpu/effects/chroma_aberration_effect.cc b/src/gpu/effects/chroma_aberration_effect.cc
index 83c5f2a..dc28ee5 100644
--- a/src/gpu/effects/chroma_aberration_effect.cc
+++ b/src/gpu/effects/chroma_aberration_effect.cc
@@ -8,9 +8,9 @@
ChromaAberrationEffect::ChromaAberrationEffect(const GpuContext& ctx)
: PostProcessEffect(ctx) {
uniforms_ =
- gpu_create_buffer(device_, sizeof(float) * 6,
+ gpu_create_buffer(ctx_.device, sizeof(float) * 6,
WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
- pipeline_ = create_post_process_pipeline(device_, format_,
+ pipeline_ = create_post_process_pipeline(ctx_.device, ctx_.format,
chroma_aberration_shader_wgsl);
}
void ChromaAberrationEffect::render(WGPURenderPassEncoder pass, float t,
@@ -18,9 +18,9 @@ void ChromaAberrationEffect::render(WGPURenderPassEncoder pass, float t,
struct {
float t, b, i, a, w, h;
} u = {t, b, i, a, (float)width_, (float)height_};
- wgpuQueueWriteBuffer(queue_, uniforms_.buffer, 0, &u, sizeof(u));
+ wgpuQueueWriteBuffer(ctx_.queue, uniforms_.buffer, 0, &u, sizeof(u));
PostProcessEffect::render(pass, t, b, i, a);
}
void ChromaAberrationEffect::update_bind_group(WGPUTextureView v) {
- pp_update_bind_group(device_, pipeline_, &bind_group_, v, uniforms_);
+ pp_update_bind_group(ctx_.device, pipeline_, &bind_group_, v, uniforms_);
}
diff --git a/src/gpu/effects/distort_effect.cc b/src/gpu/effects/distort_effect.cc
index abaa2e7..3bd4540 100644
--- a/src/gpu/effects/distort_effect.cc
+++ b/src/gpu/effects/distort_effect.cc
@@ -8,19 +8,19 @@
DistortEffect::DistortEffect(const GpuContext& ctx)
: PostProcessEffect(ctx) {
uniforms_ =
- gpu_create_buffer(device_, sizeof(float) * 6,
+ gpu_create_buffer(ctx_.device, sizeof(float) * 6,
WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
pipeline_ =
- create_post_process_pipeline(device_, format_, distort_shader_wgsl);
+ create_post_process_pipeline(ctx_.device, ctx_.format, distort_shader_wgsl);
}
void DistortEffect::render(WGPURenderPassEncoder pass, float t, float b,
float i, float a) {
struct {
float t, b, i, a, w, h;
} u = {t, b, i, a, (float)width_, (float)height_};
- wgpuQueueWriteBuffer(queue_, uniforms_.buffer, 0, &u, sizeof(u));
+ wgpuQueueWriteBuffer(ctx_.queue, uniforms_.buffer, 0, &u, sizeof(u));
PostProcessEffect::render(pass, t, b, i, a);
}
void DistortEffect::update_bind_group(WGPUTextureView v) {
- pp_update_bind_group(device_, pipeline_, &bind_group_, v, uniforms_);
+ pp_update_bind_group(ctx_.device, pipeline_, &bind_group_, v, uniforms_);
}
diff --git a/src/gpu/effects/fade_effect.cc b/src/gpu/effects/fade_effect.cc
index dce2360..8aad6b3 100644
--- a/src/gpu/effects/fade_effect.cc
+++ b/src/gpu/effects/fade_effect.cc
@@ -45,13 +45,13 @@ FadeEffect::FadeEffect(const GpuContext& ctx)
}
)";
- pipeline_ = create_post_process_pipeline(device_, format_, shader_code);
+ pipeline_ = create_post_process_pipeline(ctx_.device, ctx_.format, shader_code);
uniforms_ = gpu_create_buffer(
- device_, 16, WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
+ ctx_.device, 16, WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
}
void FadeEffect::update_bind_group(WGPUTextureView input_view) {
- pp_update_bind_group(device_, pipeline_, &bind_group_, input_view, uniforms_);
+ pp_update_bind_group(ctx_.device, pipeline_, &bind_group_, input_view, uniforms_);
}
void FadeEffect::render(WGPURenderPassEncoder pass, float time, float beat,
@@ -73,7 +73,7 @@ void FadeEffect::render(WGPURenderPassEncoder pass, float time, float beat,
}
float uniforms[4] = {fade_amount, 0.0f, 0.0f, 0.0f};
- wgpuQueueWriteBuffer(queue_, uniforms_.buffer, 0, uniforms, sizeof(uniforms));
+ wgpuQueueWriteBuffer(ctx_.queue, uniforms_.buffer, 0, uniforms, sizeof(uniforms));
wgpuRenderPassEncoderSetPipeline(pass, pipeline_);
wgpuRenderPassEncoderSetBindGroup(pass, 0, bind_group_, 0, nullptr);
diff --git a/src/gpu/effects/flash_cube_effect.cc b/src/gpu/effects/flash_cube_effect.cc
index 4f58562..8c97d5d 100644
--- a/src/gpu/effects/flash_cube_effect.cc
+++ b/src/gpu/effects/flash_cube_effect.cc
@@ -22,11 +22,11 @@ void FlashCubeEffect::init(MainSequence* demo) {
(void)demo;
WGPUTextureFormat format = demo->gpu_ctx.format;
- renderer_.init(device_, queue_, format_);
+ renderer_.init(ctx_.device, ctx_.queue, ctx_.format);
renderer_.resize(width_, height_);
// Texture Manager
- texture_manager_.init(device_, queue_);
+ texture_manager_.init(ctx_.device, ctx_.queue);
// Load Perlin noise texture
TextureAsset noise_tex = GetTextureAsset(AssetId::ASSET_NOISE_TEX);
diff --git a/src/gpu/effects/flash_effect.cc b/src/gpu/effects/flash_effect.cc
index 3dcb48a..217a7bb 100644
--- a/src/gpu/effects/flash_effect.cc
+++ b/src/gpu/effects/flash_effect.cc
@@ -47,13 +47,13 @@ FlashEffect::FlashEffect(const GpuContext& ctx)
}
)";
- pipeline_ = create_post_process_pipeline(device_, format_, shader_code);
+ pipeline_ = create_post_process_pipeline(ctx_.device, ctx_.format, shader_code);
uniforms_ = gpu_create_buffer(
- device_, 16, WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
+ ctx_.device, 16, WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
}
void FlashEffect::update_bind_group(WGPUTextureView input_view) {
- pp_update_bind_group(device_, pipeline_, &bind_group_, input_view, uniforms_);
+ pp_update_bind_group(ctx_.device, pipeline_, &bind_group_, input_view, uniforms_);
}
void FlashEffect::render(WGPURenderPassEncoder pass, float time, float beat,
@@ -71,7 +71,7 @@ void FlashEffect::render(WGPURenderPassEncoder pass, float time, float beat,
flash_intensity_ *= 0.85f;
float uniforms[4] = {flash_intensity_, 0.0f, 0.0f, 0.0f};
- wgpuQueueWriteBuffer(queue_, uniforms_.buffer, 0, uniforms, sizeof(uniforms));
+ wgpuQueueWriteBuffer(ctx_.queue, uniforms_.buffer, 0, uniforms, sizeof(uniforms));
wgpuRenderPassEncoderSetPipeline(pass, pipeline_);
wgpuRenderPassEncoderSetBindGroup(pass, 0, bind_group_, 0, nullptr);
diff --git a/src/gpu/effects/gaussian_blur_effect.cc b/src/gpu/effects/gaussian_blur_effect.cc
index 72a93b8..f3a3544 100644
--- a/src/gpu/effects/gaussian_blur_effect.cc
+++ b/src/gpu/effects/gaussian_blur_effect.cc
@@ -8,19 +8,19 @@
GaussianBlurEffect::GaussianBlurEffect(const GpuContext& ctx)
: PostProcessEffect(ctx) {
uniforms_ =
- gpu_create_buffer(device_, sizeof(float) * 6,
+ gpu_create_buffer(ctx_.device, sizeof(float) * 6,
WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
pipeline_ =
- create_post_process_pipeline(device_, format_, gaussian_blur_shader_wgsl);
+ create_post_process_pipeline(ctx_.device, ctx_.format, gaussian_blur_shader_wgsl);
}
void GaussianBlurEffect::render(WGPURenderPassEncoder pass, float t, float b,
float i, float a) {
struct {
float t, b, i, a, w, h;
} u = {t, b, i, a, (float)width_, (float)height_};
- wgpuQueueWriteBuffer(queue_, uniforms_.buffer, 0, &u, sizeof(u));
+ wgpuQueueWriteBuffer(ctx_.queue, uniforms_.buffer, 0, &u, sizeof(u));
PostProcessEffect::render(pass, t, b, i, a);
}
void GaussianBlurEffect::update_bind_group(WGPUTextureView v) {
- pp_update_bind_group(device_, pipeline_, &bind_group_, v, uniforms_);
+ pp_update_bind_group(ctx_.device, pipeline_, &bind_group_, v, uniforms_);
}
diff --git a/src/gpu/effects/heptagon_effect.cc b/src/gpu/effects/heptagon_effect.cc
index 024f076..40ff860 100644
--- a/src/gpu/effects/heptagon_effect.cc
+++ b/src/gpu/effects/heptagon_effect.cc
@@ -8,11 +8,11 @@
HeptagonEffect::HeptagonEffect(const GpuContext& ctx)
: Effect(ctx) {
uniforms_ =
- gpu_create_buffer(device_, sizeof(float) * 4,
+ gpu_create_buffer(ctx_.device, sizeof(float) * 4,
WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
ResourceBinding bindings[] = {{uniforms_, WGPUBufferBindingType_Uniform}};
pass_ =
- gpu_create_render_pass(device_, format_, main_shader_wgsl, bindings, 1);
+ gpu_create_render_pass(ctx_.device, ctx_.format, main_shader_wgsl, bindings, 1);
pass_.vertex_count = 21;
}
void HeptagonEffect::render(WGPURenderPassEncoder pass, float t, float b,
@@ -20,7 +20,7 @@ void HeptagonEffect::render(WGPURenderPassEncoder pass, float t, float b,
struct {
float p, a, t, d;
} u = {i, a, t, 0.0f};
- wgpuQueueWriteBuffer(queue_, uniforms_.buffer, 0, &u, sizeof(u));
+ wgpuQueueWriteBuffer(ctx_.queue, uniforms_.buffer, 0, &u, sizeof(u));
wgpuRenderPassEncoderSetPipeline(pass, pass_.pipeline);
wgpuRenderPassEncoderSetBindGroup(pass, 0, pass_.bind_group, 0, nullptr);
wgpuRenderPassEncoderDraw(pass, pass_.vertex_count, 1, 0, 0);
diff --git a/src/gpu/effects/hybrid_3d_effect.cc b/src/gpu/effects/hybrid_3d_effect.cc
index 6f89bf3..0f31b92 100644
--- a/src/gpu/effects/hybrid_3d_effect.cc
+++ b/src/gpu/effects/hybrid_3d_effect.cc
@@ -24,11 +24,11 @@ void Hybrid3DEffect::init(MainSequence* demo) {
demo->gpu_ctx.format; // Get current format from MainSequence (might be different
// than constructor if resized)
- renderer_.init(device_, queue_, format_);
+ renderer_.init(ctx_.device, ctx_.queue, ctx_.format);
renderer_.resize(width_, height_);
// Texture Manager
- texture_manager_.init(device_, queue_);
+ texture_manager_.init(ctx_.device, ctx_.queue);
// Load Noise Asset
TextureAsset noise_tex = GetTextureAsset(AssetId::ASSET_NOISE_TEX);
diff --git a/src/gpu/effects/moving_ellipse_effect.cc b/src/gpu/effects/moving_ellipse_effect.cc
index 1163215..94596df 100644
--- a/src/gpu/effects/moving_ellipse_effect.cc
+++ b/src/gpu/effects/moving_ellipse_effect.cc
@@ -8,11 +8,11 @@
MovingEllipseEffect::MovingEllipseEffect(const GpuContext& ctx)
: Effect(ctx) {
uniforms_ =
- gpu_create_buffer(device_, sizeof(float) * 6,
+ gpu_create_buffer(ctx_.device, sizeof(float) * 6,
WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
ResourceBinding bindings[] = {{uniforms_, WGPUBufferBindingType_Uniform}};
pass_ =
- gpu_create_render_pass(device_, format_, ellipse_shader_wgsl, bindings, 1);
+ gpu_create_render_pass(ctx_.device, ctx_.format, ellipse_shader_wgsl, bindings, 1);
pass_.vertex_count = 3;
}
void MovingEllipseEffect::render(WGPURenderPassEncoder pass, float t, float b,
@@ -20,7 +20,7 @@ void MovingEllipseEffect::render(WGPURenderPassEncoder pass, float t, float b,
struct {
float t, b, i, a, w, h;
} u = {t, b, i, a, (float)width_, (float)height_};
- wgpuQueueWriteBuffer(queue_, uniforms_.buffer, 0, &u, sizeof(u));
+ wgpuQueueWriteBuffer(ctx_.queue, uniforms_.buffer, 0, &u, sizeof(u));
wgpuRenderPassEncoderSetPipeline(pass, pass_.pipeline);
wgpuRenderPassEncoderSetBindGroup(pass, 0, pass_.bind_group, 0, nullptr);
wgpuRenderPassEncoderDraw(pass, 3, 1, 0, 0);
diff --git a/src/gpu/effects/particle_spray_effect.cc b/src/gpu/effects/particle_spray_effect.cc
index 452017e..8c20065 100644
--- a/src/gpu/effects/particle_spray_effect.cc
+++ b/src/gpu/effects/particle_spray_effect.cc
@@ -9,24 +9,24 @@
ParticleSprayEffect::ParticleSprayEffect(const GpuContext& ctx)
: Effect(ctx) {
uniforms_ =
- gpu_create_buffer(device_, sizeof(float) * 6,
+ gpu_create_buffer(ctx_.device, sizeof(float) * 6,
WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
std::vector<Particle> init_p(NUM_PARTICLES);
for (Particle& p : init_p)
p.pos[3] = 0.0f;
particles_buffer_ = gpu_create_buffer(
- device_, sizeof(Particle) * NUM_PARTICLES,
+ ctx_.device, sizeof(Particle) * NUM_PARTICLES,
WGPUBufferUsage_Storage | WGPUBufferUsage_Vertex, init_p.data());
ResourceBinding cb[] = {{particles_buffer_, WGPUBufferBindingType_Storage},
{uniforms_, WGPUBufferBindingType_Uniform}};
compute_pass_ =
- gpu_create_compute_pass(device_, particle_spray_compute_wgsl, cb, 2);
+ gpu_create_compute_pass(ctx_.device, particle_spray_compute_wgsl, cb, 2);
compute_pass_.workgroup_size_x = (NUM_PARTICLES + 63) / 64;
ResourceBinding rb[] = {
{particles_buffer_, WGPUBufferBindingType_ReadOnlyStorage},
{uniforms_, WGPUBufferBindingType_Uniform}};
render_pass_ =
- gpu_create_render_pass(device_, format_, particle_render_wgsl, rb, 2);
+ gpu_create_render_pass(ctx_.device, ctx_.format, particle_render_wgsl, rb, 2);
render_pass_.vertex_count = 6;
render_pass_.instance_count = NUM_PARTICLES;
}
@@ -35,7 +35,7 @@ void ParticleSprayEffect::compute(WGPUCommandEncoder e, float t, float b,
struct {
float i, a, t, b, w, h;
} u = {i, a, t, b, (float)width_, (float)height_};
- wgpuQueueWriteBuffer(queue_, uniforms_.buffer, 0, &u, sizeof(u));
+ wgpuQueueWriteBuffer(ctx_.queue, uniforms_.buffer, 0, &u, sizeof(u));
WGPUComputePassEncoder pass = wgpuCommandEncoderBeginComputePass(e, nullptr);
wgpuComputePassEncoderSetPipeline(pass, compute_pass_.pipeline);
wgpuComputePassEncoderSetBindGroup(pass, 0, compute_pass_.bind_group, 0,
diff --git a/src/gpu/effects/particles_effect.cc b/src/gpu/effects/particles_effect.cc
index 137150a..d9f8f2a 100644
--- a/src/gpu/effects/particles_effect.cc
+++ b/src/gpu/effects/particles_effect.cc
@@ -9,22 +9,22 @@
ParticlesEffect::ParticlesEffect(const GpuContext& ctx)
: Effect(ctx) {
uniforms_ =
- gpu_create_buffer(device_, sizeof(float) * 4,
+ gpu_create_buffer(ctx_.device, sizeof(float) * 4,
WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
std::vector<Particle> init_p(NUM_PARTICLES);
particles_buffer_ = gpu_create_buffer(
- device_, sizeof(Particle) * NUM_PARTICLES,
+ ctx_.device, sizeof(Particle) * NUM_PARTICLES,
WGPUBufferUsage_Storage | WGPUBufferUsage_Vertex, init_p.data());
ResourceBinding cb[] = {{particles_buffer_, WGPUBufferBindingType_Storage},
{uniforms_, WGPUBufferBindingType_Uniform}};
compute_pass_ =
- gpu_create_compute_pass(device_, particle_compute_wgsl, cb, 2);
+ gpu_create_compute_pass(ctx_.device, particle_compute_wgsl, cb, 2);
compute_pass_.workgroup_size_x = (NUM_PARTICLES + 63) / 64;
ResourceBinding rb[] = {
{particles_buffer_, WGPUBufferBindingType_ReadOnlyStorage},
{uniforms_, WGPUBufferBindingType_Uniform}};
render_pass_ =
- gpu_create_render_pass(device_, format_, particle_render_wgsl, rb, 2);
+ gpu_create_render_pass(ctx_.device, ctx_.format, particle_render_wgsl, rb, 2);
render_pass_.vertex_count = 6;
render_pass_.instance_count = NUM_PARTICLES;
}
@@ -33,7 +33,7 @@ void ParticlesEffect::compute(WGPUCommandEncoder e, float t, float b, float i,
struct {
float p, a, t, d;
} u = {i, a, t, 0.0f};
- wgpuQueueWriteBuffer(queue_, uniforms_.buffer, 0, &u, sizeof(u));
+ wgpuQueueWriteBuffer(ctx_.queue, uniforms_.buffer, 0, &u, sizeof(u));
WGPUComputePassEncoder pass = wgpuCommandEncoderBeginComputePass(e, nullptr);
wgpuComputePassEncoderSetPipeline(pass, compute_pass_.pipeline);
wgpuComputePassEncoderSetBindGroup(pass, 0, compute_pass_.bind_group, 0,
diff --git a/src/gpu/effects/passthrough_effect.cc b/src/gpu/effects/passthrough_effect.cc
index 203f912..1aebb28 100644
--- a/src/gpu/effects/passthrough_effect.cc
+++ b/src/gpu/effects/passthrough_effect.cc
@@ -8,15 +8,15 @@
PassthroughEffect::PassthroughEffect(const GpuContext& ctx)
: PostProcessEffect(ctx) {
uniforms_ =
- gpu_create_buffer(device_, sizeof(float) * 6,
+ gpu_create_buffer(ctx_.device, sizeof(float) * 6,
WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
pipeline_ =
- create_post_process_pipeline(device_, format_, passthrough_shader_wgsl);
+ create_post_process_pipeline(ctx_.device, ctx_.format, passthrough_shader_wgsl);
}
void PassthroughEffect::update_bind_group(WGPUTextureView input_view) {
struct {
float t, b, i, a, w, h;
} u = {0, 0, 0, 0, (float)width_, (float)height_};
- wgpuQueueWriteBuffer(queue_, uniforms_.buffer, 0, &u, sizeof(u));
- pp_update_bind_group(device_, pipeline_, &bind_group_, input_view, uniforms_);
+ wgpuQueueWriteBuffer(ctx_.queue, uniforms_.buffer, 0, &u, sizeof(u));
+ pp_update_bind_group(ctx_.device, pipeline_, &bind_group_, input_view, uniforms_);
}
diff --git a/src/gpu/effects/solarize_effect.cc b/src/gpu/effects/solarize_effect.cc
index b6cf6f9..4e9cbda 100644
--- a/src/gpu/effects/solarize_effect.cc
+++ b/src/gpu/effects/solarize_effect.cc
@@ -8,19 +8,19 @@
SolarizeEffect::SolarizeEffect(const GpuContext& ctx)
: PostProcessEffect(ctx) {
uniforms_ =
- gpu_create_buffer(device_, sizeof(float) * 6,
+ gpu_create_buffer(ctx_.device, sizeof(float) * 6,
WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
pipeline_ =
- create_post_process_pipeline(device_, format_, solarize_shader_wgsl);
+ create_post_process_pipeline(ctx_.device, ctx_.format, solarize_shader_wgsl);
}
void SolarizeEffect::render(WGPURenderPassEncoder pass, float t, float b,
float i, float a) {
struct {
float t, b, i, a, w, h;
} u = {t, b, i, a, (float)width_, (float)height_};
- wgpuQueueWriteBuffer(queue_, uniforms_.buffer, 0, &u, sizeof(u));
+ wgpuQueueWriteBuffer(ctx_.queue, uniforms_.buffer, 0, &u, sizeof(u));
PostProcessEffect::render(pass, t, b, i, a);
}
void SolarizeEffect::update_bind_group(WGPUTextureView v) {
- pp_update_bind_group(device_, pipeline_, &bind_group_, v, uniforms_);
+ pp_update_bind_group(ctx_.device, pipeline_, &bind_group_, v, uniforms_);
}
diff --git a/src/gpu/effects/theme_modulation_effect.cc b/src/gpu/effects/theme_modulation_effect.cc
index d0d71cb..4b5105d 100644
--- a/src/gpu/effects/theme_modulation_effect.cc
+++ b/src/gpu/effects/theme_modulation_effect.cc
@@ -47,15 +47,15 @@ ThemeModulationEffect::ThemeModulationEffect(const GpuContext& ctx)
}
)";
- pipeline_ = create_post_process_pipeline(device_, format_, shader_code);
+ pipeline_ = create_post_process_pipeline(ctx_.device, ctx_.format, shader_code);
// Create uniform buffer (4 floats: brightness + padding)
uniforms_ = gpu_create_buffer(
- device_, 16, WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
+ ctx_.device, 16, WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
}
void ThemeModulationEffect::update_bind_group(WGPUTextureView input_view) {
- pp_update_bind_group(device_, pipeline_, &bind_group_, input_view, uniforms_);
+ pp_update_bind_group(ctx_.device, pipeline_, &bind_group_, input_view, uniforms_);
}
void ThemeModulationEffect::render(WGPURenderPassEncoder pass, float time,
@@ -80,7 +80,7 @@ void ThemeModulationEffect::render(WGPURenderPassEncoder pass, float time,
// Update uniform buffer
float uniforms[4] = {theme_brightness, 0.0f, 0.0f, 0.0f};
- wgpuQueueWriteBuffer(queue_, uniforms_.buffer, 0, uniforms, sizeof(uniforms));
+ wgpuQueueWriteBuffer(ctx_.queue, uniforms_.buffer, 0, uniforms, sizeof(uniforms));
// Render
wgpuRenderPassEncoderSetPipeline(pass, pipeline_);
diff --git a/src/test_demo.cc b/src/test_demo.cc
index 69b18cc..9635f88 100644
--- a/src/test_demo.cc
+++ b/src/test_demo.cc
@@ -82,13 +82,13 @@ class PeakMeterEffect : public PostProcessEffect {
}
)";
- pipeline_ = create_post_process_pipeline(device_, format_, shader_code);
+ pipeline_ = create_post_process_pipeline(ctx_.device, ctx_.format, shader_code);
uniforms_ = gpu_create_buffer(
- device_, 16, WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
+ ctx_.device, 16, WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
}
void update_bind_group(WGPUTextureView input_view) {
- pp_update_bind_group(device_, pipeline_, &bind_group_, input_view, uniforms_);
+ pp_update_bind_group(ctx_.device, pipeline_, &bind_group_, input_view, uniforms_);
}
void render(WGPURenderPassEncoder pass, float time, float beat,
@@ -98,7 +98,7 @@ class PeakMeterEffect : public PostProcessEffect {
(void)aspect_ratio;
float uniforms[4] = {peak_value, 0.0f, 0.0f, 0.0f};
- wgpuQueueWriteBuffer(queue_, uniforms_.buffer, 0, uniforms, sizeof(uniforms));
+ wgpuQueueWriteBuffer(ctx_.queue, uniforms_.buffer, 0, uniforms, sizeof(uniforms));
wgpuRenderPassEncoderSetPipeline(pass, pipeline_);
wgpuRenderPassEncoderSetBindGroup(pass, 0, bind_group_, 0, nullptr);