From: Sil Vilerino Date: Fri, 10 Mar 2023 03:59:45 +0000 (-0500) Subject: d3d12: Fix video decode for interlaced streams with reference only textures required X-Git-Tag: upstream/23.3.3~11804 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3067bda0f34edacb617afa43ea9f9c25d25d3ee7;p=platform%2Fupstream%2Fmesa.git d3d12: Fix video decode for interlaced streams with reference only textures required Fixes: d8206f628659d468c870430daa271d5bec6e860d ("d3d12: Add video decode implementation of pipe_video_codec") Part-of: --- diff --git a/src/gallium/drivers/d3d12/d3d12_video_dec_references_mgr.cpp b/src/gallium/drivers/d3d12/d3d12_video_dec_references_mgr.cpp index 2393739..f9aa756 100644 --- a/src/gallium/drivers/d3d12/d3d12_video_dec_references_mgr.cpp +++ b/src/gallium/drivers/d3d12/d3d12_video_dec_references_mgr.cpp @@ -69,7 +69,7 @@ d3d12_video_decoder_references_manager::get_current_frame_decode_output_texture( assert(m_DecodeTargetToOriginalIndex7Bits.count(pCurrentDecodeTarget) > 0); // Needs to already have a Index7Bits assigned for current pic params uint16_t remappedIdx = find_remapped_index(m_DecodeTargetToOriginalIndex7Bits[pCurrentDecodeTarget]); - if(remappedIdx != m_invalidIndex) { // If it already has a remapped index in use, reuse that allocation + if((remappedIdx != m_invalidIndex) && !(is_reference_only())) { // If it already has a remapped index in use, reuse that allocation // return the existing allocation for this decode target d3d12_video_reconstructed_picture reconPicture = m_upD3D12TexturesStorageManager->get_reference_frame(remappedIdx); *ppOutTexture2D = reconPicture.pReconstructedPicture;