Go to file
Thomas Dinges c9f1ed1e4c Cycles: Add support for bindless textures.
This adds support for CUDA Texture objects (also known as Bindless textures) for Kepler GPUs (Geforce 6xx and above).
This is used for all 2D/3D textures, data still uses arrays as before.

User benefits:
* No more limits of image textures on Kepler.
 We had 5 float4 and 145 byte4 slots there before, now we have 1024 float4 and 1024 byte4.
 This can be extended further if we need to (just change the define).

* Single channel textures slots (byte and float) are now supported on Kepler as well (1024 slots for each type).

ToDo / Issues:
* 3D textures don't work yet, at least don't show up during render. I have no idea whats wrong yet.
* Dynamically allocate bindless_mapping array?

I hope Fermi still works fine, but that should be tested on a Fermi card before pushing to master.

Part of my GSoC 2016.

Reviewers: sergey, #cycles, brecht

Subscribers: swerner, jtheninja, brecht, sergey

Differential Revision: https://developer.blender.org/D1999
2016-05-19 13:14:37 +02:00
build_files CMake: use signed char for recastnavigation 2016-05-19 07:36:32 +10:00
doc BGE: Fix KX_LightObject python API documentation. 2016-05-15 14:56:40 +00:00
extern CMake: use signed char for recastnavigation 2016-05-19 07:36:32 +10:00
intern Cycles: Add support for bindless textures. 2016-05-19 13:14:37 +02:00
release Cycles: Pole merging for spherical stereo 2016-05-18 10:56:57 +02:00
source Ignore vertex color when doing texture paint 2016-05-19 11:11:21 +02:00
tests Fix bl_load_py_modules test 2016-05-02 21:06:15 +10:00
.arcconfig Use HTTPS protocol for arc 2013-12-24 22:57:27 +06:00
.gitignore Git ignore BUILD_NOTES.txt from install_deps.sh. 2015-11-23 20:17:02 +01:00
.gitmodules Remove SCons building system 2016-01-04 14:20:48 +05:00
CMakeLists.txt Cleanup: CMake indentation 2016-05-19 07:12:14 +10:00
COPYING == docs == 2010-10-13 14:44:22 +00:00
GNUmakefile Fix T48078: incorrect OS X command for retrieving number of CPUs on in Makefile. 2016-04-09 00:25:18 +02:00
make.bat Fix make.bat checking 64bit systems 2016-02-10 00:26:12 +11:00