[all-commits] [llvm/llvm-project] 73e12d: [HLSL] Implement explicit layout for default const...

Helena Kotas via All-commits all-commits at lists.llvm.org
Wed Mar 12 22:35:29 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 73e12de062c17eddfa08f61ba8f44a20fa912f1b
      https://github.com/llvm/llvm-project/commit/73e12de062c17eddfa08f61ba8f44a20fa912f1b
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-03-12 (Wed, 12 Mar 2025)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
    M clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/DirectX.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
    A clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
    M llvm/include/llvm/Frontend/HLSL/HLSLResource.h

  Log Message:
  -----------
  [HLSL] Implement explicit layout for default constant buffer ($Globals) (#128991)

Processes `HLSLResourceBindingAttr` attributes that represent
`register(c#)` annotations on default constant buffer declarations and
applies its value to the buffer layout. Any default buffer declarations
without an explicit `register(c#)` annotation are placed after the
elements with explicit layout.

This PR also adds a test case for a `cbuffer` that does not have
`packoffset` on all declarations. Same layout rules apply here as well.

Fixes #126791



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list