Created
October 10, 2017 14:53
-
-
Save rossy/55f71c4d6e03d0bcd7fd54d53047604a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[vo/gpu/d3d11] D3DCompile failed: Unspecified error (0x80004005) | |
[vo/gpu/d3d11] C:\msys64\home\rossy\mpv\Shader@0x000000001529CFA0(58,46-51): error X3004: undeclared identifier '_22_m0' | |
[vo/gpu/d3d11] C:\msys64\home\rossy\mpv\Shader@0x000000001529CFA0(58,17-52): error X3013: 'lerp': no matching 3 parameter intrinsic function | |
[vo/gpu/d3d11] C:\msys64\home\rossy\mpv\Shader@0x000000001529CFA0(58,17-52): error X3013: Possible intrinsic functions are: | |
[vo/gpu/d3d11] C:\msys64\home\rossy\mpv\Shader@0x000000001529CFA0(58,17-52): error X3013: lerp(float|half|min10float|min16float, float|half|min10float|min16float, float|half|min10float|min16float) | |
[vo/gpu/d3d11] GLSL source: | |
[vo/gpu/d3d11] [ 1] #version 450 | |
[vo/gpu/d3d11] [ 2] #define tex1D texture | |
[vo/gpu/d3d11] [ 3] #define tex3D texture | |
[vo/gpu/d3d11] [ 4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x)) | |
[vo/gpu/d3d11] [ 5] layout(location=0) out vec4 out_color; | |
[vo/gpu/d3d11] [ 6] layout(location=1) in vec2 texcoord0; | |
[vo/gpu/d3d11] [ 7] layout(location=2) in vec2 texcoord1; | |
[vo/gpu/d3d11] [ 8] layout(location=3) in vec2 texcoord2; | |
[vo/gpu/d3d11] [ 9] layout(location=4) in vec2 texcoord3; | |
[vo/gpu/d3d11] [ 10] layout(std140, binding=0) uniform UBO { | |
[vo/gpu/d3d11] [ 11] layout(offset=0) float fcoord; | |
[vo/gpu/d3d11] [ 12] layout(offset=16) vec3 src_luma; | |
[vo/gpu/d3d11] [ 13] layout(offset=32) vec3 dst_luma; | |
[vo/gpu/d3d11] [ 14] layout(offset=48) mat3 cms_matrix; | |
[vo/gpu/d3d11] [ 15] layout(offset=96) vec2 texture_size0; | |
[vo/gpu/d3d11] [ 16] layout(offset=112) mat2 texture_rot0; | |
[vo/gpu/d3d11] [ 17] layout(offset=136) vec2 texture_off0; | |
[vo/gpu/d3d11] [ 18] layout(offset=144) vec2 pixel_size0; | |
[vo/gpu/d3d11] [ 19] layout(offset=152) vec2 texture_size1; | |
[vo/gpu/d3d11] [ 20] layout(offset=160) mat2 texture_rot1; | |
[vo/gpu/d3d11] [ 21] layout(offset=184) vec2 texture_off1; | |
[vo/gpu/d3d11] [ 22] layout(offset=192) vec2 pixel_size1; | |
[vo/gpu/d3d11] [ 23] layout(offset=200) vec2 texture_size2; | |
[vo/gpu/d3d11] [ 24] layout(offset=208) mat2 texture_rot2; | |
[vo/gpu/d3d11] [ 25] layout(offset=232) vec2 texture_off2; | |
[vo/gpu/d3d11] [ 26] layout(offset=240) vec2 pixel_size2; | |
[vo/gpu/d3d11] [ 27] layout(offset=248) vec2 texture_size3; | |
[vo/gpu/d3d11] [ 28] layout(offset=256) mat2 texture_rot3; | |
[vo/gpu/d3d11] [ 29] layout(offset=280) vec2 texture_off3; | |
[vo/gpu/d3d11] [ 30] layout(offset=288) vec2 pixel_size3; | |
[vo/gpu/d3d11] [ 31] }; | |
[vo/gpu/d3d11] [ 32] layout(binding=0) uniform sampler2D lut; | |
[vo/gpu/d3d11] [ 33] layout(binding=1) uniform sampler2D texture0; | |
[vo/gpu/d3d11] [ 34] layout(binding=2) uniform sampler2D texture1; | |
[vo/gpu/d3d11] [ 35] layout(binding=3) uniform sampler2D texture2; | |
[vo/gpu/d3d11] [ 36] layout(binding=4) uniform sampler2D texture3; | |
[vo/gpu/d3d11] [ 37] const float sig_peak = 10.000000; | |
[vo/gpu/d3d11] [ 38] void main() { | |
[vo/gpu/d3d11] [ 39] vec4 color = vec4(0.0, 0.0, 0.0, 1.0); | |
[vo/gpu/d3d11] [ 40] color = vec4(0.0); | |
[vo/gpu/d3d11] [ 41] { | |
[vo/gpu/d3d11] [ 42] vec4 c; | |
[vo/gpu/d3d11] [ 43] float ypos = LUT_POS(fcoord, 64.0); | |
[vo/gpu/d3d11] [ 44] float weights[4]; | |
[vo/gpu/d3d11] [ 45] c = texture(lut, vec2(0.500000, ypos)); | |
[vo/gpu/d3d11] [ 46] weights[0] = c[0]; | |
[vo/gpu/d3d11] [ 47] weights[1] = c[1]; | |
[vo/gpu/d3d11] [ 48] weights[2] = c[2]; | |
[vo/gpu/d3d11] [ 49] weights[3] = c[3]; | |
[vo/gpu/d3d11] [ 50] // scaler samples | |
[vo/gpu/d3d11] [ 51] c = texture(texture0, texcoord0); | |
[vo/gpu/d3d11] [ 52] color += vec4(weights[0]) * c; | |
[vo/gpu/d3d11] [ 53] c = texture(texture1, texcoord1); | |
[vo/gpu/d3d11] [ 54] color += vec4(weights[1]) * c; | |
[vo/gpu/d3d11] [ 55] c = texture(texture2, texcoord2); | |
[vo/gpu/d3d11] [ 56] color += vec4(weights[2]) * c; | |
[vo/gpu/d3d11] [ 57] c = texture(texture3, texcoord3); | |
[vo/gpu/d3d11] [ 58] color += vec4(weights[3]) * c; | |
[vo/gpu/d3d11] [ 59] } | |
[vo/gpu/d3d11] [ 60] // color mapping | |
[vo/gpu/d3d11] [ 61] // rescale value range; | |
[vo/gpu/d3d11] [ 62] color.rgb *= vec3(100.000000); | |
[vo/gpu/d3d11] [ 63] color.rgb = cms_matrix * color.rgb; | |
[vo/gpu/d3d11] [ 64] // HDR tone mapping | |
[vo/gpu/d3d11] [ 65] float luma = dot(dst_luma, color.rgb); | |
[vo/gpu/d3d11] [ 66] float overbright = max(luma - 2.000000, 1e-6) / max(luma, 1e-6); | |
[vo/gpu/d3d11] [ 67] color.rgb = mix(color.rgb, vec3(luma), overbright); | |
[vo/gpu/d3d11] [ 68] float sig = max(max(color.r, color.g), color.b); | |
[vo/gpu/d3d11] [ 69] float sig_orig = sig; | |
[vo/gpu/d3d11] [ 70] const float j = 0.300000; | |
[vo/gpu/d3d11] [ 71] float a = -j*j * (sig_peak - 1.0) / (j*j - 2.0*j + sig_peak); | |
[vo/gpu/d3d11] [ 72] float b = (j*j - 2.0*j*sig_peak + sig_peak) / max(1e-6, sig_peak - 1.0); | |
[vo/gpu/d3d11] [ 73] float scale = (b*b + 2.0*b*j + j*j) / (b-a); | |
[vo/gpu/d3d11] [ 74] sig = mix(sig, scale * (sig + a) / (sig + b), sig > j); | |
[vo/gpu/d3d11] [ 75] color.rgb *= sig / sig_orig; | |
[vo/gpu/d3d11] [ 76] // delinearize | |
[vo/gpu/d3d11] [ 77] color.rgb = clamp(color.rgb, 0.0, 1.0); | |
[vo/gpu/d3d11] [ 78] color.rgb *= vec3(1.000000); | |
[vo/gpu/d3d11] [ 79] color.rgb = pow(color.rgb, vec3(1.0/2.2)); | |
[vo/gpu/d3d11] [ 80] out_color = color; | |
[vo/gpu/d3d11] [ 81] } | |
[vo/gpu/d3d11] HLSL source: | |
[vo/gpu/d3d11] [ 1] cbuffer _22 : register(b0) | |
[vo/gpu/d3d11] [ 2] { | |
[vo/gpu/d3d11] [ 3] float _m0 : packoffset(c0); | |
[vo/gpu/d3d11] [ 4] float3 _m1 : packoffset(c1); | |
[vo/gpu/d3d11] [ 5] float3 _m2 : packoffset(c2); | |
[vo/gpu/d3d11] [ 6] row_major float3x3 _m3 : packoffset(c3); | |
[vo/gpu/d3d11] [ 7] float2 _m4 : packoffset(c6); | |
[vo/gpu/d3d11] [ 8] row_major float2x2 _m5 : packoffset(c7); | |
[vo/gpu/d3d11] [ 9] float2 _m6 : packoffset(c8.z); | |
[vo/gpu/d3d11] [ 10] float2 _m7 : packoffset(c9); | |
[vo/gpu/d3d11] [ 11] float2 _m8 : packoffset(c9.z); | |
[vo/gpu/d3d11] [ 12] row_major float2x2 _m9 : packoffset(c10); | |
[vo/gpu/d3d11] [ 13] float2 _m10 : packoffset(c11.z); | |
[vo/gpu/d3d11] [ 14] float2 _m11 : packoffset(c12); | |
[vo/gpu/d3d11] [ 15] float2 _m12 : packoffset(c12.z); | |
[vo/gpu/d3d11] [ 16] row_major float2x2 _m13 : packoffset(c13); | |
[vo/gpu/d3d11] [ 17] float2 _m14 : packoffset(c14.z); | |
[vo/gpu/d3d11] [ 18] float2 _m15 : packoffset(c15); | |
[vo/gpu/d3d11] [ 19] float2 _m16 : packoffset(c15.z); | |
[vo/gpu/d3d11] [ 20] row_major float2x2 _m17 : packoffset(c16); | |
[vo/gpu/d3d11] [ 21] float2 _m18 : packoffset(c17.z); | |
[vo/gpu/d3d11] [ 22] float2 _m19 : packoffset(c18); | |
[vo/gpu/d3d11] [ 23] }; | |
[vo/gpu/d3d11] [ 24] Texture2D<float4> _35 : register(t0); | |
[vo/gpu/d3d11] [ 25] SamplerState __35_sampler : register(s0); | |
[vo/gpu/d3d11] [ 26] Texture2D<float4> _65 : register(t1); | |
[vo/gpu/d3d11] [ 27] SamplerState __65_sampler : register(s1); | |
[vo/gpu/d3d11] [ 28] Texture2D<float4> _78 : register(t2); | |
[vo/gpu/d3d11] [ 29] SamplerState __78_sampler : register(s2); | |
[vo/gpu/d3d11] [ 30] Texture2D<float4> _90 : register(t3); | |
[vo/gpu/d3d11] [ 31] SamplerState __90_sampler : register(s3); | |
[vo/gpu/d3d11] [ 32] Texture2D<float4> _102 : register(t4); | |
[vo/gpu/d3d11] [ 33] SamplerState __102_sampler : register(s4); | |
[vo/gpu/d3d11] [ 34] | |
[vo/gpu/d3d11] [ 35] static float2 _68; | |
[vo/gpu/d3d11] [ 36] static float2 _80; | |
[vo/gpu/d3d11] [ 37] static float2 _92; | |
[vo/gpu/d3d11] [ 38] static float2 _104; | |
[vo/gpu/d3d11] [ 39] static float4 _227; | |
[vo/gpu/d3d11] [ 40] | |
[vo/gpu/d3d11] [ 41] struct SPIRV_Cross_Input | |
[vo/gpu/d3d11] [ 42] { | |
[vo/gpu/d3d11] [ 43] float2 _68 : TEXCOORD1; | |
[vo/gpu/d3d11] [ 44] float2 _80 : TEXCOORD2; | |
[vo/gpu/d3d11] [ 45] float2 _92 : TEXCOORD3; | |
[vo/gpu/d3d11] [ 46] float2 _104 : TEXCOORD4; | |
[vo/gpu/d3d11] [ 47] }; | |
[vo/gpu/d3d11] [ 48] | |
[vo/gpu/d3d11] [ 49] struct SPIRV_Cross_Output | |
[vo/gpu/d3d11] [ 50] { | |
[vo/gpu/d3d11] [ 51] float4 _227 : SV_Target0; | |
[vo/gpu/d3d11] [ 52] }; | |
[vo/gpu/d3d11] [ 53] | |
[vo/gpu/d3d11] [ 54] void frag_main() | |
[vo/gpu/d3d11] [ 55] { | |
[vo/gpu/d3d11] [ 56] float4 _9 = float4(0.0f, 0.0f, 0.0f, 1.0f); | |
[vo/gpu/d3d11] [ 57] _9 = float4(0.0f, 0.0f, 0.0f, 0.0f); | |
[vo/gpu/d3d11] [ 58] float _15 = lerp(0.0078125f, 0.9921875f, _22_m0); | |
[vo/gpu/d3d11] [ 59] float4 _31 = _35.Sample(__35_sampler, float2(0.5f, _15)); | |
[vo/gpu/d3d11] [ 60] float _45[4]; | |
[vo/gpu/d3d11] [ 61] _45[0] = _31.x; | |
[vo/gpu/d3d11] [ 62] _45[1] = _31.y; | |
[vo/gpu/d3d11] [ 63] _45[2] = _31.z; | |
[vo/gpu/d3d11] [ 64] _45[3] = _31.w; | |
[vo/gpu/d3d11] [ 65] _31 = _65.Sample(__65_sampler, _68); | |
[vo/gpu/d3d11] [ 66] _9 += (float4(_45[0], _45[0], _45[0], _45[0]) * _31); | |
[vo/gpu/d3d11] [ 67] _31 = _78.Sample(__78_sampler, _80); | |
[vo/gpu/d3d11] [ 68] _9 += (float4(_45[1], _45[1], _45[1], _45[1]) * _31); | |
[vo/gpu/d3d11] [ 69] _31 = _90.Sample(__90_sampler, _92); | |
[vo/gpu/d3d11] [ 70] _9 += (float4(_45[2], _45[2], _45[2], _45[2]) * _31); | |
[vo/gpu/d3d11] [ 71] _31 = _102.Sample(__102_sampler, _104); | |
[vo/gpu/d3d11] [ 72] _9 += (float4(_45[3], _45[3], _45[3], _45[3]) * _31); | |
[vo/gpu/d3d11] [ 73] float3 _118 = _9.xyz * float3(100.0f, 100.0f, 100.0f); | |
[vo/gpu/d3d11] [ 74] _9 = float4(_118.x, _118.y, _118.z, _9.w); | |
[vo/gpu/d3d11] [ 75] float3 _126 = mul(_9.xyz, _22_m3); | |
[vo/gpu/d3d11] [ 76] _9 = float4(_126.x, _126.y, _126.z, _9.w); | |
[vo/gpu/d3d11] [ 77] float _129 = dot(_22_m2, _9.xyz); | |
[vo/gpu/d3d11] [ 78] float _136 = max(_129 - 2.0f, 9.9999999747524270787835121154785e-007f) / max(_129, 9.9999999747524270787835121154785e-007f); | |
[vo/gpu/d3d11] [ 79] float3 _151 = lerp(_9.xyz, float3(_129, _129, _129), float3(_136, _136, _136)); | |
[vo/gpu/d3d11] [ 80] _9 = float4(_151.x, _151.y, _151.z, _9.w); | |
[vo/gpu/d3d11] [ 81] float _154 = max(max(_9.x, _9.y), _9.z); | |
[vo/gpu/d3d11] [ 82] float _163 = _154; | |
[vo/gpu/d3d11] [ 83] float _165 = -0.08535300195217132568359375f; | |
[vo/gpu/d3d11] [ 84] float _167 = 0.4544444382190704345703125f; | |
[vo/gpu/d3d11] [ 85] float _169 = (((_167 * _167) + ((2.0f * _167) * 0.300000011920928955078125f)) + 0.0900000035762786865234375f) / (_167 - _165); | |
[vo/gpu/d3d11] [ 86] _154 = (_154 > 0.300000011920928955078125f) ? ((_169 * (_154 + _165)) / (_154 + _167)) : _154; | |
[vo/gpu/d3d11] [ 87] float3 _203 = _9.xyz * (_154 / _163); | |
[vo/gpu/d3d11] [ 88] _9 = float4(_203.x, _203.y, _203.z, _9.w); | |
[vo/gpu/d3d11] [ 89] float3 _210 = clamp(_9.xyz, float3(0.0f, 0.0f, 0.0f), float3(1.0f, 1.0f, 1.0f)); | |
[vo/gpu/d3d11] [ 90] _9 = float4(_210.x, _210.y, _210.z, _9.w); | |
[vo/gpu/d3d11] [ 91] float3 _216 = _9.xyz * float3(1.0f, 1.0f, 1.0f); | |
[vo/gpu/d3d11] [ 92] _9 = float4(_216.x, _216.y, _216.z, _9.w); | |
[vo/gpu/d3d11] [ 93] float3 _223 = pow(_9.xyz, float3(0.4545454680919647216796875f, 0.4545454680919647216796875f, 0.4545454680919647216796875f)); | |
[vo/gpu/d3d11] [ 94] _9 = float4(_223.x, _223.y, _223.z, _9.w); | |
[vo/gpu/d3d11] [ 95] _227 = _9; | |
[vo/gpu/d3d11] [ 96] } | |
[vo/gpu/d3d11] [ 97] | |
[vo/gpu/d3d11] [ 98] SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input) | |
[vo/gpu/d3d11] [ 99] { | |
[vo/gpu/d3d11] [100] _68 = stage_input._68; | |
[vo/gpu/d3d11] [101] _80 = stage_input._80; | |
[vo/gpu/d3d11] [102] _92 = stage_input._92; | |
[vo/gpu/d3d11] [103] _104 = stage_input._104; | |
[vo/gpu/d3d11] [104] frag_main(); | |
[vo/gpu/d3d11] [105] SPIRV_Cross_Output stage_output; | |
[vo/gpu/d3d11] [106] stage_output._227 = _227; | |
[vo/gpu/d3d11] [107] return stage_output; | |
[vo/gpu/d3d11] [108] } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment