Reset vertex buffers aspect when pipelines change and fix bug where inputsSet is not cleared

This commit is contained in:
Austin Eng 2017-08-14 16:14:47 -04:00 committed by Austin Eng
parent b476abd915
commit d9568e2ca9
1 changed files with 2 additions and 1 deletions

View File

@ -234,6 +234,7 @@ namespace backend {
texturesAttached.clear(); texturesAttached.clear();
currentSubpass += 1; currentSubpass += 1;
inputsSet.reset();
aspects.reset(VALIDATION_ASPECT_RENDER_SUBPASS); aspects.reset(VALIDATION_ASPECT_RENDER_SUBPASS);
UnsetPipeline(); UnsetPipeline();
return true; return true;
@ -290,7 +291,6 @@ namespace backend {
return false; return false;
} }
aspects.set(VALIDATION_ASPECT_COMPUTE_PIPELINE); aspects.set(VALIDATION_ASPECT_COMPUTE_PIPELINE);
return SetPipelineCommon(pipeline); return SetPipelineCommon(pipeline);
} }
@ -546,6 +546,7 @@ namespace backend {
PipelineLayoutBase* layout = pipeline->GetLayout(); PipelineLayoutBase* layout = pipeline->GetLayout();
aspects.reset(VALIDATION_ASPECT_BIND_GROUPS); aspects.reset(VALIDATION_ASPECT_BIND_GROUPS);
aspects.reset(VALIDATION_ASPECT_VERTEX_BUFFERS);
// Reset bindgroups but mark unused bindgroups as valid // Reset bindgroups but mark unused bindgroups as valid
bindgroupsSet = ~layout->GetBindGroupsLayoutMask(); bindgroupsSet = ~layout->GetBindGroupsLayoutMask();