diff options
author | 2017-11-01 15:45:43 -0400 | |
---|---|---|
committer | 2017-11-02 13:07:41 +0000 | |
commit | d1b2eec0d0f95977b52669025cb25038618c0335 (patch) | |
tree | 6e3bae30a741d09fd1cddb6448276f98b5adadf1 /include/gpu/gl | |
parent | b693fbf0fac5978650b2677cae7647128ddb52ab (diff) |
API to cache shader binaries between runs of Skia.
This CL does not include an actual implementation of said cache.
Stan is working on the cache implementation on the Android side of
things.
Bug: skia:
Change-Id: Iabe4f19b2dbacaaa1ead8bb3fa68d88c687b9a84
Reviewed-on: https://skia-review.googlesource.com/54780
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Diffstat (limited to 'include/gpu/gl')
-rw-r--r-- | include/gpu/gl/GrGLFunctions.h | 3 | ||||
-rw-r--r-- | include/gpu/gl/GrGLInterface.h | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/include/gpu/gl/GrGLFunctions.h b/include/gpu/gl/GrGLFunctions.h index 90c3de1caa..3ccfb62a4d 100644 --- a/include/gpu/gl/GrGLFunctions.h +++ b/include/gpu/gl/GrGLFunctions.h @@ -91,6 +91,7 @@ typedef GrGLenum (* GrGLGetErrorProc)(); typedef GrGLvoid (* GrGLGetFramebufferAttachmentParameterivProc)(GrGLenum target, GrGLenum attachment, GrGLenum pname, GrGLint* params); typedef GrGLvoid (* GrGLGetIntegervProc)(GrGLenum pname, GrGLint* params); typedef GrGLvoid (* GrGLGetMultisamplefvProc)(GrGLenum pname, GrGLuint index, GrGLfloat* val); +typedef GrGLvoid (* GrGLGetProgramBinaryProc)(GrGLuint program, GrGLsizei bufsize, GrGLsizei* length, GrGLenum *binaryFormat, void *binary); typedef GrGLvoid (* GrGLGetProgramInfoLogProc)(GrGLuint program, GrGLsizei bufsize, GrGLsizei* length, char* infolog); typedef GrGLvoid (* GrGLGetProgramivProc)(GrGLuint program, GrGLenum pname, GrGLint* params); typedef GrGLvoid (* GrGLGetQueryivProc)(GrGLenum GLtarget, GrGLenum pname, GrGLint *params); @@ -125,6 +126,8 @@ typedef GrGLvoid* (* GrGLMemoryBarrierByRegionProc)(GrGLbitfield barriers); typedef GrGLvoid (* GrGLPixelStoreiProc)(GrGLenum pname, GrGLint param); typedef GrGLvoid (* GrGLPolygonModeProc)(GrGLenum face, GrGLenum mode); typedef GrGLvoid (* GrGLPopGroupMarkerProc)(); +typedef GrGLvoid (* GrGLProgramBinaryProc)(GrGLuint program, GrGLenum binaryFormat, void *binary, GrGLsizei length); +typedef GrGLvoid (* GrGLProgramParameteriProc)(GrGLuint program, GrGLenum pname, GrGLint value); typedef GrGLvoid (* GrGLPushGroupMarkerProc)(GrGLsizei length, const char* marker); typedef GrGLvoid (* GrGLQueryCounterProc)(GrGLuint id, GrGLenum target); typedef GrGLvoid (* GrGLRasterSamplesProc)(GrGLuint samples, GrGLboolean fixedsamplelocations); diff --git a/include/gpu/gl/GrGLInterface.h b/include/gpu/gl/GrGLInterface.h index f1785326fb..e752c2d6e8 100644 --- a/include/gpu/gl/GrGLInterface.h +++ b/include/gpu/gl/GrGLInterface.h @@ -177,13 +177,14 @@ public: GrGLFunction<GrGLGetFramebufferAttachmentParameterivProc> fGetFramebufferAttachmentParameteriv; GrGLFunction<GrGLGetIntegervProc> fGetIntegerv; GrGLFunction<GrGLGetMultisamplefvProc> fGetMultisamplefv; + GrGLFunction<GrGLGetProgramBinaryProc> fGetProgramBinary; + GrGLFunction<GrGLGetProgramInfoLogProc> fGetProgramInfoLog; + GrGLFunction<GrGLGetProgramivProc> fGetProgramiv; GrGLFunction<GrGLGetQueryObjecti64vProc> fGetQueryObjecti64v; GrGLFunction<GrGLGetQueryObjectivProc> fGetQueryObjectiv; GrGLFunction<GrGLGetQueryObjectui64vProc> fGetQueryObjectui64v; GrGLFunction<GrGLGetQueryObjectuivProc> fGetQueryObjectuiv; GrGLFunction<GrGLGetQueryivProc> fGetQueryiv; - GrGLFunction<GrGLGetProgramInfoLogProc> fGetProgramInfoLog; - GrGLFunction<GrGLGetProgramivProc> fGetProgramiv; GrGLFunction<GrGLGetRenderbufferParameterivProc> fGetRenderbufferParameteriv; GrGLFunction<GrGLGetShaderInfoLogProc> fGetShaderInfoLog; GrGLFunction<GrGLGetShaderivProc> fGetShaderiv; @@ -202,6 +203,8 @@ public: GrGLFunction<GrGLIsTextureProc> fIsTexture; GrGLFunction<GrGLLineWidthProc> fLineWidth; GrGLFunction<GrGLLinkProgramProc> fLinkProgram; + GrGLFunction<GrGLProgramBinaryProc> fProgramBinary; + GrGLFunction<GrGLProgramParameteriProc> fProgramParameteri; GrGLFunction<GrGLMapBufferProc> fMapBuffer; GrGLFunction<GrGLMapBufferRangeProc> fMapBufferRange; GrGLFunction<GrGLMapBufferSubDataProc> fMapBufferSubData; |