From 3067bda0f34edacb617afa43ea9f9c25d25d3ee7 Mon Sep 17 00:00:00 2001 From: Sil Vilerino Date: Thu, 9 Mar 2023 22:59:45 -0500 Subject: [PATCH] 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: --- src/gallium/drivers/d3d12/d3d12_video_dec_references_mgr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 23937397bb8..f9aa7564834 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;