diff options
author | 2015-12-09 22:58:34 -0800 | |
---|---|---|
committer | 2015-12-09 22:58:34 -0800 | |
commit | 2ca29c0b919765f01ee07625250c0b58f30b05b5 (patch) | |
tree | 998014d5f98c165dc23ad67b982f5ad75dfa2be0 | |
parent | e87256c46291f7ce10f1d9a1d691d01ecf4eb3cc (diff) |
Populate NVPR functions when run with command buffer
Populate the NV_path_rendering functions provided by
CHROMIUM_path_rendering when the tools are being run with
command buffer API.
BUG=skia:2992
Review URL: https://codereview.chromium.org/1510163003
-rw-r--r-- | src/gpu/gl/GrGLAssembleInterface.cpp | 27 | ||||
-rw-r--r-- | src/gpu/gl/GrGLInterface.cpp | 3 |
2 files changed, 30 insertions, 0 deletions
diff --git a/src/gpu/gl/GrGLAssembleInterface.cpp b/src/gpu/gl/GrGLAssembleInterface.cpp index dbc54adbe4..93d49556b1 100644 --- a/src/gpu/gl/GrGLAssembleInterface.cpp +++ b/src/gpu/gl/GrGLAssembleInterface.cpp @@ -745,6 +745,33 @@ const GrGLInterface* GrGLAssembleGLESInterface(void* ctx, GrGLGetProc get) { GET_PROC_SUFFIX(ProgramPathFragmentInputGen, NV); } + if (extensions.has("GL_CHROMIUM_path_rendering")) { + GET_PROC_SUFFIX(MatrixLoadf, CHROMIUM); + GET_PROC_SUFFIX(MatrixLoadIdentity, CHROMIUM); + GET_PROC_SUFFIX(PathCommands, CHROMIUM); + GET_PROC_SUFFIX(PathParameteri, CHROMIUM); + GET_PROC_SUFFIX(PathParameterf, CHROMIUM); + GET_PROC_SUFFIX(GenPaths, CHROMIUM); + GET_PROC_SUFFIX(DeletePaths, CHROMIUM); + GET_PROC_SUFFIX(IsPath, CHROMIUM); + GET_PROC_SUFFIX(PathStencilFunc, CHROMIUM); + GET_PROC_SUFFIX(StencilFillPath, CHROMIUM); + GET_PROC_SUFFIX(StencilStrokePath, CHROMIUM); + GET_PROC_SUFFIX(StencilFillPathInstanced, CHROMIUM); + GET_PROC_SUFFIX(StencilStrokePathInstanced, CHROMIUM); + GET_PROC_SUFFIX(CoverFillPath, CHROMIUM); + GET_PROC_SUFFIX(CoverStrokePath, CHROMIUM); + GET_PROC_SUFFIX(CoverFillPathInstanced, CHROMIUM); + GET_PROC_SUFFIX(CoverStrokePathInstanced, CHROMIUM); + GET_PROC_SUFFIX(StencilThenCoverFillPath, CHROMIUM); + GET_PROC_SUFFIX(StencilThenCoverStrokePath, CHROMIUM); + GET_PROC_SUFFIX(StencilThenCoverFillPathInstanced, CHROMIUM); + GET_PROC_SUFFIX(StencilThenCoverStrokePathInstanced, CHROMIUM); + GET_PROC_SUFFIX(ProgramPathFragmentInputGen, CHROMIUM); + // GL_CHROMIUM_path_rendering additions: + GET_PROC_SUFFIX(BindFragmentInputLocation, CHROMIUM); + } + if (extensions.has("GL_NV_framebuffer_mixed_samples")) { GET_PROC_SUFFIX(CoverageModulation, NV); } diff --git a/src/gpu/gl/GrGLInterface.cpp b/src/gpu/gl/GrGLInterface.cpp index da3c656c18..9cdc9f4386 100644 --- a/src/gpu/gl/GrGLInterface.cpp +++ b/src/gpu/gl/GrGLInterface.cpp @@ -39,6 +39,9 @@ const GrGLInterface* GrGLInterfaceRemoveNVPR(const GrGLInterface* interface) { GrGLInterface* newInterface = GrGLInterface::NewClone(interface); newInterface->fExtensions.remove("GL_NV_path_rendering"); + newInterface->fExtensions.remove("GL_CHROMIUM_path_rendering"); + newInterface->fFunctions.fMatrixLoadf = nullptr; + newInterface->fFunctions.fMatrixLoadIdentity = nullptr; newInterface->fFunctions.fPathCommands = nullptr; newInterface->fFunctions.fPathParameteri = nullptr; newInterface->fFunctions.fPathParameterf = nullptr; |