Skip to content

Conversation

@libreliu
Copy link

@libreliu libreliu commented Mar 5, 2022

in void RenderCore::SetMaterials( CoreMaterial* mat, const int materialCount ) under RenderCore_Optix7, the hostMaterialBuffer is initialized with size materialCount, but materialBuffer has size materialCount and attribute ON_DEVICE set.

This triggers if (location & ON_DEVICE) CopyToDevice(); and eventually performs memcpy with size (materialCount + 512) * sizeof(CUDAMaterial), which can occationally trigger access violation during tinyapp startup.

Thanks for the project, and please see if this patch helps.

in `void RenderCore::SetMaterials( CoreMaterial* mat, const int materialCount )`
under `RenderCore_Optix7`, the `hostMaterialBuffer` is initialized with
size `materialCount`, but `materialBuffer` has size `materialCount` and
attribute `ON_DEVICE` set.

This triggers `if (location & ON_DEVICE) CopyToDevice();` and
eventually performs memcpy with size
`(materialCount + 512) * sizeof(CUDAMaterial)`, which can
occationally trigger access violation during tinyapp startup.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant