OpenSubdiv/opensubdiv/osd
Takahito Tejima 1a37da1c26 osd refactor: split the vertex buffer argument into src and dst
Changing all device kernels to take two buffer identifiers for
source and destination separately.
This change is an intermediate step toward upcoming context/controller
refactoring.

Previously we have a limitation that the source and destination
vertex buffer has to be a single buffer, since the subdivision
kernels are iteratively applied by level.
With stencil tables, we don't have such a limitation any more,
so we may want to apply stencils from seprate source buffer to
another.

To specifiy the output location within the destination buffer,
we can use VertexBufferDescriptor.offset. This allows us not only
configuring arbitrary batching scheme, but also relaxing the
limitation that source and destination buffers are in same
interleaved layout. For examples, we could include derivatives only
in the destination buffer, which doesn't need to be allocated in
the source buffer.
2015-05-07 16:11:00 -07:00
..
Android.mk Amending Apache license language & file headers. 2013-09-26 12:04:57 -07:00
clComputeContext.cpp Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
clComputeContext.h Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
clComputeController.cpp osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
clComputeController.h Removes FarKernelBatch. 2015-04-10 11:08:24 -07:00
clD3D11VertexBuffer.cpp Fix DX-OpenCL/CUDA interop. 2015-04-29 11:51:12 -07:00
clD3D11VertexBuffer.h cleanup CL/CUDA example harnesses. 2015-04-28 15:46:37 -07:00
clGLVertexBuffer.cpp Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
clGLVertexBuffer.h Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
clKernel.cl osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
clVertexBuffer.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
clVertexBuffer.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
CMakeLists.txt Move Ptex code from osd to examples. 2015-05-07 13:56:48 -07:00
computeController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cpuComputeContext.cpp cleanup CL/CUDA example harnesses. 2015-04-28 15:46:37 -07:00
cpuComputeContext.h Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
cpuComputeController.cpp osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
cpuComputeController.h Removes FarKernelBatch. 2015-04-10 11:08:24 -07:00
cpuD3D11VertexBuffer.cpp Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
cpuD3D11VertexBuffer.h cleanup CL/CUDA example harnesses. 2015-04-28 15:46:37 -07:00
cpuEvalLimitContext.cpp Refactor Far::PatchTables 2014-11-25 12:41:19 -08:00
cpuEvalLimitContext.h Refactor Far::PatchTables 2014-11-25 12:41:19 -08:00
cpuEvalLimitController.cpp Refactor single crease patch to be in unfined shader. 2015-04-17 16:26:57 -07:00
cpuEvalLimitController.h Fix tangents in Osd::EvalLimitController 2014-12-25 13:22:27 -08:00
cpuEvalLimitKernel.cpp Fixes a gregory basis evaluation bug. 2015-04-10 17:44:33 -07:00
cpuEvalLimitKernel.h Enable GregoryBasis patch. 2015-04-08 17:07:10 -07:00
cpuEvalStencilsContext.cpp WIP limit stencils factory 2014-09-12 16:59:16 -07:00
cpuEvalStencilsContext.h WIP limit stencils factory 2014-09-12 16:59:16 -07:00
cpuEvalStencilsController.cpp Change FarStencilTables indices from 'unsigned int' to Far::Index type 2014-10-09 16:36:23 -07:00
cpuEvalStencilsController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cpuGLVertexBuffer.cpp cleanup CL/CUDA example harnesses. 2015-04-28 15:46:37 -07:00
cpuGLVertexBuffer.h Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
cpuKernel.cpp osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
cpuKernel.h osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
cpuSmoothNormalContext.cpp Refactor Vtr::Array for better "const" safety 2014-12-15 10:23:13 -08:00
cpuSmoothNormalContext.h Remove osd/vertex.h 2015-05-07 12:34:09 -07:00
cpuSmoothNormalController.cpp Refactor Far::PatchTables 2014-11-25 12:41:19 -08:00
cpuSmoothNormalController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cpuVertexBuffer.cpp Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
cpuVertexBuffer.h Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
cudaComputeContext.cpp cleanup CL/CUDA example harnesses. 2015-04-28 15:46:37 -07:00
cudaComputeContext.h Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
cudaComputeController.cpp osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
cudaComputeController.h osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
cudaD3D11VertexBuffer.cpp cleanup CL/CUDA example harnesses. 2015-04-28 15:46:37 -07:00
cudaD3D11VertexBuffer.h Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
cudaGLVertexBuffer.cpp cleanup CL/CUDA example harnesses. 2015-04-28 15:46:37 -07:00
cudaGLVertexBuffer.h Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
cudaKernel.cu osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
cudaVertexBuffer.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cudaVertexBuffer.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
d3d11ComputeContext.cpp Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
d3d11ComputeContext.h Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
d3d11ComputeController.cpp osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
d3d11ComputeController.h Removes FarKernelBatch. 2015-04-10 11:08:24 -07:00
d3d11DrawContext.cpp Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
d3d11DrawContext.h Remove osd/vertex.h 2015-05-07 12:34:09 -07:00
d3d11DrawRegistry.cpp Move Ptex code from osd to examples. 2015-05-07 13:56:48 -07:00
d3d11DrawRegistry.h Remove osd/vertex.h 2015-05-07 12:34:09 -07:00
d3d11Mesh.h cleanup CL/CUDA example harnesses. 2015-04-28 15:46:37 -07:00
d3d11VertexBuffer.cpp Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
d3d11VertexBuffer.h Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
debug.h Amending Apache license language & file headers. 2013-09-26 12:04:57 -07:00
drawContext.cpp Checkpoint changes to unify adaptive patch drawing. 2015-04-17 07:42:53 -07:00
drawContext.h Checkpoint changes to unify adaptive patch drawing. 2015-04-17 07:42:53 -07:00
drawRegistry.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
drawRegistry.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
evalLimitContext.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
evalLimitContext.h Remove osd/vertex.h 2015-05-07 12:34:09 -07:00
glDrawContext.cpp Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
glDrawContext.h Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
glDrawRegistry.cpp Move Ptex code from osd to examples. 2015-05-07 13:56:48 -07:00
glDrawRegistry.h Move Ptex code from osd to examples. 2015-05-07 13:56:48 -07:00
glMesh.h Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
glslComputeContext.cpp osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
glslComputeContext.h Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
glslComputeController.cpp osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
glslComputeController.h add includes 2015-04-10 11:09:14 -07:00
glslComputeKernel.glsl osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
glslPatchBSpline.glsl Updated handling of patchParam and patchCoord 2015-05-06 13:47:33 -07:00
glslPatchCommon.glsl Updated handling of patchParam and patchCoord 2015-05-06 13:47:33 -07:00
glslPatchGregory.glsl Updated handling of patchParam and patchCoord 2015-05-06 13:47:33 -07:00
glslPatchGregoryBasis.glsl Updated handling of patchParam and patchCoord 2015-05-06 13:47:33 -07:00
glslTransformFeedbackComputeContext.cpp cleanup CL/CUDA example harnesses. 2015-04-28 15:46:37 -07:00
glslTransformFeedbackComputeContext.h Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
glslTransformFeedbackComputeController.cpp osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
glslTransformFeedbackComputeController.h add includes 2015-04-10 11:09:14 -07:00
glslTransformFeedbackKernel.glsl osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
glVertexBuffer.cpp cleanup CL/CUDA example harnesses. 2015-04-28 15:46:37 -07:00
glVertexBuffer.h Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
hlslComputeKernel.hlsl osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
hlslPatchBSpline.hlsl Updated handling of patchParam and patchCoord 2015-05-06 13:47:33 -07:00
hlslPatchCommon.hlsl Updated handling of patchParam and patchCoord 2015-05-06 13:47:33 -07:00
hlslPatchGregory.hlsl Updated handling of patchParam and patchCoord 2015-05-06 13:47:33 -07:00
mesh.h Remove osd/vertex.h 2015-05-07 12:34:09 -07:00
nonCopyable.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
ompComputeController.cpp osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
ompComputeController.h Removes FarKernelBatch. 2015-04-10 11:08:24 -07:00
ompEvalStencilsController.cpp Change FarStencilTables indices from 'unsigned int' to Far::Index type 2014-10-09 16:36:23 -07:00
ompEvalStencilsController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
ompKernel.cpp osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
ompKernel.h osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
ompSmoothNormalController.cpp Refactor Far::PatchTables 2014-11-25 12:41:19 -08:00
ompSmoothNormalController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
opencl.h Integrate CLEW into osd library and examples 2014-05-22 09:10:59 +02:00
opengl.h Amending Apache license language & file headers. 2013-09-26 12:04:57 -07:00
tbbComputeController.cpp osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
tbbComputeController.h Removes FarKernelBatch. 2015-04-10 11:08:24 -07:00
tbbEvalStencilsController.cpp Change FarStencilTables indices from 'unsigned int' to Far::Index type 2014-10-09 16:36:23 -07:00
tbbEvalStencilsController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
tbbKernel.cpp osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
tbbKernel.h osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
tbbSmoothNormalController.cpp Refactor Far::PatchTables 2014-11-25 12:41:19 -08:00
tbbSmoothNormalController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
vertexDescriptor.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00