This patch adds support for 3d textures in OpenCL.
Brecht Van Lommel (brecht) Thomas Dinges (dingto) Sergey Sharybin (sergey)
- rBe2dd5f15d95b: Cycles: OpenCL 3d textures support.
rC6d875ab508b3: OpenCL 3d textures support
rBS8905c5c87495: Cycles: OpenCL 3d textures support.
rB8905c5c87495: Cycles: OpenCL 3d textures support.
rCf01f84ff8ce6: OpenCL 3d textures support
Seems generally fine except for one problem.
|113–116 ↗||(On Diff #7643)|
I'm afraid this will not work for CUDA currently. For certain cards we still store all data as textures, and there is no builtin uint8 texture type (it's also a bit confusing with uint8_t but that's different).
The solution for that right now is to use a uint4 texture with double the size and adjust the indexing accordingly. We do that for other textures too.
I have plans to refactor this so we can also use an array of structs to store this kind of data, but until that is done we can't break CUDA on these older cards.