skia2/include/gpu
kkinnunen 32b9a3b02e Add functions to support NV_path_rendering in OpenGL ES
Add OpenGL ES extension functions needed to support NV_path_rendering in OpenGL
ES.

The added glProgramPathFragmentInputGenNV call is defined in NV_path_rendering
revision 30, similar to following:

    Append to the end of the "Shader Inputs" subsection of Section 3.12.2
    "Shader Execution":

    The command

        void ProgramPathFragmentInputGenNV(uint program,
                                           int location,
                                           enum genMode,
                                           int components,
                                           const float *coeffs);

    controls how a user-defined (non-built-in) fragment input of a
    GLSL program object is computed for fragment shading operations that
    occur as a result of CoverFillPathNV or CoverStrokePathNV.

    /program/ names a GLSL program object.  If /program/ has not been
    successfully linked, the error INVALID_OPERATION is generated.

    The given fragment input generation state is loaded into the fragment
    input variable location identified by /location/.  This location
    is a value returned either by GetProgramResourceLocation with a
    /programInterface/ of FRAGMENT_INPUT_NV and a given fragment shader
    input variable name or by GetProgramResourceiv with FRAGMENT_INPUT_NV
    for the /programInterface/ and LOCATION for the property for a given
    fragment input resource index.

    ....

glProgramPathFragmentInputGenNV will be used instead of glPathTexGen,
because the latter depends on fixed function pipeline that is not
exposed in ES.

Also add glGetProgramResourceLocation from OpenGL 4.3 or
ARB_program_interface_query.

Also add FRAGMENT_INPUT define to be used with glGetProgramResourceLocation.

The added functions are not used yet, but they're needed when implementing
NV_path_rendering support for OpenGL ES. They can also be used on OpenGL.

Remove uncalled NV_path_rendering functions, so they do not cause confusion
or take space in the interface definition. The ones that are later used
can be re-added when needed.

Remove definitions NV_path_rendering that are for NV_path_rendering function
parameters that are not used. The ones that are later used
can be re-added when needed.

Committed: https://skia.googlesource.com/skia/+/4a995dfff2ecf91e8bf999d77e3218cec596232c

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/345723002
2014-07-02 22:56:36 -07:00
..
gl Add functions to support NV_path_rendering in OpenGL ES 2014-07-02 22:56:36 -07:00
GrBackendEffectFactory.h Revert "Remove SkThread.h from public API." 2014-05-28 20:02:17 +00:00
GrCacheable.h Cache the GrEffect used for text rendering in GrBitmapTextContext. 2014-06-19 14:13:45 -07:00
GrClipData.h SkNonCopyable should be used with private inheritance. 2014-04-07 19:34:38 +00:00
GrColor.h R11 EAC texture compression is introduced as part of the OpenGL ES 3.0 spec. This is a format that will likely be required on most mobile phones in the upcoming years, making it better to target than LATC, which is only available on NVIDIA GPUs. 2014-06-30 09:09:22 -07:00
GrConfig.h Rename from "(un)lock" to "(un)map" for geometry buffers. 2014-05-07 20:51:05 +00:00
GrContext.h Implement text rendering with NVPR 2014-06-24 00:12:27 -07:00
GrContextFactory.h Support using OpenGL ES context on desktop 2014-06-30 06:36:31 -07:00
GrCoordTransform.h SkNonCopyable should be used with private inheritance. 2014-04-07 19:34:38 +00:00
GrDrawEffect.h Make GPU coord transforms automatic 2013-10-02 13:04:56 +00:00
GrEffect.h Implement SkColorFilter as a GrGLEffect 2013-10-23 05:42:03 +00:00
GrEffectStage.h Replace uses of GR_DEBUGCODE by SkDEBUGCODE. 2013-09-06 23:13:05 +00:00
GrEffectUnitTest.h SkNonCopyable should be used with private inheritance. 2014-04-07 19:34:38 +00:00
GrFontScaler.h Move distance field generation to the glyph cache. 2014-04-14 22:05:07 +00:00
GrGlyph.h Move GrIPoint16 to SkIPoint16 (and remove GrPoint.h) 2014-06-02 10:20:15 -07:00
GrGpuObject.h Split GrResource into GrCacheable/GrGpuObject 2014-05-02 21:38:22 +00:00
GrKey.h Remove GrRefCnt.h in favor of SkRefCnt.h 2013-09-09 13:38:37 +00:00
GrPaint.h Implement text rendering with NVPR 2014-06-24 00:12:27 -07:00
GrPathRendererChain.h Revert of r13384 (Stateful PathRenderer implementation) 2014-02-11 16:30:21 +00:00
GrRect.h Begin atlasing 2014-06-30 08:26:50 -07:00
GrRenderTarget.h Split GrResource into GrCacheable/GrGpuObject 2014-05-02 21:38:22 +00:00
GrSurface.h hide SkBitmap::setConfig 2014-06-09 19:52:07 -07:00
GrTBackendEffectFactory.h Analytic rrect clip for cicular corners, radius >= 0.5 2014-02-19 15:18:05 +00:00
GrTexture.h Remove GrIsPow2 in favor of SkIsPow2. 2014-06-06 06:35:28 -07:00
GrTextureAccess.h SkNonCopyable should be used with private inheritance. 2014-04-07 19:34:38 +00:00
GrTypes.h R11 EAC texture compression is introduced as part of the OpenGL ES 3.0 spec. This is a format that will likely be required on most mobile phones in the upcoming years, making it better to target than LATC, which is only available on NVIDIA GPUs. 2014-06-30 09:09:22 -07:00
GrTypesPriv.h Convert GrCrash->SkFAIL GrDebugCrash->SkDEBUGFAIL 2014-04-30 14:17:00 +00:00
GrUserConfig.h Rename from "(un)lock" to "(un)map" for geometry buffers. 2014-05-07 20:51:05 +00:00
SkGpuDevice.h change gpudevice and pdfdevice to inherit from basedevice 2014-06-27 11:34:19 -07:00
SkGr.h hide SkBitmap::Config entirely (behind a flag) 2014-06-17 08:38:31 -07:00
SkGrPixelRef.h switch to colortype for deepcopy 2014-06-11 06:09:50 -07:00
SkGrTexturePixelRef.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00