diff options
Diffstat (limited to 'src/mesa/swrast/s_nvfragprog.c')
-rw-r--r-- | src/mesa/swrast/s_nvfragprog.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mesa/swrast/s_nvfragprog.c b/src/mesa/swrast/s_nvfragprog.c index 036c1870d1f..f7510bf3ddf 100644 --- a/src/mesa/swrast/s_nvfragprog.c +++ b/src/mesa/swrast/s_nvfragprog.c @@ -1357,10 +1357,18 @@ _swrast_exec_fragment_program( GLcontext *ctx, struct sw_span *span ) init_machine(ctx, &ctx->FragmentProgram.Machine, ctx->FragmentProgram.Current, span, i); +#ifdef USE_TCC + if (!_swrast_execute_codegen_program(ctx, program, ~0, + &ctx->FragmentProgram.Machine, + span, i)) { + span->array->mask[i] = GL_FALSE; /* killed fragment */ + } +#else if (!execute_program(ctx, program, ~0, &ctx->FragmentProgram.Machine, span, i)) { span->array->mask[i] = GL_FALSE; /* killed fragment */ } +#endif /* Store output registers */ { |