microsoft / microsoft/DirectXShaderCompiler

Suggestion: Improved human-readable values in disassembly

Open
#3,066 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dxil enhancement
Dominant language
C++
Stars
3.7k
Forks
900
Avg merge
2d 11h
Merged PRs (30d)
44

Description

  •   a DXIL comment pointing to the original file/line/hlsl snippet  ? (rather then having to crawl through metadata)
    
  • e.g.: %270 = call float @dx.op.binary.f32(i32 35, float 0x3F1A36E2E0000000, float %269), !pix-dxil-inst-num !557, !pix-dxil-reg !558 ; FMax(a,b) : the real float value, in this case 0.0001 (with optional rounding?) could be displayed in the comment
  • Generally more hardcoded values decoding in the comment, like is already done for the unary & binary operators. For example the opcode value for dx.op.storeOutput.f32 (maybe it is the f32 part of the instruction, but I couldn’t find this info in the doc)
  • For store & loads from buffers/inputs/outputs : add in the comment the friendly name of the resource
  • Same request for the Resource Bindings and Output Dependencies sections

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the disassembly examples in the issue and map each requested improvement separately: source locations, decoded constants and opcodes, friendly resource names, Resource Bindings, and Output Dependencies. The issue does not name files or tests, so first determine the relevant disassembly entry points and agree on a narrower scope. Done should include the selected human-readable annotations and coverage for them.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.