Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 72 additions & 1 deletion OpenProjects.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,11 @@
<li><a href="#unified-host–device-compilation-in-clangir">Unified Host–Device Compilation in ClangIR (CIR): Enabling Cross-Boundary Analysis and Optimization</a></li>
</ul>
</li>

<li><a href="http://clangd.llvm.org/"><b>Clangd</b></a>
<ul>
<li><a href="#enable-clangd-hlsl-support">Enable Clangd support for HLSL</a></li>
</ul>
</li>
<!-- Add other subprojects as necessary -->
</ul>
</li>
Expand Down Expand Up @@ -776,6 +780,73 @@

</div>

<!-- *********************************************************************** -->
<div class="www_subsubsection">
<a name="enable-clangd-hlsl-support">Enable Clangd support for HLSL</a>
</div>
<!-- *********************************************************************** -->

<div class="www_text">
<p><b>Description</b></p>

<p>
<a href="https://microsoft.github.io/hlsl-specs/specs/hlsl.pdf" target="_blank">HLSL</a> is
a GPU shader programming language and there is an ongoing effort to
<a href="https://clang.llvm.org/docs/HLSL/HLSLSupport.html" target="_blank">add HLSL support into Clang.</a>
HLSL is built on the C++11 standard, and as such, clangd already has
semi-functional support for HLSL, however, it does not handle all
language-specific constructs. The goal for this project is to add
holistic support for HLSL into clangd.
</p>

<p><b>Expected outcomes</b></p>

<ul>
<li>Survey the current support gaps when using clangd for HLSL.
<li>Create an RFC documenting the gaps and propose the best way to address them.
<li>After refining the RFC, generate issues for the groundwork of implementation.
<li>Implement these issues to complete HLSL support in clangd.
</ul>

<p>
We do not expect all issues to be resolved and for full support of HLSL to
be in clangd. It is however expected that the first 3 steps take ~90 hrs,
and the remaining ~90 hrs are dedicated towards implementation.
</p>

<p><b>Required / desired skills</b></p>

<p>Required:</p>

<ul>
<li>Intermediate proficiency of C++.
<li>Familiarity of how Language Server Protocols (LSP) work.
<li>Interest in learning/knowing the HLSL language specification.
</ul>

<p>Desired:</p>

<ul>
<li>Previous experience programming with HLSL is a plus.
<li>Previous experience developing with LSPs is a plus.
</ul>

<p><b>Size of the project:</b></p>

<p>Medium (~180hr).</p>

<p><b>Project difficulty:</b></p>

<p>Medium.</p>

<p><b>Mentors:</b>
<a href="mailto:mail@inbelic.dev">Finn Plummer</a>,
<a href="mailto:ascoleman@microsoft.com">Ashley Coleman</a>
</p>

<p><b>Discourse:</b> <a href="https://discourse.llvm.org/t/gsoc-2026-enable-clangd-support-for-hlsl/89664">URL</a></p>
</div>

<!-- *********************************************************************** -->
<div class="www_sectiontitle">
<a name="gsoc25">Google Summer of Code 2025</a>
Expand Down