Skip to content

[dxil2spv] Construct minimal SPIR-V module#4216

Merged
sudonatalie merged 2 commits intomicrosoft:masterfrom
sudonatalie:spv-module
Feb 1, 2022
Merged

[dxil2spv] Construct minimal SPIR-V module#4216
sudonatalie merged 2 commits intomicrosoft:masterfrom
sudonatalie:spv-module

Conversation

@sudonatalie
Copy link
Copy Markdown
Collaborator

Modify SpirvBuilder to allow unset astContext, because astContext is
unavilable when translating from DXIL. Initialize a SpirvContext and
SpirvBuilder to generate a basic module, and output as disassembled
SPIR-V to STDOUT.

@sudonatalie sudonatalie requested a review from jaebaek January 28, 2022 21:05
@sudonatalie
Copy link
Copy Markdown
Collaborator Author

sudonatalie commented Jan 28, 2022

The output currently looks like:

$ ./build/bin/dxil2spv shader.ps.dxil
; SPIR-V
; Version: 1.0
; Generator: Google spiregg; 0
; Bound: 1
; Schema: 0
               OpCapability Shader
               OpCapability Linkage
               OpMemoryModel Logical GLSL450

Next PR will add FileCheck testing so it's easier to review the progression of each patch.

@AppVeyorBot
Copy link
Copy Markdown

Comment thread tools/clang/lib/SPIRV/SpirvBuilder.cpp Outdated
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am worried that this can be confusing.

If we do not set astContext for dxil-to-spirv, just returning this method when astContext == nullptr (with an error message explaining that this method expects astContext != nullptr).

I'd create a separate function for EmitVisitor and other visitors for dxil-to-spirv.
e.g., takeModuleForDxilToSpv() ??

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good, done!

@jaebaek jaebaek added the dxil2spv Features, bugs, tests for dxil2spv binary label Feb 1, 2022
Modify SpirvBuilder to allow unset astContext, because astContext is
unavilable when translating from DXIL. Initialize a SpirvContext and
SpirvBuilder to generate a basic module, and output as disassembled
SPIR-V to STDOUT.
@sudonatalie sudonatalie merged commit e3da12e into microsoft:master Feb 1, 2022
@sudonatalie sudonatalie deleted the spv-module branch February 1, 2022 16:53
sudonatalie added a commit to sudonatalie/DirectXShaderCompiler that referenced this pull request Jun 15, 2022
Revert "[dxil2spv] Print missing runtime errors (microsoft#4481)"

This reverts commit 7f8f9ac.

Revert "[dxil2spv] Command line parsing and output file (microsoft#4454)"

This reverts commit 2e49e68.

Revert "[dxil2spv] Add additional error checking (microsoft#4440)"

This reverts commit 3c1918e.

Revert "[dxil2spv] Add FileCheck testing (microsoft#4431)"

This reverts commit d6cec44.

Revert "[dxil2spv] Translate DXIL constants to SPIR-V (microsoft#4426)"

This reverts commit f00b3c2.

Revert "[dxil2spv] Translate SV_Position to BuiltIn::Position (microsoft#4423)"

This reverts commit b292f94.

Revert "[dxil2spv] Translate extractValue and bufferStore (microsoft#4404)"

This reverts commit 1d2a68f.

Revert "[dxil2spv] Translate createHandle and bufferLoad (microsoft#4389)"

This reverts commit 316b849.

Revert "[dxil2spv] Support shl instruction (microsoft#4388)"

This reverts commit 1039a87.

Revert "[dxil2spv] Fix build warning (microsoft#4371)"

This reverts commit 7ecebb3.

Revert "[dxil2spv] Add support for dx.op.threadId (microsoft#4354)"

This reverts commit c248a1e.

Revert "[dxil2spv] Add initial compute shader support (microsoft#4345)"

This reverts commit c701ece.

Revert "[dxil2spv] Add error checking to file tests (microsoft#4344)"

