message: filter target
diff: @@ -20,6 +20,33 @@ class FilterState
  {
  this.renderTexture = null;
  + /**
  + * Target of the filters
  + * We store for case when custom filter wants to know the element it was applied on
  + * @member {PIXI.DisplayObject}
  + * @private
  + */
  + this.target = null;
  +
  + /**
  + * Compatibility with PixiJS v4 filters
  + * @member {boolean}
  + * @default false
  + * @private
  + */
  + this.legacy = false;
  +
  + /**
  + * Resolution of filters
  + * @member {number}
  + * @default 1
  + * @private
  + */
  + this.resolution = 1;
  +
  + // next three fields are created only for root
  + // re-assigned for everything else
  +
  /**
  * Source frame
  * @member {PIXI.Rectangle}
  @@ -40,29 +67,16 @@ class FilterState
  * @private
  */
  this.filters = [];
  + }
  /**
  - * Target
  - * @member {PIXI.DisplayObject}
  - * @private
  + * clears the state
  */
  + clear()
  + {
  this.target = null;
  -
  - /**
  - * Compatibility with PixiJS v4 filters
  - * @member {boolean}
  - * @default false
  - * @private
  - */
  - this.legacy = false;
  -
  - /**
  - * Resolution of filters
  - * @member {number}
  - * @default 1
  - * @private
  - */
  - this.resolution = 1;
  + this.filters = null;
  + this.renderTexture = null;
  }
  }
  @@ -183,6 +197,8 @@ export default class FilterSystem extends System
  state.legacy = legacy;
  + state.target = target;
  +
  state.sourceFrame = target.filterArea || target.getBounds(true);
  state.sourceFrame.pad(padding);
  @@ -294,6 +310,7 @@ export default class FilterSystem extends System
  this.returnFilterTexture(flop);
  }
  + state.clear();
  this.statePool.push(state);
  }
  