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

Support indirect draw/compute #54

Open
Try opened this issue Jan 11, 2024 · 1 comment
Open

Support indirect draw/compute #54

Try opened this issue Jan 11, 2024 · 1 comment

Comments

@Try
Copy link
Owner

Try commented Jan 11, 2024

API:

  • drawIndirect
  • drawIndexedIndirect
  • dispath
  • dispatchMesh

GLSL:

  • gl_VertexIndex and gl_InstanceIndex
    • Just works on Metal (afaik)
    • fist-instance has only 90% coverage (and some 2023 devices do not support it)
    • Just doesn't work in DX
  • gl_NumWorkGroups
    • Should work on metal (?)
    • Just works on Vulkan
    • Just doesn't work in DX - can be emulated with push-descriptor

Alignment:
offset must be multiple of 4 in Vulkan
offset must be multiple of 4 in DX12 (https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12graphicscommandlist-executeindirect#remarks)
offset in Metal "check for offset alignment requirements for buffers in device and constant address space." - not documented(?!)

Try added a commit that referenced this issue Feb 1, 2024
Try added a commit that referenced this issue Feb 1, 2024
Try added a commit that referenced this issue Feb 4, 2024
Try added a commit that referenced this issue Feb 10, 2024
@Try
Copy link
Owner Author

Try commented Jul 3, 2024

DX12 flickers on NVidia:
изображение
^ gothic2 oldworld.zen

Seem to be a cache-coherency bug; maybe need to report to NV

Try added a commit that referenced this issue Jul 7, 2024
Try added a commit that referenced this issue Jul 18, 2024
Try added a commit that referenced this issue Jul 20, 2024
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

1 participant