RenderScript HIDL client-side implementation

  - Client-side implementation converts RenderScript HAL (top level)
  from C/C++ to HIDL
  - Fallback to default CPU implementation if it could not find a
  matching RS driver through HIDL.
  - HIDL adaptation and Graphics fallback are handled by two
  corresponding singleton classes.
  - Remove HOST_STATIC version of libRS from the makefile. The host
  version of libRS is not used at all, and generating build errors with
  HIDL.
  - Always use fallback path for RS graphics API.
  - Removed reference to Device from rsContext.cpp. In our current
  implementation, Device is equivalent to HIDL IDevice class.
  Thus, our HIDL HAL no longer provides DeviceCreate and DeviceDestroy,
  making Device no longer useful to Context.
 - Wait for the debugger to attach if RS_CONTEXT_WAIT_FOR_ATTACH flag
  is set. The waiting part is now moved out of the context class.

Bug: 34396220
Test: mm, all CTS tests pass on bullhead, LiveWallpaper apps using RS
graphics APIs run well.

Change-Id: I86493b11328d5d8c904cebafa99243e92dfdf6a7
11 files changed
tree: 422fb30516d542aa7e88ce09cb887b41165757bc
  1. cpp/
  2. cpu_ref/
  3. driver/
  4. perf-test-scripts/
  5. rsov/
  6. script_api/
  7. support/
  8. tests/
  9. Android.bp
  10. Android.mk
  11. build_rs.py
  12. CleanSpec.mk
  13. libRS.map
  14. rs.h
  15. rs.spec
  16. rs_compat.spec
  17. rs_hal.h
  18. rsAllocation.cpp
  19. rsAllocation.h
  20. rsAnimation.cpp
  21. rsAnimation.h
  22. rsApiAllocation.cpp
  23. rsApiContext.cpp
  24. rsApiDevice.cpp
  25. rsApiElement.cpp
  26. rsApiFileA3D.cpp
  27. rsApiMesh.cpp
  28. rsApiStubs.cpp
  29. rsApiStubs.h
  30. rsApiType.cpp
  31. rsClosure.cpp
  32. rsClosure.h
  33. rsCompatibilityLib.cpp
  34. rsCompatibilityLib.h
  35. rsComponent.cpp
  36. rsComponent.h
  37. rsContext.cpp
  38. rsContext.h
  39. rsCppUtils.cpp
  40. rsCppUtils.h
  41. rsDebugHelper.h
  42. rsDefines.h
  43. rsDevice.cpp
  44. rsDevice.h
  45. rsDriverLoader.cpp
  46. rsElement.cpp
  47. rsElement.h
  48. rsEnv.h
  49. rsFallbackAdaptation.cpp
  50. rsFallbackAdaptation.h
  51. rsFBOCache.cpp
  52. rsFBOCache.h
  53. rsFifo.h
  54. rsFifoSocket.cpp
  55. rsFifoSocket.h
  56. rsFileA3D.cpp
  57. rsFileA3D.h
  58. rsFont.cpp
  59. rsFont.h
  60. rsg.spec
  61. rsg_generator.c
  62. rsgApi.cpp.rsg
  63. rsgApiFuncDecl.h.rsg
  64. rsgApiReplay.cpp.rsg
  65. rsgApiStructs.h.rsg
  66. rsGrallocConsumer.cpp
  67. rsGrallocConsumer.h
  68. rsHidlAdaptation.cpp
  69. rsHidlAdaptation.h
  70. rsInternalDefines.h
  71. rsList.h
  72. rsMap.h
  73. rsMatrix2x2.cpp
  74. rsMatrix2x2.h
  75. rsMatrix3x3.cpp
  76. rsMatrix3x3.h
  77. rsMatrix4x4.cpp
  78. rsMatrix4x4.h
  79. rsMesh.cpp
  80. rsMesh.h
  81. rsMutex.cpp
  82. rsMutex.h
  83. rsObjectBase.cpp
  84. rsObjectBase.h
  85. rsProgram.cpp
  86. rsProgram.h
  87. rsProgramBase.h
  88. rsProgramFragment.cpp
  89. rsProgramFragment.h
  90. rsProgramRaster.cpp
  91. rsProgramRaster.h
  92. rsProgramStore.cpp
  93. rsProgramStore.h
  94. rsProgramVertex.cpp
  95. rsProgramVertex.h
  96. rsRuntime.h
  97. rsSampler.cpp
  98. rsSampler.h
  99. rsScript.cpp
  100. rsScript.h
  101. rsScriptC.cpp
  102. rsScriptC.h
  103. rsScriptC_Lib.cpp
  104. rsScriptC_LibGL.cpp
  105. rsScriptGroup.cpp
  106. rsScriptGroup.h
  107. rsScriptGroup2.cpp
  108. rsScriptGroup2.h
  109. rsScriptGroupBase.h
  110. rsScriptIntrinsic.cpp
  111. rsScriptIntrinsic.h
  112. rsSignal.cpp
  113. rsSignal.h
  114. rsStream.cpp
  115. rsStream.h
  116. rsThreadIO.cpp
  117. rsThreadIO.h
  118. rsType.cpp
  119. rsType.h
  120. rsUtils.h
  121. run_rs_cts.sh
  122. spec.h
  123. spec.l
  124. update-prebuilts.py
  125. update_rs_prebuilts.sh