Lines Matching refs:shaderCaps

345     GrShaderCaps* shaderCaps = fShaderCaps.get();  in init()  local
347 shaderCaps->fPathRenderingSupport = this->hasPathRenderingSupport(ctxInfo, gli); in init()
351 shaderCaps->fDualSourceBlendingSupport = in init()
356 shaderCaps->fShaderDerivativeSupport = true; in init()
359 shaderCaps->fGeometryShaderSupport = version >= GR_GL_VER(3, 2) && in init()
361 if (shaderCaps->fGeometryShaderSupport) { in init()
363 shaderCaps->fGSInvocationsSupport = true; in init()
365 shaderCaps->fGSInvocationsSupport = true; in init()
366 shaderCaps->fGSInvocationsExtensionString = "GL_ARB_gpu_shader5"; in init()
370 shaderCaps->fIntegerSupport = version >= GR_GL_VER(3, 0) && in init()
373 shaderCaps->fDualSourceBlendingSupport = ctxInfo.hasExtension("GL_EXT_blend_func_extended"); in init()
375 shaderCaps->fShaderDerivativeSupport = version >= GR_GL_VER(3, 0) || in init()
386 shaderCaps->fGeometryShaderSupport = true; in init()
388 shaderCaps->fGeometryShaderSupport = true; in init()
389 shaderCaps->fGeometryShaderExtensionString = "GL_EXT_geometry_shader"; in init()
391 shaderCaps->fGSInvocationsSupport = shaderCaps->fGeometryShaderSupport; in init()
394 shaderCaps->fIntegerSupport = version >= GR_GL_VER(3, 0) && in init()
397 shaderCaps->fShaderDerivativeSupport = version >= GR_GL_VER(2, 0) || in init()
400 shaderCaps->fIntegerSupport = (version >= GR_GL_VER(2, 0)); in init()
415 shaderCaps->fMaxFragmentSamplers = std::min<GrGLint>(kMaxSaneSamplers, maxSamplers); in init()
719 this->applyDriverCorrectnessWorkarounds(ctxInfo, contextOptions, gli, shaderCaps, in init()
730 shaderCaps->fDstReadInShaderSupport = shaderCaps->fFBFetchSupport; in init()
817 GrShaderCaps* shaderCaps = fShaderCaps.get(); in initGLSL() local
818 shaderCaps->fGLSLGeneration = ctxInfo.glslGeneration(); in initGLSL()
823 shaderCaps->fFBFetchNeedsCustomOutput = (version >= GR_GL_VER(3, 0)); in initGLSL()
824 shaderCaps->fFBFetchSupport = true; in initGLSL()
825 shaderCaps->fFBFetchColorName = "gl_LastFragData[0]"; in initGLSL()
826 shaderCaps->fFBFetchExtensionString = "GL_EXT_shader_framebuffer_fetch"; in initGLSL()
830 shaderCaps->fFBFetchNeedsCustomOutput = false; in initGLSL()
831 shaderCaps->fFBFetchSupport = true; in initGLSL()
832 shaderCaps->fFBFetchColorName = "gl_LastFragData[0]"; in initGLSL()
833 shaderCaps->fFBFetchExtensionString = "GL_NV_shader_framebuffer_fetch"; in initGLSL()
837 shaderCaps->fFBFetchNeedsCustomOutput = false; in initGLSL()
838 shaderCaps->fFBFetchSupport = true; in initGLSL()
839 shaderCaps->fFBFetchColorName = "gl_LastFragColorARM"; in initGLSL()
840 shaderCaps->fFBFetchExtensionString = "GL_ARM_shader_framebuffer_fetch"; in initGLSL()
843 shaderCaps->fUsesPrecisionModifiers = true; in initGLSL()
845 shaderCaps->fUsesPrecisionModifiers = true; in initGLSL()
849 shaderCaps->fFlatInterpolationSupport = ctxInfo.glslGeneration() >= k130_GrGLSLGeneration; in initGLSL()
851 shaderCaps->fFlatInterpolationSupport = in initGLSL()
857 shaderCaps->fPreferFlatInterpolation = shaderCaps->fFlatInterpolationSupport && in initGLSL()
861 shaderCaps->fNoPerspectiveInterpolationSupport = in initGLSL()
866 shaderCaps->fNoPerspectiveInterpolationSupport = true; in initGLSL()
867 shaderCaps->fNoPerspectiveInterpolationExtensionString = in initGLSL()
873 shaderCaps->fSampleMaskSupport = ctxInfo.glslGeneration() >= k400_GrGLSLGeneration; in initGLSL()
876 shaderCaps->fSampleMaskSupport = true; in initGLSL()
878 shaderCaps->fSampleMaskSupport = true; in initGLSL()
879 shaderCaps->fSampleVariablesExtensionString = "GL_OES_sample_variables"; in initGLSL()
884 shaderCaps->fTessellationSupport = in initGLSL()
889 shaderCaps->fTessellationSupport = true; in initGLSL()
891 shaderCaps->fTessellationSupport = true; in initGLSL()
892 shaderCaps->fTessellationExtensionString = "GL_OES_tessellation_shader"; in initGLSL()
896 shaderCaps->fVersionDeclString = get_glsl_version_decl_string(standard, in initGLSL()
897 shaderCaps->fGLSLGeneration, in initGLSL()
901 if (k110_GrGLSLGeneration == shaderCaps->fGLSLGeneration) { in initGLSL()
902 shaderCaps->fShaderDerivativeExtensionString = "GL_OES_standard_derivatives"; in initGLSL()
910 shaderCaps->fFragCoordConventionsExtensionString = "GL_ARB_fragment_coord_conventions"; in initGLSL()
914 shaderCaps->fSecondaryOutputExtensionString = "GL_EXT_blend_func_extended"; in initGLSL()
919 shaderCaps->fExternalTextureSupport = true; in initGLSL()
920 shaderCaps->fExternalTextureExtensionString = "GL_OES_EGL_image_external"; in initGLSL()
924 shaderCaps->fExternalTextureSupport = true; in initGLSL()
925 shaderCaps->fExternalTextureExtensionString = "GL_OES_EGL_image_external_essl3"; in initGLSL()
930 shaderCaps->fVertexIDSupport = true; in initGLSL()
933 shaderCaps->fVertexIDSupport = ctxInfo.glslGeneration() >= k330_GrGLSLGeneration; in initGLSL()
937 shaderCaps->fFPManipulationSupport = ctxInfo.glslGeneration() >= k400_GrGLSLGeneration; in initGLSL()
939 shaderCaps->fFPManipulationSupport = ctxInfo.glslGeneration() >= k310es_GrGLSLGeneration; in initGLSL()
942 shaderCaps->fFloatIs32Bits = is_float_fp32(ctxInfo, gli, GR_GL_HIGH_FLOAT); in initGLSL()
943 shaderCaps->fHalfIs32Bits = is_float_fp32(ctxInfo, gli, GR_GL_MEDIUM_FLOAT); in initGLSL()
944 shaderCaps->fHasLowFragmentPrecision = kMali4xx_GrGLRenderer == ctxInfo.renderer(); in initGLSL()
947 shaderCaps->fBuiltinFMASupport = ctxInfo.glslGeneration() >= k400_GrGLSLGeneration; in initGLSL()
949 shaderCaps->fBuiltinFMASupport = ctxInfo.glslGeneration() >= k320es_GrGLSLGeneration; in initGLSL()
1040 GrShaderCaps* shaderCaps = static_cast<GrShaderCaps*>(fShaderCaps.get()); in initBlendEqationSupport() local
1043 if ((GR_IS_GR_GL(fStandard) && shaderCaps->generation() >= k140_GrGLSLGeneration) || in initBlendEqationSupport()
1044 (GR_IS_GR_GL_ES(fStandard) && shaderCaps->generation() >= k330_GrGLSLGeneration)) { in initBlendEqationSupport()
1052 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kAutomatic_AdvBlendEqInteraction; in initBlendEqationSupport()
1056 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kGeneralEnable_AdvBlendEqInteraction; in initBlendEqationSupport()
1059 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kAutomatic_AdvBlendEqInteraction; in initBlendEqationSupport()
1062 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kGeneralEnable_AdvBlendEqInteraction; in initBlendEqationSupport()
3381 GrShaderCaps* shaderCaps, in applyDriverCorrectnessWorkarounds() argument
3403 shaderCaps->fGeometryShaderSupport = false; in applyDriverCorrectnessWorkarounds()
3406 shaderCaps->fGSInvocationsSupport = false; in applyDriverCorrectnessWorkarounds()
3413 shaderCaps->fGeometryShaderSupport = false; in applyDriverCorrectnessWorkarounds()
3592 shaderCaps->fFBFetchSupport = false; in applyDriverCorrectnessWorkarounds()
3600 shaderCaps->fCanUseAnyFunctionInShader = kImagination_GrGLVendor != ctxInfo.vendor(); in applyDriverCorrectnessWorkarounds()
3605 shaderCaps->fFragCoordConventionsExtensionString = nullptr; in applyDriverCorrectnessWorkarounds()
3611 shaderCaps->fCanUseMinAndAbsTogether = false; in applyDriverCorrectnessWorkarounds()
3615 shaderCaps->fCanUseFractForNegativeValues = false; in applyDriverCorrectnessWorkarounds()
3621 shaderCaps->fMustForceNegatedAtanParamToFloat = true; in applyDriverCorrectnessWorkarounds()
3628 shaderCaps->fMustDoOpBetweenFloorAndAbs = true; in applyDriverCorrectnessWorkarounds()
3634 if (shaderCaps->fFBFetchSupport && kQualcomm_GrGLVendor == ctxInfo.vendor()) { in applyDriverCorrectnessWorkarounds()
3635 shaderCaps->fRequiresLocalOutputColorForFBFetch = true; in applyDriverCorrectnessWorkarounds()
3645 shaderCaps->fMustObfuscateUniformColor = true; in applyDriverCorrectnessWorkarounds()
3669 shaderCaps->fMustGuardDivisionEvenAfterExplicitZeroCheck = true; in applyDriverCorrectnessWorkarounds()
3676 shaderCaps->fInBlendModesFailRandomlyForAllZeroVec = true; in applyDriverCorrectnessWorkarounds()
3684 shaderCaps->fCanUseFragCoord = false; in applyDriverCorrectnessWorkarounds()
3689 shaderCaps->fCanUseFragCoord = false; in applyDriverCorrectnessWorkarounds()
3695 shaderCaps->fIncompleteShortIntPrecision = true; in applyDriverCorrectnessWorkarounds()
3699 shaderCaps->fAddAndTrueToLoopCondition = true; in applyDriverCorrectnessWorkarounds()
3703 shaderCaps->fUnfoldShortCircuitAsTernary = true; in applyDriverCorrectnessWorkarounds()
3707 shaderCaps->fEmulateAbsIntFunction = true; in applyDriverCorrectnessWorkarounds()
3711 shaderCaps->fRewriteDoWhileLoops = true; in applyDriverCorrectnessWorkarounds()
3715 shaderCaps->fRemovePowWithConstantExponent = true; in applyDriverCorrectnessWorkarounds()
3719 shaderCaps->fDualSourceBlendingSupport = false; in applyDriverCorrectnessWorkarounds()
3724 shaderCaps->fMustWriteToFragColor = true; in applyDriverCorrectnessWorkarounds()
3735 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kNotSupported_AdvBlendEqInteraction; in applyDriverCorrectnessWorkarounds()
3743 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kNotSupported_AdvBlendEqInteraction; in applyDriverCorrectnessWorkarounds()
3748 shaderCaps->fAdvBlendEqInteraction = GrShaderCaps::kNotSupported_AdvBlendEqInteraction; in applyDriverCorrectnessWorkarounds()
3766 this->shaderCaps()->dualSourceBlendingSupport() && in applyDriverCorrectnessWorkarounds()
3767 this->shaderCaps()->pathRenderingSupport() && in applyDriverCorrectnessWorkarounds()
3783 !shaderCaps->fExternalTextureSupport) { // i.e. Missing the _essl3 extension in applyDriverCorrectnessWorkarounds()
3784 shaderCaps->fExternalTextureSupport = true; in applyDriverCorrectnessWorkarounds()
3785 shaderCaps->fExternalTextureExtensionString = "GL_OES_EGL_image_external"; in applyDriverCorrectnessWorkarounds()
3786 shaderCaps->fSecondExternalTextureExtensionString = "GL_OES_EGL_image_external_essl3"; in applyDriverCorrectnessWorkarounds()
3825 shaderCaps->fTessellationSupport = false; in applyDriverCorrectnessWorkarounds()
3832 shaderCaps->fTessellationSupport = false; in applyDriverCorrectnessWorkarounds()
3840 shaderCaps->fTessellationSupport = false; in applyDriverCorrectnessWorkarounds()
3853 shaderCaps->fMustWriteToFragColor = true; in applyDriverCorrectnessWorkarounds()
3861 shaderCaps->fNoPerspectiveInterpolationSupport = false; in applyDriverCorrectnessWorkarounds()
3924 shaderCaps->fNoDefaultPrecisionForExternalSamplers = true; in applyDriverCorrectnessWorkarounds()
3947 shaderCaps->fCanOnlyUseSampleMaskWithStencil = true; in applyDriverCorrectnessWorkarounds()