diff options
author | marha <marha@users.sourceforge.net> | 2012-09-17 16:10:59 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-09-17 16:10:59 +0200 |
commit | e3c4aa34268f99562e66b43a7d9efcd16ca072e6 (patch) | |
tree | 8c827f3f78e2c2093734b68045f2a13045ca15d0 /mesalib/src/mesa/state_tracker | |
parent | b08ba56019b146786e1cde553c036dd0c4fd02e5 (diff) | |
download | vcxsrv-e3c4aa34268f99562e66b43a7d9efcd16ca072e6.tar.gz vcxsrv-e3c4aa34268f99562e66b43a7d9efcd16ca072e6.tar.bz2 vcxsrv-e3c4aa34268f99562e66b43a7d9efcd16ca072e6.zip |
mesa xserver pixman git update 17 sep 2012
Diffstat (limited to 'mesalib/src/mesa/state_tracker')
24 files changed, 0 insertions, 198 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_cb_bitmap.c b/mesalib/src/mesa/state_tracker/st_cb_bitmap.c index dbd778b4f..62e571235 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_bitmap.c +++ b/mesalib/src/mesa/state_tracker/st_cb_bitmap.c @@ -57,8 +57,6 @@ #include "cso_cache/cso_context.h" -#if FEATURE_drawpix - /** * glBitmaps are drawn as textured quads. The user's bitmap pattern * is stored in a texture image. An alpha8 texture format is used. @@ -884,5 +882,3 @@ st_destroy_bitmap(struct st_context *st) st->bitmap.cache = NULL; } } - -#endif /* FEATURE_drawpix */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_bitmap.h b/mesalib/src/mesa/state_tracker/st_cb_bitmap.h index 25410e503..d1c18058b 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_bitmap.h +++ b/mesalib/src/mesa/state_tracker/st_cb_bitmap.h @@ -38,8 +38,6 @@ struct st_context; struct gl_fragment_program; struct st_fragment_program; -#if FEATURE_drawpix - extern void st_init_bitmap_functions(struct dd_function_table *functions); @@ -58,33 +56,5 @@ st_make_bitmap_fragment_program(struct st_context *st, extern void st_flush_bitmap_cache(struct st_context *st); -#else - -static INLINE void -st_init_bitmap_functions(struct dd_function_table *functions) -{ -} - -static INLINE void -st_init_bitmap(struct st_context *st) -{ -} - -static INLINE void -st_destroy_bitmap(struct st_context *st) -{ -} - -static INLINE void -st_flush_bitmap_cache(struct st_context *st) -{ -} - -static INLINE void -st_flush_bitmap(struct st_context *st) -{ -} - -#endif /* FEATURE_drawpix */ #endif /* ST_CB_BITMAP_H */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_blit.c b/mesalib/src/mesa/state_tracker/st_cb_blit.c index 1486779fd..c2d756813 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_blit.c +++ b/mesalib/src/mesa/state_tracker/st_cb_blit.c @@ -59,8 +59,6 @@ st_destroy_blit(struct st_context *st) } -#if FEATURE_EXT_framebuffer_blit - static void st_BlitFramebuffer_resolve(struct gl_context *ctx, GLbitfield mask, @@ -354,5 +352,3 @@ st_init_blit_functions(struct dd_function_table *functions) { functions->BlitFramebuffer = st_BlitFramebuffer; } - -#endif /* FEATURE_EXT_framebuffer_blit */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_blit.h b/mesalib/src/mesa/state_tracker/st_cb_blit.h index c6d9a3679..eb6089e47 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_blit.h +++ b/mesalib/src/mesa/state_tracker/st_cb_blit.h @@ -42,18 +42,8 @@ st_init_blit(struct st_context *st); extern void st_destroy_blit(struct st_context *st); -#if FEATURE_EXT_framebuffer_blit - extern void st_init_blit_functions(struct dd_function_table *functions); -#else - -static INLINE void -st_init_blit_functions(struct dd_function_table *functions) -{ -} - -#endif /* FEATURE_EXT_framebuffer_blit */ #endif /* ST_CB_BLIT_H */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c b/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c index b2c6327a0..a8a01db96 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c +++ b/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c @@ -71,8 +71,6 @@ #include "cso_cache/cso_context.h" -#if FEATURE_drawpix - /** * Check if the given program is: * 0: MOVE result.color, fragment.color; @@ -1661,5 +1659,3 @@ st_destroy_drawpix(struct st_context *st) if (st->drawpix.vert_shaders[1]) cso_delete_vertex_shader(st->cso_context, st->drawpix.vert_shaders[1]); } - -#endif /* FEATURE_drawpix */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_drawpixels.h b/mesalib/src/mesa/state_tracker/st_cb_drawpixels.h index 44d7f5ed1..6209dcade 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_drawpixels.h +++ b/mesalib/src/mesa/state_tracker/st_cb_drawpixels.h @@ -36,8 +36,6 @@ struct dd_function_table; struct st_context; -#if FEATURE_drawpix - extern void st_init_drawpixels_functions(struct dd_function_table *functions); extern void @@ -53,18 +51,5 @@ st_make_drawpix_z_stencil_program(struct st_context *st, GLboolean write_depth, GLboolean write_stencil); -#else - -static INLINE void -st_init_drawpixels_functions(struct dd_function_table *functions) -{ -} - -static INLINE void -st_destroy_drawpix(struct st_context *st) -{ -} - -#endif /* FEATURE_drawpix */ #endif /* ST_CB_DRAWPIXELS_H */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_drawtex.c b/mesalib/src/mesa/state_tracker/st_cb_drawtex.c index d57e629f1..e87de4406 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_drawtex.c +++ b/mesalib/src/mesa/state_tracker/st_cb_drawtex.c @@ -34,9 +34,6 @@ #include "cso_cache/cso_context.h" -#if FEATURE_OES_draw_texture - - struct cached_shader { void *handle; @@ -306,6 +303,3 @@ st_destroy_drawtex(struct st_context *st) } NumCachedShaders = 0; } - - -#endif /* FEATURE_OES_draw_texture */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_drawtex.h b/mesalib/src/mesa/state_tracker/st_cb_drawtex.h index 455da04e6..ccb615e98 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_drawtex.h +++ b/mesalib/src/mesa/state_tracker/st_cb_drawtex.h @@ -16,26 +16,10 @@ struct dd_function_table; struct st_context; -#if FEATURE_OES_draw_texture - extern void st_init_drawtex_functions(struct dd_function_table *functions); extern void st_destroy_drawtex(struct st_context *st); -#else - -static INLINE void -st_init_drawtex_functions(struct dd_function_table *functions) -{ -} - -static INLINE void -st_destroy_drawtex(struct st_context *st) -{ -} - -#endif /* FEATURE_OES_draw_texture */ - #endif /* ST_CB_DRAWTEX_H */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_eglimage.c b/mesalib/src/mesa/state_tracker/st_cb_eglimage.c index e91e9142d..0679e7d44 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_eglimage.c +++ b/mesalib/src/mesa/state_tracker/st_cb_eglimage.c @@ -38,8 +38,6 @@ #include "st_format.h" #include "st_manager.h" -#if FEATURE_OES_EGL_image - /** * Return the base format just like _mesa_base_fbo_format does. */ @@ -164,5 +162,3 @@ st_init_eglimage_functions(struct dd_function_table *functions) functions->EGLImageTargetTexture2D = st_egl_image_target_texture_2d; functions->EGLImageTargetRenderbufferStorage = st_egl_image_target_renderbuffer_storage; } - -#endif /* FEATURE_OES_EGL_image */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_eglimage.h b/mesalib/src/mesa/state_tracker/st_cb_eglimage.h index 48567ed9d..1750b9147 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_eglimage.h +++ b/mesalib/src/mesa/state_tracker/st_cb_eglimage.h @@ -34,18 +34,7 @@ struct dd_function_table; -#if FEATURE_OES_EGL_image - extern void st_init_eglimage_functions(struct dd_function_table *functions); -#else - -static INLINE void -st_init_eglimage_functions(struct dd_function_table *functions) -{ -} - -#endif - #endif /* ST_CB_EGLIMAGE_H */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_fbo.c b/mesalib/src/mesa/state_tracker/st_cb_fbo.c index 01aba8eaf..c523795b9 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_fbo.c +++ b/mesalib/src/mesa/state_tracker/st_cb_fbo.c @@ -790,7 +790,6 @@ st_UnmapRenderbuffer(struct gl_context *ctx, void st_init_fbo_functions(struct dd_function_table *functions) { -#if FEATURE_EXT_framebuffer_object functions->NewFramebuffer = st_new_framebuffer; functions->NewRenderbuffer = st_new_renderbuffer; functions->BindFramebuffer = st_bind_framebuffer; @@ -798,7 +797,6 @@ void st_init_fbo_functions(struct dd_function_table *functions) functions->RenderTexture = st_render_texture; functions->FinishRenderTexture = st_finish_render_texture; functions->ValidateFramebuffer = st_validate_framebuffer; -#endif functions->DrawBuffers = st_DrawBuffers; functions->ReadBuffer = st_ReadBuffer; diff --git a/mesalib/src/mesa/state_tracker/st_cb_feedback.c b/mesalib/src/mesa/state_tracker/st_cb_feedback.c index 9b85a39be..9092e3a71 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_feedback.c +++ b/mesalib/src/mesa/state_tracker/st_cb_feedback.c @@ -55,8 +55,6 @@ #include "draw/draw_pipe.h" -#if FEATURE_feedback - /** * This is actually used for both feedback and selection. */ @@ -305,5 +303,3 @@ void st_init_feedback_functions(struct dd_function_table *functions) { functions->RenderMode = st_RenderMode; } - -#endif /* FEATURE_feedback */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_feedback.h b/mesalib/src/mesa/state_tracker/st_cb_feedback.h index 02e34e402..0163631e3 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_feedback.h +++ b/mesalib/src/mesa/state_tracker/st_cb_feedback.h @@ -35,18 +35,8 @@ struct dd_function_table; -#if FEATURE_feedback - extern void st_init_feedback_functions(struct dd_function_table *functions); -#else - -static INLINE void -st_init_feedback_functions(struct dd_function_table *functions) -{ -} - -#endif /* FEATURE_feedback */ #endif /* ST_CB_FEEDBACK_H */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_queryobj.c b/mesalib/src/mesa/state_tracker/st_cb_queryobj.c index e5e4a81dc..b10fd9335 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_queryobj.c +++ b/mesalib/src/mesa/state_tracker/st_cb_queryobj.c @@ -45,8 +45,6 @@ #include "st_cb_bitmap.h" -#if FEATURE_queryobj - static struct gl_query_object * st_NewQueryObject(struct gl_context *ctx, GLuint id) { @@ -194,5 +192,3 @@ void st_init_query_functions(struct dd_function_table *functions) functions->CheckQuery = st_CheckQuery; functions->GetTimestamp = st_GetTimestamp; } - -#endif /* FEATURE_queryobj */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_queryobj.h b/mesalib/src/mesa/state_tracker/st_cb_queryobj.h index 03f0be837..03487b153 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_queryobj.h +++ b/mesalib/src/mesa/state_tracker/st_cb_queryobj.h @@ -53,18 +53,8 @@ st_query_object(struct gl_query_object *q) } -#if FEATURE_queryobj - extern void st_init_query_functions(struct dd_function_table *functions); -#else - -static INLINE void -st_init_query_functions(struct dd_function_table *functions) -{ -} - -#endif /* FEATURE_queryobj */ #endif diff --git a/mesalib/src/mesa/state_tracker/st_cb_rasterpos.c b/mesalib/src/mesa/state_tracker/st_cb_rasterpos.c index 8337f4624..fb4a62ee3 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_rasterpos.c +++ b/mesalib/src/mesa/state_tracker/st_cb_rasterpos.c @@ -50,8 +50,6 @@ #include "vbo/vbo.h" -#if FEATURE_rastpos - /** * Our special drawing pipeline stage (replaces rasterization). */ @@ -275,5 +273,3 @@ void st_init_rasterpos_functions(struct dd_function_table *functions) { functions->RasterPos = st_RasterPos; } - -#endif /* FEATURE_rastpos */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_rasterpos.h b/mesalib/src/mesa/state_tracker/st_cb_rasterpos.h index b61411bd2..bfd3e4138 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_rasterpos.h +++ b/mesalib/src/mesa/state_tracker/st_cb_rasterpos.h @@ -34,17 +34,7 @@ struct dd_function_table; -#if FEATURE_rastpos - extern void st_init_rasterpos_functions(struct dd_function_table *functions); -#else - -static INLINE void -st_init_rasterpos_functions(struct dd_function_table *functions) -{ -} - -#endif /* FEATURE_rastpos */ #endif /* ST_CB_RASTERPOS_H */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_xformfb.c b/mesalib/src/mesa/state_tracker/st_cb_xformfb.c index b8534855b..3e52c9988 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_xformfb.c +++ b/mesalib/src/mesa/state_tracker/st_cb_xformfb.c @@ -48,8 +48,6 @@ #include "util/u_inlines.h" #include "cso_cache/cso_context.h" -#if FEATURE_EXT_transform_feedback - struct st_transform_feedback_object { struct gl_transform_feedback_object base; @@ -229,5 +227,3 @@ st_init_xformfb_functions(struct dd_function_table *functions) functions->PauseTransformFeedback = st_pause_transform_feedback; functions->ResumeTransformFeedback = st_resume_transform_feedback; } - -#endif /* FEATURE_EXT_transform_feedback */ diff --git a/mesalib/src/mesa/state_tracker/st_cb_xformfb.h b/mesalib/src/mesa/state_tracker/st_cb_xformfb.h index c5261b39b..5c82fed18 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_xformfb.h +++ b/mesalib/src/mesa/state_tracker/st_cb_xformfb.h @@ -36,8 +36,6 @@ struct dd_function_table; struct gl_transform_feedback_object; struct pipe_draw_info; -#if FEATURE_EXT_transform_feedback - extern void st_init_xformfb_functions(struct dd_function_table *functions); @@ -45,19 +43,5 @@ extern void st_transform_feedback_draw_init(struct gl_transform_feedback_object *obj, struct pipe_draw_info *out); -#else - -static INLINE void -st_init_xformfb_functions(struct dd_function_table *functions) -{ -} - -static INLINE void -st_transform_feedback_draw_init(struct gl_transform_feedback_object *obj, - struct pipe_draw_info *out) -{ -} - -#endif /* FEATURE_EXT_transform_feedback */ #endif /* ST_CB_XFORMFB_H */ diff --git a/mesalib/src/mesa/state_tracker/st_draw.c b/mesalib/src/mesa/state_tracker/st_draw.c index 9dc4822cc..4800e1c87 100644 --- a/mesalib/src/mesa/state_tracker/st_draw.c +++ b/mesalib/src/mesa/state_tracker/st_draw.c @@ -278,7 +278,6 @@ st_init_draw(struct st_context *st) vbo_set_draw_func(ctx, st_draw_vbo); -#if FEATURE_feedback || FEATURE_rastpos st->draw = draw_create(st->pipe); /* for selection/feedback */ /* Disable draw options that might convert points/lines to tris, etc. @@ -288,14 +287,11 @@ st_init_draw(struct st_context *st) draw_wide_point_threshold(st->draw, 1000.0f); draw_enable_line_stipple(st->draw, FALSE); draw_enable_point_sprites(st->draw, FALSE); -#endif } void st_destroy_draw(struct st_context *st) { -#if FEATURE_feedback || FEATURE_rastpos draw_destroy(st->draw); -#endif } diff --git a/mesalib/src/mesa/state_tracker/st_draw_feedback.c b/mesalib/src/mesa/state_tracker/st_draw_feedback.c index 820918e51..a6c7d0eec 100644 --- a/mesalib/src/mesa/state_tracker/st_draw_feedback.c +++ b/mesalib/src/mesa/state_tracker/st_draw_feedback.c @@ -46,8 +46,6 @@ #include "draw/draw_context.h" -#if FEATURE_feedback || FEATURE_rastpos - /** * Set the (private) draw module's post-transformed vertex format when in * GL_SELECT or GL_FEEDBACK mode or for glRasterPos. @@ -268,6 +266,3 @@ st_feedback_draw_vbo(struct gl_context *ctx, } draw_set_vertex_buffers(draw, 0, NULL); } - -#endif /* FEATURE_feedback || FEATURE_rastpos */ - diff --git a/mesalib/src/mesa/state_tracker/st_extensions.c b/mesalib/src/mesa/state_tracker/st_extensions.c index ac11f127c..d6cb915e9 100644 --- a/mesalib/src/mesa/state_tracker/st_extensions.c +++ b/mesalib/src/mesa/state_tracker/st_extensions.c @@ -530,14 +530,10 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.NV_vertex_program1_1 = GL_TRUE; #endif -#if FEATURE_OES_EGL_image ctx->Extensions.OES_EGL_image = GL_TRUE; if (ctx->API != API_OPENGL) ctx->Extensions.OES_EGL_image_external = GL_TRUE; -#endif -#if FEATURE_OES_draw_texture ctx->Extensions.OES_draw_texture = GL_TRUE; -#endif /* Expose the extensions which directly correspond to gallium caps. */ for (i = 0; i < Elements(cap_mapping); i++) { diff --git a/mesalib/src/mesa/state_tracker/st_format.c b/mesalib/src/mesa/state_tracker/st_format.c index 302b58c7b..a9ff2cd0d 100644 --- a/mesalib/src/mesa/state_tracker/st_format.c +++ b/mesalib/src/mesa/state_tracker/st_format.c @@ -119,7 +119,6 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat) return PIPE_FORMAT_Z32_FLOAT_S8X24_UINT; case MESA_FORMAT_YCBCR: return PIPE_FORMAT_UYVY; -#if FEATURE_texture_s3tc case MESA_FORMAT_RGB_DXT1: return PIPE_FORMAT_DXT1_RGB; case MESA_FORMAT_RGBA_DXT1: @@ -128,7 +127,6 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat) return PIPE_FORMAT_DXT3_RGBA; case MESA_FORMAT_RGBA_DXT5: return PIPE_FORMAT_DXT5_RGBA; -#if FEATURE_EXT_texture_sRGB case MESA_FORMAT_SRGB_DXT1: return PIPE_FORMAT_DXT1_SRGB; case MESA_FORMAT_SRGBA_DXT1: @@ -137,9 +135,6 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat) return PIPE_FORMAT_DXT3_SRGBA; case MESA_FORMAT_SRGBA_DXT5: return PIPE_FORMAT_DXT5_SRGBA; -#endif -#endif -#if FEATURE_EXT_texture_sRGB case MESA_FORMAT_SLA8: return PIPE_FORMAT_L8A8_SRGB; case MESA_FORMAT_SL8: @@ -150,7 +145,6 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat) return PIPE_FORMAT_A8B8G8R8_SRGB; case MESA_FORMAT_SARGB8: return PIPE_FORMAT_B8G8R8A8_SRGB; -#endif case MESA_FORMAT_RGBA_FLOAT32: return PIPE_FORMAT_R32G32B32A32_FLOAT; case MESA_FORMAT_RGBA_FLOAT16: @@ -449,7 +443,6 @@ st_pipe_format_to_mesa_format(enum pipe_format format) case PIPE_FORMAT_YUYV: return MESA_FORMAT_YCBCR_REV; -#if FEATURE_texture_s3tc case PIPE_FORMAT_DXT1_RGB: return MESA_FORMAT_RGB_DXT1; case PIPE_FORMAT_DXT1_RGBA: @@ -458,7 +451,6 @@ st_pipe_format_to_mesa_format(enum pipe_format format) return MESA_FORMAT_RGBA_DXT3; case PIPE_FORMAT_DXT5_RGBA: return MESA_FORMAT_RGBA_DXT5; -#if FEATURE_EXT_texture_sRGB case PIPE_FORMAT_DXT1_SRGB: return MESA_FORMAT_SRGB_DXT1; case PIPE_FORMAT_DXT1_SRGBA: @@ -467,10 +459,6 @@ st_pipe_format_to_mesa_format(enum pipe_format format) return MESA_FORMAT_SRGBA_DXT3; case PIPE_FORMAT_DXT5_SRGBA: return MESA_FORMAT_SRGBA_DXT5; -#endif -#endif - -#if FEATURE_EXT_texture_sRGB case PIPE_FORMAT_L8A8_SRGB: return MESA_FORMAT_SLA8; case PIPE_FORMAT_L8_SRGB: @@ -481,7 +469,6 @@ st_pipe_format_to_mesa_format(enum pipe_format format) return MESA_FORMAT_SRGBA8; case PIPE_FORMAT_B8G8R8A8_SRGB: return MESA_FORMAT_SARGB8; -#endif case PIPE_FORMAT_R32G32B32A32_FLOAT: return MESA_FORMAT_RGBA_FLOAT32; case PIPE_FORMAT_R16G16B16A16_FLOAT: diff --git a/mesalib/src/mesa/state_tracker/st_program.c b/mesalib/src/mesa/state_tracker/st_program.c index 9816e22ac..ac066a766 100644 --- a/mesalib/src/mesa/state_tracker/st_program.c +++ b/mesalib/src/mesa/state_tracker/st_program.c @@ -66,10 +66,8 @@ delete_vp_variant(struct st_context *st, struct st_vp_variant *vpv) if (vpv->driver_shader) cso_delete_vertex_shader(st->cso_context, vpv->driver_shader); -#if FEATURE_feedback || FEATURE_rastpos if (vpv->draw_shader) draw_delete_vertex_shader( st->draw, vpv->draw_shader ); -#endif if (vpv->tgsi.tokens) st_free_tokens(vpv->tgsi.tokens); @@ -497,7 +495,6 @@ st_translate_fragment_program(struct st_context *st, assert(!(key->bitmap && key->drawpixels)); -#if FEATURE_drawpix if (key->bitmap) { /* glBitmap drawing */ struct gl_fragment_program *fp; /* we free this temp program below */ @@ -525,7 +522,6 @@ st_translate_fragment_program(struct st_context *st, } stfp = st_fragment_program(fp); } -#endif if (!stfp->glsl_to_tgsi) _mesa_remove_output_reads(&stfp->Base.Base, PROGRAM_OUTPUT); |