vlc | branch: master | Steve Lhomme <[email protected]> | Wed Feb 3 11:45:36 2021 +0100| [2ce05a626a0b9d311c705300d4513a5ed369b834] | committer: Steve Lhomme
direct3d11: don't use texture arrays in shader if we're using the staging texture Only the decoder uses a texture array, everything else uses textures with one slice. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=2ce05a626a0b9d311c705300d4513a5ed369b834 --- modules/video_output/win32/direct3d11.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/video_output/win32/direct3d11.c b/modules/video_output/win32/direct3d11.c index f41fd23f6d..76bd877423 100644 --- a/modules/video_output/win32/direct3d11.c +++ b/modules/video_output/win32/direct3d11.c @@ -317,7 +317,7 @@ static int UpdateStaging(vout_display_t *vd, const video_format_t *fmt) { vout_display_sys_t *sys = vd->sys; #ifdef HAVE_ID3D11VIDEODECODER - if (!is_d3d11_opaque(fmt->i_chroma) || sys->legacy_shader) + if (sys->legacy_shader) { /* we need a staging texture */ ID3D11Texture2D *textures[DXGI_MAX_SHADER_VIEW] = {0}; @@ -598,7 +598,7 @@ static void PreparePicture(vout_display_t *vd, picture_t *picture, subpicture_t /* Render the quad */ ID3D11ShaderResourceView **renderSrc; - if (!is_d3d11_opaque(picture->format.i_chroma) || sys->legacy_shader) + if (sys->legacy_shader) renderSrc = sys->stagingSys.renderSrc; else { picture_sys_d3d11_t *p_sys = ActiveD3D11PictureSys(picture); @@ -1033,7 +1033,7 @@ static int Direct3D11CreateFormatResources(vout_display_t *vd, const video_forma HRESULT hr; sys->legacy_shader = sys->d3d_dev->feature_level < D3D_FEATURE_LEVEL_10_0 || !CanUseTextureArray(vd) || - BogusZeroCopy(vd); + BogusZeroCopy(vd) || !is_d3d11_opaque(fmt->i_chroma); hr = D3D11_CompilePixelShader(vd, &sys->shaders, sys->d3d_dev, !sys->legacy_shader, &sys->display, false, fmt->transfer, fmt->primaries, _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
