Home | History | Annotate | Download | only in gl

Lines Matching refs:shaderCaps

316     GrShaderCaps* shaderCaps = fShaderCaps.get();
318 shaderCaps->fPathRenderingSupport = this->hasPathRenderingSupport(ctxInfo, gli);
321 shaderCaps->fPathRenderingSupport = false;
327 shaderCaps->fDualSourceBlendingSupport = (ctxInfo.version() >= GR_GL_VER(3, 3) ||
331 shaderCaps->fShaderDerivativeSupport = true;
334 shaderCaps->fGeometryShaderSupport = ctxInfo.version() >= GR_GL_VER(3, 2) &&
336 if (shaderCaps->fGeometryShaderSupport) {
338 shaderCaps->fGSInvocationsSupport = true;
340 shaderCaps->fGSInvocationsSupport = true;
341 shaderCaps->fGSInvocationsExtensionString = "GL_ARB_gpu_shader5";
345 shaderCaps->fIntegerSupport = ctxInfo.version() >= GR_GL_VER(3, 0) &&
348 shaderCaps->fDualSourceBlendingSupport = ctxInfo.hasExtension("GL_EXT_blend_func_extended");
350 shaderCaps->fShaderDerivativeSupport = ctxInfo.version() >= GR_GL_VER(3, 0) ||
361 shaderCaps->fGeometryShaderSupport = true;
363 shaderCaps->fGeometryShaderSupport = true;
364 shaderCaps->fGeometryShaderExtensionString = "GL_EXT_geometry_shader";
366 shaderCaps->fGSInvocationsSupport = shaderCaps->fGeometryShaderSupport;
369 shaderCaps->fIntegerSupport = ctxInfo.version() >= GR_GL_VER(3, 0) &&
377 shaderCaps->fMaxFragmentSamplers = SkTMin<GrGLint>(kMaxSaneSamplers, maxSamplers);
607 this->initConfigTable(contextOptions, ctxInfo, gli, shaderCaps);
610 this->applyDriverCorrectnessWorkarounds(ctxInfo, contextOptions, shaderCaps);
614 shaderCaps->applyOptionsOverrides(contextOptions);
617 shaderCaps->fDstReadInShaderSupport = shaderCaps->fFBFetchSupport;
709 GrShaderCaps* shaderCaps = fShaderCaps.get();
710 shaderCaps->fGLSLGeneration = ctxInfo.glslGeneration();
715 shaderCaps->fFBFetchNeedsCustomOutput = (version >= GR_GL_VER(3, 0));
716 shaderCaps->fFBFetchSupport = true;
717 shaderCaps->fFBFetchColorName = "gl_LastFragData[0]";
718 shaderCaps->fFBFetchExtensionString = "GL_EXT_shader_framebuffer_fetch";
722 shaderCaps->fFBFetchNeedsCustomOutput = false;
723 shaderCaps->fFBFetchSupport = true;
724 shaderCaps->fFBFetchColorName = "gl_LastFragData[0]";
725 shaderCaps->fFBFetchExtensionString = "GL_NV_shader_framebuffer_fetch";
729 shaderCaps->fFBFetchNeedsCustomOutput = false;
730 shaderCaps->fFBFetchSupport = true;
731 shaderCaps->fFBFetchColorName = "gl_LastFragColorARM";
732 shaderCaps->fFBFetchExtensionString = "GL_ARM_shader_framebuffer_fetch";
735 shaderCaps->fUsesPrecisionModifiers = true;
739 shaderCaps->fFlatInterpolationSupport = ctxInfo.glslGeneration() >= k130_GrGLSLGeneration;
741 shaderCaps->fFlatInterpolationSupport =
746 shaderCaps->fPreferFlatInterpolation = shaderCaps->fFlatInterpolationSupport &&
750 shaderCaps
755 shaderCaps->fNoPerspectiveInterpolationSupport = true;
756 shaderCaps->fNoPerspectiveInterpolationExtensionString =
761 shaderCaps->fVersionDeclString = get_glsl_version_decl_string(standard,
762 shaderCaps->fGLSLGeneration,
765 if (kGLES_GrGLStandard == standard && k110_GrGLSLGeneration == shaderCaps->fGLSLGeneration) {
766 shaderCaps->fShaderDerivativeExtensionString = "GL_OES_standard_derivatives";
773 shaderCaps->fFragCoordConventionsExtensionString = "GL_ARB_fragment_coord_conventions";
777 shaderCaps->fSecondaryOutputExtensionString = "GL_EXT_blend_func_extended";
782 shaderCaps->fExternalTextureSupport = true;
783 shaderCaps->fExternalTextureExtensionString = "GL_OES_EGL_image_external";
787 shaderCaps->fExternalTextureSupport = true;
788 shaderCaps->fExternalTextureExtensionString = "GL_OES_EGL_image_external_essl3";
793 shaderCaps->fVertexIDSupport = true;
796 shaderCaps->fVertexIDSupport = ctxInfo.glslGeneration() >= k330_GrGLSLGeneration;
800 shaderCaps->fFPManipulationSupport = ctxInfo.glslGeneration() >= k400_GrGLSLGeneration;
802 shaderCaps->fFPManipulationSupport = ctxInfo.glslGeneration() >= k310es_GrGLSLGeneration;
805 shaderCaps->fFloatIs32Bits = is_float_fp32(ctxInfo, gli, GR_GL_HIGH_FLOAT);
806 shaderCaps->fHalfIs32Bits = is_float_fp32(ctxInfo, gli, GR_GL_MEDIUM_FLOAT);
809 shaderCaps->fUnsignedSupport = ctxInfo.glslGeneration() >= k130_GrGLSLGeneration;
812 shaderCaps->fBuiltinFMASupport = ctxInfo.glslGeneration() >= k400_GrGLSLGeneration;
814 shaderCaps->fBuiltinFMASupport = ctxInfo.glslGeneration() >= k320es_GrGLSLGeneration;
930 this->shaderCaps()->dualSourceBlendingSupport() &&
931 this->shaderCaps()->pathRenderingSupport()
997 GrShaderCaps* shaderCaps = static_cast<GrShaderCaps*>(fShaderCaps.get());
1000 if ((kGL_GrGLStandard == fStandard && shaderCaps->generation() >= k140_GrGLSLGeneration) ||
1001 (kGLES_GrGLStandard == fStandard && shaderCaps->generation() >= k330_GrGLSLGeneration)) {
1007 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kAutomatic_AdvBlendEqInteraction;
1011 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kGeneralEnable_AdvBlendEqInteraction;
1014 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kAutomatic_AdvBlendEqInteraction;
1017 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kGeneralEnable_AdvBlendEqInteraction;
1272 GrShaderCaps* shaderCaps) {
2019 shaderCaps
2031 shaderCaps->fConfigOutputSwizzle[i] = GrSwizzle::AAAA();
2265 if (this->shaderCaps()->configOutputSwizzle(src->config()) !=
2266 this->shaderCaps()->configOutputSwizzle(dst->config())) {
2392 GrShaderCaps* shaderCaps) {
2426 shaderCaps->fGeometryShaderSupport = false;
2429 shaderCaps->fGSInvocationsSupport = false;
2436 shaderCaps->fGeometryShaderSupport = false;
2592 shaderCaps->fFBFetchSupport = false;
2596 shaderCaps->fDropsTileOnZeroDivide = kQualcomm_GrGLVendor == ctxInfo.vendor();
2603 shaderCaps->fCanUseAnyFunctionInShader = kImagination_GrGLVendor != ctxInfo.vendor();
2608 shaderCaps->fFragCoordConventionsExtensionString = nullptr;
2614 shaderCaps->fCanUseMinAndAbsTogether = false;
2618 shaderCaps->fCanUseFractForNegativeValues = false;
2624 shaderCaps->fMustForceNegatedAtanParamToFloat = true;
2631 shaderCaps->fMustDoOpBetweenFloorAndAbs = true;
2637 if (shaderCaps->fFBFetchSupport && kQualcomm_GrGLVendor == ctxInfo.vendor()) {
2638 shaderCaps->fRequiresLocalOutputColorForFBFetch = true;
2648 shaderCaps->fMustObfuscateUniformColor = true;
2664 shaderCaps->fMustGuardDivisionEvenAfterExplicitZeroCheck = true;
2673 shaderCaps->fCanUseFragCoord = false;
2678 shaderCaps->fCanUseFragCoord = false;
2684 shaderCaps->fIncompleteShortIntPrecision = true;
2688 shaderCaps->fAddAndTrueToLoopCondition = true;
2692 shaderCaps->fUnfoldShortCircuitAsTernary = true;
2696 shaderCaps->fEmulateAbsIntFunction = true;
2700 shaderCaps->fRewriteDoWhileLoops = true;
2704 shaderCaps->fRemovePowWithConstantExponent = true;
2715 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kNotSupported_AdvBlendEqInteraction;
2723 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kNotSupported_AdvBlendEqInteraction;
2728 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kNotSupported_AdvBlendEqInteraction;
2746 this->shaderCaps()->dualSourceBlendingSupport() &&
2747 this->shaderCaps()->pathRenderingSupport() &&
2764 !shaderCaps->fExternalTextureSupport) { // i.e. Missing the _essl3 extension
2765 shaderCaps->fExternalTextureSupport = true;
2766 shaderCaps->fExternalTextureExtensionString = "GL_OES_EGL_image_external";
2767 shaderCaps->fSecondExternalTextureExtensionString = "GL_OES_EGL_image_external_essl3";