Skip to content

llvm-beanz/HLSLTest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HLSLTest

Experimental Runtime test suite for HLSL

Prerequisites

This project requires being able to locally build LLVM and leverages LLVM's build infrastructure. It also requires installing the pyyaml Python package. You can install pyyaml by running:

pip3 install pyyaml

Adding to LLVM Build

Add the following to the CMake options:

-DLLVM_EXTERNAL_HLSLTEST_SOURCE_DIR=${workspaceRoot}\..\HLSLTest -DLLVM_EXTERNAL_PROJECTS="HLSLTest"

If you do not have a build of dxc on your path you'll need to specify the shader compiler to use by passing:

-DHLSLTEST_COMPILER=<path to compiler>

YAML Pipeline Format

This framework provides a YAML representation for describing GPU pipelines and buffers. The format is implemented by the API/Pipeline.{h|cpp} sources. The following is an example pipleine YAML description:

---
DescriptorSets:
  - Resources:
    - Access: Constant
      Format: Int32
      Data: [ 1, 2, 3, 4, 5, 6, 7, 8]
      DirectXBinding:
        Register: 0 # implies b0 due to Access being RW
        Space: 0
    - Access: ReadOnly
      Format: Float32
      Data: [ 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]
      DirectXBinding:
        Register: 0 # implies t0 due to Access being RO
        Space: 0
  - Resources:
    - Access: ReadOnly
      Format: Hex16
      Data: [ 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]
      DirectXBinding:
        Register: 1 # implies t1 due to Access being RO
        Space: 0
...

About

Experimental Runtime test suite for HLSL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published