HLSLDecompiler icon indicating copy to clipboard operation
HLSLDecompiler copied to clipboard

Support shader model 5.0?

Open zwcloud opened this issue 4 years ago • 4 comments

It throws error on this DXBC shader:

vs_5_0
      dcl_globalFlags refactoringAllowed
      dcl_immediateConstantBuffer {
			{ 1.0000, 0, 0, 0}, 
			{ 0, 1.0000, 0, 0}, 
			{ 0, 0, 1.0000, 0}, 
			{ 0, 0, 0, 1.0000} }
      dcl_constantbuffer cb0[30], immediateIndexed
      dcl_constantbuffer cb1[7], immediateIndexed
      dcl_constantbuffer cb2[21], immediateIndexed
      dcl_constantbuffer cb3[1], immediateIndexed
      dcl_constantbuffer cb4[4], dynamicIndexed
      dcl_sampler s0, mode_default
      dcl_sampler s1, mode_default
      dcl_resource_texture2d (float,float,float,float) t0
      dcl_resource_texture2d (float,float,float,float) t1
      dcl_input v0.xzw
      dcl_input v3.xyz
      dcl_input_sgv v8.x, instanceid
      dcl_output_siv o0.xyzw, position
      dcl_output o1.xyz
      dcl_output o2.xy
      dcl_output o3.xyz
      dcl_output o4.xyzw
      dcl_output o5.xyzw
      dcl_output o6.xyzw
      dcl_output o7.xyzw
      dcl_output o8.xyzw
      dcl_output o9.x
      dcl_temps 3
   0: ftou r0.x, v3.z
   1: iadd r0.y, v8.x, cb3[0].x
   2: ishl r0.y, r0.y, l(1)
   3: dp4 r0.x, cb4[r0.y + 1].xyzw, icb[r0.x + 0].xyzw
   4: mad r0.xz, v3.xxyx, r0.xxxx, v0.xxzx
   5: add r0.xz, r0.xxzx, cb4[r0.y + 0].xxyx
   6: mad r1.xy, r0.xzxx, cb4[r0.y + 0].zzzz, -cb0[9].xyxx
   7: mul r0.xy, r0.xzxx, cb4[r0.y + 0].zzzz
   8: div r0.zw, r1.xxxy, cb0[9].zzzw
   9: sample_l(texture2d)(float,float,float,float) r1.x, r0.zwzz, t0.xyzw, s0, l(0)
  10: sample_l(texture2d)(float,float,float,float) r0.zw, r0.zwzz, t1.zwxy, s1, l(0)
  11: mad r0.zw, r0.zzzw, l(0.0000, 0.0000, 4.0000, 4.0000), l(0.0000, 0.0000, -2.0000, -2.0000)
  12: mul r1.xyzw, r1.xxxx, cb0[1].xyzw
  13: mul r2.xy, r0.xyxx, cb0[8].zwzz
  14: mad r1.xyzw, cb0[0].xyzw, r2.xxxx, r1.xyzw
  15: mad r1.xyzw, cb0[2].xyzw, r2.yyyy, r1.xyzw
  16: add r2.xyzw, r1.xyzw, cb0[3].xyzw
  17: mad o1.xyz, cb0[3].xyzx, v0.wwww, r1.xyzx
  18: mul r1.xyzw, r2.yyyy, cb2[18].xyzw
  19: mad r1.xyzw, cb2[17].xyzw, r2.xxxx, r1.xyzw
  20: mad r1.xyzw, cb2[19].xyzw, r2.zzzz, r1.xyzw
  21: mad r1.xyzw, cb2[20].xyzw, r2.wwww, r1.xyzw
  22: mov o0.xyzw, r1.xyzw
  23: add r2.xy, cb0[8].xyxx, l(-1.0000, -1.0000, 0.0000, 0.0000)
  24: div o2.xy, r0.xyxx, r2.xyxx
  25: dp2 r0.x, r0.zwzz, r0.zwzz
  26: mad r2.zw, -r0.xxxx, l(0.0000, 0.0000, 0.2500, 0.5000), l(0.0000, 0.0000, 1.0000, 1.0000)
  27: sqrt r0.x, r2.z
  28: mul r2.xy, r0.xxxx, r0.zwzz
  29: dp3 r0.x, r2.xywx, cb0[4].xyzx
  30: dp3 r0.y, r2.xywx, cb0[5].xyzx
  31: dp3 r0.z, r2.xywx, cb0[6].xyzx
  32: dp3 r0.w, r0.xyzx, r0.xyzx
  33: rsq r0.w, r0.w
  34: mul o3.xyz, r0.wwww, r0.xyzx
  35: mul r0.x, r1.y, cb1[6].x
  36: mul r0.w, r0.x, l(0.5000)
  37: mul r0.xz, r1.xxwx, l(0.5000, 0.0000, 0.5000, 0.0000)
  38: mov o4.zw, r1.zzzw
  39: add o4.xy, r0.zzzz, r0.xwxx
  40: div o5.xyz, l(1.0000, 1.0000, 1.0000, 1.0000), cb0[25].yzwy
  41: div o5.w, l(1.0000, 1.0000, 1.0000, 1.0000), cb0[26].x
  42: div o6.xyz, l(1.0000, 1.0000, 1.0000, 1.0000), cb0[26].yzwy
  43: div o6.w, l(1.0000, 1.0000, 1.0000, 1.0000), cb0[27].x
  44: div o7.xyz, l(1.0000, 1.0000, 1.0000, 1.0000), cb0[27].yzwy
  45: div o7.w, l(1.0000, 1.0000, 1.0000, 1.0000), cb0[28].x
  46: div o8.xyz, l(1.0000, 1.0000, 1.0000, 1.0000), cb0[28].yzwy
  47: div o8.w, l(1.0000, 1.0000, 1.0000, 1.0000), cb0[29].x
  48: mov o9.x, l(0)
  49: ret

