Prevent IntrinsicResize from adding xstart twice when using LaunchOptions.

The cpu_ref implementation of IntrinsicResize has a bug when used with LaunchOptions.

walk_2d_foreach in rsCpuCore calls FepPtrSetup. This sets the outPtr[0] to point to the first byte that needs to be filled. It takes into account the starting x value provided in the LaunchOptions.

The cpu_ref code for resize adds the xstart value yet again before storing bytes, placing results at the incorrect location.

The bug was not previously found because this was not tested.

Bug: 180180223
Test: Modified the IntrinsicResize test and ran it.
Change-Id: I0cb5414834d6c8204fa0a266f5e4d7e9c77f5c71
Merged-In: I0cb5414834d6c8204fa0a266f5e4d7e9c77f5c71
(cherry picked from commit 8d2322845a82fd7b1fdf1fe61120a96b358a382a)
1 file changed
tree: e42593e6632a01d9a2605a71ff0ab9fb801d2600
  1. cpp/
  2. cpu_ref/
  3. driver/
  4. perf-test-scripts/
  5. script_api/
  6. support/
  7. tests/
  8. Android.bp
  9. Android.mk
  10. build_rs.py
  11. CleanSpec.mk
  12. libRS.map
  13. OWNERS
  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. rsCacheDir.cpp
  32. rsClosure.cpp
  33. rsClosure.h
  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. support.bp
  125. update-prebuilts.py
  126. update_rs_prebuilts.sh