-
Notifications
You must be signed in to change notification settings - Fork 1k
Add support for rendering to slices of 3D texture views and single layered 2D-Array texture views #7596
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
83150ec
to
9d359d2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Abandoning a full review for now because I just discovered something urgent to do, here's what I've got so far.
This comment was marked as resolved.
This comment was marked as resolved.
6c55332
to
85cae1d
Compare
85cae1d
to
7e2ad3b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! I have a bunch of minor stuff I wrote, but overall: 💯
…ed as render attachments
…xture views from slices of 3D textures)
7e2ad3b
to
68d665b
Compare
Imageless framebuffers are not needed, we know which views will be attached to the render pass already. Even if we wanted to more aggressively cache imageless framebuffers that wouldn't be possible since they still require specifiying view usage, texture usage and view formats. Removing usage of imageless framebuffers simplifies the code substantially.
This makes texture view destruction cheap since users of wgpu-hal are required to keep resources referenced by encoders alive for at least as long as the encoder is alive. This is also a prerequisite to implement rendering to slices of 3D textures (by creating temporary texture views). On the other hand the cache won't be as effective but that is probably ok, we can reevaluate the implementation if it turns out to be a problem.
If fields are unused, they shouldn't be part of the cache key.
68d665b
to
c75940a
Compare
Connections
Resolves #7313
Resolves #6040
Resolves #4764
Description
Note:
Vulkan implementation is not part of this PR, I will open a follow-up for that since it's more complicated due to the backend caching framebuffers.Testing
Added tests.
Squash or Rebase?
Rebase