/external/mesa3d/src/mesa/main/ |
stencil.c | 27 * \file stencil.c 28 * Stencil operations. 31 * OpenGL 2.0's two-sided stencil feature. 43 * This problem is solved by keeping three sets of stencil state: 54 #include "stencil.h" 97 * Set the clear value for the stencil buffer. 115 ctx->Stencil.Clear = (GLuint) s; 120 * Set the function and reference value for stencil testing. 130 * __struct gl_contextRec::Stencil. On change flushes the vertices and notifies 153 if (ctx->Stencil.Function[0] == frontfunc & [all...] |
stencil.h | 2 * \file stencil.h 3 * Stencil operations. 83 * "Stencil comparison operations and queries of <ref> clamp its value 85 * stencil buffer attached to the draw framebuffer." 92 GLint ref = ctx->Stencil.Ref[face];
|
clear.c | 322 * Clear signed integer color buffer or stencil buffer (not depth). 343 * STENCIL, or DEPTH STENCIL and drawbuffer is not zero." 352 /* Save current stencil clear value, set to 'value', do the 353 * stencil clear and restore the clear value. 357 const GLuint clearSave = ctx->Stencil.Clear; 358 ctx->Stencil.Clear = *value; 360 ctx->Stencil.Clear = clearSave; 390 * ClearNamedFramebufferiv if buffer is not COLOR or STENCIL." 419 * Clear unsigned integer color buffer (not depth, not stencil) [all...] |
/external/mesa3d/src/mesa/drivers/dri/i965/ |
gen6_depthstencil.c | 50 if (ctx->Stencil._Enabled) { 51 int back = ctx->Stencil._BackFace; 55 intel_translate_compare_func(ctx->Stencil.Function[0]); 57 intel_translate_stencil_op(ctx->Stencil.FailFunc[0]); 59 intel_translate_stencil_op(ctx->Stencil.ZFailFunc[0]); 61 intel_translate_stencil_op(ctx->Stencil.ZPassFunc[0]); 62 ds->ds1.stencil_write_mask = ctx->Stencil.WriteMask[0]; 63 ds->ds1.stencil_test_mask = ctx->Stencil.ValueMask[0]; 65 if (ctx->Stencil._TestTwoSide) { 68 intel_translate_compare_func(ctx->Stencil.Function[back]) [all...] |
brw_cc.c | 38 #include "main/stencil.h" 124 if (ctx->Stencil._Enabled) { 125 const unsigned back = ctx->Stencil._BackFace; 129 intel_translate_compare_func(ctx->Stencil.Function[0]); 131 intel_translate_stencil_op(ctx->Stencil.FailFunc[0]); 133 intel_translate_stencil_op(ctx->Stencil.ZFailFunc[0]); 135 intel_translate_stencil_op(ctx->Stencil.ZPassFunc[0]); 137 cc->cc1.stencil_write_mask = ctx->Stencil.WriteMask[0]; 138 cc->cc1.stencil_test_mask = ctx->Stencil.ValueMask[0]; 140 if (ctx->Stencil._TestTwoSide) [all...] |
gen8_wm_depth_stencil.c | 29 #include "main/stencil.h" 41 struct gl_stencil_attrib *stencil = &ctx->Stencil; local 44 if (stencil->_Enabled) { 50 FUNC(stencil->Function[0]) << GEN8_WM_DS_STENCIL_FUNC_SHIFT | 51 OP(stencil->FailFunc[0]) << GEN8_WM_DS_STENCIL_FAIL_OP_SHIFT | 52 OP(stencil->ZFailFunc[0]) << GEN8_WM_DS_Z_FAIL_OP_SHIFT | 53 OP(stencil->ZPassFunc[0]) << GEN8_WM_DS_Z_PASS_OP_SHIFT; 55 if (stencil->_WriteEnabled) 59 SET_FIELD(stencil->WriteMask[0] & 0xff, GEN8_WM_DS_STENCIL_WRITE_MASK) [all...] |
intel_pixel.c | 110 if (ctx->Stencil._Enabled) { 111 DBG("fallback due to image stencil\n");
|
gen8_depth_state.c | 54 /* Skip repeated NULL depth/stencil emits (think 2D rendering). */ 114 /* The stencil buffer has quirky pitch requirements. From the Graphics 115 * BSpec: vol2a.11 3D Pipeline Windower > Early Depth/Stencil Processing 116 * > Depth/Stencil Buffer State > 3DSTATE_STENCIL_BUFFER [DevIVB+], 120 * the stencil buffer is stored with two rows interleaved. 222 stencil_mt, ctx->Stencil._WriteEnabled, 258 /* 3DSTATE_WM::Early Depth/Stencil Control != EDSC_PREPS (2). */ 286 * !DEPTH_STENCIL_STATE::Stencil Buffer Write Enable || 287 * !3DSTATE_DEPTH_BUFFER::Stencil Buffer Enable || 288 * !3DSTATE_STENCIL_BUFFER::Stencil Buffer Enabl [all...] |
/frameworks/base/libs/hwui/renderstate/ |
Stencil.cpp | 17 #include "renderstate/Stencil.h" 37 uint8_t Stencil::getStencilSize() { 45 * Layers can't use a single bit stencil because multi-rect ClipArea needs a high enough 46 * stencil resolution to represent the summation of multiple intersecting rect geometries. 48 GLenum Stencil::getLayerStencilFormat() { 58 void Stencil::clear() { 64 // reset to test state, with immutable stencil 69 void Stencil::enableTest(int incrementThreshold) { 85 void Stencil::enableWrite(int incrementThreshold) { 103 void Stencil::enableDebugTest(GLint value, bool greater) [all...] |
Stencil.h | 28 // Stencil buffer management 31 class ANDROID_API Stencil { 34 * Returns the desired size for the stencil buffer. If the returned value 35 * is 0, then no stencil buffer is required. 42 * Clears the stencil buffer. 47 * Enables stencil test. When the stencil test is enabled the stencil buffer is not written 48 * into. An increment threshold of zero causes the stencil to use a constant reference value 49 * and GL_EQUAL for the test. A non-zero increment threshold causes the stencil to use tha [all...] |
RenderState.h | 26 #include "renderstate/Stencil.h" 114 Stencil& stencil() { return *mStencil; } function in class:android::uirenderer::RenderState 137 Stencil* mStencil = nullptr;
|
/external/mesa3d/src/mesa/state_tracker/ |
st_atom_depth.c | 45 #include "main/stencil.h" 70 * Convert GLenum stencil op tokens to pipe tokens. 121 if (ctx->Stencil.Enabled && ctx->DrawBuffer->Visual.stencilBits > 0) { 122 dsa->stencil[0].enabled = 1; 123 dsa->stencil[0].func = st_compare_func_to_pipe(ctx->Stencil.Function[0]); 124 dsa->stencil[0].fail_op = gl_stencil_op_to_pipe(ctx->Stencil.FailFunc[0]); 125 dsa->stencil[0].zfail_op = gl_stencil_op_to_pipe(ctx->Stencil.ZFailFunc[0]) [all...] |
st_cb_clear.c | 194 stencil ? "stencil" : "", 256 depth_stencil.stencil[0].enabled = 1; 257 depth_stencil.stencil[0].func = PIPE_FUNC_ALWAYS; 258 depth_stencil.stencil[0].fail_op = PIPE_STENCIL_OP_REPLACE; 259 depth_stencil.stencil[0].zpass_op = PIPE_STENCIL_OP_REPLACE; 260 depth_stencil.stencil[0].zfail_op = PIPE_STENCIL_OP_REPLACE; 261 depth_stencil.stencil[0].valuemask = 0xff; 262 depth_stencil.stencil[0].writemask = ctx->Stencil.WriteMask[0] & 0xff [all...] |
/external/mesa3d/src/mesa/drivers/dri/nouveau/ |
nv04_state_raster.c | 33 #include "main/stencil.h" 174 /* Stencil test. */ 175 if (ctx->Stencil.WriteMask[0]) 178 if (ctx->Stencil._Enabled) 181 nv04->ctrl[1] |= get_comparison_op(ctx->Stencil.Function[0]) << 4 | 183 ctx->Stencil.ValueMask[0] << 16 | 184 ctx->Stencil.WriteMask[0] << 24; 186 nv04->ctrl[2] |= get_stencil_op(ctx->Stencil.ZPassFunc[0]) << 8 | 187 get_stencil_op(ctx->Stencil.ZFailFunc[0]) << 4 | 188 get_stencil_op(ctx->Stencil.FailFunc[0]) [all...] |
nv10_state_raster.c | 35 #include "main/stencil.h" 148 PUSH_DATAb(push, ctx->Stencil._Enabled); 151 PUSH_DATA (push, nvgl_comparison_op(ctx->Stencil.Function[0])); 153 PUSH_DATA (push, ctx->Stencil.ValueMask[0]); 162 PUSH_DATA (push, ctx->Stencil.WriteMask[0]); 171 PUSH_DATA (push, nvgl_stencil_op(ctx->Stencil.FailFunc[0])); 172 PUSH_DATA (push, nvgl_stencil_op(ctx->Stencil.ZFailFunc[0])); 173 PUSH_DATA (push, nvgl_stencil_op(ctx->Stencil.ZPassFunc[0]));
|
nouveau_driver.c | 148 ctx->Stencil.WriteMask[0] : 0)); 151 ctx->Stencil.Clear);
|
/external/mesa3d/src/mesa/drivers/dri/i915/ |
i915_state.c | 36 #include "main/stencil.h" 63 /* The 915 considers CW to be "front" for two-sided stencil, so choose 69 front_mask = ctx->Stencil.ValueMask[0]; 70 front_writemask = ctx->Stencil.WriteMask[0]; 71 front_func = ctx->Stencil.Function[0]; 72 front_fail = ctx->Stencil.FailFunc[0]; 73 front_pass_z_fail = ctx->Stencil.ZFailFunc[0]; 74 front_pass_z_pass = ctx->Stencil.ZPassFunc[0]; 75 back_ref = _mesa_get_stencil_ref(ctx, ctx->Stencil._BackFace); 76 back_mask = ctx->Stencil.ValueMask[ctx->Stencil._BackFace] [all...] |
intel_pixel.c | 113 if (ctx->Stencil._Enabled) { 114 DBG("fallback due to image stencil\n");
|
intel_clear.c | 49 [BUFFER_STENCIL] = "stencil", 131 /* HW stencil */ 136 /* have hw stencil */ 138 (ctx->Stencil.WriteMask[0] & 0xff) != 0xff) { 140 * of the stencil buffer, or if we're on a 965 which has a tiled 141 * depth/stencil buffer in a layout we can't blit to. 146 /* clearing all stencil bits, use blitting */ 156 /* clear depth with whatever method is used for stencil (see above) */ 163 /* If we're doing a tri pass for depth/stencil, include a likely color
|
/external/mesa3d/src/mesa/drivers/common/ |
driverfuncs.c | 251 ctx->Driver.Enable(ctx, GL_STENCIL_TEST, ctx->Stencil._Enabled); 281 ctx->Stencil.Function[0], 282 ctx->Stencil.Ref[0], 283 ctx->Stencil.ValueMask[0]); 285 ctx->Stencil.Function[1], 286 ctx->Stencil.Ref[1], 287 ctx->Stencil.ValueMask[1]); 288 ctx->Driver.StencilMaskSeparate(ctx, GL_FRONT, ctx->Stencil.WriteMask[0]); 289 ctx->Driver.StencilMaskSeparate(ctx, GL_BACK, ctx->Stencil.WriteMask[1]); 291 ctx->Stencil.FailFunc[0] [all...] |
/external/mesa3d/src/mesa/swrast/ |
s_stencil.c | 32 #include "main/stencil.h" 41 /* Stencil Logic: 43 IF stencil test fails THEN 44 Apply fail-op to stencil value 48 Apply zfail-op to stencil value 51 Apply zpass-op to stencil value 59 * Compute/return the offset of the stencil value in a pixel. 60 * For example, if the format is Z24+S8, the position of the stencil bits 85 /** Clamp the stencil value to [0, 255] */ 102 GLubyte s = stencil[j]; [all...] |
/external/mesa3d/docs/specs/OLD/ |
MESA_packed_depth_stencil.spec | 35 transfer depth and stencil image data. Specifically, we defined new 36 packed pixel formats and types which pack both stencil and depth 49 2. If not, is it correct to use _REV to indicate that stencil 85 STENCIL_INDEX Stencil Stencil index 99 DEPTH_STENCIL Depth, Depth component, stencil index. 100 Stencil 182 DEPTH_STENCIL_MESA depth stencil
|
/external/mesa3d/src/mesa/tnl_dd/ |
t_dd_tritmp.h | 43 * DO_TWOSTENCIL:Gross hack for two-sided stencil. 265 if (DO_TWOSTENCIL && !HAVE_STENCIL_TWOSIDE && ctx->Stencil.TestTwoSide) { 278 if (DO_TWOSTENCIL && !HAVE_STENCIL_TWOSIDE && ctx->Stencil.TestTwoSide) { 294 if (DO_TWOSTENCIL && !HAVE_STENCIL_TWOSIDE && ctx->Stencil.TestTwoSide) { 503 if (DO_TWOSTENCIL && !HAVE_STENCIL_TWOSIDE && ctx->Stencil.TestTwoSide) { 517 if (DO_TWOSTENCIL && !HAVE_STENCIL_TWOSIDE && ctx->Stencil.TestTwoSide) { 532 if (DO_TWOSTENCIL && !HAVE_STENCIL_TWOSIDE && ctx->Stencil.TestTwoSide) {
|
/external/swiftshader/src/Renderer/ |
PixelProcessor.hpp | 136 struct Stencil 315 Stencil stencil; member in class:sw::PixelProcessor 316 Stencil stencilCCW;
|
/external/mesa3d/src/mesa/swrast_setup/ |
ss_triangle.c | 253 /* We piggyback the two-sided stencil front/back determination on the 258 (ctx->Stencil.Enabled && ctx->Stencil._TestTwoSide))
|