This reverts commit 9f70135.

Revert "[dxil2spv] Add passthrough vertex shader and test (microsoft#4337)"

This reverts commit c99f5a5.

Revert "[dxil2spv] SPIR-V validation and related fixes (microsoft#4328)"

This reverts commit 4958718.

Revert "[dxil2spv] Implement simple entry function creation (microsoft#4323)"

This reverts commit c29a0c7.

Revert "[dxil2spv] Read file directly into llvm::MemoryBuffer (microsoft#4304)"

This reverts commit aa26bfd.

Revert "[dxil2spv] Add stage IO variables (microsoft#4271)"

This reverts commit 2d5f186.

Revert "[dxil2spv] Add CompilerInstance object (microsoft#4229)"

This reverts commit e4cf486.

Revert "[dxil2spv] Add initial testing (microsoft#4222)"

This reverts commit c3a61b1.

Revert "[dxil2spv] Construct minimal SPIR-V module (microsoft#4216)"

This reverts commit e3da12e.

Revert "[dxil2spv] Add basic dxil2spv CI test (microsoft#4209)"

This reverts commit 57d4d2b.

Revert "Add initial dxil2spv executable (microsoft#4199)"

This reverts commit c45db48.
sudonatalie added a commit that referenced this pull request Jun 16, 2022
Revert "[dxil2spv] Print missing runtime errors (#4481)"

This reverts commit 7f8f9ac.

Revert "[dxil2spv] Command line parsing and output file (#4454)"

This reverts commit 2e49e68.

Revert "[dxil2spv] Add additional error checking (#4440)"

This reverts commit 3c1918e.

Revert "[dxil2spv] Add FileCheck testing (#4431)"

This reverts commit d6cec44.

Revert "[dxil2spv] Translate DXIL constants to SPIR-V (#4426)"

This reverts commit f00b3c2.

Revert "[dxil2spv] Translate SV_Position to BuiltIn::Position (#4423)"

This reverts commit b292f94.

Revert "[dxil2spv] Translate extractValue and bufferStore (#4404)"

This reverts commit 1d2a68f.

Revert "[dxil2spv] Translate createHandle and bufferLoad (#4389)"

This reverts commit 316b849.

Revert "[dxil2spv] Support shl instruction (#4388)"

This reverts commit 1039a87.

Revert "[dxil2spv] Fix build warning (#4371)"

This reverts commit 7ecebb3.

Revert "[dxil2spv] Add support for dx.op.threadId (#4354)"

This reverts commit c248a1e.

Revert "[dxil2spv] Add initial compute shader support (#4345)"

This reverts commit c701ece.

Revert "[dxil2spv] Add error checking to file tests (#4344)"

This reverts commit 9f70135.

Revert "[dxil2spv] Add passthrough vertex shader and test (#4337)"

This reverts commit c99f5a5.

Revert "[dxil2spv] SPIR-V validation and related fixes (#4328)"

This reverts commit 4958718.

Revert "[dxil2spv] Implement simple entry function creation (#4323)"

This reverts commit c29a0c7.

Revert "[dxil2spv] Read file directly into llvm::MemoryBuffer (#4304)"

This reverts commit aa26bfd.

Revert "[dxil2spv] Add stage IO variables (#4271)"

This reverts commit 2d5f186.

Revert "[dxil2spv] Add CompilerInstance object (#4229)"

This reverts commit e4cf486.

Revert "[dxil2spv] Add initial testing (#4222)"

This reverts commit c3a61b1.

Revert "[dxil2spv] Construct minimal SPIR-V module (#4216)"

This reverts commit e3da12e.

Revert "[dxil2spv] Add basic dxil2spv CI test (#4209)"

This reverts commit 57d4d2b.

Revert "Add initial dxil2spv executable (#4199)"

This reverts commit c45db48.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dxil2spv Features, bugs, tests for dxil2spv binary

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants