-
Notifications
You must be signed in to change notification settings - Fork 94
Open
Description
With the current 32-bit pointer width, raw physical pointers are unconvenient at best and open up a bunch of pitfalls at worst.
Technically, pointers should be 64-bit, at least when any physical addressing model is enabled.
This is problematic because of the preferred integer width of 32-bit in shaders, while Rust assumes usize in most APIs.
Is there any way we could switch to a 64-bit target without compromising performance?
For example
- Add optimization passes to convert
usize->u32for logical ops - Add a custom SPIR-V type for
usizethat somehow gets inferred late - Customize
coreto addu32indexing
On the other hand, physical pointers in shaders are somewhat niche, especially with more progress towards better bindless extension.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels