Skip to content

Commit

Permalink
G-API: Recent inclusion has broken STANDALONE build
Browse files Browse the repository at this point in the history
This MR fixes this.
  • Loading branch information
dmatveev committed Nov 20, 2018
1 parent 083332f commit 1b13df5
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions modules/gapi/src/api/gbackend.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,12 @@ void bindInArg(Mag& mag, const RcDesc &rc, const GRunArg &arg, bool is_umat)
case GRunArg::index_of<cv::gapi::own::Mat>() :
if (is_umat)
{
#if !defined(GAPI_STANDALONE)
auto& mag_umat = mag.template slot<cv::UMat>()[rc.id];
mag_umat = to_ocv(util::get<cv::gapi::own::Mat>(arg)).getUMat(ACCESS_READ);
#else
util::throw_error(std::logic_error("UMat is not supported in stadnalone build"));
#endif // !defined(GAPI_STANDALONE)
}
else
{
Expand Down Expand Up @@ -157,8 +161,12 @@ void bindOutArg(Mag& mag, const RcDesc &rc, const GRunArgP &arg, bool is_umat)
case GRunArgP::index_of<cv::gapi::own::Mat*>() :
if (is_umat)
{
#if !defined(GAPI_STANDALONE)
auto& mag_umat = mag.template slot<cv::UMat>()[rc.id];
mag_umat = to_ocv(*(util::get<cv::gapi::own::Mat*>(arg))).getUMat(ACCESS_RW);
#else
util::throw_error(std::logic_error("UMat is not supported in standalone build"));
#endif // !defined(GAPI_STANDALONE)
}
else
{
Expand Down Expand Up @@ -256,7 +264,13 @@ cv::GRunArgP getObjPtr(Mag& mag, const RcDesc &rc, bool is_umat)
{
case GShape::GMAT:
if (is_umat)
{
#if !defined(GAPI_STANDALONE)
return GRunArgP(&mag.template slot<cv::UMat>()[rc.id]);
#else
util::throw_error(std::logic_error("UMat is not supported in standalone build"));
#endif // !defined(GAPI_STANDALONE)
}
else
return GRunArgP(&mag.template slot<cv::gapi::own::Mat>()[rc.id]);
case GShape::GSCALAR: return GRunArgP(&mag.template slot<cv::gapi::own::Scalar>()[rc.id]);
Expand Down Expand Up @@ -300,8 +314,12 @@ void writeBack(const Mag& mag, const RcDesc &rc, GRunArgP &g_arg, bool is_umat)
}
if (is_umat)
{
#if !defined(GAPI_STANDALONE)
auto& in_mag = mag.template slot<cv::UMat>().at(rc.id);
GAPI_Assert((out_arg_data == (in_mag.getMat(ACCESS_RW).data)) && " data for output parameters was reallocated ?");
#else
util::throw_error(std::logic_error("UMat is not supported in standalone build"));
#endif // !defined(GAPI_STANDALONE)
}
else
{
Expand Down

0 comments on commit 1b13df5

Please sign in to comment.