Lines Matching refs:Stencil

28  * Stencil operations.
116 ctx->Stencil.Clear = (GLuint) s;
131 * __struct gl_contextRec::Stencil. On change flushes the vertices and notifies
154 if (ctx->Stencil.Function[0] == frontfunc &&
155 ctx->Stencil.Function[1] == backfunc &&
156 ctx->Stencil.ValueMask[0] == mask &&
157 ctx->Stencil.ValueMask[1] == mask &&
158 ctx->Stencil.Ref[0] == ref &&
159 ctx->Stencil.Ref[1] == ref)
164 ctx->Stencil.Function[0] = frontfunc;
165 ctx->Stencil.Function[1] = backfunc;
166 ctx->Stencil.Ref[0] = ctx->Stencil.Ref[1] = ref;
167 ctx->Stencil.ValueMask[0] = ctx->Stencil.ValueMask[1] = mask;
187 * __struct gl_contextRec::Stencil. On change flushes the vertices and notifies
193 const GLint face = ctx->Stencil.ActiveFace;
196 if (ctx->Stencil.Function[face] == func &&
197 ctx->Stencil.ValueMask[face] == mask &&
198 ctx->Stencil.Ref[face] == ref)
203 ctx->Stencil.Function[face] = func;
204 ctx->Stencil.Ref[face] = ref;
205 ctx->Stencil.ValueMask[face] = mask;
210 if (ctx->Driver.StencilFuncSeparate && ctx->Stencil.TestTwoSide) {
216 if (ctx->Stencil.Function[0] == func &&
217 ctx->Stencil.Function[1] == func &&
218 ctx->Stencil.ValueMask[0] == mask &&
219 ctx->Stencil.ValueMask[1] == mask &&
220 ctx->Stencil.Ref[0] == ref &&
221 ctx->Stencil.Ref[1] == ref)
226 ctx->Stencil.Function[0] = ctx->Stencil.Function[1] = func;
227 ctx->Stencil.Ref[0] = ctx->Stencil.Ref[1] = ref;
228 ctx->Stencil.ValueMask[0] = ctx->Stencil.ValueMask[1] = mask;
231 ((ctx->Stencil.TestTwoSide)
279 const GLint face = ctx->Stencil.ActiveFace;
287 if (ctx->Stencil.WriteMask[face] == mask)
292 ctx->Stencil.WriteMask[face] = mask;
297 if (ctx->Driver.StencilMaskSeparate && ctx->Stencil.TestTwoSide) {
303 if (ctx->Stencil.WriteMask[0] == mask &&
304 ctx->Stencil.WriteMask[1] == mask)
309 ctx->Stencil.WriteMask[0] = ctx->Stencil.WriteMask[1] = mask;
312 ((ctx->Stencil.TestTwoSide)
331 * __struct gl_contextRec::Stencil. On change flushes the vertices and notifies
337 const GLint face = ctx->Stencil.ActiveFace;
341 if (ctx->Stencil.ZFailFunc[face] == zfail &&
342 ctx->Stencil.ZPassFunc[face] == zpass &&
343 ctx->Stencil.FailFunc[face] == fail)
348 ctx->Stencil.ZFailFunc[face] = zfail;
349 ctx->Stencil.ZPassFunc[face] = zpass;
350 ctx->Stencil.FailFunc[face] = fail;
355 if (ctx->Driver.StencilOpSeparate && ctx->Stencil.TestTwoSide) {
361 if (ctx->Stencil.ZFailFunc[0] == zfail &&
362 ctx->Stencil.ZFailFunc[1] == zfail &&
363 ctx->Stencil.ZPassFunc[0] == zpass &&
364 ctx->Stencil.ZPassFunc[1] == zpass &&
365 ctx->Stencil.FailFunc[0] == fail &&
366 ctx->Stencil.FailFunc[1] == fail)
371 ctx->Stencil.ZFailFunc[0] = ctx->Stencil.ZFailFunc[1] = zfail;
372 ctx->Stencil.ZPassFunc[0] = ctx->Stencil.ZPassFunc[1] = zpass;
373 ctx->Stencil.FailFunc[0] = ctx->Stencil.FailFunc[1] = fail;
376 ((ctx->Stencil.TestTwoSide)
434 ctx->Stencil.ActiveFace = (face == GL_FRONT) ? 0 : 2;
450 if (ctx->Stencil.ZFailFunc[0] != zfail ||
451 ctx->Stencil.ZPassFunc[0] != zpass ||
452 ctx->Stencil.FailFunc[0] != sfail){
456 ctx->Stencil.ZFailFunc[0] = zfail;
457 ctx->Stencil.ZPassFunc[0] = zpass;
458 ctx->Stencil.FailFunc[0] = sfail;
465 if (ctx->Stencil.ZFailFunc[1] != zfail ||
466 ctx->Stencil.ZPassFunc[1] != zpass ||
467 ctx->Stencil.FailFunc[1] != sfail) {
471 ctx->Stencil.ZFailFunc[1] = zfail;
472 ctx->Stencil.ZPassFunc[1] = zpass;
473 ctx->Stencil.FailFunc[1] = sfail;
535 ctx->Stencil.Function[0] = func;
536 ctx->Stencil.Ref[0] = ref;
537 ctx->Stencil.ValueMask[0] = mask;
542 ctx->Stencil.Function[1] = func;
543 ctx->Stencil.Ref[1] = ref;
544 ctx->Stencil.ValueMask[1] = mask;
593 ctx->Stencil.WriteMask[0] = mask;
597 ctx->Stencil.WriteMask[1] = mask;
637 * Initializes __struct gl_contextRec::Stencil attribute group.
642 ctx->Stencil.Enabled = GL_FALSE;
643 ctx->Stencil.TestTwoSide = GL_FALSE;
644 ctx->Stencil.ActiveFace = 0; /* 0 = GL_FRONT, 2 = GL_BACK */
645 ctx->Stencil.Function[0] = GL_ALWAYS;
646 ctx->Stencil.Function[1] = GL_ALWAYS;
647 ctx->Stencil.Function[2] = GL_ALWAYS;
648 ctx->Stencil.FailFunc[0] = GL_KEEP;
649 ctx->Stencil.FailFunc[1] = GL_KEEP;
650 ctx->Stencil.FailFunc[2] = GL_KEEP;
651 ctx->Stencil.ZPassFunc[0] = GL_KEEP;
652 ctx->Stencil.ZPassFunc[1] = GL_KEEP;
653 ctx->Stencil.ZPassFunc[2] = GL_KEEP;
654 ctx->Stencil.ZFailFunc[0] = GL_KEEP;
655 ctx->Stencil.ZFailFunc[1] = GL_KEEP;
656 ctx->Stencil.ZFailFunc[2] = GL_KEEP;
657 ctx->Stencil.Ref[0] = 0;
658 ctx->Stencil.Ref[1] = 0;
659 ctx->Stencil.Ref[2] = 0;
661 /* 4.1.4 Stencil Test section of the GL-ES 3.0 specification says:
671 ctx->Stencil.ValueMask[0] = 0xFF;
672 ctx->Stencil.ValueMask[1] = 0xFF;
673 ctx->Stencil.ValueMask[2] = 0xFF;
674 ctx->Stencil.WriteMask[0] = 0xFF;
675 ctx->Stencil.WriteMask[1] = 0xFF;
676 ctx->Stencil.WriteMask[2] = 0xFF;
678 ctx->Stencil.Clear = 0;
679 ctx->Stencil._BackFace = 1;