From ce00048d8cd4ab880e699542f577f399b5f9dde9 Mon Sep 17 00:00:00 2001 From: Alejandro Saucedo Date: Sat, 22 Aug 2020 15:21:20 +0100 Subject: [PATCH] Reverted back to cpp --- shaders/glsl/opmult.comp | 5 +++++ shaders/glsl/opmult.comp.spv | Bin 1404 -> 1692 bytes src/{OpMult.tpp => OpMult.cpp} | 22 +++++++++++++++++++++- 3 files changed, 26 insertions(+), 1 deletion(-) rename src/{OpMult.tpp => OpMult.cpp} (83%) diff --git a/shaders/glsl/opmult.comp b/shaders/glsl/opmult.comp index 2fa804a99..109b48cdd 100644 --- a/shaders/glsl/opmult.comp +++ b/shaders/glsl/opmult.comp @@ -12,6 +12,10 @@ layout(binding = 2) buffer tensorOutput { uint valuesOutput[ ]; }; +layout(binding = 3) buffer tensorInvalid { + uint valuesInvalid[ ]; +}; + // TODO: Explore how to make layout inside shader dynamic layout (local_size_x = 1, local_size_y = 1, local_size_z = 1) in; @@ -24,6 +28,7 @@ void main() valuesOutput[index] = 100 + index; valuesRhs[index] = 100 + index; valuesLhs[index] = 100 + index; + valuesInvalid[index] = 100 + index; } diff --git a/shaders/glsl/opmult.comp.spv b/shaders/glsl/opmult.comp.spv index c446f2d71b9ed6e4ac8727662af7dce9f14c63c2..69ffb1c8ba52d2f3e09ae7142c04a77f7715686b 100755 GIT binary patch delta 354 zcmYL@-%0{O7{$NYbyrLFLP7+==+C9QS-OfM1zlAS5f!vV5G%H(x4lAi+e^s4ommKIF@nkM~z{DAgTjDX_1s z*zX16ORvmK-8ACes7M9Bmq3!=A9Ivwp^xt1J^T#m=kh6Qw?8cB-pV|70IuwqwN_|8 zq2dDfkg}=GTC1!}4)GKj6q63{p=HX`GOE0p=W9E9392ENuWbJ2{aV#WEu{Pw(#8i! SuWTYcf5Q`%>Fkz^$LJp(h9B|( delta 86 zcmbQk`-h8{nMs+Qfq{{M0|@mt^2Rf6Uc<=3$f&!Sk-3~vRhxl@fsKKIK?jH#!898K YCy>^Kih;y+HeY2)XXN+`RA2$b0QF4@u>b%7 diff --git a/src/OpMult.tpp b/src/OpMult.cpp similarity index 83% rename from src/OpMult.tpp rename to src/OpMult.cpp index 0980ed809..43fcb7cf5 100644 --- a/src/OpMult.tpp +++ b/src/OpMult.cpp @@ -127,14 +127,34 @@ OpMult::record() vk::AccessFlagBits::eTransferRead, vk::PipelineStageFlagBits::eComputeShader, vk::PipelineStageFlagBits::eTransfer); + this->mTensorLHS->recordBufferMemoryBarrier( + vk::AccessFlagBits::eShaderWrite, + vk::AccessFlagBits::eTransferRead, + vk::PipelineStageFlagBits::eComputeShader, + vk::PipelineStageFlagBits::eTransfer); + this->mTensorRHS->recordBufferMemoryBarrier( + vk::AccessFlagBits::eShaderWrite, + vk::AccessFlagBits::eTransferRead, + vk::PipelineStageFlagBits::eComputeShader, + vk::PipelineStageFlagBits::eTransfer); - this->mTensorOutputStaging->recordCopyFrom(this->mTensorOutput); + this->mTensorOutputStaging->recordCopyFrom(this->mTensorLHS); this->mTensorOutput->recordBufferMemoryBarrier( vk::AccessFlagBits::eTransferWrite, vk::AccessFlagBits::eHostRead, vk::PipelineStageFlagBits::eTransfer, vk::PipelineStageFlagBits::eHost); + this->mTensorLHS->recordBufferMemoryBarrier( + vk::AccessFlagBits::eTransferWrite, + vk::AccessFlagBits::eHostRead, + vk::PipelineStageFlagBits::eTransfer, + vk::PipelineStageFlagBits::eHost); + this->mTensorRHS->recordBufferMemoryBarrier( + vk::AccessFlagBits::eTransferWrite, + vk::AccessFlagBits::eHostRead, + vk::PipelineStageFlagBits::eTransfer, + vk::PipelineStageFlagBits::eHost); } template