summaryrefslogtreecommitdiff
path: root/rs_hal.h
AgeCommit message (Collapse)Author
2017-04-10Break libgui and libui dependencies.Miao Wang
- Use EGL sync fence instead of gui/DisplayEventReceiver. - Remove obselete inclusion of ui/PixelFormat.h and gui/Surface.h. - Remove dead code using SurfaceTexture in rsdAllocation.cpp, as drv->surfaceTexture was never initialized. Bug: 34396220 Bug: 37067080 Test: mm, boot Angler, all CTS tests pass, and example RS graphic apps all still fine. Change-Id: I5369c382a9815095301660735de61573e348a1dc
2017-03-13Merge "Rename unused fields of RS base object handle in 64-bits"I-Jui (Ray) Sung
2017-03-08Implement USAGE_IO_INPUT related functions on top of NDK.Miao Wang
- Use AImageReader and AImage as the BufferQueue consumer. - Bump RS_HAL_VERSION to 200 to prevent old GPU drivers to load, as the structure of rsAllocation.h is modified. It is no longer safe to allow the legacy drivers to access Allocation objects via out-of-date header. Bug: 34396220 Test: mm, CTS tests pass. Change-Id: I0c9df2990ad4842719a24e23e69e007059e1c776
2017-03-08Rename unused fields of RS base object handle in 64-bitsI-Jui (Ray) Sung
Fields other than the first one (p) in RS_BASE_OBJECT are set in some part of existing RS runtime, but is not used at all. However, removing them is not desirable as size of RS_BASE_OBJECT is really part of the ABI and thus if we change it, we are creating a new ABI variant here, which is not always desirable. For example, consider a library that contains compiled scripts and assuming we pass allocation handles between the library and other user codes, changes to handle size only in user code would break the compatibility on things like array of rs_allocations. Thus, to keep ABI compatibility the unused fields r, v1, v2 are renamed. Also they are now assigned zero consistently. These field however are not copied consistently in the current runtime, and are not expected so anyways. Bug: 35043722 Test: mm, CTS and RSTest on Angler Change-Id: I426fad8e07bf445b6d8625bd23c689acaee26322
2017-02-09frameworks/rs: fix typos and clang-tidy warningsRahul Chaudhry
This change fixes a few typos and clang tidy warnings related to the "llvm-namespace-comment" checks. Bug: 26936282 Test: WITH_TIDY=1 WITH_TIDY_CHECKS="llvm-namespace-comment" mm Change-Id: Ic65182e5b4999fbd48d6a8ad7172e4bfeeb541f4
2017-01-20Cleanup makefiles and warning producing code.Jean-Luc Brouillet
Many entries in our makefiles are not needed: - LOCAL_CPPFLAGS += -fno-exceptions is the default - LOCAL_MODULE_TARGET_ARCH_WARN is obsolete - LOCAL_CXX_STL:= libc++ is the default - LOCAL_MODULE_TAGS := optional is the default - LOCAL_IS_HOST_MODULE := true is the default if we're using $include(BUILD_HOST_*). This can't be removed for the generated subdirectories however without triggering a bug in Ninja. - Removed the -ldl where not needed. - LOCAL_CLANG is no longer needed. Added -Werror -Wall -Wextra to a lot of targets and cleaned up the code that created errors. Removed some hacky code that would prevent tests/java_api from being compiled except under special cicumstances. Corrected some LOCAL_MODULE_TAGS that should have been set to tests. Cleanup warning producing code. Bug: 34265954 Test: Compiled the code. Test: Ran the cpp test, imageprocessing_jb, and cts Change-Id: I27da19b18a6c0ac3686bb8c93681e3d870d587fe
2016-06-10Delete simple reduction implementation.nougat-devDavid Gross
Bug: 27298560 Change-Id: I8c3d568e98aaf0b7d86881c985d13ed5b8e95338
2016-06-06Add HAL version check, with fallback to CPU reference driver on failure.David Gross
libRS_internal and the vendor driver (or CPU reference driver) must agree on HAL version. Bug: 27298560 Change-Id: Ie4886af9c9cf6a91a164b8cfedb5c010ffbf9cb0
2016-01-19Support for general reduction kernels.David Gross
Requires coordinated change in frameworks/base. Requires coordinated change in frameworks/compile/libbcc in order for RsTest to run. At present, general reduction kernels are run single-threaded. Also: Remove dead struct field MTLaunchStructForEach::sig. Bug: 23535724 Change-Id: Ice17ccf20a902f8a106eaa62ec071d46e3c0ad8c
2015-08-14Add a basic implementation of the reduce kernel API to the CPUMatt Wala
reference implementation. Bug: 22631253 For now, this just runs a serial reduction on one thread. Change-Id: I34c96d24bb6f44274de72bb53160abcf79d143b0
2015-08-06Add AllocationCreateStrided to support lib CPU driverMiao Wang
- Able to create Allocations with arbitrary alignment requirement, making Incremental Intrinsic Support able to run with different native GPU RS runtime. - Make compat mode CPU driver using an additional rs_compat.spec. - Add a compat mode only USAGE_INCREMENTAL_SUPPORT. - Add AllocationCreateStrided() to take an Alignment requirement (power of 2). Only enbled when detect USAGE_INCREMENTAL_SUPPORT. Change-Id: I66f913c3a2474f93af5a244c0c84460a7a395e71
2015-05-18Notify drivers when user get a pointer to allocationJason Sams
Requested by vendor for driver bring-up. bug 20894664 Change-Id: I7a1540236e557ef42ffde1c832b5d5ef36b91c96
2015-05-11Add USAGE_OEMJason Sams
Allow OEMs to pass data from other HW blocks via internal extension. Change-Id: I78c19f5eec462aff7d8a5408f2f16cfc9b78c036
2015-03-17Merge "Update HAL comments."Jason Sams
2015-03-17Update HAL comments.Jason Sams
Change-Id: I6ea5b5ac5c689965059f1a512c2c4cd4caedbf57
2015-03-11Remove leftover path bits.Jason Sams
Change-Id: I7f1a8825907d5866adf58a07d8ea5001b2ee7500
2015-03-11Refactor hal loadingJason Sams
This CL make the loading of RS drivers more robust by looking up entry points in place of a structure of entry points. It also adds framework for a version handshake. Change-Id: Iae46bf0171785c0ca1048223816b6efc60c337ad
2015-02-23Fix the bug for AllocationRead() that cannot handle 3d AllocationMiao Wang
correctly. Add the following functions to make it symmetric for read and write. - AllocationElementData - AllocationElementRead - Allocation3DRead Change-Id: I8c89b5e3474c4c3c70e9795843a76e61f1f90f6a
2015-02-09Implement arrays and allocation adaptersJason Sams
WIP: now passing basic tests Change-Id: I3d8c1ab12975428def225f88a04e24a4158ca69c
2015-01-07New Script Group API: runtime and cpu driver support.Yang Ni
Change-Id: I9c612cf8874aabaf0ca7d1640567464c71ed3070
2014-11-11Cleanup includes for rs/cpp to not expose internal details.Jason Sams
Change-Id: Ib23f591f8418d3318f61ab1d3f6f2b684bf95692
2014-08-12Fix isObject when in 64bit mode.Jason Sams
This also cleans up the passing of args to SetObject and ClearObject. Fix related issues in 64bit teardown. Change-Id: I90d1b93c45ff5bc84957d5441ab48a4e2f6feb20
2014-07-08Add 64bit large object supportJason Sams
Add HAL hooks for filling in LO fields. Change-Id: Ib9bdee714a062de519d2a9708c1016404a1b11a4 Conflicts: driver/rsdBcc.cpp driver/rsdCore.cpp rsAllocation.h rs_hal.h
2014-07-08Adds support for multi-input kernels to Frameworks/RS.Chris Wailes
This patch modifies Frameworks/RS in the following ways: * Adjusted the data-layout of the C/C++ version of RsForEachStubParamStruct to accommodate a pointer to an array of input allocations and a pointer to an array of stride sizes for each of these allocatoins. * Adds a new code path for Java code to pass multiple allocations to a RS kernel. * Packs base pointers and step values for multi-input kernels into the new RsForEachStubParamStruct members. Change-Id: I46d2834c37075b2a2407fd8b010546818a4540d1
2014-07-07Moved RsForEachStubParamStruct out of rs_hal.h and into rsCpuCore.h.Chris Wailes
Change-Id: Iea673ccd9db5077abef373457f51c6b0d09cea92
2014-06-25Switch the dimensions array to use uint32_t instead of size_t.Stephen Hines
size_t isn't safe, since we pack/unpack the array as a 32-bit int array, but that is the wrong type for 64-bit. Switching to uint32_t is better, since we only support 1 dimension today, and won't need many more than that even for complex cases in the future. Change-Id: Ie0dda264a9398b0e385e0f9ee0a91cda08325dbc
2014-06-10Update structs and defines for 64-bit.Tim Murray
Also adds RS_FIND_OFFSETS, which prints address info for various types that allow us to easily update __pad. Change-Id: I4d57248e155d113c83ff69f4f8f64160aa24fb9b
2013-12-02implement finishJason Sams
Change-Id: If1ec99d0dbcf7aebf9d90d7779bf3ff34a8963f2
2013-08-07Refactor hal to remove cpuConsumer from driversJason Sams
This CL should minimize build breaks due to BufferQueue changes in the future. Change-Id: I565a6eae5cc25603741fef32f2cfcb31a32eb757
2013-04-11Add support for synchronous get().Tim Murray
Change-Id: Ic94f1e36f7cffaaeda11fa9f0bb70e441fe1e535
2013-04-09Add 3D allocation copies.Jason Sams
Remove resize2d. bug 8567058 Change-Id: Ib143b7a417c7db88aa8da8714a63e0ee6091269a
2013-03-20Start making RS 64-bit clean.Tim Murray
Change-Id: Ie40ad9a1d2b59094c86eb7e40b358e60120ce213
2013-03-11Add custom allocator support for Allocation objects.Tim Murray
Change-Id: Iab546455354c2ee72797658fdcd49c90a5893527
2013-02-22Implement usage IO INPUTJason Sams
Change-Id: I4dedd697ecd7719ba307ac393aca5abd67128e0c
2012-11-27Add support for 2D strided copies to/from an allocation with the C++ API.Tim Murray
Change-Id: I55cd7512f683f8d36d2b75f894931fd0657521bc
2012-11-19Separate CPU driver impl from reference driver.Jason Sams
Change-Id: Ifb484edda665959b81d7b1f890d108bfa20a535d
2012-10-25Merge script groups.Jason Sams
Change-Id: Id5baf5e7c59a004127250fced91b6b33b1fe053b
2012-09-23Implement backend of blend intrinsicJason Sams
bug 7190126 Change-Id: I5095366eb3d091bba1628b7cceb5efb685c8f870
2012-09-17Add backed for script groups.Jason Sams
Change-Id: If2fdbde7381fcdaeb54d41a913b855fd83d4f186
2012-09-06Attempt to create libRSDriver as shared library.Stephen Hines
Change-Id: I047b32325efe2fa471b73c48fa7296beecc0c47d
2012-08-21Clean up useless code, logging, and a typo.Stephen Hines
Change-Id: I8c2296e7f60037907a969bcaf1746644e32868c3
2012-08-14IntrinisicsJason Sams
Change-Id: I1ce02ecd853382a2c92823b021750b93f1786ccf
2012-07-27Cleanup pointer access in adapter and font.Jason Sams
Change-Id: Ie500574adebb9bdb38c138f78582af2cd7610f76
2012-07-25Move memory layout to driver.Jason Sams
This change moves all allocation data copies to the hal. Also removes stride from the runtime. Follow on changes will remove the malloc pointer from the runtime. Change-Id: I30967c739800cd4b97186e9fc8b69f26a3f2787d
2012-05-01Support additional element/dim information for FieldPacker.Stephen Hines
BUG=6009244 Change-Id: I3c439559d61b24b26f9a36f2525f0a0e05b00e77
2012-02-17Merge "Rename three header files to free namespace for api."Jason Sams
2012-02-16Rename three header files to free namespace for api.Jason Sams
Change-Id: Ie9ef65a477373c30b2d5b02248f62e768b6f27ae
2012-02-16Merge "Piping texture names through shader builder. Fixing uint size_t ↵Alex Sakhartchouk
mismatch."
2012-02-15Piping texture names through shader builder.Alex Sakhartchouk
Fixing uint size_t mismatch. Change-Id: Ia7c8bd9f829deaa50e1cc381ccd50f29676bbdfb
2012-02-15Merge "Fixing uint32 size_t mismatches."Alex Sakhartchouk