void OsdTbbComputeController::ApplyBilinearVertexVerticesKernel( FarKernelBatch const &batch, void *clientdata) const { OsdCpuComputeContext * context = static_cast<OsdCpuComputeContext*>(clientdata); assert(context); OsdTbbComputeBilinearVertex( context->GetVertexDescriptor(), context->GetCurrentVertexBuffer(), context->GetCurrentVaryingBuffer(), (const int*)context->GetTable(FarSubdivisionTables<OsdVertex>::V_ITa)->GetBuffer(), batch.GetVertexOffset(), batch.GetTableOffset(), batch.GetStart(), batch.GetEnd()); }
void OsdGcdComputeController::ApplyBilinearEdgeVerticesKernel( FarKernelBatch const &batch, void * clientdata) const { OsdCpuComputeContext * context = static_cast<OsdCpuComputeContext*>(clientdata); assert(context); OsdGcdComputeBilinearEdge( context->GetVertexDescriptor(), context->GetCurrentVertexBuffer(), context->GetCurrentVaryingBuffer(), (const int*)context->GetTable(Table::E_IT)->GetBuffer(), batch.vertexOffset, batch.tableOffset, batch.start, batch.end, _gcd_queue); }
void OsdGcdComputeController::ApplyLoopVertexVerticesKernelB( FarKernelBatch const &batch, void * clientdata) const { OsdCpuComputeContext * context = static_cast<OsdCpuComputeContext*>(clientdata); assert(context); OsdGcdComputeLoopVertexB( context->GetVertexDescriptor(), context->GetCurrentVertexBuffer(), context->GetCurrentVaryingBuffer(), (const int*)context->GetTable(FarSubdivisionTables<OsdVertex>::V_ITa)->GetBuffer(), (const int*)context->GetTable(FarSubdivisionTables<OsdVertex>::V_IT)->GetBuffer(), (const float*)context->GetTable(FarSubdivisionTables<OsdVertex>::V_W)->GetBuffer(), batch.GetVertexOffset(), batch.GetTableOffset(), batch.GetStart(), batch.GetEnd(), _gcd_queue); }
void OsdOmpComputeController::ApplyCatmarkEdgeVerticesKernel( FarKernelBatch const &batch, void *clientdata) const { OsdCpuComputeContext * context = static_cast<OsdCpuComputeContext*>(clientdata); assert(context); OsdOmpComputeEdge( context->GetVertexDescriptor(), context->GetCurrentVertexBuffer(), context->GetCurrentVaryingBuffer(), (const int*)context->GetTable(FarSubdivisionTables<OsdVertex>::E_IT)->GetBuffer(), (const float*)context->GetTable(FarSubdivisionTables<OsdVertex>::E_W)->GetBuffer(), batch.GetVertexOffset(), batch.GetTableOffset(), batch.GetStart(), batch.GetEnd()); }
void OsdGcdComputeController::ApplyLoopVertexVerticesKernelA2( FarKernelBatch const &batch, void * clientdata) const { OsdCpuComputeContext * context = static_cast<OsdCpuComputeContext*>(clientdata); assert(context); OsdGcdComputeVertexA( context->GetVertexDescriptor(), context->GetCurrentVertexBuffer(), context->GetCurrentVaryingBuffer(), (const int*)context->GetTable(Table::V_ITa)->GetBuffer(), (const float*)context->GetTable(Table::V_W)->GetBuffer(), batch.vertexOffset, batch.tableOffset, batch.start, batch.end, true, _gcd_queue); }
void OsdGcdComputeController::ApplyVertexEdits( FarKernelBatch const &batch, void * clientdata) const { OsdCpuComputeContext * context = static_cast<OsdCpuComputeContext*>(clientdata); assert(context); const OsdCpuHEditTable *edit = context->GetEditTable(batch.tableIndex); assert(edit); const OsdCpuTable * primvarIndices = edit->GetPrimvarIndices(); const OsdCpuTable * editValues = edit->GetEditValues(); if (edit->GetOperation() == FarVertexEdit::Add) { OsdGcdEditVertexAdd(context->GetVertexDescriptor(), context->GetCurrentVertexBuffer(), edit->GetPrimvarOffset(), edit->GetPrimvarWidth(), batch.vertexOffset, batch.tableOffset, batch.start, batch.end, static_cast<unsigned int*>(primvarIndices->GetBuffer()), static_cast<float*>(editValues->GetBuffer()), _gcd_queue); } else if (edit->GetOperation() == FarVertexEdit::Set) { OsdGcdEditVertexSet(context->GetVertexDescriptor(), context->GetCurrentVertexBuffer(), edit->GetPrimvarOffset(), edit->GetPrimvarWidth(), batch.vertexOffset, batch.tableOffset, batch.start, batch.end, static_cast<unsigned int*>(primvarIndices->GetBuffer()), static_cast<float*>(editValues->GetBuffer()), _gcd_queue); } }