message: Remove all entry points properly when debugging pixel shaders
diff: @@ -2846,6 +2846,8 @@ static void CreatePSInputFetcher(rdcarray<uint32_t> &fragspv, uint32_t &structSt
  editor.Prepare();
  + rdcspv::Id entryID;
  +
  // first delete all functions. We will recreate the entry point with just what we need
  {
  rdcarray<rdcspv::Id> removedIds;
  @@ -2859,6 +2861,25 @@ static void CreatePSInputFetcher(rdcarray<uint32_t> &fragspv, uint32_t &structSt
  it++;
  }
  + it = editor.Begin(rdcspv::Section::EntryPoints);
  + end = editor.End(rdcspv::Section::EntryPoints);
  + while(it < end)
  + {
  + rdcspv::OpEntryPoint e(it);
  + if(e.name == shadRefl.entryPoint && e.executionModel == rdcspv::ExecutionModel::Fragment)
  + {
  + // remember the Id of our entry point
  + entryID = e.entryPoint;
  + }
  + else
  + {
  + // remove all other entry points
  + removedIds.push_back(e.entryPoint);
  + editor.Remove(it);
  + }
  + it++;
  + }
  +
  // remove any OpName that refers to deleted IDs - functions or results
  it = editor.Begin(rdcspv::Section::DebugNames);
  end = editor.End(rdcspv::Section::DebugNames);
  @@ -2920,17 +2941,6 @@ static void CreatePSInputFetcher(rdcarray<uint32_t> &fragspv, uint32_t &structSt
  else
  bufferClass = rdcspv::StorageClass::PhysicalStorageBuffer;
  - // remove all other entry point
  - rdcspv::Id entryID;
  - for(const rdcspv::EntryPoint &e : editor.GetEntries())
  - {
  - if(e.name == shadRefl.entryPoint && e.executionModel == rdcspv::ExecutionModel::Fragment)
  - {
  - entryID = e.id;
  - break;
  - }
  - }
  -
  rdcarray<rdcspv::Id> addedInputs;
  // builtin inputs we need
  