Lines Matching refs:Texture
28 * Texture state handling.
74 dst->Texture.CurrentUnit = src->Texture.CurrentUnit;
78 dst->Texture.Unit[u].LodBias = src->Texture.Unit[u].LodBias;
79 dst->Texture.Unit[u].LodBiasQuantized = src->Texture.Unit[u].LodBiasQuantized;
92 _mesa_reference_texobj(&dst->Texture.Unit[u].CurrentTex[tex],
93 src->Texture.Unit[u].CurrentTex[tex]);
94 if (src->Texture.Unit[u].CurrentTex[tex]) {
95 dst->Texture.NumCurrentTexUsed =
96 MAX2(dst->Texture.NumCurrentTexUsed, u + 1);
99 dst->Texture.Unit[u]._BoundTextures = src->Texture.Unit[u]._BoundTextures;
105 dst->Texture.FixedFuncUnit[u].Enabled = src->Texture.FixedFuncUnit[u].Enabled;
106 dst->Texture.FixedFuncUnit[u].EnvMode = src->Texture.FixedFuncUnit[u].EnvMode;
107 COPY_4V(dst->Texture.FixedFuncUnit[u].EnvColor, src->Texture.FixedFuncUnit[u].EnvColor);
108 dst->Texture.FixedFuncUnit[u].TexGenEnabled = src->Texture.FixedFuncUnit[u].TexGenEnabled;
109 dst->Texture.FixedFuncUnit[u].GenS = src->Texture.FixedFuncUnit[u].GenS;
110 dst->Texture.FixedFuncUnit[u].GenT = src->Texture.FixedFuncUnit[u].GenT;
111 dst->Texture.FixedFuncUnit[u].GenR = src->Texture.FixedFuncUnit[u].GenR;
112 dst->Texture.FixedFuncUnit[u].GenQ = src->Texture.FixedFuncUnit[u].GenQ;
113 memcpy(dst->Texture.FixedFuncUnit[u].ObjectPlane,
114 src->Texture.FixedFuncUnit[u].ObjectPlane,
115 sizeof(src->Texture.FixedFuncUnit[u].ObjectPlane));
116 memcpy(dst->Texture.FixedFuncUnit[u].EyePlane,
117 src->Texture.FixedFuncUnit[u].EyePlane,
118 sizeof(src->Texture.FixedFuncUnit[u].EyePlane));
121 dst->Texture.FixedFuncUnit[u].Combine = src->Texture.FixedFuncUnit[u].Combine;
132 const struct gl_fixedfunc_texture_unit *texUnit = ctx->Texture.FixedFuncUnit + unit;
133 printf("Texture Unit %d\n", unit);
157 /* Texture Environment */
302 if (ctx->Texture.CurrentUnit == texUnit)
308 assert(k <= ARRAY_SIZE(ctx->Texture.Unit));
319 * gl_context::Texture::CurrentUnit is not used by
330 ctx->Texture.CurrentUnit = texUnit;
395 GLbitfield old_texmat_enabled = ctx->Texture._TexMatEnabled;
397 ctx->Texture._TexMatEnabled = 0x0;
404 if (ctx->Texture.Unit[u]._Current &&
406 ctx->Texture._TexMatEnabled |= ENABLE_TEXMAT(u);
410 if (old_texmat_enabled != ctx->Texture._TexMatEnabled)
624 &ctx->Texture.FixedFuncUnit[unit];
628 if (!(ctx->Texture._EnabledCoordUnits & (1 << unit)))
645 ctx->Texture._TexGenEnabled |= ENABLE_TEXGEN(unit);
646 ctx->Texture._GenFlags |= texUnit->_GenFlags;
651 ctx->Texture._TexMatEnabled |= ENABLE_TEXMAT(unit);
664 texUnit = &ctx->Texture.Unit[unit];
695 * ("Texture Access"):
721 _mesa_reference_texobj(&ctx->Texture.Unit[unit]._Current, texObj);
723 ctx->Texture._MaxEnabledTexImageUnit =
724 MAX2(ctx->Texture._MaxEnabledTexImageUnit, (int)unit);
768 ctx->Texture._EnabledCoordUnits |=
781 struct gl_texture_unit *texUnit = &ctx->Texture.Unit[unit];
783 &ctx->Texture.FixedFuncUnit[unit];
796 /* From the GL 4.4 compat specification, section 16.2 ("Texture Application"):
848 ctx->Texture._MaxEnabledTexImageUnit =
849 MAX2(ctx->Texture._MaxEnabledTexImageUnit, (int)unit);
851 ctx->Texture._EnabledCoordUnits |= 1 << unit;
869 if (!ctx->Texture.Unit[unit]._Current) {
872 _mesa_reference_texobj(&ctx->Texture.Unit[unit]._Current, texObj);
874 ctx->Texture._MaxEnabledTexImageUnit =
875 MAX2(ctx->Texture._MaxEnabledTexImageUnit, (int)unit);
894 int old_max_unit = ctx->Texture._MaxEnabledTexImageUnit;
907 GLbitfield old_genflags = ctx->Texture._GenFlags;
908 GLbitfield old_enabled_coord_units = ctx->Texture._EnabledCoordUnits;
909 GLbitfield old_texgen_enabled = ctx->Texture._TexGenEnabled;
910 GLbitfield old_texmat_enabled = ctx->Texture._TexMatEnabled;
912 ctx->Texture._GenFlags = 0x0;
913 ctx->Texture._TexMatEnabled = 0x0;
914 ctx->Texture._TexGenEnabled = 0x0;
915 ctx->Texture._MaxEnabledTexImageUnit = -1;
916 ctx->Texture._EnabledCoordUnits = 0x0;
933 for (i = 0; i <= ctx->Texture._MaxEnabledTexImageUnit; i++) {
935 _mesa_reference_texobj(&ctx->Texture.Unit[i]._Current, NULL);
937 for (i = ctx->Texture._MaxEnabledTexImageUnit + 1; i <= old_max_unit; i++) {
938 _mesa_reference_texobj(&ctx->Texture.Unit[i]._Current, NULL);
953 if (old_enabled_coord_units != ctx->Texture._EnabledCoordUnits ||
954 old_texgen_enabled != ctx->Texture._TexGenEnabled ||
955 old_texmat_enabled != ctx->Texture._TexMatEnabled) {
959 if (old_genflags != ctx->Texture._GenFlags)
1007 if (!(ctx->Texture.ProxyTex[tgt]
1011 ctx->Driver.DeleteTexture(ctx, ctx->Texture.ProxyTex[tgt]);
1017 assert(ctx->Texture.ProxyTex[0]->RefCount == 1); /* sanity check */
1030 /* Texture group */
1031 ctx->Texture.CurrentUnit = 0; /* multitexture */
1048 ctx->Texture.CubeMapSeamless = ctx->API == API_OPENGLES2;
1050 for (u = 0; u < ARRAY_SIZE(ctx->Texture.Unit); u++) {
1051 struct gl_texture_unit *texUnit = &ctx->Texture.Unit[u];
1063 for (u = 0; u < ARRAY_SIZE(ctx->Texture.FixedFuncUnit); u++) {
1065 &ctx->Texture.FixedFuncUnit[u];
1107 _mesa_reference_buffer_object(ctx, &ctx->Texture.BufferObject, NULL);
1109 ctx->Texture.NumCurrentTexUsed = 0;
1124 for (u = 0; u < ARRAY_SIZE(ctx->Texture.Unit); u++) {
1126 _mesa_reference_texobj(&ctx->Texture.Unit[u]._Current, NULL);
1129 _mesa_reference_texobj(&ctx->Texture.Unit[u].CurrentTex[tgt], NULL);
1135 ctx->Driver.DeleteTexture(ctx, ctx->Texture.ProxyTex[tgt]);
1138 _mesa_reference_buffer_object(ctx, &ctx->Texture.BufferObject, NULL);
1140 for (u = 0; u < ARRAY_SIZE(ctx->Texture.Unit); u++) {
1141 _mesa_reference_sampler_object(ctx, &ctx->Texture.Unit[u].Sampler, NULL);
1156 for (u = 0; u < ARRAY_SIZE(ctx->Texture.Unit); u++) {
1157 struct gl_texture_unit *texUnit = &ctx->Texture.Unit[u];