Lines Matching refs:bitmask
550 * Given a face and pname value (ala glColorMaterial), compute a bitmask
557 GLuint bitmask = 0;
559 /* Make a bitmask indicating what material attribute(s) we're updating */
562 bitmask |= MAT_BIT_FRONT_EMISSION | MAT_BIT_BACK_EMISSION;
565 bitmask |= MAT_BIT_FRONT_AMBIENT | MAT_BIT_BACK_AMBIENT;
568 bitmask |= MAT_BIT_FRONT_DIFFUSE | MAT_BIT_BACK_DIFFUSE;
571 bitmask |= MAT_BIT_FRONT_SPECULAR | MAT_BIT_BACK_SPECULAR;
574 bitmask |= MAT_BIT_FRONT_SHININESS | MAT_BIT_BACK_SHININESS;
577 bitmask |= MAT_BIT_FRONT_AMBIENT | MAT_BIT_BACK_AMBIENT;
578 bitmask |= MAT_BIT_FRONT_DIFFUSE | MAT_BIT_BACK_DIFFUSE;
581 bitmask |= MAT_BIT_FRONT_INDEXES | MAT_BIT_BACK_INDEXES;
589 bitmask &= FRONT_MATERIAL_BITS;
592 bitmask &= BACK_MATERIAL_BITS;
599 if (bitmask & ~legal) {
604 return bitmask;
612 _mesa_update_material( struct gl_context *ctx, GLuint bitmask )
617 _mesa_debug(ctx, "_mesa_update_material, mask 0x%x\n", bitmask);
619 if (!bitmask)
623 if (bitmask & MAT_BIT_FRONT_AMBIENT) {
633 if (bitmask & MAT_BIT_BACK_AMBIENT) {
644 if (bitmask & (MAT_BIT_FRONT_EMISSION | MAT_BIT_FRONT_AMBIENT)) {
650 if (bitmask & (MAT_BIT_BACK_EMISSION | MAT_BIT_BACK_AMBIENT)) {
657 if (bitmask & MAT_BIT_FRONT_DIFFUSE) {
667 if (bitmask & MAT_BIT_BACK_DIFFUSE) {
678 if (bitmask & MAT_BIT_FRONT_SPECULAR) {
688 if (bitmask & MAT_BIT_BACK_SPECULAR) {
702 * according to the bitmask in _ColorMaterialBitmask, which is
708 GLbitfield bitmask = ctx->Light._ColorMaterialBitmask;
711 while (bitmask) {
712 const int i = u_bit_scan(&bitmask);
717 _mesa_update_material( ctx, bitmask );
725 GLuint bitmask;
736 bitmask = _mesa_material_bitmask(ctx, face, mode, legal, "glColorMaterial");
737 if (bitmask == 0)
740 if (ctx->Light._ColorMaterialBitmask == bitmask &&
746 ctx->Light._ColorMaterialBitmask = bitmask;