Home | History | Annotate | Download | only in gl

Lines Matching full:glslcaps

272     GrGLSLCaps* glslCaps = static_cast<GrGLSLCaps*>(fShaderCaps.get());
274 glslCaps->fPathRenderingSupport = this->hasPathRenderingSupport(ctxInfo, gli);
278 glslCaps->fDstReadInShaderSupport = glslCaps->fFBFetchSupport;
282 glslCaps->fDualSourceBlendingSupport = (ctxInfo.version() >= GR_GL_VER(3, 3) ||
285 glslCaps->fShaderDerivativeSupport = true;
287 glslCaps->fGeometryShaderSupport = ctxInfo.version() >= GR_GL_VER(3, 2) &&
289 glslCaps->fIntegerSupport = ctxInfo.version() >= GR_GL_VER(3, 0) &&
293 glslCaps->fDualSourceBlendingSupport = ctxInfo.hasExtension("GL_EXT_blend_func_extended");
295 glslCaps->fShaderDerivativeSupport = ctxInfo.version() >= GR_GL_VER(3, 0) ||
298 glslCaps->fIntegerSupport = ctxInfo.version() >= GR_GL_VER(3, 0) &&
305 &glslCaps->fPixelLocalStorageSize);
306 glslCaps->fPLSPathRenderingSupport = glslCaps->fFBFetchSupport;
309 glslCaps->fPixelLocalStorageSize = 0;
310 glslCaps->fPLSPathRenderingSupport = false;
320 glslCaps->dualSourceBlendingSupport() &&
517 this->initShaderPrecisionTable(ctxInfo, gli, glslCaps);
536 this->initConfigTable(ctxInfo, gli, glslCaps);
539 glslCaps->applyOptionsOverrides(contextOptions);
603 GrGLSLCaps* glslCaps = static_cast<GrGLSLCaps*>(fShaderCaps.get());
604 glslCaps->fGLSLGeneration = ctxInfo.glslGeneration();
607 glslCaps->fFBFetchNeedsCustomOutput = (version >= GR_GL_VER(3, 0));
608 glslCaps->fFBFetchSupport = true;
609 glslCaps->fFBFetchColorName = "gl_LastFragData[0]";
610 glslCaps->fFBFetchExtensionString = "GL_EXT_shader_framebuffer_fetch";
614 glslCaps->fFBFetchNeedsCustomOutput = false;
615 glslCaps->fFBFetchSupport = true;
616 glslCaps->fFBFetchColorName = "gl_LastFragData[0]";
617 glslCaps->fFBFetchExtensionString = "GL_NV_shader_framebuffer_fetch";
621 glslCaps->fFBFetchNeedsCustomOutput = false;
622 glslCaps->fFBFetchSupport = true;
623 glslCaps->fFBFetchColorName = "gl_LastFragColorARM";
624 glslCaps->fFBFetchExtensionString = "GL_ARM_shader_framebuffer_fetch";
626 glslCaps->fUsesPrecisionModifiers = true;
629 glslCaps->fBindlessTextureSupport = ctxInfo.hasExtension("GL_NV_bindless_texture");
632 glslCaps->fFlatInterpolationSupport = ctxInfo.glslGeneration() >= k130_GrGLSLGeneration;
634 glslCaps->fFlatInterpolationSupport =
639 glslCaps->fNoPerspectiveInterpolationSupport =
643 glslCaps->fNoPerspectiveInterpolationSupport = true;
644 glslCaps->fNoPerspectiveInterpolationExtensionString =
650 glslCaps->fSampleVariablesSupport = ctxInfo.glslGeneration() >= k400_GrGLSLGeneration;
653 glslCaps->fSampleVariablesSupport = true;
655 glslCaps->fSampleVariablesSupport = true;
656 glslCaps->fSampleVariablesExtensionString = "GL_OES_sample_variables";
660 if (glslCaps->fSampleVariablesSupport) {
661 glslCaps->fSampleMaskOverrideCoverageSupport =
666 glslCaps->fDropsTileOnZeroDivide = kQualcomm_GrGLVendor == ctxInfo.vendor();
673 glslCaps->fCanUseAnyFunctionInShader = kImagination_GrGLVendor != ctxInfo.vendor();
675 glslCaps->fVersionDeclString = get_glsl_version_decl_string(standard, glslCaps->fGLSLGeneration,
678 if (kGLES_GrGLStandard == standard && k110_GrGLSLGeneration == glslCaps->fGLSLGeneration) {
679 glslCaps->fShaderDerivativeExtensionString = "GL_OES_standard_derivatives";
689 glslCaps->fFragCoordConventionsExtensionString = "GL_ARB_fragment_coord_conventions";
693 glslCaps->fSecondaryOutputExtensionString = "GL_EXT_blend_func_extended";
698 glslCaps->fExternalTextureExtensionString = "GL_OES_EGL_image_external";
700 glslCaps->fExternalTextureExtensionString = "GL_OES_EGL_image_external_essl3";
707 glslCaps->fCanUseMinAndAbsTogether = false;
713 glslCaps->fMustForceNegatedAtanParamToFloat = true;
864 GrGLSLCaps* glslCaps = static_cast<GrGLSLCaps*>(fShaderCaps.get());
876 glslCaps->fAdvBlendEqInteraction = GrGLSLCaps::kAutomatic_AdvBlendEqInteraction;
879 glslCaps->fAdvBlendEqInteraction = GrGLSLCaps::kGeneralEnable_AdvBlendEqInteraction;
886 glslCaps->fAdvBlendEqInteraction = GrGLSLCaps::kAutomatic_AdvBlendEqInteraction;
889 glslCaps->fAdvBlendEqInteraction = GrGLSLCaps::kGeneralEnable_AdvBlendEqInteraction;
1099 GrGLSLCaps* glslCaps) {
1107 glslCaps->fShaderPrecisionVaries = false;
1115 glslCaps->fFloatPrecisions[s][p].fLogRangeLow = range[0];
1116 glslCaps->fFloatPrecisions[s][p].fLogRangeHigh = range[1];
1117 glslCaps->fFloatPrecisions[s][p].fBits = bits;
1119 first = &glslCaps->fFloatPrecisions[s][p];
1121 else if (!glslCaps->fShaderPrecisionVaries) {
1122 glslCaps->fShaderPrecisionVaries =
1123 (*first != glslCaps->fFloatPrecisions[s][p]);
1132 glslCaps->fShaderPrecisionVaries = false;
1136 glslCaps->fFloatPrecisions[s][p].fLogRangeLow = 127;
1137 glslCaps->fFloatPrecisions[s][p].fLogRangeHigh = 127;
1138 glslCaps->fFloatPrecisions[s][p].fBits = 23;
1147 if (glslCaps->fGeometryShaderSupport) {
1149 glslCaps->fFloatPrecisions[kGeometry_GrShaderType][p] =
1150 glslCaps->fFloatPrecisions[kVertex_GrShaderType][p];
1231 GrGLSLCaps* glslCaps) {
1720 glslCaps->fConfigTextureSwizzle[i] = fConfigTable[i].fSwizzle;
1732 glslCaps->fConfigOutputSwizzle[i] = GrSwizzle::AAAA();