Skip to content

dynamically modify a worker and provide per-execution options #22

@BrianWiz

Description

@BrianWiz

Before looking at this plugin I had a very manual setup, and what I was doing was running some compute passes that modify a heightmap in a storage buffer. The thing is, the user would add a layer (like you would in photoshop) and you end up with a one-to-one relationship between layers and compute passes. Then after user input it would run all the passes in order.

I would like to flesh out this issue more, but I'll just start with my requirements for now:

  • I need to be able to dynamically add and remove passes on a worker at any point during the app's lifetime
  • I need to specify the x, y, z args in pass.dispatch_workgroups() per execution since this is tied to what the user's request is
  • I may also need to call pass.set_push_constants() per execution, tbh its not super clear to me the need of it atm, but I have old code that does so, will get back to this
  • I also needed to specify shader defs on pipelines when calling pipeline_cache.queue_compute_pipeline(), this may be worthy of another ticket but I'll keep here for now

Could have some kind of ExecutionSettings struct that you pass into worker.execute(). Will look deeper at this soon.

I'm willing to do the work here

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions