diff options
author | jvanverth <jvanverth@google.com> | 2015-07-02 12:53:27 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-02 12:53:27 -0700 |
commit | 2853fe409efb2da9245d31a65a63ae3d8753931f (patch) | |
tree | 8a50bb2beb556378041501b80e76085629944436 | |
parent | 94a2fbc6cf7cc14d7e6149eb22455db6aca06b8f (diff) |
Revert of Implement support for CHROMIUM_path_rendering pseudo extension (patchset #4 id:60001 of https://codereview.chromium.org/1192663002/)
Reason for revert:
DEPS roll failing
Original issue's description:
> Implement support for CHROMIUM_path_rendering pseudo extension
>
> Implement support for path rendering in Chromium through
> CHROMIUM_path_rendering pseudo extension.
>
> The extension defines a new pseudo-gl function,
> BindFragmentInputLocation. This behaves similarly to the
> BindUniformLocation pseudo-gl function. The idea is to assign fragment
> input location to a fragment input before linking the program.
>
> BUG=chromium:344330
>
> Committed: https://skia.googlesource.com/skia/+/eeef46d181f9f8db388ecea81df699fc1b3c9280
TBR=bsalomon@google.com,joshualitt@google.com,kkinnunen@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:344330
Review URL: https://codereview.chromium.org/1223673002
-rw-r--r-- | include/gpu/gl/GrGLFunctions.h | 2 | ||||
-rw-r--r-- | include/gpu/gl/GrGLInterface.h | 2 | ||||
-rw-r--r-- | src/gpu/gl/GrGLCaps.cpp | 8 | ||||
-rw-r--r-- | src/gpu/gl/GrGLInterface.cpp | 8 | ||||
-rw-r--r-- | src/gpu/gl/GrGLPathRendering.cpp | 3 | ||||
-rw-r--r-- | src/gpu/gl/GrGLPathRendering.h | 12 | ||||
-rw-r--r-- | src/gpu/gl/builders/GrGLPathProgramBuilder.cpp | 18 | ||||
-rw-r--r-- | src/gpu/gl/builders/GrGLPathProgramBuilder.h | 1 | ||||
-rw-r--r-- | src/gpu/gl/builders/GrGLProgramBuilder.h | 2 |
9 files changed, 5 insertions, 51 deletions
diff --git a/include/gpu/gl/GrGLFunctions.h b/include/gpu/gl/GrGLFunctions.h index aea6d2c22e..f5240c5dc1 100644 --- a/include/gpu/gl/GrGLFunctions.h +++ b/include/gpu/gl/GrGLFunctions.h @@ -257,8 +257,6 @@ typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLStencilThenCoverFillPathInstancedProc typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLStencilThenCoverStrokePathInstancedProc)(GrGLsizei numPaths, GrGLenum pathNameType, const GrGLvoid *paths, GrGLuint pathBase, GrGLint reference, GrGLuint mask, GrGLenum coverMode, GrGLenum transformType, const GrGLfloat *transformValues); // NV_path_rendering v1.3 typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLProgramPathFragmentInputGenProc)(GrGLuint program, GrGLint location, GrGLenum genMode, GrGLint components,const GrGLfloat *coeffs); -// CHROMIUM_path_rendering -typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLBindFragmentInputLocationProc)(GrGLuint program, GrGLint location, const GrGLchar* name); /* ARB_program_interface_query */ typedef GrGLint (GR_GL_FUNCTION_TYPE* GrGLGetProgramResourceLocationProc)(GrGLuint program, GrGLenum programInterface, const GrGLchar *name); diff --git a/include/gpu/gl/GrGLInterface.h b/include/gpu/gl/GrGLInterface.h index 9d60259740..9a71758028 100644 --- a/include/gpu/gl/GrGLInterface.h +++ b/include/gpu/gl/GrGLInterface.h @@ -350,8 +350,6 @@ public: GLPtr<GrGLStencilThenCoverStrokePathInstancedProc> fStencilThenCoverStrokePathInstanced; // NV_path_rendering v1.3 GLPtr<GrGLProgramPathFragmentInputGenProc> fProgramPathFragmentInputGen; - // CHROMIUM_path_rendering - GLPtr<GrGLBindFragmentInputLocationProc> fBindFragmentInputLocation; /* NV_framebuffer_mixed_samples */ GLPtr<GrGLCoverageModulationProc> fCoverageModulation; diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp index dc0cf2cd59..539212c3a5 100644 --- a/src/gpu/gl/GrGLCaps.cpp +++ b/src/gpu/gl/GrGLCaps.cpp @@ -464,20 +464,16 @@ void GrGLCaps::init(const GrContextOptions& contextOptions, } bool GrGLCaps::hasPathRenderingSupport(const GrGLContextInfo& ctxInfo, const GrGLInterface* gli) { - bool hasChromiumPathRendering = ctxInfo.hasExtension("GL_CHROMIUM_path_rendering"); - - if (!(ctxInfo.hasExtension("GL_NV_path_rendering") || hasChromiumPathRendering)) { + if (!ctxInfo.hasExtension("GL_NV_path_rendering")) { return false; } - if (kGL_GrGLStandard == ctxInfo.standard()) { if (ctxInfo.version() < GR_GL_VER(4, 3) && !ctxInfo.hasExtension("GL_ARB_program_interface_query")) { return false; } } else { - if (!hasChromiumPathRendering && - ctxInfo.version() < GR_GL_VER(3, 1)) { + if (ctxInfo.version() < GR_GL_VER(3, 1)) { return false; } } diff --git a/src/gpu/gl/GrGLInterface.cpp b/src/gpu/gl/GrGLInterface.cpp index 9f58c73221..56f1e59275 100644 --- a/src/gpu/gl/GrGLInterface.cpp +++ b/src/gpu/gl/GrGLInterface.cpp @@ -59,7 +59,6 @@ const GrGLInterface* GrGLInterfaceRemoveNVPR(const GrGLInterface* interface) { newInterface->fFunctions.fStencilThenCoverFillPathInstanced = NULL; newInterface->fFunctions.fStencilThenCoverStrokePathInstanced = NULL; newInterface->fFunctions.fProgramPathFragmentInputGen = NULL; - newInterface->fFunctions.fBindFragmentInputLocation = NULL; return newInterface; } @@ -484,7 +483,7 @@ bool GrGLInterface::validate() const { #endif } - if (fExtensions.has("GL_NV_path_rendering") || fExtensions.has("GL_CHROMIUM_path_rendering")) { + if (fExtensions.has("GL_NV_path_rendering")) { if (NULL == fFunctions.fMatrixLoadf || NULL == fFunctions.fMatrixLoadIdentity || NULL == fFunctions.fPathCommands || @@ -516,11 +515,6 @@ bool GrGLInterface::validate() const { ) { RETURN_FALSE_INTERFACE } - if (fExtensions.has("GL_CHROMIUM_path_rendering")) { - if (NULL == fFunctions.fBindFragmentInputLocation) { - RETURN_FALSE_INTERFACE - } - } } if (fExtensions.has("GL_EXT_raster_multisample")) { diff --git a/src/gpu/gl/GrGLPathRendering.cpp b/src/gpu/gl/GrGLPathRendering.cpp index 7c77155b6c..ffdbbdab26 100644 --- a/src/gpu/gl/GrGLPathRendering.cpp +++ b/src/gpu/gl/GrGLPathRendering.cpp @@ -61,9 +61,6 @@ static GrGLenum gr_stencil_op_to_gl_path_rendering_fill_mode(GrStencilOp op) { GrGLPathRendering::GrGLPathRendering(GrGLGpu* gpu) : GrPathRendering(gpu) { - const GrGLInterface* glInterface = gpu->glInterface(); - fCaps.bindFragmentInputSupport = - NULL != glInterface->fFunctions.fBindFragmentInputLocation; } GrGLPathRendering::~GrGLPathRendering() { diff --git a/src/gpu/gl/GrGLPathRendering.h b/src/gpu/gl/GrGLPathRendering.h index 5996e906bd..86cf1b1698 100644 --- a/src/gpu/gl/GrGLPathRendering.h +++ b/src/gpu/gl/GrGLPathRendering.h @@ -46,10 +46,6 @@ public: */ void abandonGpuResources(); - bool shouldBindFragmentInputs() const { - return fCaps.bindFragmentInputSupport; - } - // Functions for "separable shader" texturing support. void setProgramPathFragmentInputTransform(GrGLuint program, GrGLint location, GrGLenum genMode, GrGLint components, @@ -69,13 +65,6 @@ protected: void onDrawPaths(const DrawPathArgs&, const GrPathRange*, const void* indices, PathIndexType, const float transformValues[], PathTransformType, int count) override; private: - /** - * Mark certain functionality as not supported. - */ - struct Caps { - bool bindFragmentInputSupport : 1; - }; - void flushPathStencilSettings(const GrStencilSettings&); struct MatrixState { @@ -114,7 +103,6 @@ private: SkAutoTDelete<GrGLNameAllocator> fPathNameAllocator; MatrixState fHWProjectionMatrixState; GrStencilSettings fHWPathStencilSettings; - Caps fCaps; }; #endif diff --git a/src/gpu/gl/builders/GrGLPathProgramBuilder.cpp b/src/gpu/gl/builders/GrGLPathProgramBuilder.cpp index 9bebe0d89e..c9f88cd702 100644 --- a/src/gpu/gl/builders/GrGLPathProgramBuilder.cpp +++ b/src/gpu/gl/builders/GrGLPathProgramBuilder.cpp @@ -35,25 +35,9 @@ GrGLProgramBuilder::SeparableVaryingHandle GrGLPathProgramBuilder::addSeparableV return SeparableVaryingHandle::CreateFromSeparableVaryingIndex(varyingInfo.fLocation); } -void GrGLPathProgramBuilder::bindProgramResourceLocations(GrGLuint programID) { - this->INHERITED::bindProgramResourceLocations(programID); - if (!fGpu->glPathRendering()->shouldBindFragmentInputs()) { - return; - } - int count = fSeparableVaryingInfos.count(); - for (int i = 0; i < count; ++i) { - GL_CALL(BindFragmentInputLocation(programID, - i, - fSeparableVaryingInfos[i].fVariable.c_str())); - fSeparableVaryingInfos[i].fLocation = i; - } -} - void GrGLPathProgramBuilder::resolveProgramResourceLocations(GrGLuint programID) { this->INHERITED::resolveProgramResourceLocations(programID); - if (fGpu->glPathRendering()->shouldBindFragmentInputs()) { - return; - } + int count = fSeparableVaryingInfos.count(); for (int i = 0; i < count; ++i) { GrGLint location; diff --git a/src/gpu/gl/builders/GrGLPathProgramBuilder.h b/src/gpu/gl/builders/GrGLPathProgramBuilder.h index d0c77fcdc7..28260cf760 100644 --- a/src/gpu/gl/builders/GrGLPathProgramBuilder.h +++ b/src/gpu/gl/builders/GrGLPathProgramBuilder.h @@ -17,7 +17,6 @@ public: SeparableVaryingHandle addSeparableVarying(const char* name, GrGLVertToFrag* v, GrSLPrecision fsPrecision) override; - void bindProgramResourceLocations(GrGLuint programID) override; void resolveProgramResourceLocations(GrGLuint programID) override; private: diff --git a/src/gpu/gl/builders/GrGLProgramBuilder.h b/src/gpu/gl/builders/GrGLProgramBuilder.h index 22b67ae58d..4b784aceea 100644 --- a/src/gpu/gl/builders/GrGLProgramBuilder.h +++ b/src/gpu/gl/builders/GrGLProgramBuilder.h @@ -328,7 +328,7 @@ protected: GrGLInstalledProc<Proc>*); GrGLProgram* finalize(); - virtual void bindProgramResourceLocations(GrGLuint programID); + void bindProgramResourceLocations(GrGLuint programID); bool checkLinkStatus(GrGLuint programID); virtual void resolveProgramResourceLocations(GrGLuint programID); void cleanupProgram(GrGLuint programID, const SkTDArray<GrGLuint>& shaderIDs); |