-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Итератор, возвращаемый FindKernelByName() может принадлежать одной из трёх разных таблиц, в связи с чем его сравнение с end() чужой таблицы нелегально и в моём случае бросает исключение.
компилятор: MSVC
Предлагаемое исправление:
template_rendering_host.cpp:1379
@@ -1376,13 +1376,12 @@ template_rendering_host.cpp kslicer::PrepareJsonForAllCPP(const MainClassInfo& a_classInfo, ...)
const auto pFoundKernel = a_classInfo.FindKernelByName(dsArgs.originKernelName);
...
local["ArgNames"] = std::vector<std::string>();
local["IsServiceCall"] = dsArgs.isService;
local["IsVirtual"] = false;
- if (pFoundKernel != a_classInfo.megakernelsByName.end())
- local["EnableBlockExpansion"] = pFoundKernel->second.be.enabled;
+ local["EnableBlockExpansion"] = pFoundKernel->second.be.enabled;
uint32_t realId = 0;
for(size_t j=0;j<dsArgs.descriptorSetsInfo.size();j++)
{
- if(!internalKernel && !isServeceKernel && !a_classInfo.pShaderCC->IsISPC() && pFoundKernel != a_classInfo.megakernelsByName.end())
+ if(!internalKernel && !isServeceKernel && !a_classInfo.pShaderCC->IsISPC())
{
const bool ignoreArg = IgnoreArgForDS(j, dsArgs.descriptorSetsInfo, pFoundKernel->second.args, pFoundKernel->second.name, a_classInfo.IsRTV());
if(ignoreArg && !isMegaKernel)Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels