Skip to content
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

supporting mapAsync, getMappedRange, unmap #24

Open
greggman opened this issue Jan 18, 2023 · 4 comments
Open

supporting mapAsync, getMappedRange, unmap #24

greggman opened this issue Jan 18, 2023 · 4 comments

Comments

@greggman
Copy link
Collaborator

How should we go about supporting mapAsync etc?

@Kangz
Copy link
Collaborator

Kangz commented Jan 18, 2023

The thought was of doing the mapping in the tracer and on unmap (of a map write) record an "update data range" command. On the replay, mappable buffers would be faked and this would turn into a WriteBuffer.

@greggman
Copy link
Collaborator Author

greggman commented Jan 18, 2023

Right, but where does the command go? Is it a device command, a queue command, an encoder command? It wasn't clear to me since they happen out of band. I looked at the spec's time line stuff and I guess unmap is effectively a device command?

@Kangz
Copy link
Collaborator

Kangz commented Jan 18, 2023

Essentially, same for "update data range" which would be a device command.

@greggman
Copy link
Collaborator Author

Some peeps wanted to try to use the debugger on a cts test but when I tried it that was the one feature that was missing.

I just tried hacking it myself. Since unmap is already there and it seems effectively you don't have to record mapAsync but when I did it it wasn't enough. I was just trying to run the existing basic-spinning-cube.html example and it doesn't even use mapAsync, it uses mappedAtCreation: true but it failed. I didn't look into why. Maybe it's simple. Maybe I'll find more time to spend on it too but I thought maybe it's obvious to you?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants