anchor.diff:      begin
         hash := SuperfastHash(pSrcData, srcDataSize);
   
  -      if Assigned(x3) then
  +      if Assigned(x3) and (PChar(x3) <> '') then
           s:=BasePath + BaseName +'_shader_'+PChar(x3)+'.txt'
         else
           s:=BasePath + BaseName +'_shader_'+IntToHex(hash, 8)+'.txt';
  
positive.code:     originalacmDriverEnumCallback:=nil;
      cs2.Leave;
    end;
    log('acmDriverEnum done');
  end;
  
  
  
negative.code: var
    s: string;
  begin
    //log('acmStreamOpen('+IntToHex(NativeUInt(phas), 8)+', '+IntToHex(had, 8)+', ..., ..., '+IntToHex(NativeUInt(pwfltr), 8)+', '+IntToHex(dwCallback, 8)+', '+IntToStr(dwInstance)+', '+IntToStr(fdwOpen)+')');
    //LogFormat('pwfxSrc', pwfxSrc);
    //LogFormat('pwfxDst', pwfxDst);
    if Assigned(TrampolineacmStreamOpen) then
    begin
      result := TrampolineacmStreamOpen(phas, had, pwfxSrc, pwfxDst, pwfltr, dwCallback, dwInstance, fdwOpen);
  