summaryrefslogtreecommitdiff
path: root/cnn_v3/src/gbuf_view_effect.cc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-05-21 08:10:47 +0200
committerskal <pascal.massimino@gmail.com>2026-05-21 08:10:47 +0200
commitd806027dcaeadcdd8d2febd88bc46b2fd2c465de (patch)
tree30bc1ef9f40ccab7c00e31ee20e62bb86755fa26 /cnn_v3/src/gbuf_view_effect.cc
parent680042a18c11ad5e58757e45b260745c2f52417f (diff)
style: apply clang-formatHEADmain
Diffstat (limited to 'cnn_v3/src/gbuf_view_effect.cc')
-rw-r--r--cnn_v3/src/gbuf_view_effect.cc90
1 files changed, 46 insertions, 44 deletions
diff --git a/cnn_v3/src/gbuf_view_effect.cc b/cnn_v3/src/gbuf_view_effect.cc
index ccf80b0..4c23322 100644
--- a/cnn_v3/src/gbuf_view_effect.cc
+++ b/cnn_v3/src/gbuf_view_effect.cc
@@ -19,28 +19,28 @@ extern const char* gbuf_view_wgsl;
// BGL entry: texture_2d<u32> read binding (fragment stage)
static WGPUBindGroupLayoutEntry bgl_uint_tex_frag(uint32_t binding) {
WGPUBindGroupLayoutEntry e = {};
- e.binding = binding;
- e.visibility = WGPUShaderStage_Fragment;
- e.texture.sampleType = WGPUTextureSampleType_Uint;
+ e.binding = binding;
+ e.visibility = WGPUShaderStage_Fragment;
+ e.texture.sampleType = WGPUTextureSampleType_Uint;
e.texture.viewDimension = WGPUTextureViewDimension_2D;
return e;
}
// BGL entry: uniform buffer (fragment stage)
static WGPUBindGroupLayoutEntry bgl_uniform_frag(uint32_t binding,
- uint64_t min_size) {
+ uint64_t min_size) {
WGPUBindGroupLayoutEntry e = {};
- e.binding = binding;
- e.visibility = WGPUShaderStage_Fragment;
- e.buffer.type = WGPUBufferBindingType_Uniform;
+ e.binding = binding;
+ e.visibility = WGPUShaderStage_Fragment;
+ e.buffer.type = WGPUBufferBindingType_Uniform;
e.buffer.minBindingSize = min_size;
return e;
}
GBufViewEffect::GBufViewEffect(const GpuContext& ctx,
- const std::vector<std::string>& inputs,
- const std::vector<std::string>& outputs,
- float start_time, float end_time)
+ const std::vector<std::string>& inputs,
+ const std::vector<std::string>& outputs,
+ float start_time, float end_time)
: Effect(ctx, inputs, outputs, start_time, end_time) {
HEADLESS_RETURN_IF_NULL(ctx_.device);
@@ -48,24 +48,26 @@ GBufViewEffect::GBufViewEffect(const GpuContext& ctx,
WGPUBindGroupLayoutEntry entries[3] = {
bgl_uint_tex_frag(0),
bgl_uint_tex_frag(1),
- bgl_uniform_frag(2, 8), // only resolution (vec2f = 8 bytes) is read
+ bgl_uniform_frag(2, 8), // only resolution (vec2f = 8 bytes) is read
};
WGPUBindGroupLayoutDescriptor bgl_desc = {};
bgl_desc.entryCount = 3;
- bgl_desc.entries = entries;
- WGPUBindGroupLayout bgl = wgpuDeviceCreateBindGroupLayout(ctx_.device, &bgl_desc);
+ bgl_desc.entries = entries;
+ WGPUBindGroupLayout bgl =
+ wgpuDeviceCreateBindGroupLayout(ctx_.device, &bgl_desc);
// Pipeline layout
WGPUPipelineLayoutDescriptor pl_desc = {};
pl_desc.bindGroupLayoutCount = 1;
- pl_desc.bindGroupLayouts = &bgl;
+ pl_desc.bindGroupLayouts = &bgl;
WGPUPipelineLayout pl = wgpuDeviceCreatePipelineLayout(ctx_.device, &pl_desc);
// Shader module
WGPUShaderSourceWGSL wgsl_src = {};
wgsl_src.chain.sType = WGPUSType_ShaderSourceWGSL;
- const std::string composed = ShaderComposer::Get().Compose({}, gbuf_view_wgsl);
- wgsl_src.code = str_view(composed.c_str());
+ const std::string composed =
+ ShaderComposer::Get().Compose({}, gbuf_view_wgsl);
+ wgsl_src.code = str_view(composed.c_str());
WGPUShaderModuleDescriptor shader_desc = {};
shader_desc.nextInChain = &wgsl_src.chain;
WGPUShaderModule shader =
@@ -73,23 +75,23 @@ GBufViewEffect::GBufViewEffect(const GpuContext& ctx,
// Render pipeline
WGPUColorTargetState target = {};
- target.format = WGPUTextureFormat_RGBA8Unorm;
+ target.format = WGPUTextureFormat_RGBA8Unorm;
target.writeMask = WGPUColorWriteMask_All;
WGPUFragmentState frag = {};
- frag.module = shader;
- frag.entryPoint = str_view("fs_main");
+ frag.module = shader;
+ frag.entryPoint = str_view("fs_main");
frag.targetCount = 1;
- frag.targets = &target;
+ frag.targets = &target;
WGPURenderPipelineDescriptor pipe_desc = {};
- pipe_desc.layout = pl;
- pipe_desc.vertex.module = shader;
- pipe_desc.vertex.entryPoint = str_view("vs_main");
- pipe_desc.fragment = &frag;
- pipe_desc.primitive.topology = WGPUPrimitiveTopology_TriangleList;
- pipe_desc.multisample.count = 1;
- pipe_desc.multisample.mask = UINT32_MAX;
+ pipe_desc.layout = pl;
+ pipe_desc.vertex.module = shader;
+ pipe_desc.vertex.entryPoint = str_view("vs_main");
+ pipe_desc.fragment = &frag;
+ pipe_desc.primitive.topology = WGPUPrimitiveTopology_TriangleList;
+ pipe_desc.multisample.count = 1;
+ pipe_desc.multisample.mask = UINT32_MAX;
pipeline_.set(wgpuDeviceCreateRenderPipeline(ctx_.device, &pipe_desc));
@@ -99,10 +101,10 @@ GBufViewEffect::GBufViewEffect(const GpuContext& ctx,
}
void GBufViewEffect::render(WGPUCommandEncoder encoder,
- const UniformsSequenceParams& params,
- NodeRegistry& nodes) {
- WGPUTextureView feat0_view = nodes.get_view(input_nodes_[0]);
- WGPUTextureView feat1_view = nodes.get_view(input_nodes_[1]);
+ const UniformsSequenceParams& params,
+ NodeRegistry& nodes) {
+ WGPUTextureView feat0_view = nodes.get_view(input_nodes_[0]);
+ WGPUTextureView feat1_view = nodes.get_view(input_nodes_[1]);
WGPUTextureView output_view = nodes.get_view(output_nodes_[0]);
// Rebuild bind group (views may change with ping-pong or resize)
@@ -110,31 +112,31 @@ void GBufViewEffect::render(WGPUCommandEncoder encoder,
wgpuRenderPipelineGetBindGroupLayout(pipeline_.get(), 0);
WGPUBindGroupEntry bg_entries[3] = {};
- bg_entries[0].binding = 0;
+ bg_entries[0].binding = 0;
bg_entries[0].textureView = feat0_view;
- bg_entries[1].binding = 1;
+ bg_entries[1].binding = 1;
bg_entries[1].textureView = feat1_view;
- bg_entries[2].binding = 2;
- bg_entries[2].buffer = uniforms_buffer_.get().buffer;
- bg_entries[2].size = sizeof(UniformsSequenceParams);
+ bg_entries[2].binding = 2;
+ bg_entries[2].buffer = uniforms_buffer_.get().buffer;
+ bg_entries[2].size = sizeof(UniformsSequenceParams);
WGPUBindGroupDescriptor bg_desc = {};
- bg_desc.layout = bgl;
+ bg_desc.layout = bgl;
bg_desc.entryCount = 3;
- bg_desc.entries = bg_entries;
+ bg_desc.entries = bg_entries;
bind_group_.replace(wgpuDeviceCreateBindGroup(ctx_.device, &bg_desc));
wgpuBindGroupLayoutRelease(bgl);
WGPURenderPassColorAttachment color_att = {};
- color_att.view = output_view;
- color_att.loadOp = WGPULoadOp_Clear;
- color_att.storeOp = WGPUStoreOp_Store;
- color_att.clearValue = {0.0f, 0.0f, 0.0f, 1.0f};
- color_att.depthSlice = WGPU_DEPTH_SLICE_UNDEFINED;
+ color_att.view = output_view;
+ color_att.loadOp = WGPULoadOp_Clear;
+ color_att.storeOp = WGPUStoreOp_Store;
+ color_att.clearValue = {0.0f, 0.0f, 0.0f, 1.0f};
+ color_att.depthSlice = WGPU_DEPTH_SLICE_UNDEFINED;
WGPURenderPassDescriptor pass_desc = {};
pass_desc.colorAttachmentCount = 1;
- pass_desc.colorAttachments = &color_att;
+ pass_desc.colorAttachments = &color_att;
WGPURenderPassEncoder pass =
wgpuCommandEncoderBeginRenderPass(encoder, &pass_desc);