SkDraw::drawRect  optimization
SkDraw::drawRect  optimization

New class in SkDeviceLooper.cpp falls in in the critical code path of
SkDraw::drawRect().  This new class SkDeviceLooper does nothing except
for bound checking. It copies the modified rect bounds into new pointer
variables and returns them back "if needed". The additional overhead of
creating an object of SkDeviceLooper class and calling member functions
reduces performance.  This patch creates a pre-check condition and if
it succeeds we know for sure SkDeviceLooper won't change the rect
bounds. Under this condition, we avoid using the SkDeviceLooper class.

Change-Id: I11fa13ace8d50d52069e1780a14874e4c34133f2

AOSP-YU/platform_external_skia,boulzordev/android_external_skia,AOSP-YU/platform_external_skia,UBERMALLOW/external_skia,MinimalOS-AOSP/platform_external_skia,PAC-ROM/android_external_skia,spezi77/android_external_skia,w3nd1go/android_external_skia,AOSP-YU/platform_external_skia,w3nd1go/android_external_skia,w3nd1go/android_external_skia,UBERMALLOW/external_skia,OneRom/external_skia,AOSPB/external_skia,UBERMALLOW/external_skia,boulzordev/android_external_skia,BrokenROM/external_skia,MarshedOut/android_external_skia,AOSP-YU/platform_external_skia,MarshedOut/android_external_skia,MinimalOS-AOSP/platform_external_skia,TeamExodus/external_skia,AOSP-YU/platform_external_skia,spezi77/android_external_skia,MinimalOS-AOSP/platform_external_skia,PAC-ROM/android_external_skia,OneRom/external_skia,MarshedOut/android_external_skia,YUPlayGodDev/platform_external_skia,MarshedOut/android_external_skia,boulzordev/android_external_skia,MinimalOS-AOSP/platform_external_skia,UBERMALLOW/external_skia,invisiblek/android_external_skia,TeamExodus/external_skia,MarshedOut/android_external_skia,BrokenROM/external_skia,OneRom/external_skia,OneRom/external_skia,boulzordev/android_external_skia,PAC-ROM/android_external_skia,UBERMALLOW/external_skia,YUPlayGodDev/platform_external_skia,OneRom/external_skia,YUPlayGodDev/platform_external_skia,PAC-ROM/android_external_skia,BrokenROM/external_skia,invisiblek/android_external_skia,MinimalOS-AOSP/platform_external_skia,OneRom/external_skia,invisiblek/android_external_skia,Infinitive-OS/platform_external_skia,AOSPB/external_skia,Infinitive-OS/platform_external_skia,AOSP-YU/platform_external_skia,PAC-ROM/android_external_skia,w3nd1go/android_external_skia,PAC-ROM/android_external_skia,Infinitive-OS/platform_external_skia,AOSPB/external_skia,TeamExodus/external_skia,AOSP-YU/platform_external_skia,TeamExodus/external_skia,AOSP-YU/platform_external_skia,MinimalOS-AOSP/platform_external_skia,MarshedOut/android_external_skia,MarshedOut/android_external_skia,boulzordev/android_external_skia,invisiblek/android_external_skia,OneRom/external_skia,UBERMALLOW/external_skia,AOSP-YU/platform_external_skia,boulzordev/android_external_skia,OneRom/external_skia,BrokenROM/external_skia,YUPlayGodDev/platform_external_skia,Infinitive-OS/platform_external_skia,AOSPB/external_skia,MarshedOut/android_external_skia,TeamExodus/external_skia,BrokenROM/external_skia,w3nd1go/android_external_skia,AOSPB/external_skia,invisiblek/android_external_skia,YUPlayGodDev/platform_external_skia,MinimalOS-AOSP/platform_external_skia,AOSPB/external_skia,YUPlayGodDev/platform_external_skia,BrokenROM/external_skia,MinimalOS-AOSP/platform_external_skia,Infinitive-OS/platform_external_skia,AOSPB/external_skia,YUPlayGodDev/platform_external_skia,UBERMALLOW/external_skia,BrokenROM/external_skia,YUPlayGodDev/platform_external_skia,spezi77/android_external_skia,w3nd1go/android_external_skia,MinimalOS-AOSP/platform_external_skia,TeamExodus/external_skia,OneRom/external_skia,Infinitive-OS/platform_external_skia,PAC-ROM/android_external_skia,TeamExodus/external_skia,invisiblek/android_external_skia,w3nd1go/android_external_skia,boulzordev/android_external_skia,TeamExodus/external_skia,MarshedOut/android_external_skia,w3nd1go/android_external_skia,w3nd1go/android_external_skia,boulzordev/android_external_skia,invisiblek/android_external_skia,BrokenROM/external_skia,spezi77/android_external_skia,Infinitive-OS/platform_external_skia,spezi77/android_external_skia,boulzordev/android_external_skia,AOSPB/external_skia,YUPlayGodDev/platform_external_skia,PAC-ROM/android_external_skia,UBERMALLOW/external_skia,spezi77/android_external_skia,invisiblek/android_external_skia,TeamExodus/external_skia,AOSPB/external_skia,Infinitive-OS/platform_external_skia,UBERMALLOW/external_skia,Infinitive-OS/platform_external_skia,PAC-ROM/android_external_skia