 Brian
					
					17 years ago
						Brian
					
					17 years ago
				| sp->depth_stencil->depth.enabled && | sp->depth_stencil->depth.enabled && | ||||
| sp->framebuffer.zsbuf && | sp->framebuffer.zsbuf && | ||||
| !sp->depth_stencil->alpha.enabled && | !sp->depth_stencil->alpha.enabled && | ||||
| !sp->fs->uses_kill && | |||||
| !sp->fs->info.uses_kill && | |||||
| !sp->fs->info.writes_z; | !sp->fs->info.writes_z; | ||||
| /* build up the pipeline in reverse order... */ | /* build up the pipeline in reverse order... */ | 
| struct tgsi_shader_info info; | struct tgsi_shader_info info; | ||||
| boolean uses_kill; | |||||
| void (*prepare)( const struct sp_fragment_shader *shader, | void (*prepare)( const struct sp_fragment_shader *shader, | ||||
| struct tgsi_exec_machine *machine, | struct tgsi_exec_machine *machine, | ||||
| struct tgsi_sampler *samplers); | struct tgsi_sampler *samplers); | 
| /* get/save the summary info for this shader */ | /* get/save the summary info for this shader */ | ||||
| tgsi_scan_shader(templ->tokens, &state->info); | tgsi_scan_shader(templ->tokens, &state->info); | ||||
| /* convenience field */ | |||||
| state->uses_kill = (state->info.opcode_count[TGSI_OPCODE_KIL] || | |||||
| state->info.opcode_count[TGSI_OPCODE_KILP]); | |||||
| return state; | return state; | ||||
| } | } | ||||