{"action":"created","issue":{"url":"https://api.github.com/repos/halide/Halide/issues/761","labels_url":"https://api.github.com/repos/halide/Halide/issues/761/labels{/name}","comments_url":"https://api.github.com/repos/halide/Halide/issues/761/comments","events_url":"https://api.github.com/repos/halide/Halide/issues/761/events","html_url":"https://github.com/halide/Halide/pull/761","id":70252165,"number":761,"title":"Renderscript Codegen and runtime.","user":{"login":"aam","id":381137,"avatar_url":"https://avatars.githubusercontent.com/u/381137?v=3","gravatar_id":"","url":"https://api.github.com/users/aam","html_url":"https://github.com/aam","followers_url":"https://api.github.com/users/aam/followers","following_url":"https://api.github.com/users/aam/following{/other_user}","gists_url":"https://api.github.com/users/aam/gists{/gist_id}","starred_url":"https://api.github.com/users/aam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aam/subscriptions","organizations_url":"https://api.github.com/users/aam/orgs","repos_url":"https://api.github.com/users/aam/repos","events_url":"https://api.github.com/users/aam/events{/privacy}","received_events_url":"https://api.github.com/users/aam/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-04-22T22:32:42Z","updated_at":"2015-04-24T08:20:19Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/halide/Halide/pulls/761","html_url":"https://github.com/halide/Halide/pull/761","diff_url":"https://github.com/halide/Halide/pull/761.diff","patch_url":"https://github.com/halide/Halide/pull/761.patch"},"body":"This PR adds Renderscript Codegen, RS-compatible BitWriter, runtime support, some simple IR-validation JIT tests and AOT tests that run on the device.\r\n\r\nApologize for the PR size, I initially thought about splitting this into two pull requests: one for Codegen, another for BitWriter, but that looked awkward as you won't be able to do much with just RS Codegen because you need BitWriter to actually run code on the device.\r\n\r\nRenderScript BitWriter source code was taken from Renderscript open-source code repository.\r\nRenderScript runtime API(src/runtime/mini_rs.h) corresponds to Lollipop release. Some 3-dimension API calls are only part of relatively modern RenderScript API(device_api=23).\r\n\r\nCurrently(and this is just the beginning) two image formats/schedule types are supported:\r\n* 4-channel 3-dimension interleaved image, which maps to 2-dimension 4-byte wide RGBA Renderscript image format. Schedule for Funcs operating on interleaved image have to be vectorized over c-coordinate, so that generated Renderscript API-calls GetElementAt_uchar4/SetElementAt_uchar4 are applicable.\r\n* 3-dimension planar image, which maps to 3-dimension 1-byte Renderscript image format. Schedule for Funcs operating on planar image should not be vectorized, so that 1-byte wide GetElementAt_uchar/SetElementAt_uchar are applicable.\r\n\r\nThank you."},"comment":{"url":"https://api.github.com/repos/halide/Halide/issues/comments/95848928","html_url":"https://github.com/halide/Halide/pull/761#issuecomment-95848928","issue_url":"https://api.github.com/repos/halide/Halide/issues/761","id":95848928,"user":{"login":"zvookin","id":1501716,"avatar_url":"https://avatars.githubusercontent.com/u/1501716?v=3","gravatar_id":"","url":"https://api.github.com/users/zvookin","html_url":"https://github.com/zvookin","followers_url":"https://api.github.com/users/zvookin/followers","following_url":"https://api.github.com/users/zvookin/following{/other_user}","gists_url":"https://api.github.com/users/zvookin/gists{/gist_id}","starred_url":"https://api.github.com/users/zvookin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zvookin/subscriptions","organizations_url":"https://api.github.com/users/zvookin/orgs","repos_url":"https://api.github.com/users/zvookin/repos","events_url":"https://api.github.com/users/zvookin/events{/privacy}","received_events_url":"https://api.github.com/users/zvookin/received_events","type":"User","site_admin":false},"created_at":"2015-04-24T08:20:19Z","updated_at":"2015-04-24T08:20:19Z","body":"We do need to replace \"rs\" with \"renderscript\" or \"RenderScript\" universally here. (\"rs\" is unacceptably terse in the Android source tree, but one might expect someone who is already familiar with Android to know the abbreviation. Halide is an entirely different context and familiarity with RenderScript is unlikely, much less an immediate knowledge that \"rs\" stands for RenderScript.)"}}