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

Fix some inconsistencies in the language #332

Open
godlikepanos opened this issue Oct 6, 2024 · 1 comment
Open

Fix some inconsistencies in the language #332

godlikepanos opened this issue Oct 6, 2024 · 1 comment
Labels
enhancement New feature or request
Milestone

Comments

@godlikepanos
Copy link

Some of the newer additions to HLSL do not follow the existing conventions of the language and this creates some inconsistencies. It would have been great if some of these inconsistencies are fixed in some of the future HLSL versions.

The 1st is the DispatchRaysIndex(). Someone would expect a sematic like SV_DispatchRaysIndex. Same for PrimitiveIndex(), InstanceID() and probably more that I have forgotten.

I haven't found exactly why that is but it seems that SV_RayPayload and SV_IntersectionAttributes can be omitted. Maybe they shouldn't since this creates confusion.

Mesh shaders output is defined by vertices, primitives and indices keywords. Eg out vertices MeshPerVertOut verts[N], out primitives MeshPerPrimitiveOut primitives[M], out indices uint3 indices[M]. This is inconsistent with how ray payload is defined for example. Maybe these should be semantics.

These are only a few examples. There are possibly more.

@godlikepanos godlikepanos added enhancement New feature or request needs-triage labels Oct 6, 2024
@damyanp damyanp added this to the HLSL Backlog milestone Oct 8, 2024
@damyanp
Copy link
Member

damyanp commented Oct 8, 2024

Thank you for the useful feedback!

Setting this to HLSL backlog - this is something that is worthy of addressing at some point in the future but isn't an immediate priority for us.

damyanp pushed a commit to damyanp/hlsl-specs that referenced this issue Oct 10, 2024
The sample uses an invalid syntax for initializing a vk::BufferPointer.
This fixes up the syntax.

Fixes microsoft#332.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Triaged
Development

No branches or pull requests

2 participants