Home | History | Annotate | Download | only in softpipe

Lines Matching refs:qs

537 depth_test_quad(struct quad_stage *qs, 
541 struct softpipe_context *softpipe = qs->softpipe;
621 depth_stencil_test_quad(struct quad_stage *qs,
625 struct softpipe_context *softpipe = qs->softpipe;
665 depth_test_quad(qs, data, quad); /* quad->mask is updated */
688 alpha_test_quads_##FUNC( struct quad_stage *qs, \
692 const float ref = qs->softpipe->depth_stencil->alpha.ref_value; \
727 alpha_test_quads(struct quad_stage *qs,
731 switch (qs->softpipe->depth_stencil->alpha.func) {
733 return alpha_test_quads_LESS( qs, quads, nr );
735 return alpha_test_quads_EQUAL( qs, quads, nr );
737 return alpha_test_quads_LEQUAL( qs, quads, nr );
739 return alpha_test_quads_GREATER( qs, quads, nr );
741 return alpha_test_quads_NOTEQUAL( qs, quads, nr );
743 return alpha_test_quads_GEQUAL( qs, quads, nr );
779 depth_test_quads_fallback(struct quad_stage *qs,
784 const struct tgsi_shader_info *fsInfo = &qs->softpipe->fs_variant->info;
785 boolean interp_depth = !fsInfo->writes_z || qs->softpipe->early_depth;
792 if (qs->softpipe->depth_stencil->alpha.enabled) {
793 nr = alpha_test_quads(qs, quads, nr);
796 if (qs->softpipe->framebuffer.zsbuf &&
797 (qs->softpipe->depth_stencil->depth.enabled ||
798 qs->softpipe->depth_stencil->stencil[0].enabled)) {
801 data.ps = qs->softpipe->framebuffer.zsbuf;
803 data.tile = sp_get_cached_tile(qs->softpipe->zsbuf_cache,
806 data.clamp = !qs->softpipe->rasterizer->depth_clip;
808 near_val = qs->softpipe->viewports[vp_idx].translate[2] - qs->softpipe->viewports[vp_idx].scale[2];
809 far_val = near_val + (qs->softpipe->viewports[vp_idx].scale[2] * 2.0);
816 if (qs->softpipe->depth_stencil->depth.enabled) {
823 if (qs->softpipe->depth_stencil->stencil[0].enabled) {
827 depth_stencil_test_quad(qs, &data, quads[i]);
831 if (!depth_test_quad(qs, &data, quads[i]))
834 if (qs->softpipe->depth_stencil->depth.writemask)
844 if (qs->softpipe->active_query_count) {
846 qs->softpipe->occlusion_count += mask_count[quads[i]->inout.mask];
850 qs->next->run(qs->next, quads, nr);
889 depth_noop(struct quad_stage *qs,
893 qs->next->run(qs->next, quads, nr);
899 choose_depth_test(struct quad_stage *qs,
903 const struct tgsi_shader_info *fsInfo = &qs->softpipe->fs_variant->info;
905 boolean interp_depth = !fsInfo->writes_z || qs->softpipe->early_depth;
907 boolean alpha = qs->softpipe->depth_stencil->alpha.enabled;
909 boolean depth = qs->softpipe->depth_stencil->depth.enabled;
911 unsigned depthfunc = qs->softpipe->depth_stencil->depth.func;
913 boolean stencil = qs->softpipe->depth_stencil->stencil[0].enabled;
915 boolean depthwrite = qs->softpipe->depth_stencil->depth.writemask;
917 boolean occlusion = qs->softpipe->active_query_count;
919 boolean clipped = !qs->softpipe->rasterizer->depth_clip;
921 if(!qs->softpipe->framebuffer.zsbuf)
925 qs->run = depth_test_quads_fallback;
933 qs->run = depth_noop;
943 if (qs->softpipe->framebuffer.zsbuf->format == PIPE_FORMAT_Z16_UNORM) {
946 qs->run = depth_test_quads_fallback;
949 qs->run = depth_interp_z16_less_write;
952 qs->run = depth_interp_z16_equal_write;
955 qs->run = depth_interp_z16_lequal_write;
958 qs->run = depth_interp_z16_greater_write;
961 qs->run = depth_interp_z16_notequal_write;
964 qs->run = depth_interp_z16_gequal_write;
967 qs->run = depth_interp_z16_always_write;
970 qs->run = depth_test_quads_fallback;
977 qs->run( qs, quads, nr );
983 depth_test_begin(struct quad_stage *qs)
985 qs->run = choose_depth_test;
986 qs->next->begin(qs->next);
991 depth_test_destroy(struct quad_stage *qs)
993 FREE( qs );