parasyte / parasyte/pixels

imgui UI out of bounds in example "imgui-winit"

Open
#338 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

info needed
Dominant language
Rust
Stars
2.1k
Forks
147
Avg merge
12m
Merged PRs (30d)
1

Description

Whenever I switch between my monitors and run my program I get an instant crash before the first render. I narrowed it down to the UI drawing to a slightly bigger frame. I tried to recreate it in the example mentioned in the title and I also got the same error. A restart of my PC fixes it sometimes.

[2023-02-24T15:14:51Z ERROR wgpu::backend::direct] Handling wgpu errors as fatal by default
thread 'main' panicked at 'wgpu error: Validation Error

Caused by:
    In a RenderPass
      note: encoder = `pixels_command_encoder`
    In a set_scissor_rect command
    Scissor Rect { x: 0, y: 0, w: 911, h: 650 } is not contained in the render target Extent3d { width: 910, height: 650, depth_or_array_layers: 1 }

I tried tweaking the code, but I couldn't find a solution. Any advice?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the imgui-winit example and trace how its render target dimensions reach the set_scissor_rect command. Reproduce the monitor-switching case and compare the requested 911x650 scissor rectangle with the 910x650 render target; done means the example no longer triggers the validation panic.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.