Loading libs/vr/libdvr/Android.mk +0 −4 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ LOCAL_SRC_FILES := \ dvr_api.cpp \ dvr_buffer.cpp \ dvr_buffer_queue.cpp \ dvr_hardware_composer_client.cpp \ dvr_surface.cpp \ vsync_client_api.cpp \ Loading @@ -43,15 +42,12 @@ LOCAL_STATIC_LIBRARIES := \ libdisplay \ libvrsensor \ libvirtualtouchpadclient \ libvr_hwc-impl \ libvr_hwc-binder \ LOCAL_SHARED_LIBRARIES := \ android.hardware.graphics.bufferqueue@1.0 \ android.hidl.token@1.0-utils \ libandroid_runtime \ libbase \ libnativewindow \ include $(BUILD_STATIC_LIBRARY) Loading libs/vr/libdvr/dvr_api.cpp +0 −21 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ // Headers not yet moved into libdvr. // TODO(jwcai) Move these once their callers are moved into Google3. #include <dvr/dvr_hardware_composer_client.h> #include <dvr/pose_client.h> #include <dvr/virtual_touchpad_client.h> Loading Loading @@ -101,26 +100,6 @@ DVR_EXPORT int dvrGetApi(void* api, size_t struct_size, int version) { dvr_api->virtual_touchpad_touch_ = dvrVirtualTouchpadTouch; dvr_api->virtual_touchpad_button_state_ = dvrVirtualTouchpadButtonState; // dvr_hardware_composer_client.h dvr_api->hwc_create_client_ = dvrHwcCreateClient; dvr_api->hwc_client_destroy_ = dvrHwcClientDestroy; dvr_api->hwc_frame_destroy_ = dvrHwcFrameDestroy; dvr_api->hwc_frame_get_display_id_ = dvrHwcFrameGetDisplayId; dvr_api->hwc_frame_get_display_width_ = dvrHwcFrameGetDisplayWidth; dvr_api->hwc_frame_get_display_height_ = dvrHwcFrameGetDisplayHeight; dvr_api->hwc_frame_get_layer_count_ = dvrHwcFrameGetLayerCount; dvr_api->hwc_frame_get_layer_id_ = dvrHwcFrameGetLayerId; dvr_api->hwc_frame_get_layer_buffer_ = dvrHwcFrameGetLayerBuffer; dvr_api->hwc_frame_get_layer_fence_ = dvrHwcFrameGetLayerFence; dvr_api->hwc_frame_get_layer_display_frame_ = dvrHwcFrameGetLayerDisplayFrame; dvr_api->hwc_frame_get_layer_crop_ = dvrHwcFrameGetLayerCrop; dvr_api->hwc_frame_get_layer_blend_mode_ = dvrHwcFrameGetLayerBlendMode; dvr_api->hwc_frame_get_layer_alpha_ = dvrHwcFrameGetLayerAlpha; dvr_api->hwc_frame_get_layer_type_ = dvrHwcFrameGetLayerType; dvr_api->hwc_frame_get_layer_application_id_ = dvrHwcFrameGetLayerApplicationId; return 0; } return -EINVAL; Loading libs/vr/libdvr/include/dvr/dvr_api.h +0 −52 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ #include <stddef.h> #include <stdint.h> #include <dvr/dvr_hardware_composer_defs.h> #include <jni.h> #ifdef __cplusplus Loading Loading @@ -145,38 +144,6 @@ typedef int (*DvrVirtualTouchpadTouchPtr)(DvrVirtualTouchpad* client, typedef int (*DvrVirtualTouchpadButtonStatePtr)(DvrVirtualTouchpad* client, int touchpad, int buttons); // dvr_hardware_composer_client.h typedef struct AHardwareBuffer AHardwareBuffer; typedef struct DvrHwcClient DvrHwcClient; typedef struct DvrHwcFrame DvrHwcFrame; typedef int(*DvrHwcOnFrameCallback)(void* client_state, DvrHwcFrame* frame); typedef DvrHwcClient* (*DvrHwcCreateClientPtr)(DvrHwcOnFrameCallback callback, void* client_state); typedef void (*DvrHwcClientDestroyPtr)(DvrHwcClient* client); typedef void (*DvrHwcFrameDestroyPtr)(DvrHwcFrame* frame); typedef Display (*DvrHwcFrameGetDisplayIdPtr)(DvrHwcFrame* frame); typedef int32_t (*DvrHwcFrameGetDisplayWidthPtr)(DvrHwcFrame* frame); typedef int32_t (*DvrHwcFrameGetDisplayHeightPtr)(DvrHwcFrame* frame); typedef bool (*DvrHwcFrameGetDisplayRemovedPtr)(DvrHwcFrame* frame); typedef size_t (*DvrHwcFrameGetLayerCountPtr)(DvrHwcFrame* frame); typedef Layer (*DvrHwcFrameGetLayerIdPtr)(DvrHwcFrame* frame, size_t layer_index); typedef AHardwareBuffer* (*DvrHwcFrameGetLayerBufferPtr)(DvrHwcFrame* frame, size_t layer_index); typedef int (*DvrHwcFrameGetLayerFencePtr)(DvrHwcFrame* frame, size_t layer_index); typedef Recti (*DvrHwcFrameGetLayerDisplayFramePtr)(DvrHwcFrame* frame, size_t layer_index); typedef Rectf (*DvrHwcFrameGetLayerCropPtr)(DvrHwcFrame* frame, size_t layer_index); typedef BlendMode (*DvrHwcFrameGetLayerBlendModePtr)(DvrHwcFrame* frame, size_t layer_index); typedef float (*DvrHwcFrameGetLayerAlphaPtr)(DvrHwcFrame* frame, size_t layer_index); typedef uint32_t (*DvrHwcFrameGetLayerTypePtr)(DvrHwcFrame* frame, size_t layer_index); typedef uint32_t (*DvrHwcFrameGetLayerApplicationIdPtr)(DvrHwcFrame* frame, size_t layer_index); struct DvrApi_v1 { // Display manager client DvrDisplayManagerClientCreatePtr display_manager_client_create_; Loading Loading @@ -253,25 +220,6 @@ struct DvrApi_v1 { DvrVirtualTouchpadDetachPtr virtual_touchpad_detach_; DvrVirtualTouchpadTouchPtr virtual_touchpad_touch_; DvrVirtualTouchpadButtonStatePtr virtual_touchpad_button_state_; // VR HWComposer client DvrHwcCreateClientPtr hwc_create_client_; DvrHwcClientDestroyPtr hwc_client_destroy_; DvrHwcFrameDestroyPtr hwc_frame_destroy_; DvrHwcFrameGetDisplayIdPtr hwc_frame_get_display_id_; DvrHwcFrameGetDisplayWidthPtr hwc_frame_get_display_width_; DvrHwcFrameGetDisplayHeightPtr hwc_frame_get_display_height_; DvrHwcFrameGetDisplayRemovedPtr hwc_frame_get_display_removed_; DvrHwcFrameGetLayerCountPtr hwc_frame_get_layer_count_; DvrHwcFrameGetLayerIdPtr hwc_frame_get_layer_id_; DvrHwcFrameGetLayerBufferPtr hwc_frame_get_layer_buffer_; DvrHwcFrameGetLayerFencePtr hwc_frame_get_layer_fence_; DvrHwcFrameGetLayerDisplayFramePtr hwc_frame_get_layer_display_frame_; DvrHwcFrameGetLayerCropPtr hwc_frame_get_layer_crop_; DvrHwcFrameGetLayerBlendModePtr hwc_frame_get_layer_blend_mode_; DvrHwcFrameGetLayerAlphaPtr hwc_frame_get_layer_alpha_; DvrHwcFrameGetLayerTypePtr hwc_frame_get_layer_type_; DvrHwcFrameGetLayerApplicationIdPtr hwc_frame_get_layer_application_id_; }; int dvrGetApi(void* api, size_t struct_size, int version); Loading services/vr/hardware_composer/Android.bp +25 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,31 @@ cc_binary { ], } cc_library_static { name: "libdvr_hwc", srcs: [ "dvr_hardware_composer_client.cpp", ], static_libs: [ "libvr_hwc-impl", // NOTE: This needs to be included after the *-impl lib otherwise the // symbols in the *-binder library get optimized out. "libvr_hwc-binder", ], shared_libs: [ "libbase", "libbinder", "liblog", "libnativewindow", "libui", "libutils", ], export_include_dirs: ["private"], export_shared_lib_headers: [ "libnativewindow", ], } cc_test { name: "vr_hwc_test", gtest: true, Loading libs/vr/libdvr/dvr_hardware_composer_client.cpp→services/vr/hardware_composer/dvr_hardware_composer_client.cpp +7 −27 Original line number Diff line number Diff line #include "include/dvr/dvr_hardware_composer_client.h" #include "private/android/dvr_hardware_composer_client.h" #include <android/dvr/IVrComposer.h> #include <android/dvr/BnVrComposerCallback.h> #include <android/hardware_buffer.h> #include <binder/IServiceManager.h> #include <private/android/AHardwareBufferHelpers.h> Loading @@ -16,8 +15,7 @@ namespace { class HwcCallback : public android::dvr::BnVrComposerCallback { public: explicit HwcCallback(DvrHwcOnFrameCallback callback, void* client_state); explicit HwcCallback(DvrHwcOnFrameCallback callback); ~HwcCallback() override; std::unique_ptr<DvrHwcFrame> DequeueFrame(); Loading @@ -29,14 +27,13 @@ class HwcCallback : public android::dvr::BnVrComposerCallback { android::dvr::ParcelableUniqueFd* fence) override; DvrHwcOnFrameCallback callback_; void* client_state_; HwcCallback(const HwcCallback&) = delete; void operator=(const HwcCallback&) = delete; }; HwcCallback::HwcCallback(DvrHwcOnFrameCallback callback, void* client_state) : callback_(callback), client_state_(client_state) {} HwcCallback::HwcCallback(DvrHwcOnFrameCallback callback) : callback_(callback) {} HwcCallback::~HwcCallback() {} Loading @@ -46,8 +43,7 @@ android::binder::Status HwcCallback::onNewFrame( std::unique_ptr<DvrHwcFrame> dvr_frame(new DvrHwcFrame()); dvr_frame->frame = frame.frame(); fence->set_fence(android::base::unique_fd(callback_(client_state_, dvr_frame.release()))); fence->set_fence(android::base::unique_fd(callback_(dvr_frame.release()))); return android::binder::Status::ok(); } Loading @@ -58,7 +54,7 @@ struct DvrHwcClient { android::sp<HwcCallback> callback; }; DvrHwcClient* dvrHwcCreateClient(DvrHwcOnFrameCallback callback, void* data) { DvrHwcClient* dvrHwcCreateClient(DvrHwcOnFrameCallback callback) { std::unique_ptr<DvrHwcClient> client(new DvrHwcClient()); android::sp<android::IServiceManager> sm(android::defaultServiceManager()); Loading @@ -67,7 +63,7 @@ DvrHwcClient* dvrHwcCreateClient(DvrHwcOnFrameCallback callback, void* data) { if (!client->composer.get()) return nullptr; client->callback = new HwcCallback(callback, data); client->callback = new HwcCallback(callback); android::binder::Status status = client->composer->registerObserver( client->callback); if (!status.isOk()) Loading @@ -76,10 +72,6 @@ DvrHwcClient* dvrHwcCreateClient(DvrHwcOnFrameCallback callback, void* data) { return client.release(); } void dvrHwcClientDestroy(DvrHwcClient* client) { delete client; } void dvrHwcFrameDestroy(DvrHwcFrame* frame) { delete frame; } Loading @@ -88,18 +80,6 @@ Display dvrHwcFrameGetDisplayId(DvrHwcFrame* frame) { return frame->frame.display_id; } int32_t dvrHwcFrameGetDisplayWidth(DvrHwcFrame* frame) { return frame->frame.display_width; } int32_t dvrHwcFrameGetDisplayHeight(DvrHwcFrame* frame) { return frame->frame.display_height; } bool dvrHwcFrameGetDisplayRemoved(DvrHwcFrame* frame) { return frame->frame.removed; } size_t dvrHwcFrameGetLayerCount(DvrHwcFrame* frame) { return frame->frame.layers.size(); } Loading Loading
libs/vr/libdvr/Android.mk +0 −4 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ LOCAL_SRC_FILES := \ dvr_api.cpp \ dvr_buffer.cpp \ dvr_buffer_queue.cpp \ dvr_hardware_composer_client.cpp \ dvr_surface.cpp \ vsync_client_api.cpp \ Loading @@ -43,15 +42,12 @@ LOCAL_STATIC_LIBRARIES := \ libdisplay \ libvrsensor \ libvirtualtouchpadclient \ libvr_hwc-impl \ libvr_hwc-binder \ LOCAL_SHARED_LIBRARIES := \ android.hardware.graphics.bufferqueue@1.0 \ android.hidl.token@1.0-utils \ libandroid_runtime \ libbase \ libnativewindow \ include $(BUILD_STATIC_LIBRARY) Loading
libs/vr/libdvr/dvr_api.cpp +0 −21 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ // Headers not yet moved into libdvr. // TODO(jwcai) Move these once their callers are moved into Google3. #include <dvr/dvr_hardware_composer_client.h> #include <dvr/pose_client.h> #include <dvr/virtual_touchpad_client.h> Loading Loading @@ -101,26 +100,6 @@ DVR_EXPORT int dvrGetApi(void* api, size_t struct_size, int version) { dvr_api->virtual_touchpad_touch_ = dvrVirtualTouchpadTouch; dvr_api->virtual_touchpad_button_state_ = dvrVirtualTouchpadButtonState; // dvr_hardware_composer_client.h dvr_api->hwc_create_client_ = dvrHwcCreateClient; dvr_api->hwc_client_destroy_ = dvrHwcClientDestroy; dvr_api->hwc_frame_destroy_ = dvrHwcFrameDestroy; dvr_api->hwc_frame_get_display_id_ = dvrHwcFrameGetDisplayId; dvr_api->hwc_frame_get_display_width_ = dvrHwcFrameGetDisplayWidth; dvr_api->hwc_frame_get_display_height_ = dvrHwcFrameGetDisplayHeight; dvr_api->hwc_frame_get_layer_count_ = dvrHwcFrameGetLayerCount; dvr_api->hwc_frame_get_layer_id_ = dvrHwcFrameGetLayerId; dvr_api->hwc_frame_get_layer_buffer_ = dvrHwcFrameGetLayerBuffer; dvr_api->hwc_frame_get_layer_fence_ = dvrHwcFrameGetLayerFence; dvr_api->hwc_frame_get_layer_display_frame_ = dvrHwcFrameGetLayerDisplayFrame; dvr_api->hwc_frame_get_layer_crop_ = dvrHwcFrameGetLayerCrop; dvr_api->hwc_frame_get_layer_blend_mode_ = dvrHwcFrameGetLayerBlendMode; dvr_api->hwc_frame_get_layer_alpha_ = dvrHwcFrameGetLayerAlpha; dvr_api->hwc_frame_get_layer_type_ = dvrHwcFrameGetLayerType; dvr_api->hwc_frame_get_layer_application_id_ = dvrHwcFrameGetLayerApplicationId; return 0; } return -EINVAL; Loading
libs/vr/libdvr/include/dvr/dvr_api.h +0 −52 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ #include <stddef.h> #include <stdint.h> #include <dvr/dvr_hardware_composer_defs.h> #include <jni.h> #ifdef __cplusplus Loading Loading @@ -145,38 +144,6 @@ typedef int (*DvrVirtualTouchpadTouchPtr)(DvrVirtualTouchpad* client, typedef int (*DvrVirtualTouchpadButtonStatePtr)(DvrVirtualTouchpad* client, int touchpad, int buttons); // dvr_hardware_composer_client.h typedef struct AHardwareBuffer AHardwareBuffer; typedef struct DvrHwcClient DvrHwcClient; typedef struct DvrHwcFrame DvrHwcFrame; typedef int(*DvrHwcOnFrameCallback)(void* client_state, DvrHwcFrame* frame); typedef DvrHwcClient* (*DvrHwcCreateClientPtr)(DvrHwcOnFrameCallback callback, void* client_state); typedef void (*DvrHwcClientDestroyPtr)(DvrHwcClient* client); typedef void (*DvrHwcFrameDestroyPtr)(DvrHwcFrame* frame); typedef Display (*DvrHwcFrameGetDisplayIdPtr)(DvrHwcFrame* frame); typedef int32_t (*DvrHwcFrameGetDisplayWidthPtr)(DvrHwcFrame* frame); typedef int32_t (*DvrHwcFrameGetDisplayHeightPtr)(DvrHwcFrame* frame); typedef bool (*DvrHwcFrameGetDisplayRemovedPtr)(DvrHwcFrame* frame); typedef size_t (*DvrHwcFrameGetLayerCountPtr)(DvrHwcFrame* frame); typedef Layer (*DvrHwcFrameGetLayerIdPtr)(DvrHwcFrame* frame, size_t layer_index); typedef AHardwareBuffer* (*DvrHwcFrameGetLayerBufferPtr)(DvrHwcFrame* frame, size_t layer_index); typedef int (*DvrHwcFrameGetLayerFencePtr)(DvrHwcFrame* frame, size_t layer_index); typedef Recti (*DvrHwcFrameGetLayerDisplayFramePtr)(DvrHwcFrame* frame, size_t layer_index); typedef Rectf (*DvrHwcFrameGetLayerCropPtr)(DvrHwcFrame* frame, size_t layer_index); typedef BlendMode (*DvrHwcFrameGetLayerBlendModePtr)(DvrHwcFrame* frame, size_t layer_index); typedef float (*DvrHwcFrameGetLayerAlphaPtr)(DvrHwcFrame* frame, size_t layer_index); typedef uint32_t (*DvrHwcFrameGetLayerTypePtr)(DvrHwcFrame* frame, size_t layer_index); typedef uint32_t (*DvrHwcFrameGetLayerApplicationIdPtr)(DvrHwcFrame* frame, size_t layer_index); struct DvrApi_v1 { // Display manager client DvrDisplayManagerClientCreatePtr display_manager_client_create_; Loading Loading @@ -253,25 +220,6 @@ struct DvrApi_v1 { DvrVirtualTouchpadDetachPtr virtual_touchpad_detach_; DvrVirtualTouchpadTouchPtr virtual_touchpad_touch_; DvrVirtualTouchpadButtonStatePtr virtual_touchpad_button_state_; // VR HWComposer client DvrHwcCreateClientPtr hwc_create_client_; DvrHwcClientDestroyPtr hwc_client_destroy_; DvrHwcFrameDestroyPtr hwc_frame_destroy_; DvrHwcFrameGetDisplayIdPtr hwc_frame_get_display_id_; DvrHwcFrameGetDisplayWidthPtr hwc_frame_get_display_width_; DvrHwcFrameGetDisplayHeightPtr hwc_frame_get_display_height_; DvrHwcFrameGetDisplayRemovedPtr hwc_frame_get_display_removed_; DvrHwcFrameGetLayerCountPtr hwc_frame_get_layer_count_; DvrHwcFrameGetLayerIdPtr hwc_frame_get_layer_id_; DvrHwcFrameGetLayerBufferPtr hwc_frame_get_layer_buffer_; DvrHwcFrameGetLayerFencePtr hwc_frame_get_layer_fence_; DvrHwcFrameGetLayerDisplayFramePtr hwc_frame_get_layer_display_frame_; DvrHwcFrameGetLayerCropPtr hwc_frame_get_layer_crop_; DvrHwcFrameGetLayerBlendModePtr hwc_frame_get_layer_blend_mode_; DvrHwcFrameGetLayerAlphaPtr hwc_frame_get_layer_alpha_; DvrHwcFrameGetLayerTypePtr hwc_frame_get_layer_type_; DvrHwcFrameGetLayerApplicationIdPtr hwc_frame_get_layer_application_id_; }; int dvrGetApi(void* api, size_t struct_size, int version); Loading
services/vr/hardware_composer/Android.bp +25 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,31 @@ cc_binary { ], } cc_library_static { name: "libdvr_hwc", srcs: [ "dvr_hardware_composer_client.cpp", ], static_libs: [ "libvr_hwc-impl", // NOTE: This needs to be included after the *-impl lib otherwise the // symbols in the *-binder library get optimized out. "libvr_hwc-binder", ], shared_libs: [ "libbase", "libbinder", "liblog", "libnativewindow", "libui", "libutils", ], export_include_dirs: ["private"], export_shared_lib_headers: [ "libnativewindow", ], } cc_test { name: "vr_hwc_test", gtest: true, Loading
libs/vr/libdvr/dvr_hardware_composer_client.cpp→services/vr/hardware_composer/dvr_hardware_composer_client.cpp +7 −27 Original line number Diff line number Diff line #include "include/dvr/dvr_hardware_composer_client.h" #include "private/android/dvr_hardware_composer_client.h" #include <android/dvr/IVrComposer.h> #include <android/dvr/BnVrComposerCallback.h> #include <android/hardware_buffer.h> #include <binder/IServiceManager.h> #include <private/android/AHardwareBufferHelpers.h> Loading @@ -16,8 +15,7 @@ namespace { class HwcCallback : public android::dvr::BnVrComposerCallback { public: explicit HwcCallback(DvrHwcOnFrameCallback callback, void* client_state); explicit HwcCallback(DvrHwcOnFrameCallback callback); ~HwcCallback() override; std::unique_ptr<DvrHwcFrame> DequeueFrame(); Loading @@ -29,14 +27,13 @@ class HwcCallback : public android::dvr::BnVrComposerCallback { android::dvr::ParcelableUniqueFd* fence) override; DvrHwcOnFrameCallback callback_; void* client_state_; HwcCallback(const HwcCallback&) = delete; void operator=(const HwcCallback&) = delete; }; HwcCallback::HwcCallback(DvrHwcOnFrameCallback callback, void* client_state) : callback_(callback), client_state_(client_state) {} HwcCallback::HwcCallback(DvrHwcOnFrameCallback callback) : callback_(callback) {} HwcCallback::~HwcCallback() {} Loading @@ -46,8 +43,7 @@ android::binder::Status HwcCallback::onNewFrame( std::unique_ptr<DvrHwcFrame> dvr_frame(new DvrHwcFrame()); dvr_frame->frame = frame.frame(); fence->set_fence(android::base::unique_fd(callback_(client_state_, dvr_frame.release()))); fence->set_fence(android::base::unique_fd(callback_(dvr_frame.release()))); return android::binder::Status::ok(); } Loading @@ -58,7 +54,7 @@ struct DvrHwcClient { android::sp<HwcCallback> callback; }; DvrHwcClient* dvrHwcCreateClient(DvrHwcOnFrameCallback callback, void* data) { DvrHwcClient* dvrHwcCreateClient(DvrHwcOnFrameCallback callback) { std::unique_ptr<DvrHwcClient> client(new DvrHwcClient()); android::sp<android::IServiceManager> sm(android::defaultServiceManager()); Loading @@ -67,7 +63,7 @@ DvrHwcClient* dvrHwcCreateClient(DvrHwcOnFrameCallback callback, void* data) { if (!client->composer.get()) return nullptr; client->callback = new HwcCallback(callback, data); client->callback = new HwcCallback(callback); android::binder::Status status = client->composer->registerObserver( client->callback); if (!status.isOk()) Loading @@ -76,10 +72,6 @@ DvrHwcClient* dvrHwcCreateClient(DvrHwcOnFrameCallback callback, void* data) { return client.release(); } void dvrHwcClientDestroy(DvrHwcClient* client) { delete client; } void dvrHwcFrameDestroy(DvrHwcFrame* frame) { delete frame; } Loading @@ -88,18 +80,6 @@ Display dvrHwcFrameGetDisplayId(DvrHwcFrame* frame) { return frame->frame.display_id; } int32_t dvrHwcFrameGetDisplayWidth(DvrHwcFrame* frame) { return frame->frame.display_width; } int32_t dvrHwcFrameGetDisplayHeight(DvrHwcFrame* frame) { return frame->frame.display_height; } bool dvrHwcFrameGetDisplayRemoved(DvrHwcFrame* frame) { return frame->frame.removed; } size_t dvrHwcFrameGetLayerCount(DvrHwcFrame* frame) { return frame->frame.layers.size(); } Loading