Lines Matching refs:Texture
28 * Texture state handling.
76 dst->Texture.CurrentUnit = src->Texture.CurrentUnit;
80 dst->Texture.Unit[u].LodBias = src->Texture.Unit[u].LodBias;
81 dst->Texture.Unit[u].LodBiasQuantized = src->Texture.Unit[u].LodBiasQuantized;
94 _mesa_reference_texobj(&dst->Texture.Unit[u].CurrentTex[tex],
95 src->Texture.Unit[u].CurrentTex[tex]);
96 if (src->Texture.Unit[u].CurrentTex[tex]) {
97 dst->Texture.NumCurrentTexUsed =
98 MAX2(dst->Texture.NumCurrentTexUsed, u + 1);
101 dst->Texture.Unit[u]._BoundTextures = src->Texture.Unit[u]._BoundTextures;
107 dst->Texture.FixedFuncUnit[u].Enabled = src->Texture.FixedFuncUnit[u].Enabled;
108 dst->Texture.FixedFuncUnit[u].EnvMode = src->Texture.FixedFuncUnit[u].EnvMode;
109 COPY_4V(dst->Texture.FixedFuncUnit[u].EnvColor, src->Texture.FixedFuncUnit[u].EnvColor);
110 dst->Texture.FixedFuncUnit[u].TexGenEnabled = src->Texture.FixedFuncUnit[u].TexGenEnabled;
111 dst->Texture.FixedFuncUnit[u].GenS = src->Texture.FixedFuncUnit[u].GenS;
112 dst->Texture.FixedFuncUnit[u].GenT = src->Texture.FixedFuncUnit[u].GenT;
113 dst->Texture.FixedFuncUnit[u].GenR = src->Texture.FixedFuncUnit[u].GenR;
114 dst->Texture.FixedFuncUnit[u].GenQ = src->Texture.FixedFuncUnit[u].GenQ;
115 memcpy(dst->Texture.FixedFuncUnit[u].ObjectPlane,
116 src->Texture.FixedFuncUnit[u].ObjectPlane,
117 sizeof(src->Texture.FixedFuncUnit[u].ObjectPlane));
118 memcpy(dst->Texture.FixedFuncUnit[u].EyePlane,
119 src->Texture.FixedFuncUnit[u].EyePlane,
120 sizeof(src->Texture.FixedFuncUnit[u].EyePlane));
123 dst->Texture.FixedFuncUnit[u].Combine = src->Texture.FixedFuncUnit[u].Combine;
134 const struct gl_fixedfunc_texture_unit *texUnit = ctx->Texture.FixedFuncUnit + unit;
135 printf("Texture Unit %d\n", unit);
159 /* Texture Environment */
304 if (ctx->Texture.CurrentUnit == texUnit)
310 assert(k <= ARRAY_SIZE(ctx->Texture.Unit));
321 * gl_context::Texture::CurrentUnit is not used by
332 ctx->Texture.CurrentUnit = texUnit;
397 GLbitfield old_texmat_enabled = ctx->Texture._TexMatEnabled;
399 ctx->Texture._TexMatEnabled = 0x0;
406 if (ctx->Texture.Unit[u]._Current &&
408 ctx->Texture._TexMatEnabled |= ENABLE_TEXMAT(u);
412 if (old_texmat_enabled != ctx->Texture._TexMatEnabled)
626 &ctx->Texture.FixedFuncUnit[unit];
630 if (!(ctx->Texture._EnabledCoordUnits & (1 << unit)))
647 ctx->Texture._TexGenEnabled |= ENABLE_TEXGEN(unit);
648 ctx->Texture._GenFlags |= texUnit->_GenFlags;
653 ctx->Texture._TexMatEnabled |= ENABLE_TEXMAT(unit);
666 texUnit = &ctx->Texture.Unit[unit];
697 * ("Texture Access"):
723 _mesa_reference_texobj(&ctx->Texture.Unit[unit]._Current, texObj);
725 ctx->Texture._MaxEnabledTexImageUnit =
726 MAX2(ctx->Texture._MaxEnabledTexImageUnit, (int)unit);
770 ctx->Texture._EnabledCoordUnits |=
783 struct gl_texture_unit *texUnit = &ctx->Texture.Unit[unit];
785 &ctx->Texture.FixedFuncUnit[unit];
798 /* From the GL 4.4 compat specification, section 16.2 ("Texture Application"):
850 ctx->Texture._MaxEnabledTexImageUnit =
851 MAX2(ctx->Texture._MaxEnabledTexImageUnit, (int)unit);
853 ctx->Texture._EnabledCoordUnits |= 1 << unit;
871 if (!ctx->Texture.Unit[unit]._Current) {
874 _mesa_reference_texobj(&ctx->Texture.Unit[unit]._Current, texObj);
876 ctx->Texture._MaxEnabledTexImageUnit =
877 MAX2(ctx->Texture._MaxEnabledTexImageUnit, (int)unit);
896 int old_max_unit = ctx->Texture._MaxEnabledTexImageUnit;
909 GLbitfield old_genflags = ctx->Texture._GenFlags;
910 GLbitfield old_enabled_coord_units = ctx->Texture._EnabledCoordUnits;
911 GLbitfield old_texgen_enabled = ctx->Texture._TexGenEnabled;
912 GLbitfield old_texmat_enabled = ctx->Texture._TexMatEnabled;
914 ctx->Texture._GenFlags = 0x0;
915 ctx->Texture._TexMatEnabled = 0x0;
916 ctx->Texture._TexGenEnabled = 0x0;
917 ctx->Texture._MaxEnabledTexImageUnit = -1;
918 ctx->Texture._EnabledCoordUnits = 0x0;
935 for (i = 0; i <= ctx->Texture._MaxEnabledTexImageUnit; i++) {
937 _mesa_reference_texobj(&ctx->Texture.Unit[i]._Current, NULL);
939 for (i = ctx->Texture._MaxEnabledTexImageUnit + 1; i <= old_max_unit; i++) {
940 _mesa_reference_texobj(&ctx->Texture.Unit[i]._Current, NULL);
955 if (old_enabled_coord_units != ctx->Texture._EnabledCoordUnits ||
956 old_texgen_enabled != ctx->Texture._TexGenEnabled ||
957 old_texmat_enabled != ctx->Texture._TexMatEnabled) {
961 if (old_genflags != ctx->Texture._GenFlags)
1009 if (!(ctx->Texture.ProxyTex[tgt]
1013 _mesa_delete_texture_object(ctx, ctx->Texture.ProxyTex[tgt]);
1019 assert(ctx->Texture.ProxyTex[0]->RefCount == 1); /* sanity check */
1032 /* Texture group */
1033 ctx->Texture.CurrentUnit = 0; /* multitexture */
1050 ctx->Texture.CubeMapSeamless = ctx->API == API_OPENGLES2;
1052 for (u = 0; u < ARRAY_SIZE(ctx->Texture.Unit); u++) {
1053 struct gl_texture_unit *texUnit = &ctx->Texture.Unit[u];
1065 for (u = 0; u < ARRAY_SIZE(ctx->Texture.FixedFuncUnit); u++) {
1067 &ctx->Texture.FixedFuncUnit[u];
1109 _mesa_reference_buffer_object(ctx, &ctx->Texture.BufferObject, NULL);
1111 ctx->Texture.NumCurrentTexUsed = 0;
1126 for (u = 0; u < ARRAY_SIZE(ctx->Texture.Unit); u++) {
1128 _mesa_reference_texobj(&ctx->Texture.Unit[u]._Current, NULL);
1131 _mesa_reference_texobj(&ctx->Texture.Unit[u].CurrentTex[tgt], NULL);
1137 _mesa_delete_texture_object(ctx, ctx->Texture.ProxyTex[tgt]);
1140 _mesa_reference_buffer_object(ctx, &ctx->Texture.BufferObject, NULL);
1142 for (u = 0; u < ARRAY_SIZE(ctx->Texture.Unit); u++) {
1143 _mesa_reference_sampler_object(ctx, &ctx->Texture.Unit[u].Sampler, NULL);
1158 for (u = 0; u < ARRAY_SIZE(ctx->Texture.Unit); u++) {
1159 struct gl_texture_unit *texUnit = &ctx->Texture.Unit[u];