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 =
762 shaderCaps->fSampleVariablesSupport = ctxInfo.glslGeneration() >= k400_GrGLSLGeneration;
765 shaderCaps->fSampleVariablesSupport = true;
767 shaderCaps->fSampleVariablesSupport = true;
768 shaderCaps->fSampleVariablesExtensionString = "GL_OES_sample_variables";
772 shaderCaps->fVersionDeclString = get_glsl_version_decl_string(standard,
773 shaderCaps->fGLSLGeneration,
776 if (kGLES_GrGLStandard == standard && k110_GrGLSLGeneration == shaderCaps->fGLSLGeneration) {
777 shaderCaps->fShaderDerivativeExtensionString = "GL_OES_standard_derivatives";
784 shaderCaps->fFragCoordConventionsExtensionString = "GL_ARB_fragment_coord_conventions";
788 shaderCaps->fSecondaryOutputExtensionString = "GL_EXT_blend_func_extended";
793 shaderCaps->fExternalTextureSupport = true;
794 shaderCaps->fExternalTextureExtensionString = "GL_OES_EGL_image_external";
798 shaderCaps->fExternalTextureSupport = true;
799 shaderCaps->fExternalTextureExtensionString = "GL_OES_EGL_image_external_essl3";
804 shaderCaps->fVertexIDSupport = true;
807 shaderCaps->fVertexIDSupport = ctxInfo.glslGeneration() >= k330_GrGLSLGeneration;
811 shaderCaps->fFPManipulationSupport = ctxInfo.glslGeneration() >= k400_GrGLSLGeneration;
813 shaderCaps->fFPManipulationSupport = ctxInfo.glslGeneration() >= k310es_GrGLSLGeneration;
816 shaderCaps->fFloatIs32Bits = is_float_fp32(ctxInfo, gli, GR_GL_HIGH_FLOAT);
817 shaderCaps->fHalfIs32Bits = is_float_fp32(ctxInfo, gli, GR_GL_MEDIUM_FLOAT);
818 shaderCaps->fHasLowFragmentPrecision = kMali4xx_GrGLRenderer == ctxInfo.renderer();
821 shaderCaps->fUnsignedSupport = ctxInfo.glslGeneration() >= k130_GrGLSLGeneration;
824 shaderCaps->fBuiltinFMASupport = ctxInfo.glslGeneration() >= k400_GrGLSLGeneration;
826 shaderCaps->fBuiltinFMASupport = ctxInfo.glslGeneration() >= k320es_GrGLSLGeneration;
942 this->shaderCaps()->dualSourceBlendingSupport() &&
943 this->shaderCaps()->pathRenderingSupport()
1004 GrShaderCaps* shaderCaps = static_cast<GrShaderCaps*>(fShaderCaps.get());
1007 if ((kGL_GrGLStandard == fStandard && shaderCaps->generation() >= k140_GrGLSLGeneration) ||
1008 (kGLES_GrGLStandard == fStandard && shaderCaps->generation() >= k330_GrGLSLGeneration)) {
1014 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kAutomatic_AdvBlendEqInteraction;
1018 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kGeneralEnable_AdvBlendEqInteraction;
1021 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kAutomatic_AdvBlendEqInteraction;
1024 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kGeneralEnable_AdvBlendEqInteraction;
1279 GrShaderCaps* shaderCaps) {
2037 shaderCaps->fConfigTextureSwizzle[i] = fConfigTable[i].fSwizzle;
2049 shaderCaps->fConfigOutputSwizzle[i] = GrSwizzle::AAAA();
2283 if (this->shaderCaps()->configOutputSwizzle(src->config()) !=
2284 this->shaderCaps()->configOutputSwizzle(dst->config())) {
2410 GrShaderCaps* shaderCaps) {
2444 shaderCaps->fGeometryShaderSupport = false;
2447 shaderCaps->fGSInvocationsSupport = false;
2454 shaderCaps->fGeometryShaderSupport = false;
2610 shaderCaps->fFBFetchSupport = false;
2614 shaderCaps->fDropsTileOnZeroDivide = kQualcomm_GrGLVendor == ctxInfo.vendor();
2621 shaderCaps->fCanUseAnyFunctionInShader = kImagination_GrGLVendor != ctxInfo.vendor();
2626 shaderCaps->fFragCoordConventionsExtensionString = nullptr;
2632 shaderCaps->fCanUseMinAndAbsTogether = false;
2636 shaderCaps->fCanUseFractForNegativeValues = false;
2642 shaderCaps->fMustForceNegatedAtanParamToFloat = true;
2649 shaderCaps->fMustDoOpBetweenFloorAndAbs = true;
2655 if (shaderCaps->fFBFetchSupport && kQualcomm_GrGLVendor == ctxInfo.vendor()) {
2656 shaderCaps->fRequiresLocalOutputColorForFBFetch = true;
2666 shaderCaps->fMustObfuscateUniformColor = true;
2682 shaderCaps->fMustGuardDivisionEvenAfterExplicitZeroCheck = true;
2691 shaderCaps->fCanUseFragCoord = false;
2696 shaderCaps->fCanUseFragCoord = false;
2702 shaderCaps->fIncompleteShortIntPrecision = true;
2706 shaderCaps->fAddAndTrueToLoopCondition = true;
2710 shaderCaps->fUnfoldShortCircuitAsTernary = true;
2714 shaderCaps->fEmulateAbsIntFunction = true;
2718 shaderCaps->fRewriteDoWhileLoops = true;
2722 shaderCaps->fRemovePowWithConstantExponent = true;
2733 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kNotSupported_AdvBlendEqInteraction;
2741 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kNotSupported_AdvBlendEqInteraction;
2746 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kNotSupported_AdvBlendEqInteraction;
2764 this->shaderCaps()->dualSourceBlendingSupport() &&
2765 this->shaderCaps()->pathRenderingSupport() &&
2782 !shaderCaps->fExternalTextureSupport) { // i.e. Missing the _essl3 extension
2783 shaderCaps->fExternalTextureSupport = true;
2784 shaderCaps->fExternalTextureExtensionString = "GL_OES_EGL_image_external";
2785 shaderCaps->fSecondExternalTextureExtensionString = "GL_OES_EGL_image_external_essl3";