Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/device/cuda/device_impl.cpp
| Show First 20 Lines • Show All 925 Lines • ▼ Show 20 Lines | if (mem.is_resident(this) && mem.device_pointer) { | ||||
| generic_free(mem); | generic_free(mem); | ||||
| } | } | ||||
| } | } | ||||
| void CUDADevice::tex_alloc(device_texture &mem) | void CUDADevice::tex_alloc(device_texture &mem) | ||||
| { | { | ||||
| CUDAContextScope scope(this); | CUDAContextScope scope(this); | ||||
| /* General variables for both architectures */ | |||||
| string bind_name = mem.name; | string bind_name = mem.name; | ||||
| size_t dsize = datatype_size(mem.data_type); | size_t dsize = datatype_size(mem.data_type); | ||||
| size_t size = mem.memory_size(); | size_t size = mem.memory_size(); | ||||
| CUaddress_mode address_mode = CU_TR_ADDRESS_MODE_WRAP; | CUaddress_mode address_mode = CU_TR_ADDRESS_MODE_WRAP; | ||||
| switch (mem.info.extension) { | switch (mem.info.extension) { | ||||
| case EXTENSION_REPEAT: | case EXTENSION_REPEAT: | ||||
| address_mode = CU_TR_ADDRESS_MODE_WRAP; | address_mode = CU_TR_ADDRESS_MODE_WRAP; | ||||
| ▲ Show 20 Lines • Show All 146 Lines • ▼ Show 20 Lines | void CUDADevice::tex_alloc(device_texture &mem) | ||||
| } | } | ||||
| /* Set Mapping and tag that we need to (re-)upload to device */ | /* Set Mapping and tag that we need to (re-)upload to device */ | ||||
| texture_info[slot] = mem.info; | texture_info[slot] = mem.info; | ||||
| need_texture_info = true; | need_texture_info = true; | ||||
| if (mem.info.data_type != IMAGE_DATA_TYPE_NANOVDB_FLOAT && | if (mem.info.data_type != IMAGE_DATA_TYPE_NANOVDB_FLOAT && | ||||
| mem.info.data_type != IMAGE_DATA_TYPE_NANOVDB_FLOAT3) { | mem.info.data_type != IMAGE_DATA_TYPE_NANOVDB_FLOAT3) { | ||||
| /* Kepler+, bindless textures. */ | |||||
| CUDA_RESOURCE_DESC resDesc; | CUDA_RESOURCE_DESC resDesc; | ||||
| memset(&resDesc, 0, sizeof(resDesc)); | memset(&resDesc, 0, sizeof(resDesc)); | ||||
| if (array_3d) { | if (array_3d) { | ||||
| resDesc.resType = CU_RESOURCE_TYPE_ARRAY; | resDesc.resType = CU_RESOURCE_TYPE_ARRAY; | ||||
| resDesc.res.array.hArray = array_3d; | resDesc.res.array.hArray = array_3d; | ||||
| resDesc.flags = 0; | resDesc.flags = 0; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 133 Lines • Show Last 20 Lines | |||||