Home | History | Annotate | Download | only in softpipe

Lines Matching refs:qs

524 depth_test_quad(struct quad_stage *qs, 
528 struct softpipe_context *softpipe = qs->softpipe;
608 depth_stencil_test_quad(struct quad_stage *qs,
612 struct softpipe_context *softpipe = qs->softpipe;
652 depth_test_quad(qs, data, quad); /* quad->mask is updated */
675 alpha_test_quads_##FUNC( struct quad_stage *qs, \
679 const float ref = qs->softpipe->depth_stencil->alpha.ref_value; \
714 alpha_test_quads(struct quad_stage *qs,
718 switch (qs->softpipe->depth_stencil->alpha.func) {
720 return alpha_test_quads_LESS( qs, quads, nr );
722 return alpha_test_quads_EQUAL( qs, quads, nr );
724 return alpha_test_quads_LEQUAL( qs, quads, nr );
726 return alpha_test_quads_GREATER( qs, quads, nr );
728 return alpha_test_quads_NOTEQUAL( qs, quads, nr );
730 return alpha_test_quads_GEQUAL( qs, quads, nr );
766 depth_test_quads_fallback(struct quad_stage *qs,
771 const struct tgsi_shader_info *fsInfo = &qs->softpipe->fs_variant->info;
778 if (qs->softpipe->depth_stencil->alpha.enabled) {
779 nr = alpha_test_quads(qs, quads, nr);
782 if (qs->softpipe->framebuffer.zsbuf &&
783 (qs->softpipe->depth_stencil->depth.enabled ||
784 qs->softpipe->depth_stencil->stencil[0].enabled)) {
786 data.ps = qs->softpipe->framebuffer.zsbuf;
788 data.tile = sp_get_cached_tile(qs->softpipe->zsbuf_cache,
795 if (qs->softpipe->depth_stencil->depth.enabled) {
802 if (qs->softpipe->depth_stencil->stencil[0].enabled) {
806 depth_stencil_test_quad(qs, &data, quads[i]);
810 if (!depth_test_quad(qs, &data, quads[i]))
813 if (qs->softpipe->depth_stencil->depth.writemask)
823 if (qs->softpipe->active_query_count) {
825 qs->softpipe->occlusion_count += mask_count[quads[i]->inout.mask];
829 qs->next->run(qs->next, quads, nr);
868 depth_noop(struct quad_stage *qs,
872 qs->next->run(qs->next, quads, nr);
878 choose_depth_test(struct quad_stage *qs,
882 const struct tgsi_shader_info *fsInfo = &qs->softpipe->fs_variant->info;
886 boolean alpha = qs->softpipe->depth_stencil->alpha.enabled;
888 boolean depth = qs->softpipe->depth_stencil->depth.enabled;
890 unsigned depthfunc = qs->softpipe->depth_stencil->depth.func;
892 boolean stencil = qs->softpipe->depth_stencil->stencil[0].enabled;
894 boolean depthwrite = qs->softpipe->depth_stencil->depth.writemask;
896 boolean occlusion = qs->softpipe->active_query_count;
898 if(!qs->softpipe->framebuffer.zsbuf)
902 qs->run = depth_test_quads_fallback;
909 qs->run = depth_noop;
918 if (qs->softpipe->framebuffer.zsbuf->format == PIPE_FORMAT_Z16_UNORM) {
921 qs->run = depth_test_quads_fallback;
924 qs->run = depth_interp_z16_less_write;
927 qs->run = depth_interp_z16_equal_write;
930 qs->run = depth_interp_z16_lequal_write;
933 qs->run = depth_interp_z16_greater_write;
936 qs->run = depth_interp_z16_notequal_write;
939 qs->run = depth_interp_z16_gequal_write;
942 qs->run = depth_interp_z16_always_write;
945 qs->run = depth_test_quads_fallback;
952 qs->run( qs, quads, nr );
958 depth_test_begin(struct quad_stage *qs)
960 qs->run = choose_depth_test;
961 qs->next->begin(qs->next);
966 depth_test_destroy(struct quad_stage *qs)
968 FREE( qs );