From a770c73dbc8fb111d44a181213837202a2c407ea Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Wed, 3 Apr 2019 18:10:10 +0100 Subject: [PATCH] [spirv] Implement opVectorTimesScalar --- src/spirv/spirv_module.cpp | 19 +++++++++++++++++-- src/spirv/spirv_module.h | 5 +++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/spirv/spirv_module.cpp b/src/spirv/spirv_module.cpp index 90212ee49..4631fe754 100644 --- a/src/spirv/spirv_module.cpp +++ b/src/spirv/spirv_module.cpp @@ -1753,8 +1753,23 @@ namespace dxvk { m_code.putWord(b); return resultId; } - - + + + uint32_t SpirvModule::opVectorTimesScalar( + uint32_t resultType, + uint32_t vector, + uint32_t scalar) { + uint32_t resultId = this->allocateId(); + + m_code.putIns(spv::OpVectorTimesScalar, 5); + m_code.putWord(resultType); + m_code.putWord(resultId); + m_code.putWord(vector); + m_code.putWord(scalar); + return resultId; + } + + uint32_t SpirvModule::opFFma( uint32_t resultType, uint32_t a, diff --git a/src/spirv/spirv_module.h b/src/spirv/spirv_module.h index 08df5d210..13c2a49a0 100644 --- a/src/spirv/spirv_module.h +++ b/src/spirv/spirv_module.h @@ -641,6 +641,11 @@ namespace dxvk { uint32_t resultType, uint32_t a, uint32_t b); + + uint32_t opVectorTimesScalar( + uint32_t resultType, + uint32_t vector, + uint32_t scalar); uint32_t opFFma( uint32_t resultType,