#WGSL vertex shader post-processing pass is crashing

7 messages · Page 1 of 1 (latest)

fervent hedge
#

I adapted this example to a vertex warping shader I'm making, but it crashes with it. Frankly I don't know much about shaders, so I don't really know where exactly to look, so I'm gonna have to dump a lot of source here, sorry.

Output

...

2026-05-05T22:08:42.714903Z ERROR wgpu::backend::wgpu_core: Handling wgpu errors as fatal by default

thread 'Async Compute Task Pool (2)' (141183) panicked at /home/jay/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-27.0.1/src/backend/wgpu_core.rs:1365:26:
wgpu error: Validation Error

Caused by:
  In Device::create_render_pipeline, label = 'post_process_pipeline'
    At least one color attachment or depth-stencil attachment was expected, but no render target for the pipeline was specified.


note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Encountered a panic in system `bevy_render::render_resource::pipeline_cache::PipelineCache::process_pipeline_queue_system`!

thread '<unnamed>' (141199) panicked at /home/jay/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-hal-27.0.4/src/vulkan/instance.rs:194:58:
Trying to destroy a SurfaceAcquireSemaphores that is still in use by a SurfaceTexture
stack backtrace:
   0:     0x5555596fd845 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h146b70d74c048d79
   1:     0x55555972d04a - core::fmt::write::h51386424c21d3e45
   2:     0x5555596fe146 - std::io::default_write_fmt::h47a11ac8bae1d5ef
   3:     0x5555596fae36 - std::panicking::default_hook::{{closure}}::h462d29ed9732de2f
   4:     0x5555596facd8 - std::panicking::default_hook::h682fafcf73fec659

...

src/lib.rs, examples/showcase.rs and assets/shaders/vertex_warp.wgsl are attached.

#

I've followed so many tutorials atp but it always feels like they leave something important out that gives me hours of trouble 😭

wanton fern
#

You need need to speicfy either fragment or depth_stencil in RenderPipelineDescriptor.

#

Wdym by "vertex post processing" though?

#

The post processing example is meant for pixels

fervent hedge
#

oh that makes sense actually. it didn't occur to me why I didn't see any examples of a vertex shader in the post processing. does that mean I will need to add a material shader to everything in the game that moves? my intention was to make it apply to everything

silk quail