error:

Running "Z:/tools/HLSLDecompiler-v0.1/hlsl_decompiler_wrapper.bat" C:/Users/cloud/AppData/Local/Temp/shader_input
Decompiling C:/Users/cloud/AppData/Local/Temp/shader_input...
    creating HLSL representation
    error parsing shader> 3 Error parsing buffer offset: cb3[0].x
    error parsing shader> Missing constant buffer name: cb4[r0.y+1].xyzw
    error parsing shader> Missing constant buffer name: cb4[r0.y+0].xy
    error parsing shader> Missing constant buffer name: cb4[r0.y+0].zz
    error parsing shader> 3 Error parsing buffer offset: cb0[9].xy
    error parsing shader> Missing constant buffer name: cb4[r0.y+0].zz
    error parsing shader> 3 Error parsing buffer offset: cb0[9].zw
    error parsing shader> 3 Error parsing buffer offset: cb0[1].xyzw
    error parsing shader> 3 Error parsing buffer offset: cb0[8].zw
    error parsing shader> 3 Error parsing buffer offset: cb0[0].xyzw
    error parsing shader> 3 Error parsing buffer offset: cb0[2].xyzw
    error parsing shader> 3 Error parsing buffer offset: cb0[3].xyzw
    error parsing shader> 3 Error parsing buffer offset: cb0[3].xyz
    error parsing shader> 3 Error parsing buffer offset: cb2[18].xyzw
    error parsing shader> 3 Error parsing buffer offset: cb2[17].xyzw
    error parsing shader> 3 Error parsing buffer offset: cb2[19].xyzw
    error parsing shader> 3 Error parsing buffer offset: cb2[20].xyzw
    error parsing shader> 3 Error parsing buffer offset: cb0[8].xy
    error parsing shader> 3 Error parsing buffer offset: cb0[4].xyz
    error parsing shader> 3 Error parsing buffer offset: cb0[5].xyz
    error parsing shader> 3 Error parsing buffer offset: cb0[6].xyz
    error parsing shader> 3 Error parsing buffer offset: cb1[6].x
    error parsing shader> 3 Error parsing buffer offset: cb0[25].yzw
    error parsing shader> 3 Error parsing buffer offset: cb0[26].x
    error parsing shader> 3 Error parsing buffer offset: cb0[26].yzw
    error parsing shader> 3 Error parsing buffer offset: cb0[27].x
    error parsing shader> 3 Error parsing buffer offset: cb0[27].yzw
    error parsing shader> 3 Error parsing buffer offset: cb0[28].x
    error parsing shader> 3 Error parsing buffer offset: cb0[28].yzw
    error parsing shader> 3 Error parsing buffer offset: cb0[29].x
    error while decompiling

*** At least one error occurred during run ***
The system cannot find the file specified.

Process exited with code 1.
Output file is 0 bytes

zwcloud avatar Feb 27 '21 08:02 zwcloud

This fork supports shader model 5.0, tested: https://github.com/Quon/HLSLDecompiler

zwcloud avatar Aug 30 '21 11:08 zwcloud

@zwcloud ,hello,could you tell me how to use hlsldecompiler tool not with renderdoc,I can not use it standalone!thanks!

harrisonGPU avatar Mar 20 '23 01:03 harrisonGPU

@zwcloud ,hello,could you tell me how to use hlsldecompiler tool not with renderdoc,I can not use it standalone!thanks!

just follow the instruction in ReadMe

zwcloud avatar Mar 20 '23 05:03 zwcloud

@zwcloud ,hello,could you tell me how to use hlsldecompiler tool not with renderdoc,I can not use it standalone!thanks!

just follow the instruction in ReadMe

OK,I have done it !

harrisonGPU avatar Mar 20 '23 08:03 harrisonGPU