From 4d6fbacd3a9c32a24e43ba10d02969cdcfb893e2 Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Sun, 22 Dec 2019 17:44:30 +0000 Subject: [PATCH] [dxso] Keep track of the current instruction index in a decoding context --- src/dxso/dxso_decoder.cpp | 2 ++ src/dxso/dxso_decoder.h | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/dxso/dxso_decoder.cpp b/src/dxso/dxso_decoder.cpp index fa207395..42d8d64b 100644 --- a/src/dxso/dxso_decoder.cpp +++ b/src/dxso/dxso_decoder.cpp @@ -175,6 +175,8 @@ namespace dxvk { bool DxsoDecodeContext::decodeInstruction(DxsoCodeIter& iter) { uint32_t token = iter.read(); + m_ctx.instructionIdx++; + m_ctx.instruction.opcode = static_cast( token & 0x0000ffff); diff --git a/src/dxso/dxso_decoder.h b/src/dxso/dxso_decoder.h index e788412d..178f8075 100644 --- a/src/dxso/dxso_decoder.h +++ b/src/dxso/dxso_decoder.h @@ -193,6 +193,8 @@ namespace dxvk { }; struct DxsoInstructionContext { + uint32_t instructionIdx; + DxsoShaderInstruction instruction; DxsoRegister pred; @@ -212,7 +214,9 @@ namespace dxvk { public: DxsoDecodeContext(const DxsoProgramInfo& programInfo) - : m_programInfo( programInfo ) { } + : m_programInfo( programInfo ) { + m_ctx.instructionIdx = 0; + } /** * \brief Retrieves current instruction context