I am thrilled my team is sponsoring our first of many featured project for the 2026 Google Summer of Code Enable Clangd support for HLSL.
๐ Google Summer of code LLVM Logo
If you are a student developer interested in compilers, developer tooling, or graphics programming, this is a unique opportunity to contribute to the LLVM ecosystem and improve the lives of thousands of shader developers.
What is HLSL and Clangd?
HLSL (High-Level Shader Language) is the primary language used for GPU shader programming in DirectX and Vulkan via SPIR-V environments. Currently, there is a massive effort underway to bring first-class HLSL support directly into Clang.
Clangd is the language server (LSP) that provides IDE features like code completion, go-to-definition, and refactoring for C++. Since HLSL is built on the C++11 standard, clangd already "mostly" works, but it struggles with HLSL-specific constructs. This project aims to close that gap.
The Project Goal
The objective is to move from "semi-functional" to "holistic" support. This isn't just about writing code; itโs about understanding the nuances of a domain-specific language and designing how tools should interact with it.
The Roadmap
- Survey: Identify exactly where clangd breaks when handling HLSL.
- Architect: Write an RFC (Request for Comments) to propose how clangd should handle these unique language constructs.
- Implement: Begin the groundwork and implementation to fix these gaps.
Project Details
- Size: Medium (~180 hours)
- Difficulty: Medium
- Mentors: My teammates Finn Plummer and Ashley Coleman
- Required Skills: Intermediate C++, an understanding of LSPs, and a hunger to learn the HLSL specification.
Why apply?
By taking on this project, youโll be mentored by two bright engineers who are deeply involved in the LLVM and HLSL space. You will gain hands-on experience with the LLVM codebase which is one of the most influential open-source projects in the world and your work will directly improve the developer experience for gpu compilers.
How to Get Involved
If youโre interested in applying, we encourage you to join the conversation early!
Feel free to reach out on the LLVM Discourse or Discord to introduce yourself and ask questions. We canโt wait to see what youโll build!
For further actions, you may consider blocking this person and/or reporting abuse
