| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 | 8 |
| 9 #include "gl/GrGLAssembleInterface.h" | 9 #include "gl/GrGLAssembleInterface.h" |
| 10 #include "GrGLUtil.h" | 10 #include "GrGLUtil.h" |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 GET_PROC(DrawBuffer); | 137 GET_PROC(DrawBuffer); |
| 138 GET_PROC(DrawBuffers); | 138 GET_PROC(DrawBuffers); |
| 139 GET_PROC(DrawElements); | 139 GET_PROC(DrawElements); |
| 140 | 140 |
| 141 if (glVer >= GR_GL_VER(3,1) || extensions.has("GL_ARB_draw_instanced") || | 141 if (glVer >= GR_GL_VER(3,1) || extensions.has("GL_ARB_draw_instanced") || |
| 142 extensions.has("GL_EXT_draw_instanced")) { | 142 extensions.has("GL_EXT_draw_instanced")) { |
| 143 GET_PROC(DrawArraysInstanced); | 143 GET_PROC(DrawArraysInstanced); |
| 144 GET_PROC(DrawElementsInstanced); | 144 GET_PROC(DrawElementsInstanced); |
| 145 } | 145 } |
| 146 | 146 |
| 147 if (glVer >= GR_GL_VER(4,0)) { | 147 if (glVer >= GR_GL_VER(4,0) || extensions.has("GL_ARB_draw_indirect")) { |
| 148 // We don't use ARB_draw_indirect because it does not support a base ins
tance. | |
| 149 GET_PROC(DrawArraysIndirect); | 148 GET_PROC(DrawArraysIndirect); |
| 150 GET_PROC(DrawElementsIndirect); | 149 GET_PROC(DrawElementsIndirect); |
| 151 } | 150 } |
| 152 | 151 |
| 153 GET_PROC(Enable); | 152 GET_PROC(Enable); |
| 154 GET_PROC(EnableVertexAttribArray); | 153 GET_PROC(EnableVertexAttribArray); |
| 155 GET_PROC(EndQuery); | 154 GET_PROC(EndQuery); |
| 156 GET_PROC(Finish); | 155 GET_PROC(Finish); |
| 157 GET_PROC(Flush); | 156 GET_PROC(Flush); |
| 158 GET_PROC(FrontFace); | 157 GET_PROC(FrontFace); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 183 GET_PROC(GetStringi); | 182 GET_PROC(GetStringi); |
| 184 GET_PROC(GetShaderPrecisionFormat); | 183 GET_PROC(GetShaderPrecisionFormat); |
| 185 GET_PROC(GetTexLevelParameteriv); | 184 GET_PROC(GetTexLevelParameteriv); |
| 186 GET_PROC(GenQueries); | 185 GET_PROC(GenQueries); |
| 187 GET_PROC(GenTextures); | 186 GET_PROC(GenTextures); |
| 188 GET_PROC(GetUniformLocation); | 187 GET_PROC(GetUniformLocation); |
| 189 GET_PROC(IsTexture); | 188 GET_PROC(IsTexture); |
| 190 GET_PROC(LineWidth); | 189 GET_PROC(LineWidth); |
| 191 GET_PROC(LinkProgram); | 190 GET_PROC(LinkProgram); |
| 192 GET_PROC(MapBuffer); | 191 GET_PROC(MapBuffer); |
| 192 |
| 193 if (glVer >= GR_GL_VER(4,3) || extensions.has("GL_ARB_multi_draw_indirect"))
{ |
| 194 GET_PROC(MultiDrawArraysIndirect); |
| 195 GET_PROC(MultiDrawElementsIndirect); |
| 196 } |
| 197 |
| 193 GET_PROC(PixelStorei); | 198 GET_PROC(PixelStorei); |
| 194 if (extensions.has("GL_EXT_raster_multisample")) { | 199 if (extensions.has("GL_EXT_raster_multisample")) { |
| 195 GET_PROC_SUFFIX(RasterSamples, EXT); | 200 GET_PROC_SUFFIX(RasterSamples, EXT); |
| 196 } | 201 } |
| 197 GET_PROC(ReadBuffer); | 202 GET_PROC(ReadBuffer); |
| 198 GET_PROC(ReadPixels); | 203 GET_PROC(ReadPixels); |
| 199 GET_PROC(Scissor); | 204 GET_PROC(Scissor); |
| 200 GET_PROC(ShaderSource); | 205 GET_PROC(ShaderSource); |
| 201 GET_PROC(StencilFunc); | 206 GET_PROC(StencilFunc); |
| 202 GET_PROC(StencilFuncSeparate); | 207 GET_PROC(StencilFuncSeparate); |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 361 GET_PROC(InvalidateFramebuffer); | 366 GET_PROC(InvalidateFramebuffer); |
| 362 GET_PROC(InvalidateSubFramebuffer); | 367 GET_PROC(InvalidateSubFramebuffer); |
| 363 GET_PROC(InvalidateTexImage); | 368 GET_PROC(InvalidateTexImage); |
| 364 GET_PROC(InvalidateTexSubImage); | 369 GET_PROC(InvalidateTexSubImage); |
| 365 } | 370 } |
| 366 | 371 |
| 367 if (glVer >= GR_GL_VER(4,3) || extensions.has("GL_ARB_program_interface_quer
y")) { | 372 if (glVer >= GR_GL_VER(4,3) || extensions.has("GL_ARB_program_interface_quer
y")) { |
| 368 GET_PROC(GetProgramResourceLocation); | 373 GET_PROC(GetProgramResourceLocation); |
| 369 } | 374 } |
| 370 | 375 |
| 371 if (glVer >= GR_GL_VER(4,3)) { | |
| 372 // We don't use ARB_multi_draw_indirect because it does not support GL_D
RAW_INDIRECT_BUFFER. | |
| 373 GET_PROC(MultiDrawArraysIndirect); | |
| 374 GET_PROC(MultiDrawElementsIndirect); | |
| 375 } | |
| 376 | |
| 377 if (extensions.has("GL_NV_bindless_texture")) { | 376 if (extensions.has("GL_NV_bindless_texture")) { |
| 378 GET_PROC_SUFFIX(GetTextureHandle, NV); | 377 GET_PROC_SUFFIX(GetTextureHandle, NV); |
| 379 GET_PROC_SUFFIX(GetTextureSamplerHandle, NV); | 378 GET_PROC_SUFFIX(GetTextureSamplerHandle, NV); |
| 380 GET_PROC_SUFFIX(MakeTextureHandleResident, NV); | 379 GET_PROC_SUFFIX(MakeTextureHandleResident, NV); |
| 381 GET_PROC_SUFFIX(MakeTextureHandleNonResident, NV); | 380 GET_PROC_SUFFIX(MakeTextureHandleNonResident, NV); |
| 382 GET_PROC_SUFFIX(GetImageHandle, NV); | 381 GET_PROC_SUFFIX(GetImageHandle, NV); |
| 383 GET_PROC_SUFFIX(MakeImageHandleResident, NV); | 382 GET_PROC_SUFFIX(MakeImageHandleResident, NV); |
| 384 GET_PROC_SUFFIX(MakeImageHandleNonResident, NV); | 383 GET_PROC_SUFFIX(MakeImageHandleNonResident, NV); |
| 385 GET_PROC_SUFFIX(IsTextureHandleResident, NV); | 384 GET_PROC_SUFFIX(IsTextureHandleResident, NV); |
| 386 GET_PROC_SUFFIX(IsImageHandleResident, NV); | 385 GET_PROC_SUFFIX(IsImageHandleResident, NV); |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 633 GET_PROC(GetProgramiv); | 632 GET_PROC(GetProgramiv); |
| 634 GET_PROC(GetShaderInfoLog); | 633 GET_PROC(GetShaderInfoLog); |
| 635 GET_PROC(GetShaderPrecisionFormat); | 634 GET_PROC(GetShaderPrecisionFormat); |
| 636 GET_PROC(GetShaderiv); | 635 GET_PROC(GetShaderiv); |
| 637 GET_PROC(GetString); | 636 GET_PROC(GetString); |
| 638 GET_PROC(GetStringi); | 637 GET_PROC(GetStringi); |
| 639 GET_PROC(GetUniformLocation); | 638 GET_PROC(GetUniformLocation); |
| 640 GET_PROC(IsTexture); | 639 GET_PROC(IsTexture); |
| 641 GET_PROC(LineWidth); | 640 GET_PROC(LineWidth); |
| 642 GET_PROC(LinkProgram); | 641 GET_PROC(LinkProgram); |
| 642 |
| 643 if (extensions.has("GL_EXT_multi_draw_indirect")) { |
| 644 GET_PROC_SUFFIX(MultiDrawArraysIndirect, EXT); |
| 645 GET_PROC_SUFFIX(MultiDrawElementsIndirect, EXT); |
| 646 } |
| 647 |
| 643 GET_PROC(PixelStorei); | 648 GET_PROC(PixelStorei); |
| 644 | 649 |
| 645 if (extensions.has("GL_EXT_raster_multisample")) { | 650 if (extensions.has("GL_EXT_raster_multisample")) { |
| 646 GET_PROC_SUFFIX(RasterSamples, EXT); | 651 GET_PROC_SUFFIX(RasterSamples, EXT); |
| 647 } | 652 } |
| 648 | 653 |
| 649 GET_PROC(ReadPixels); | 654 GET_PROC(ReadPixels); |
| 650 GET_PROC(Scissor); | 655 GET_PROC(Scissor); |
| 651 GET_PROC(ShaderSource); | 656 GET_PROC(ShaderSource); |
| 652 GET_PROC(StencilFunc); | 657 GET_PROC(StencilFunc); |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 847 GET_PROC_SUFFIX(BindFragmentInputLocation, CHROMIUM); | 852 GET_PROC_SUFFIX(BindFragmentInputLocation, CHROMIUM); |
| 848 } | 853 } |
| 849 | 854 |
| 850 if (extensions.has("GL_NV_framebuffer_mixed_samples")) { | 855 if (extensions.has("GL_NV_framebuffer_mixed_samples")) { |
| 851 GET_PROC_SUFFIX(CoverageModulation, NV); | 856 GET_PROC_SUFFIX(CoverageModulation, NV); |
| 852 } | 857 } |
| 853 if (extensions.has("GL_CHROMIUM_framebuffer_mixed_samples")) { | 858 if (extensions.has("GL_CHROMIUM_framebuffer_mixed_samples")) { |
| 854 GET_PROC_SUFFIX(CoverageModulation, CHROMIUM); | 859 GET_PROC_SUFFIX(CoverageModulation, CHROMIUM); |
| 855 } | 860 } |
| 856 | 861 |
| 857 if (extensions.has("GL_EXT_multi_draw_indirect")) { | |
| 858 GET_PROC_SUFFIX(MultiDrawArraysIndirect, EXT); | |
| 859 GET_PROC_SUFFIX(MultiDrawElementsIndirect, EXT); | |
| 860 } | |
| 861 | |
| 862 if (extensions.has("GL_NV_bindless_texture")) { | 862 if (extensions.has("GL_NV_bindless_texture")) { |
| 863 GET_PROC_SUFFIX(GetTextureHandle, NV); | 863 GET_PROC_SUFFIX(GetTextureHandle, NV); |
| 864 GET_PROC_SUFFIX(GetTextureSamplerHandle, NV); | 864 GET_PROC_SUFFIX(GetTextureSamplerHandle, NV); |
| 865 GET_PROC_SUFFIX(MakeTextureHandleResident, NV); | 865 GET_PROC_SUFFIX(MakeTextureHandleResident, NV); |
| 866 GET_PROC_SUFFIX(MakeTextureHandleNonResident, NV); | 866 GET_PROC_SUFFIX(MakeTextureHandleNonResident, NV); |
| 867 GET_PROC_SUFFIX(GetImageHandle, NV); | 867 GET_PROC_SUFFIX(GetImageHandle, NV); |
| 868 GET_PROC_SUFFIX(MakeImageHandleResident, NV); | 868 GET_PROC_SUFFIX(MakeImageHandleResident, NV); |
| 869 GET_PROC_SUFFIX(MakeImageHandleNonResident, NV); | 869 GET_PROC_SUFFIX(MakeImageHandleNonResident, NV); |
| 870 GET_PROC_SUFFIX(IsTextureHandleResident, NV); | 870 GET_PROC_SUFFIX(IsTextureHandleResident, NV); |
| 871 GET_PROC_SUFFIX(IsImageHandleResident, NV); | 871 GET_PROC_SUFFIX(IsImageHandleResident, NV); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 904 | 904 |
| 905 if (extensions.has("GL_OES_sample_shading")) { | 905 if (extensions.has("GL_OES_sample_shading")) { |
| 906 GET_PROC_SUFFIX(MinSampleShading, OES); | 906 GET_PROC_SUFFIX(MinSampleShading, OES); |
| 907 } | 907 } |
| 908 | 908 |
| 909 interface->fStandard = kGLES_GrGLStandard; | 909 interface->fStandard = kGLES_GrGLStandard; |
| 910 interface->fExtensions.swap(&extensions); | 910 interface->fExtensions.swap(&extensions); |
| 911 | 911 |
| 912 return interface; | 912 return interface; |
| 913 } | 913 } |
| OLD | NEW |