Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

request support for min16f4 instruction #173

Open
xuetaolu opened this issue Aug 14, 2023 · 2 comments
Open

request support for min16f4 instruction #173

xuetaolu opened this issue Aug 14, 2023 · 2 comments

Comments

@xuetaolu
Copy link

xuetaolu commented Aug 14, 2023

Files:

HLSLDecompiler_Test_min16f4.zip

Reproduction step

  1. decompression the zip file
  2. run Test.bat

Issue description

Unknown data type: min16f4

    Decompiling .\min16f4.dxbc...  
    creating HLSL representation 
    error parsing shader> Unknown data type: min16f4 
    error parsing shader> applySwizzle 2nd parameter missing '.': {min16f} 
    error while decompiling

the Corresponding instruction
mov o0.xyzw {min16f}, r0.xyzw {def32 as min16f}

@DarkStarSword
Copy link
Collaborator

We recommend using assembly rather than HLSL for those - the HLSL decompiler will never be able to accurately decompile every shader due to some fundamental issues with the difference between DXBC and HLSL, so more effort has gone into making the disassembler + assembler support everything possible rather than making the decompiler support a few more esoteric types.

Alternatively remove the partial precision types - most implementations transparently replace them with 32bit types anyway so there is rarely any point to using them.

@DarkStarSword
Copy link
Collaborator

Oops, didn't mean to close the issue since it is a legit limitation of the decompiler, and perhaps some day it will be implemented, but don't hold your breath.

@DarkStarSword DarkStarSword reopened this Aug 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants