Status Update
Comments
aa...@gmail.com <aa...@gmail.com> #2
failed in
${AOSP}/device/generic/goldfish-opengl/system/hals/mapper3.cpp
ra...@google.com <ra...@google.com> #3
rk...@google.com <rk...@google.com> #4
NNAPI VTS wrong usage?
Yes. Our gralloc passed CtsNativeHardwareTestCases and CtsGraphicsTestCases.
aa...@gmail.com <aa...@gmail.com> #5
thanks, I will try to modify NNAPI code.
aa...@gmail.com <aa...@gmail.com> #6
I don't know how to close this issue.
aa...@gmail.com <aa...@gmail.com> #7
Hi teams, As attend picture, function comment says if buffer format is AHARDWAREBUFFER_FORMAT_BLOB, it can be locked with read/write simultaneously. So I think NNAPI is not wrong. Android I check CtsNativeHardwareTestCases and CtsGraphicsTestCases source code, I didn't find testcase about "AHARDWAREBUFFER_FORMAT_BLOB" lock in different thread or process. Can someone help on this?
aa...@gmail.com <aa...@gmail.com> #8
Can NNAPI association team also have a look on this? nnapi AHardwareBuffer is AHARDWAREBUFFER_FORMAT_BLOB
rk...@google.com <rk...@google.com> #9
I didn't find testcase about "AHARDWAREBUFFER_FORMAT_BLOB" lock in different thread or process.
You can't lock for reading in one thread and for writing in another thread. You can lock for reading+writing in one thread and to use as regular memory. Once you unlock it, you can use it in another place.
aa...@gmail.com <aa...@gmail.com> #10
raise another issue for Nnapi at
Description
AOSP version: android_14.0.0_r1
How to reproduce:
1.lunch sdk_phone_x86_64-userdebug
2.run in vts-tradefed "vts -m VtsHalNeuralnetworksTargetTest --gtest_filter=TestGenerated/MemoryDomainTest.Test/android_hardware_neuralnetworks_IDevice_nnapi_sample_all_conv_quant8"
3.logcat has message: "E android.hardware.neuralnetworks-service-sample-all: lockImpl:296 failed with 'Error3::BAD_VALUE'////Gralloc3: lock(0x7c65afedee00, ...) failed: 3"
Before android_14.0.0_r1, in cb_handle_30_t.lockedUsage is only for cb->hostHandle==true, but from android_14.0.0_r1, it seems to check all usage in mapper3.cpp
In IMapper.h, it has bellow comments:
So, before android_14.0.0_r1, we can lock buffer many times, and from android_14.0.0_r1, seems we can only lock buffer once. And I check the commit id:https://cs.android.com/android/_/android/device/generic/goldfish-opengl/+/855b99ace858ea66dd572e1d672a4c5419dc2225 , but I cannot find the clue.
NNAPI VTS wrong usage? or mapper wrong? Looking forward to your reply, thanks.