vlc/vlc-3.0 | branch: master | Steve Lhomme <[email protected]> | Fri Oct 12 14:53:20 2018 +0200| [af8799845807bc58338f0d3b9624608d97289bcf] | committer: Steve Lhomme
d3d11_shaders: log the whole pixel shader with -vvvv (cherry picked from commit a1b3465c6265b850108714ad2306342c18f69907) > http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=af8799845807bc58338f0d3b9624608d97289bcf --- modules/video_output/win32/d3d11_shaders.c | 72 +++++++++++++++--------------- 1 file changed, 37 insertions(+), 35 deletions(-) diff --git a/modules/video_output/win32/d3d11_shaders.c b/modules/video_output/win32/d3d11_shaders.c index ccb52352c9..8767e39b33 100644 --- a/modules/video_output/win32/d3d11_shaders.c +++ b/modules/video_output/win32/d3d11_shaders.c @@ -222,23 +222,23 @@ HRESULT D3D11_CompilePixelShader(vlc_object_t *o, d3d11_handle_t *hd3d, bool leg case DXGI_FORMAT_NV12: case DXGI_FORMAT_P010: psz_sampler = - "sample.x = shaderTexture[0].Sample(samplerState, coords).x;\ - sample.yz = shaderTexture[1].Sample(samplerState, coords).xy;\ - sample.a = 1;"; + "sample.x = shaderTexture[0].Sample(samplerState, coords).x;\n" + "sample.yz = shaderTexture[1].Sample(samplerState, coords).xy;\n" + "sample.a = 1;"; break; case DXGI_FORMAT_YUY2: psz_sampler = - "sample.x = shaderTexture[0].Sample(samplerState, coords).x;\ - sample.y = shaderTexture[0].Sample(samplerState, coords).y;\ - sample.z = shaderTexture[0].Sample(samplerState, coords).a;\ - sample.a = 1;"; + "sample.x = shaderTexture[0].Sample(samplerState, coords).x;\n" + "sample.y = shaderTexture[0].Sample(samplerState, coords).y;\n" + "sample.z = shaderTexture[0].Sample(samplerState, coords).a;\n" + "sample.a = 1;"; break; case DXGI_FORMAT_AYUV: psz_sampler = - "sample.x = shaderTexture[0].Sample(SampleType, In.Texture).z;\ - sample.y = shaderTexture[0].Sample(SampleType, In.Texture).y;\ - sample.z = shaderTexture[0].Sample(SampleType, In.Texture).x;\ - sample.a = shaderTexture[0].Sample(SampleType, In.Texture).a;"; + "sample.x = shaderTexture[0].Sample(SampleType, In.Texture).z;\n" + "sample.y = shaderTexture[0].Sample(SampleType, In.Texture).y;\n" + "sample.z = shaderTexture[0].Sample(SampleType, In.Texture).x;\n" + "sample.a = shaderTexture[0].Sample(SampleType, In.Texture).a;"; break; case DXGI_FORMAT_R8G8B8A8_UNORM: case DXGI_FORMAT_B8G8R8A8_UNORM: @@ -251,16 +251,16 @@ HRESULT D3D11_CompilePixelShader(vlc_object_t *o, d3d11_handle_t *hd3d, bool leg case DXGI_FORMAT_UNKNOWN: if (format->fourcc == VLC_CODEC_I420_10L) psz_sampler = - "sample.x = shaderTexture[0].Sample(samplerState, coords).x * 64;\ - sample.y = shaderTexture[1].Sample(samplerState, coords).x * 64;\ - sample.z = shaderTexture[2].Sample(samplerState, coords).x * 64;\ - sample.a = 1;"; + "sample.x = shaderTexture[0].Sample(samplerState, coords).x * 64;\n" + "sample.y = shaderTexture[1].Sample(samplerState, coords).x * 64;\n" + "sample.z = shaderTexture[2].Sample(samplerState, coords).x * 64;\n" + "sample.a = 1;"; else psz_sampler = - "sample.x = shaderTexture[0].Sample(samplerState, coords).x;\ - sample.y = shaderTexture[1].Sample(samplerState, coords).x;\ - sample.z = shaderTexture[2].Sample(samplerState, coords).x;\ - sample.a = 1;"; + "sample.x = shaderTexture[0].Sample(samplerState, coords).x;\n" + "sample.y = shaderTexture[1].Sample(samplerState, coords).x;\n" + "sample.z = shaderTexture[2].Sample(samplerState, coords).x;\n" + "sample.a = 1;"; break; default: vlc_assert_unreachable(); @@ -277,19 +277,19 @@ HRESULT D3D11_CompilePixelShader(vlc_object_t *o, d3d11_handle_t *hd3d, bool leg /* ST2084 to Linear */ psz_src_transform = ST2084_PQ_CONSTANTS - "rgb = pow(rgb, 1.0/ST2084_m2);\ - rgb = max(rgb - ST2084_c1, 0.0) / (ST2084_c2 - ST2084_c3 * rgb);\ - rgb = pow(rgb, 1.0/ST2084_m1);\ - return rgb"; + "rgb = pow(rgb, 1.0/ST2084_m2);\n" + "rgb = max(rgb - ST2084_c1, 0.0) / (ST2084_c2 - ST2084_c3 * rgb);\n" + "rgb = pow(rgb, 1.0/ST2084_m1);\n" + "return rgb"; src_transfer = TRANSFER_FUNC_LINEAR; break; case TRANSFER_FUNC_HLG: /* HLG to Linear */ psz_src_transform = - "rgb.r = inverse_HLG(rgb.r);\ - rgb.g = inverse_HLG(rgb.g);\ - rgb.b = inverse_HLG(rgb.b);\ - return rgb / 20.0"; + "rgb.r = inverse_HLG(rgb.r);\n" + "rgb.g = inverse_HLG(rgb.g);\n" + "rgb.b = inverse_HLG(rgb.b);\n" + "return rgb / 20.0"; src_transfer = TRANSFER_FUNC_LINEAR; break; case TRANSFER_FUNC_BT709: @@ -323,9 +323,9 @@ HRESULT D3D11_CompilePixelShader(vlc_object_t *o, d3d11_handle_t *hd3d, bool leg { /* HDR tone mapping */ psz_tone_mapping = - "static const float3 HABLE_DIV = hable(11.2);\ - rgb = hable(rgb * LuminanceScale) / HABLE_DIV;\ - return rgb"; + "static const float3 HABLE_DIV = hable(11.2);\n" + "rgb = hable(rgb * LuminanceScale) / HABLE_DIV;\n" + "return rgb"; } } else @@ -338,10 +338,10 @@ HRESULT D3D11_CompilePixelShader(vlc_object_t *o, d3d11_handle_t *hd3d, bool leg /* Linear to ST2084 */ psz_display_transform = ST2084_PQ_CONSTANTS - "rgb = pow(rgb, ST2084_m1);\ - rgb = (ST2084_c1 + ST2084_c2 * rgb) / (1 + ST2084_c3 * rgb);\ - rgb = pow(rgb, ST2084_m2);\ - return rgb"; + "rgb = pow(rgb, ST2084_m1);\n" + "rgb = (ST2084_c1 + ST2084_c2 * rgb) / (1 + ST2084_c3 * rgb);\n" + "rgb = pow(rgb, ST2084_m2);\n" + "return rgb"; } else msg_Warn(o, "don't know how to transfer from %d to SMPTE ST 2084", src_transfer); @@ -438,8 +438,10 @@ HRESULT D3D11_CompilePixelShader(vlc_object_t *o, d3d11_handle_t *hd3d, bool leg } sprintf(shader, globPixelShaderDefault, legacy_shader ? "" : "Array", psz_src_transform, psz_display_transform, psz_primaries_transform, psz_tone_mapping, psz_adjust_range, psz_sampler); + if (var_InheritInteger(o, "verbose") >= 4) + msg_Dbg(o, "shader %s", shader); #ifndef NDEBUG - if (!IsRGBShader(format)) { + else if (!IsRGBShader(format)) { msg_Dbg(o,"psz_src_transform %s", psz_src_transform); msg_Dbg(o,"psz_primaries_transform %s", psz_primaries_transform); msg_Dbg(o,"psz_tone_mapping %s", psz_tone_mapping); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
