OpenSubdiv/opensubdiv/osd
David G Yu fdb9ac9afb Added GetPatchDrawingShaderSource()
This is a new method for GLSL, HLSL, and MSL which returns patch
drawing shader source which excludes legacy shader source aspects.

This improves portability and compatibility and may also improve
shader compile times since the resulting shader source strings
are smaller without the legacy shader source aspects.

Tested with Vulkan and DX12 in addition to GL, DX11, and Metal.
2023-09-12 19:21:51 -07:00
..
Android.mk Amending Apache license language & file headers. 2013-09-26 12:04:57 -07:00
bufferDescriptor.h Rename and, or and not to &&, || and ! to address compilers that don't support them out of the box without extra headers. 2016-02-21 15:47:11 +01:00
clD3D11VertexBuffer.cpp iso-646 fix for CUDA / CL / TBB 2016-06-25 14:23:55 -07:00
clD3D11VertexBuffer.h spelling 2017-01-11 12:40:49 -08:00
clEvaluator.cpp Improved patch basis eval for Osd to match Far 2018-11-15 17:11:50 -08:00
clEvaluator.h Added missing Osd Evaluator methods for deriv eval 2017-01-27 17:14:18 -08:00
clGLVertexBuffer.cpp Updated EXT to ARB for GL direct_state_access 2020-03-06 11:37:55 -08:00
clGLVertexBuffer.h spelling phase 2 2017-01-24 22:48:44 -08:00
clKernel.cl Improved patch basis eval for Osd to match Far 2018-11-15 17:11:50 -08:00
clPatchTable.cpp Osd Varying and FaceVarying Patch Evaluation 2016-09-29 09:56:15 -07:00
clPatchTable.h Addressed some FVar PatchTable API review notes 2016-10-14 20:11:17 -07:00
clVertexBuffer.cpp Add events control to clVertexBuffer and clEvaluator 2015-11-23 17:54:03 +08:00
clVertexBuffer.h spelling 2017-01-11 12:40:49 -08:00
CMakeLists.txt Find TBB using TBB's CMake config 2023-09-11 13:02:25 -07:00
cpuD3D11VertexBuffer.cpp Simplify Osd::MeshInterface. 2015-04-27 11:27:05 -07:00
cpuD3D11VertexBuffer.h spelling 2017-01-11 12:40:49 -08:00
cpuEvaluator.cpp Improved patch basis eval for Osd to match Far 2018-11-15 17:11:50 -08:00
cpuEvaluator.h Added missing Osd Evaluator methods for deriv eval 2017-01-27 17:14:18 -08:00
cpuGLVertexBuffer.cpp Fix more internal GCC warnings with -Wconversion 2022-09-14 14:52:01 -07:00
cpuGLVertexBuffer.h spelling 2017-01-11 12:40:49 -08:00
cpuKernel.cpp Fixed Cpu Omp and GLXFB EvalStencils w/ deriv 2017-01-31 10:23:55 -08:00
cpuKernel.h Added missing Osd Evaluator methods for deriv eval 2017-01-27 17:14:18 -08:00
cpuPatchTable.cpp Corrected initialization of patch arrays in Osd::CpuPatchTable 2018-09-25 15:13:55 -07:00
cpuPatchTable.h Osd Varying and FaceVarying Patch Evaluation 2016-09-29 09:56:15 -07:00
cpuVertexBuffer.cpp Osd API refactor: EvalStencils and EvalPatches 2015-05-25 22:43:43 -07:00
cpuVertexBuffer.h Fixed some typos in comments. 2017-01-24 22:48:48 -08:00
cudaD3D11VertexBuffer.cpp cleanup CL/CUDA example harnesses. 2015-04-28 15:46:37 -07:00
cudaD3D11VertexBuffer.h spelling phase 2 2017-01-24 22:48:44 -08:00
cudaEvaluator.cpp Added missing Osd Evaluator methods for deriv eval 2017-01-27 17:14:18 -08:00
cudaEvaluator.h Added missing Osd Evaluator methods for deriv eval 2017-01-27 17:14:18 -08:00
cudaGLVertexBuffer.cpp Updated EXT to ARB for GL direct_state_access 2020-03-06 11:37:55 -08:00
cudaGLVertexBuffer.h spelling 2017-01-11 12:40:49 -08:00
cudaKernel.cu Improved patch basis eval for Osd to match Far 2018-11-15 17:11:50 -08:00
cudaPatchTable.cpp Fixed Osd::CudaEvaluator 2016-09-29 20:27:43 -07:00
cudaPatchTable.h Addressed some FVar PatchTable API review notes 2016-10-14 20:11:17 -07:00
cudaVertexBuffer.cpp Osd API refactor: EvalStencils and EvalPatches 2015-05-25 22:43:43 -07:00
cudaVertexBuffer.h spelling 2017-01-11 12:40:49 -08:00
d3d11ComputeEvaluator.cpp Fixed subobject initialization warnings 2021-10-20 14:55:59 -07:00
d3d11ComputeEvaluator.h Added missing Osd Evaluator methods for deriv eval 2017-01-27 17:14:18 -08:00
d3d11LegacyGregoryPatchTable.cpp Rename and, or and not to &&, || and ! to address compilers that don't support them out of the box without extra headers. 2016-02-21 15:47:11 +01:00
d3d11LegacyGregoryPatchTable.h renaming (2/2) PatchTables and StencilTables to PatchTable and StencilTable 2015-05-22 11:50:01 -07:00
d3d11Mesh.h osd layer: Add GLPatchTable and retire DrawContext 2015-05-20 15:55:06 -07:00
d3d11PatchTable.cpp Fixed Far::PatchParam encoding of refinement level 2015-06-11 15:10:30 -07:00
d3d11PatchTable.h Osd API refactor: EvalStencils and EvalPatches 2015-05-25 22:43:43 -07:00
d3d11VertexBuffer.cpp Fix a minor build warning (trips MSVC 2015) 2016-02-05 15:30:59 -08:00
d3d11VertexBuffer.h spelling 2017-01-11 12:40:49 -08:00
glComputeEvaluator.cpp Merge pull request #1244 from diekev/dev-ogl-program-cache 2022-08-30 14:40:18 -07:00
glComputeEvaluator.h Improved patch basis eval for Osd to match Far 2018-11-15 17:11:50 -08:00
glLegacyGregoryPatchTable.cpp Enabled internal GL API loader as GLEW alternative 2020-03-06 11:37:55 -08:00
glLegacyGregoryPatchTable.h renaming (2/2) PatchTables and StencilTables to PatchTable and StencilTable 2015-05-22 11:50:01 -07:00
glMesh.h osd layer: Add GLPatchTable and retire DrawContext 2015-05-20 15:55:06 -07:00
glPatchTable.cpp Enabled internal GL API loader as GLEW alternative 2020-03-06 11:37:55 -08:00
glPatchTable.h Addressed some FVar PatchTable API review notes 2016-10-14 20:11:17 -07:00
glslComputeKernel.glsl Improved patch basis eval for Osd to match Far 2018-11-15 17:11:50 -08:00
glslPatchBoxSplineTriangle.glsl Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
glslPatchBSpline.glsl Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
glslPatchCommon.glsl Reorganized legacy patch drawing shader source 2023-09-12 19:21:51 -07:00
glslPatchCommonTess.glsl Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
glslPatchGregory.glsl Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
glslPatchGregoryBasis.glsl Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
glslPatchGregoryTriangle.glsl Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
glslPatchLegacy.glsl Reorganized legacy patch drawing shader source 2023-09-12 19:21:51 -07:00
glslPatchShaderSource.cpp Added GetPatchDrawingShaderSource() 2023-09-12 19:21:51 -07:00
glslPatchShaderSource.h Added GetPatchDrawingShaderSource() 2023-09-12 19:21:51 -07:00
glslXFBKernel.glsl Improved patch basis eval for Osd to match Far 2018-11-15 17:11:50 -08:00
glVertexBuffer.cpp Fix more internal GCC warnings with -Wconversion 2022-09-14 14:52:01 -07:00
glVertexBuffer.h spelling 2017-01-11 12:40:49 -08:00
glXFBEvaluator.cpp Updated EXT to ARB for GL direct_state_access 2020-03-06 11:37:55 -08:00
glXFBEvaluator.h Improved patch basis eval for Osd to match Far 2018-11-15 17:11:50 -08:00
hlslComputeKernel.hlsl osd refactor: split the vertex buffer argument into src and dst 2015-05-07 16:11:00 -07:00
hlslPatchBoxSplineTriangle.hlsl Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
hlslPatchBSpline.hlsl Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
hlslPatchCommon.hlsl Reorganized legacy patch drawing shader source 2023-09-12 19:21:51 -07:00
hlslPatchCommonTess.hlsl Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
hlslPatchGregory.hlsl Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
hlslPatchGregoryBasis.hlsl Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
hlslPatchGregoryTriangle.hlsl Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
hlslPatchLegacy.hlsl Reorganized legacy patch drawing shader source 2023-09-12 19:21:51 -07:00
hlslPatchShaderSource.cpp Added GetPatchDrawingShaderSource() 2023-09-12 19:21:51 -07:00
hlslPatchShaderSource.h Added GetPatchDrawingShaderSource() 2023-09-12 19:21:51 -07:00
mesh.h Added bilinear end-cap option to Osd::MeshBits 2018-08-06 16:29:07 -07:00
mtlCommon.h Mtl implementation whitespace fixes 2019-05-22 18:00:36 -07:00
mtlComputeEvaluator.h Mtl implementation whitespace fixes 2019-05-22 18:00:36 -07:00
mtlComputeEvaluator.mm Mtl implementation whitespace fixes 2019-05-22 18:00:36 -07:00
mtlComputeKernel.metal Fixed regression in MTLComputeEvaluator 2019-06-24 16:47:56 -07:00
mtlLegacyGregoryPatchTable.h Mtl implementation whitespace fixes 2019-05-22 18:00:36 -07:00
mtlLegacyGregoryPatchTable.mm Mtl implementation whitespace fixes 2019-05-22 18:00:36 -07:00
mtlMesh.h Mtl implementation whitespace fixes 2019-05-22 18:00:36 -07:00
mtlMesh.mm Added Metal support 2017-04-19 16:49:53 -07:00
mtlPatchBoxSplineTriangle.metal Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
mtlPatchBSpline.metal Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
mtlPatchCommon.metal Reorganized legacy patch drawing shader source 2023-09-12 19:21:51 -07:00
mtlPatchCommonTess.metal Reorganized legacy patch drawing shader source 2023-09-12 19:21:51 -07:00
mtlPatchGregory.metal Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
mtlPatchGregoryBasis.metal Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
mtlPatchGregoryTriangle.metal Irregular patch shader transition edges 2019-06-03 15:34:40 -07:00
mtlPatchLegacy.metal Reorganized legacy patch drawing shader source 2023-09-12 19:21:51 -07:00
mtlPatchShaderSource.h Added GetPatchDrawingShaderSource() 2023-09-12 19:21:51 -07:00
mtlPatchShaderSource.mm Added GetPatchDrawingShaderSource() 2023-09-12 19:21:51 -07:00
mtlPatchTable.h Mtl implementation whitespace fixes 2019-05-22 18:00:36 -07:00
mtlPatchTable.mm Mtl implementation whitespace fixes 2019-05-22 18:00:36 -07:00
mtlVertexBuffer.h Mtl implementation whitespace fixes 2019-05-22 18:00:36 -07:00
mtlVertexBuffer.mm Mtl implementation whitespace fixes 2019-05-22 18:00:36 -07:00
nonCopyable.h Remove #pragma once 2015-05-20 09:59:18 -07:00
ompEvaluator.cpp Marked deprecated Osd::*Evaluator::SetNumThreads() 2023-08-25 20:10:09 -07:00
ompEvaluator.h Marked deprecated Osd::*Evaluator::SetNumThreads() 2023-08-25 20:10:09 -07:00
ompKernel.cpp Added missing Osd Evaluator methods for deriv eval 2017-01-27 17:14:18 -08:00
ompKernel.h Added missing Osd Evaluator methods for deriv eval 2017-01-27 17:14:18 -08:00
opencl.h Remove #pragma once 2015-05-20 09:59:18 -07:00
opengl.h iso-646 fix for CUDA / CL / TBB 2016-06-25 14:23:55 -07:00
patchBasisCommon.h Fixed OSD_REAL_CAST of some float constants 2023-06-30 15:45:45 -07:00
patchBasisCommonEval.h Changed Gregory triangle from cubic/quartic hyrid to full quartic: 2019-01-24 12:56:09 -08:00
patchBasisCommonTypes.h Fixed osd patch basis typos and macros 2019-01-18 18:14:00 -08:00
tbbEvaluator.cpp Marked deprecated Osd::*Evaluator::SetNumThreads() 2023-08-25 20:10:09 -07:00
tbbEvaluator.h Marked deprecated Osd::*Evaluator::SetNumThreads() 2023-08-25 20:10:09 -07:00
tbbKernel.cpp Improved patch basis eval for Osd to match Far 2018-11-15 17:11:50 -08:00
tbbKernel.h Added missing Osd Evaluator methods for deriv eval 2017-01-27 17:14:18 -08:00
types.h Added missing include of <algorithm> for std::max with stricter compilers 2018-09-17 11:46:41 -07:00