summaryrefslogtreecommitdiff
path: root/src/effects/placeholder_effect.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/effects/placeholder_effect.cc')
-rw-r--r--src/effects/placeholder_effect.cc26
1 files changed, 6 insertions, 20 deletions
diff --git a/src/effects/placeholder_effect.cc b/src/effects/placeholder_effect.cc
index 6ba665a..e024a6b 100644
--- a/src/effects/placeholder_effect.cc
+++ b/src/effects/placeholder_effect.cc
@@ -12,26 +12,16 @@ Placeholder::Placeholder(const GpuContext& ctx,
float start_time, float end_time,
const char* placeholder_name)
: Effect(ctx, inputs, outputs, start_time, end_time), pipeline_(nullptr),
- bind_group_(nullptr), sampler_(nullptr), name_(placeholder_name) {
- // Log once on construction
+ bind_group_(nullptr), name_(placeholder_name) {
fprintf(stderr, "TODO: %s not yet implemented, using passthrough\n", name_);
- // Headless mode: skip GPU resource creation (compiled out in STRIP_ALL)
HEADLESS_RETURN_IF_NULL(ctx_.device);
- uniforms_buffer_.init(ctx_.device);
+ init_uniforms_buffer();
+ create_linear_sampler();
+
pipeline_ = create_post_process_pipeline(
ctx_.device, WGPUTextureFormat_RGBA8Unorm, passthrough_shader_wgsl);
-
- WGPUSamplerDescriptor sampler_desc = {};
- sampler_desc.addressModeU = WGPUAddressMode_ClampToEdge;
- sampler_desc.addressModeV = WGPUAddressMode_ClampToEdge;
- sampler_desc.addressModeW = WGPUAddressMode_ClampToEdge;
- sampler_desc.magFilter = WGPUFilterMode_Linear;
- sampler_desc.minFilter = WGPUFilterMode_Linear;
- sampler_desc.mipmapFilter = WGPUMipmapFilterMode_Nearest;
- sampler_desc.maxAnisotropy = 1;
- sampler_ = wgpuDeviceCreateSampler(ctx_.device, &sampler_desc);
}
void Placeholder::render(WGPUCommandEncoder encoder,
@@ -45,12 +35,8 @@ void Placeholder::render(WGPUCommandEncoder encoder,
pp_update_bind_group(ctx_.device, pipeline_, &bind_group_, input_view,
uniforms_buffer_.get(), {nullptr, 0});
- WGPURenderPassColorAttachment color_attachment = {
- .view = output_view,
- .depthSlice = WGPU_DEPTH_SLICE_UNDEFINED,
- .loadOp = WGPULoadOp_Clear,
- .storeOp = WGPUStoreOp_Store,
- .clearValue = {0.0, 0.0, 0.0, 1.0}};
+ WGPURenderPassColorAttachment color_attachment = {};
+ gpu_init_color_attachment(color_attachment, output_view);
WGPURenderPassDescriptor pass_desc = {};
pass_desc.colorAttachmentCount = 1;