On GrAHardwareBufferImageGenerator store the owned texture as a GrGpuResource instead of GrTexture.

Disassembly before change (crash on deref at  861310)
_ZN31GrAHardwareBufferImageGenerator17releaseTextureRefEv():
 861297 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:112
 861298   1eb738:       91010280        add     x0, x20, #0x40
 861299   1eb73c:       aa1f03e1        mov     x1, xzr
 861300   1eb740:       97fc287c        bl      f5930 <_ZN5sk_spI14GrTextureProxyE5resetEPS0_>
 861301 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:113
 861302   1eb744:       f9401a88        ldr     x8, [x20,#48]
 861303   1eb748:       b4000168        cbz     x8, 1eb774 <_ZN31GrAHardwareBufferImageGenerator17onGenerateTextureEP9GrContextRK11SkImageInfoRK8SkIPointb+0xac>
 861304 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:117
 861305   1eb74c:       f9400109        ldr     x9, [x8]
 861306 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:118
 861307   1eb750:       9101c3e0        add     x0, sp, #0x70
 861308 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:117
 861309   1eb754:       b9403a8a        ldr     w10, [x20,#56]
 861310   1eb758:       f85e8129        ldur    x9, [x9,#-24]
 861311   1eb75c:       b9007bea        str     w10, [sp,#120]
 861312   1eb760:       8b090108        add     x8, x8, x9
 861313   1eb764:       f9003be8        str     x8, [sp,#112]
 861314 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:118
 861315   1eb768:       97fffef6        bl      1eb340 <_ZN12SkMessageBusI25GrGpuResourceFreedMessageE4PostERKS0_>
 861316 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:119
 861317   1eb76c:       f9001a9f        str     xzr, [x20,#48]
 861318 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:120
 861319   1eb770:       b9003a9f        str     wzr, [x20,#56]

Disassembly with change (no more derefs):
 768904 _ZN31GrAHardwareBufferImageGenerator17releaseTextureRefEv():
 768905 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:105
 768906   1b0c94:       91010260        add     x0, x19, #0x40
 768907   1b0c98:       aa1f03e1        mov     x1, xzr
 768908   1b0c9c:       97fcb2a9        bl      dd740 <_ZN5sk_spI14GrTextureProxyE5resetEPS0_>
 768909 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:106
 768910   1b0ca0:       f9401a68        ldr     x8, [x19,#48]
 768911   1b0ca4:       b4000108        cbz     x8, 1b0cc4 <_ZN31GrAHardwareBufferImageGenerator9makeProxyEP9GrContext+0x84>
 768912 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:110
 768913   1b0ca8:       b9403a69        ldr     w9, [x19,#56]
 768914 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:111
 768915   1b0cac:       9100c3e0        add     x0, sp, #0x30
 768916 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:110
 768917   1b0cb0:       f9001be8        str     x8, [sp,#48]
 768918   1b0cb4:       b9003be9        str     w9, [sp,#56]

Bug: b/112859199
Change-Id: I5afab9b2bc6a3c13d2606ac9e09fb55929a14426
Reviewed-on: https://skia-review.googlesource.com/151822
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2 files changed