This patch adds support for 3d textures in OpenCL.
Details
- Reviewers
Brecht Van Lommel (brecht) Thomas Dinges (dingto) Sergey Sharybin (sergey) - Commits
- rCf01f84ff8ce6: OpenCL 3d textures support
rBe2dd5f15d95b: Cycles: OpenCL 3d textures support.
rBS8905c5c87495: Cycles: OpenCL 3d textures support.
rC6d875ab508b3: OpenCL 3d textures support
rB8905c5c87495: Cycles: OpenCL 3d textures support.
Diff Detail
- Repository
- rB Blender
Event Timeline
Haven't tested the patch but code looks ok to me. Nice work! Have you tested this with both Mega and Split OpenCL kernel?
Tested only Split kernel, Mega should work, kernel_image_opencl.h is included. There might be problems with CUDA though.
Seems generally fine except for one problem.
| intern/cycles/device/device_memory.h | ||
|---|---|---|
| 113–116 | 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. | |