Expose more information on compiled entry points
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- rust
- Lĩnh vực
- backend-api-design, compilers
Hướng nghiên cứu
Bắt đầu từ CompileResult.entry_points và xem xét EntryPoint được đề xuất trong rustc_codegen_spirv_types cùng với naga::ir::EntryPoint. Trước tiên, hãy xác định dự án nên cung cấp biểu diễn và siêu dữ liệu nào; công việc được xem là hoàn tất khi CompileResult cung cấp đủ thông tin entry point đã thống nhất cho việc sinh mã mà không cần biết trước về shader.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem
Right now the entry_points in CompileResult contains names only. This limits limits our/the users ability to generate code.
Proposal
Exposing some additional information on them could help with generating code, without prior knowledge of how each entry point works (like having a dictionary of graphics and compute shaders).
Expose SpirV representation
Right now I am thinking of putting a version of the generated EntryPoint spirv lang struct into rustc_codegen_spirv_types because of how easy it is to implement.
pub struct EntryPoint {
pub execution_model: spirv::ExecutionModel,
pub entry_point: spirv::Word,
pub name: String,
pub interface: Vec<spirv::Word>,
}
Use naga
Another idea I had was using naga::ir::EntryPoint
pub struct EntryPoint {
pub name: String,
pub stage: ShaderStage,
pub early_depth_test: Option<EarlyDepthTest>,
pub workgroup_size: [u32; 3],
pub workgroup_size_overrides: Option<[Option<Handle<Expression>>; 3]>,
pub function: Function,
}
but this is a bit detached from the underlying spirv (harder to parse from spirv code + less shader stages etc)
Unique struct
The best version would probably be a combination of the 2.
Even if it doesn't end up getting merged, I'll do it for my own project. All insights are welcome.
- Ngôn ngữ chính
- Rust
- Star
- 3.4k
- Fork
- 126
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Rust-GPU/rust-gpu
-
enhancement
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
-
glam v0.33.6 breaks `Vec3A` Đang mởbug
-
enhancement
Rust-GPU/rust-gpu#643 · 3 bình luận · 1 reaction · 1 người được giao ·
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
-
bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
Tất cả issue của Rust-GPU/rust-gpu
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
bug good first issue package: quic
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
-
`dora trace view` sends a non-canonical full UUID as-is, so a valid trace ID shows "No spans found" Đang mởcli coordinator rust
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
-
area: tasks enhancement good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Jason-jo17/Polybench#15 · 1 bình luận ·