CUresult updateConstantMemory_drvapi(CUmodule module, float *hueCSC) { CUdeviceptr d_constHueCSC, d_constAlpha; size_t d_cscBytes, d_alphaBytes; // First grab the global device pointers from the CUBIN cuModuleGetGlobal(&d_constHueCSC, &d_cscBytes , module, "constHueColorSpaceMat"); cuModuleGetGlobal(&d_constAlpha , &d_alphaBytes, module, "constAlpha"); CUresult error = CUDA_SUCCESS; // Copy the constants to video memory cuMemcpyHtoD(d_constHueCSC, reinterpret_cast<const void *>(hueCSC), d_cscBytes); getLastCudaDrvErrorMsg("cuMemcpyHtoD (d_constHueCSC) copy to Constant Memory failed"); uint32 cudaAlpha = ((uint32)0xff<< 24); cuMemcpyHtoD(d_constAlpha, reinterpret_cast<const void *>(&cudaAlpha), d_alphaBytes); getLastCudaDrvErrorMsg("cuMemcpyHtoD (d_constAlpha) copy to Constant Memory failed"); return error; }
void ImageGL::registerAsCudaResource(int field_num) { // register the OpenGL resources that we'll use within CD checkCudaErrors(cuGLRegisterBufferObject(gl_pbo_[field_num])); getLastCudaDrvErrorMsg("cuGLRegisterBufferObject (gl_pbo_) failed"); bIsCudaResource_ = true; }