Lines Matching refs:renderer
76 struct renderer { struct
135 static VGboolean renderer_can_support(struct renderer *renderer, in renderer_can_support() argument
139 struct pipe_screen *screen = renderer->pipe->screen; in renderer_can_support()
148 static void renderer_set_mvp(struct renderer *renderer, in renderer_set_mvp() argument
151 struct matrix *cur = &renderer->mvp; in renderer_set_mvp()
158 mvp = &renderer->projection; in renderer_set_mvp()
172 cbuf = renderer->vs_cbuf; in renderer_set_mvp()
174 cbuf = pipe_buffer_create(renderer->pipe->screen, in renderer_set_mvp()
179 pipe_buffer_write(renderer->pipe, cbuf, in renderer_set_mvp()
182 pipe_set_constant_buffer(renderer->pipe, in renderer_set_mvp()
186 renderer->vs_cbuf = cbuf; in renderer_set_mvp()
234 static void renderer_set_vs(struct renderer *r, RendererVs id) in renderer_set_vs()
303 static void renderer_set_fs(struct renderer *r, RendererFs id) in renderer_set_fs()
339 static void vg_set_viewport(struct renderer *r, in vg_set_viewport()
363 static void renderer_set_target(struct renderer *r, in renderer_set_target()
386 static void renderer_set_blend(struct renderer *r, in renderer_set_blend()
415 static void renderer_set_samplers(struct renderer *r, in renderer_set_samplers()
452 static void renderer_set_custom_fs(struct renderer *renderer, in renderer_set_custom_fs() argument
460 cso_set_fragment_shader_handle(renderer->cso, fs); in renderer_set_custom_fs()
464 cso_set_samplers(renderer->cso, PIPE_SHADER_FRAGMENT, num_samplers, samplers); in renderer_set_custom_fs()
465 cso_set_sampler_views(renderer->cso, PIPE_SHADER_FRAGMENT, num_samplers, views); in renderer_set_custom_fs()
470 struct pipe_resource *cbuf = renderer->fs_cbuf; in renderer_set_custom_fs()
472 if (!cbuf || renderer->fs_cbuf_len != const_buffer_len || in renderer_set_custom_fs()
473 memcmp(renderer->fs_cbuf_data, const_buffer, const_buffer_len)) { in renderer_set_custom_fs()
476 cbuf = pipe_buffer_create(renderer->pipe->screen, in renderer_set_custom_fs()
479 pipe_buffer_write(renderer->pipe, cbuf, 0, in renderer_set_custom_fs()
481 pipe_set_constant_buffer(renderer->pipe, in renderer_set_custom_fs()
484 renderer->fs_cbuf = cbuf; in renderer_set_custom_fs()
485 if (const_buffer_len <= sizeof(renderer->fs_cbuf_data)) { in renderer_set_custom_fs()
486 memcpy(renderer->fs_cbuf_data, const_buffer, const_buffer_len); in renderer_set_custom_fs()
487 renderer->fs_cbuf_len = const_buffer_len; in renderer_set_custom_fs()
490 renderer->fs_cbuf_len = 0; in renderer_set_custom_fs()
499 static void renderer_quad_pos(struct renderer *r, in renderer_quad_pos()
530 static void renderer_quad_texcoord(struct renderer *r, in renderer_quad_texcoord()
567 static void renderer_quad_draw(struct renderer *r) in renderer_quad_draw()
577 VGboolean renderer_copy_begin(struct renderer *renderer, in renderer_copy_begin() argument
582 assert(renderer->state == RENDERER_STATE_INIT); in renderer_copy_begin()
585 if (!renderer_can_support(renderer, in renderer_copy_begin()
587 !renderer_can_support(renderer, in renderer_copy_begin()
591 cso_save_framebuffer(renderer->cso); in renderer_copy_begin()
592 cso_save_viewport(renderer->cso); in renderer_copy_begin()
593 cso_save_blend(renderer->cso); in renderer_copy_begin()
594 cso_save_samplers(renderer->cso, PIPE_SHADER_FRAGMENT); in renderer_copy_begin()
595 cso_save_sampler_views(renderer->cso, PIPE_SHADER_FRAGMENT); in renderer_copy_begin()
596 cso_save_fragment_shader(renderer->cso); in renderer_copy_begin()
597 cso_save_vertex_shader(renderer->cso); in renderer_copy_begin()
599 renderer_set_target(renderer, dst, NULL, y0_top); in renderer_copy_begin()
601 renderer_set_blend(renderer, ~0); in renderer_copy_begin()
602 renderer_set_samplers(renderer, 1, &src); in renderer_copy_begin()
604 renderer_set_fs(renderer, RENDERER_FS_TEXTURE); in renderer_copy_begin()
605 renderer_set_vs(renderer, RENDERER_VS_TEXTURE); in renderer_copy_begin()
607 renderer_set_mvp(renderer, NULL); in renderer_copy_begin()
610 renderer->u.copy.tex_width = src->texture->width0; in renderer_copy_begin()
611 renderer->u.copy.tex_height = src->texture->height0; in renderer_copy_begin()
612 renderer->state = RENDERER_STATE_COPY; in renderer_copy_begin()
623 void renderer_copy(struct renderer *renderer, in renderer_copy() argument
627 assert(renderer->state == RENDERER_STATE_COPY); in renderer_copy()
630 renderer_quad_pos(renderer, x, y, x + w, y + h, VG_FALSE); in renderer_copy()
631 renderer_quad_texcoord(renderer, sx, sy, sx + sw, sy + sh, in renderer_copy()
632 renderer->u.copy.tex_width, in renderer_copy()
633 renderer->u.copy.tex_height); in renderer_copy()
635 renderer_quad_draw(renderer); in renderer_copy()
641 void renderer_copy_end(struct renderer *renderer) in renderer_copy_end() argument
643 assert(renderer->state == RENDERER_STATE_COPY); in renderer_copy_end()
645 cso_restore_framebuffer(renderer->cso); in renderer_copy_end()
646 cso_restore_viewport(renderer->cso); in renderer_copy_end()
647 cso_restore_blend(renderer->cso); in renderer_copy_end()
648 cso_restore_samplers(renderer->cso, PIPE_SHADER_FRAGMENT); in renderer_copy_end()
649 cso_restore_sampler_views(renderer->cso, PIPE_SHADER_FRAGMENT); in renderer_copy_end()
650 cso_restore_fragment_shader(renderer->cso); in renderer_copy_end()
651 cso_restore_vertex_shader(renderer->cso); in renderer_copy_end()
653 renderer->state = RENDERER_STATE_INIT; in renderer_copy_end()
659 VGboolean renderer_drawtex_begin(struct renderer *renderer, in renderer_drawtex_begin() argument
662 assert(renderer->state == RENDERER_STATE_INIT); in renderer_drawtex_begin()
664 if (!renderer_can_support(renderer, src->texture, PIPE_BIND_SAMPLER_VIEW)) in renderer_drawtex_begin()
667 cso_save_blend(renderer->cso); in renderer_drawtex_begin()
668 cso_save_samplers(renderer->cso, PIPE_SHADER_FRAGMENT); in renderer_drawtex_begin()
669 cso_save_sampler_views(renderer->cso, PIPE_SHADER_FRAGMENT); in renderer_drawtex_begin()
670 cso_save_fragment_shader(renderer->cso); in renderer_drawtex_begin()
671 cso_save_vertex_shader(renderer->cso); in renderer_drawtex_begin()
673 renderer_set_blend(renderer, ~0); in renderer_drawtex_begin()
675 renderer_set_samplers(renderer, 1, &src); in renderer_drawtex_begin()
677 renderer_set_fs(renderer, RENDERER_FS_TEXTURE); in renderer_drawtex_begin()
678 renderer_set_vs(renderer, RENDERER_VS_TEXTURE); in renderer_drawtex_begin()
680 renderer_set_mvp(renderer, NULL); in renderer_drawtex_begin()
683 renderer->u.drawtex.tex_width = src->texture->width0; in renderer_drawtex_begin()
684 renderer->u.drawtex.tex_height = src->texture->height0; in renderer_drawtex_begin()
685 renderer->state = RENDERER_STATE_DRAWTEX; in renderer_drawtex_begin()
696 void renderer_drawtex(struct renderer *renderer, in renderer_drawtex() argument
700 assert(renderer->state == RENDERER_STATE_DRAWTEX); in renderer_drawtex()
703 renderer_quad_pos(renderer, x, y, x + w, y + h, VG_TRUE); in renderer_drawtex()
704 renderer_quad_texcoord(renderer, sx, sy, sx + sw, sy + sh, in renderer_drawtex()
705 renderer->u.drawtex.tex_width, in renderer_drawtex()
706 renderer->u.drawtex.tex_height); in renderer_drawtex()
708 renderer_quad_draw(renderer); in renderer_drawtex()
714 void renderer_drawtex_end(struct renderer *renderer) in renderer_drawtex_end() argument
716 assert(renderer->state == RENDERER_STATE_DRAWTEX); in renderer_drawtex_end()
718 cso_restore_blend(renderer->cso); in renderer_drawtex_end()
719 cso_restore_samplers(renderer->cso, PIPE_SHADER_FRAGMENT); in renderer_drawtex_end()
720 cso_restore_sampler_views(renderer->cso, PIPE_SHADER_FRAGMENT); in renderer_drawtex_end()
721 cso_restore_fragment_shader(renderer->cso); in renderer_drawtex_end()
722 cso_restore_vertex_shader(renderer->cso); in renderer_drawtex_end()
724 renderer->state = RENDERER_STATE_INIT; in renderer_drawtex_end()
731 VGboolean renderer_scissor_begin(struct renderer *renderer, in renderer_scissor_begin() argument
736 assert(renderer->state == RENDERER_STATE_INIT); in renderer_scissor_begin()
739 cso_save_depth_stencil_alpha(renderer->cso); in renderer_scissor_begin()
740 cso_save_blend(renderer->cso); in renderer_scissor_begin()
741 cso_save_fragment_shader(renderer->cso); in renderer_scissor_begin()
748 cso_set_depth_stencil_alpha(renderer->cso, &dsa); in renderer_scissor_begin()
751 renderer_set_blend(renderer, 0); in renderer_scissor_begin()
752 renderer_set_fs(renderer, RENDERER_FS_SCISSOR); in renderer_scissor_begin()
754 renderer_set_mvp(renderer, NULL); in renderer_scissor_begin()
756 renderer->u.scissor.restore_dsa = restore_dsa; in renderer_scissor_begin()
757 renderer->state = RENDERER_STATE_SCISSOR; in renderer_scissor_begin()
760 renderer->pipe->clear(renderer->pipe, in renderer_scissor_begin()
770 void renderer_scissor(struct renderer *renderer, in renderer_scissor() argument
773 assert(renderer->state == RENDERER_STATE_SCISSOR); in renderer_scissor()
775 renderer_quad_pos(renderer, x, y, x + width, y + height, VG_FALSE); in renderer_scissor()
776 renderer_quad_draw(renderer); in renderer_scissor()
782 void renderer_scissor_end(struct renderer *renderer) in renderer_scissor_end() argument
784 assert(renderer->state == RENDERER_STATE_SCISSOR); in renderer_scissor_end()
786 if (renderer->u.scissor.restore_dsa) in renderer_scissor_end()
787 cso_restore_depth_stencil_alpha(renderer->cso); in renderer_scissor_end()
788 cso_restore_blend(renderer->cso); in renderer_scissor_end()
789 cso_restore_fragment_shader(renderer->cso); in renderer_scissor_end()
791 renderer->state = RENDERER_STATE_INIT; in renderer_scissor_end()
797 VGboolean renderer_clear_begin(struct renderer *renderer) in renderer_clear_begin() argument
799 assert(renderer->state == RENDERER_STATE_INIT); in renderer_clear_begin()
801 cso_save_blend(renderer->cso); in renderer_clear_begin()
802 cso_save_fragment_shader(renderer->cso); in renderer_clear_begin()
803 cso_save_vertex_shader(renderer->cso); in renderer_clear_begin()
805 renderer_set_blend(renderer, ~0); in renderer_clear_begin()
806 renderer_set_fs(renderer, RENDERER_FS_COLOR); in renderer_clear_begin()
807 renderer_set_vs(renderer, RENDERER_VS_COLOR); in renderer_clear_begin()
809 renderer_set_mvp(renderer, NULL); in renderer_clear_begin()
811 renderer->state = RENDERER_STATE_CLEAR; in renderer_clear_begin()
821 void renderer_clear(struct renderer *renderer, in renderer_clear() argument
827 assert(renderer->state == RENDERER_STATE_CLEAR); in renderer_clear()
829 renderer_quad_pos(renderer, x, y, x + width, y + height, VG_TRUE); in renderer_clear()
831 memcpy(renderer->vertices[i][1], color, sizeof(VGfloat) * 4); in renderer_clear()
833 renderer_quad_draw(renderer); in renderer_clear()
839 void renderer_clear_end(struct renderer *renderer) in renderer_clear_end() argument
841 assert(renderer->state == RENDERER_STATE_CLEAR); in renderer_clear_end()
843 cso_restore_blend(renderer->cso); in renderer_clear_end()
844 cso_restore_fragment_shader(renderer->cso); in renderer_clear_end()
845 cso_restore_vertex_shader(renderer->cso); in renderer_clear_end()
847 renderer->state = RENDERER_STATE_INIT; in renderer_clear_end()
853 VGboolean renderer_filter_begin(struct renderer *renderer, in renderer_filter_begin() argument
866 assert(renderer->state == RENDERER_STATE_INIT); in renderer_filter_begin()
870 if (!renderer_can_support(renderer, dst, PIPE_BIND_RENDER_TARGET)) in renderer_filter_begin()
875 surf = renderer->pipe->create_surface(renderer->pipe, dst, &surf_tmpl); in renderer_filter_begin()
879 cso_save_framebuffer(renderer->cso); in renderer_filter_begin()
880 cso_save_viewport(renderer->cso); in renderer_filter_begin()
881 cso_save_blend(renderer->cso); in renderer_filter_begin()
884 renderer_set_target(renderer, surf, NULL, y0_top); in renderer_filter_begin()
887 renderer_set_blend(renderer, channel_mask); in renderer_filter_begin()
892 cso_save_samplers(renderer->cso, PIPE_SHADER_FRAGMENT); in renderer_filter_begin()
893 cso_save_sampler_views(renderer->cso, PIPE_SHADER_FRAGMENT); in renderer_filter_begin()
894 cso_save_fragment_shader(renderer->cso); in renderer_filter_begin()
895 cso_save_vertex_shader(renderer->cso); in renderer_filter_begin()
897 renderer_set_custom_fs(renderer, fs, in renderer_filter_begin()
900 renderer_set_vs(renderer, RENDERER_VS_TEXTURE); in renderer_filter_begin()
903 renderer->u.filter.tex_width = tex->width0; in renderer_filter_begin()
904 renderer->u.filter.tex_height = tex->height0; in renderer_filter_begin()
905 renderer->u.filter.use_sampler = VG_TRUE; in renderer_filter_begin()
908 cso_save_fragment_shader(renderer->cso); in renderer_filter_begin()
910 renderer_set_custom_fs(renderer, fs, NULL, NULL, 0, in renderer_filter_begin()
913 renderer->u.filter.use_sampler = VG_FALSE; in renderer_filter_begin()
916 renderer_set_mvp(renderer, NULL); in renderer_filter_begin()
918 renderer->state = RENDERER_STATE_FILTER; in renderer_filter_begin()
929 void renderer_filter(struct renderer *renderer, in renderer_filter() argument
933 assert(renderer->state == RENDERER_STATE_FILTER); in renderer_filter()
935 renderer_quad_pos(renderer, x, y, x + w, y + h, VG_FALSE); in renderer_filter()
936 if (renderer->u.filter.use_sampler) { in renderer_filter()
937 renderer_quad_texcoord(renderer, sx, sy, sx + sw, sy + sh, in renderer_filter()
938 renderer->u.filter.tex_width, in renderer_filter()
939 renderer->u.filter.tex_height); in renderer_filter()
942 renderer_quad_draw(renderer); in renderer_filter()
948 void renderer_filter_end(struct renderer *renderer) in renderer_filter_end() argument
950 assert(renderer->state == RENDERER_STATE_FILTER); in renderer_filter_end()
952 if (renderer->u.filter.use_sampler) { in renderer_filter_end()
953 cso_restore_samplers(renderer->cso, PIPE_SHADER_FRAGMENT); in renderer_filter_end()
954 cso_restore_sampler_views(renderer->cso, PIPE_SHADER_FRAGMENT); in renderer_filter_end()
955 cso_restore_vertex_shader(renderer->cso); in renderer_filter_end()
958 cso_restore_framebuffer(renderer->cso); in renderer_filter_end()
959 cso_restore_viewport(renderer->cso); in renderer_filter_end()
960 cso_restore_blend(renderer->cso); in renderer_filter_end()
961 cso_restore_fragment_shader(renderer->cso); in renderer_filter_end()
963 renderer->state = RENDERER_STATE_INIT; in renderer_filter_end()
969 VGboolean renderer_polygon_stencil_begin(struct renderer *renderer, in renderer_polygon_stencil_begin() argument
977 assert(renderer->state == RENDERER_STATE_INIT); in renderer_polygon_stencil_begin()
979 cso_save_vertex_elements(renderer->cso); in renderer_polygon_stencil_begin()
980 cso_save_blend(renderer->cso); in renderer_polygon_stencil_begin()
981 cso_save_depth_stencil_alpha(renderer->cso); in renderer_polygon_stencil_begin()
983 cso_set_vertex_elements(renderer->cso, 1, velem); in renderer_polygon_stencil_begin()
986 renderer_set_blend(renderer, 0); in renderer_polygon_stencil_begin()
989 dsa = &renderer->u.polygon_stencil.dsa; in renderer_polygon_stencil_begin()
1012 if (renderer->pipe->screen->get_param(renderer->pipe->screen, in renderer_polygon_stencil_begin()
1022 cso_set_depth_stencil_alpha(renderer->cso, dsa); in renderer_polygon_stencil_begin()
1025 cso_save_rasterizer(renderer->cso); in renderer_polygon_stencil_begin()
1027 renderer->u.polygon_stencil.manual_two_sides = manual_two_sides; in renderer_polygon_stencil_begin()
1028 renderer->u.polygon_stencil.restore_dsa = restore_dsa; in renderer_polygon_stencil_begin()
1029 renderer->state = RENDERER_STATE_POLYGON_STENCIL; in renderer_polygon_stencil_begin()
1037 void renderer_polygon_stencil(struct renderer *renderer, in renderer_polygon_stencil() argument
1041 assert(renderer->state == RENDERER_STATE_POLYGON_STENCIL); in renderer_polygon_stencil()
1043 cso_set_vertex_buffers(renderer->cso, 1, vbuf); in renderer_polygon_stencil()
1045 if (!renderer->u.polygon_stencil.manual_two_sides) { in renderer_polygon_stencil()
1046 cso_draw_arrays(renderer->cso, mode, start, count); in renderer_polygon_stencil()
1052 raster = renderer->g3d.rasterizer; in renderer_polygon_stencil()
1053 dsa = renderer->u.polygon_stencil.dsa; in renderer_polygon_stencil()
1059 cso_set_rasterizer(renderer->cso, &raster); in renderer_polygon_stencil()
1060 cso_set_depth_stencil_alpha(renderer->cso, &dsa); in renderer_polygon_stencil()
1061 cso_draw_arrays(renderer->cso, mode, start, count); in renderer_polygon_stencil()
1067 cso_set_rasterizer(renderer->cso, &raster); in renderer_polygon_stencil()
1068 cso_set_depth_stencil_alpha(renderer->cso, &dsa); in renderer_polygon_stencil()
1069 cso_draw_arrays(renderer->cso, mode, start, count); in renderer_polygon_stencil()
1076 void renderer_polygon_stencil_end(struct renderer *renderer) in renderer_polygon_stencil_end() argument
1078 assert(renderer->state == RENDERER_STATE_POLYGON_STENCIL); in renderer_polygon_stencil_end()
1080 if (renderer->u.polygon_stencil.manual_two_sides) in renderer_polygon_stencil_end()
1081 cso_restore_rasterizer(renderer->cso); in renderer_polygon_stencil_end()
1083 cso_restore_vertex_elements(renderer->cso); in renderer_polygon_stencil_end()
1086 cso_restore_blend(renderer->cso); in renderer_polygon_stencil_end()
1088 if (renderer->u.polygon_stencil.restore_dsa) in renderer_polygon_stencil_end()
1089 cso_restore_depth_stencil_alpha(renderer->cso); in renderer_polygon_stencil_end()
1091 renderer->state = RENDERER_STATE_INIT; in renderer_polygon_stencil_end()
1097 VGboolean renderer_polygon_fill_begin(struct renderer *renderer, in renderer_polygon_fill_begin() argument
1102 assert(renderer->state == RENDERER_STATE_INIT); in renderer_polygon_fill_begin()
1105 cso_save_depth_stencil_alpha(renderer->cso); in renderer_polygon_fill_begin()
1116 dsa.depth = renderer->g3d.dsa.depth; in renderer_polygon_fill_begin()
1117 cso_set_depth_stencil_alpha(renderer->cso, &dsa); in renderer_polygon_fill_begin()
1119 renderer->state = RENDERER_STATE_POLYGON_FILL; in renderer_polygon_fill_begin()
1127 void renderer_polygon_fill(struct renderer *renderer, in renderer_polygon_fill() argument
1131 assert(renderer->state == RENDERER_STATE_POLYGON_FILL); in renderer_polygon_fill()
1133 renderer_quad_pos(renderer, min_x, min_y, max_x, max_y, VG_TRUE); in renderer_polygon_fill()
1134 renderer_quad_draw(renderer); in renderer_polygon_fill()
1140 void renderer_polygon_fill_end(struct renderer *renderer) in renderer_polygon_fill_end() argument
1142 assert(renderer->state == RENDERER_STATE_POLYGON_FILL); in renderer_polygon_fill_end()
1144 cso_restore_depth_stencil_alpha(renderer->cso); in renderer_polygon_fill_end()
1146 renderer->state = RENDERER_STATE_INIT; in renderer_polygon_fill_end()
1149 struct renderer * renderer_create(struct vg_context *owner) in renderer_create()
1151 struct renderer *renderer; in renderer_create() local
1156 renderer = CALLOC_STRUCT(renderer); in renderer_create()
1157 if (!renderer) in renderer_create()
1160 renderer->pipe = owner->pipe; in renderer_create()
1161 renderer->cso = owner->cso_context; in renderer_create()
1165 renderer->vertices[i][0][3] = 1.0f; /* w */ in renderer_create()
1168 renderer->velems[i].src_offset = i * 4 * sizeof(float); in renderer_create()
1169 renderer->velems[i].instance_divisor = 0; in renderer_create()
1170 renderer->velems[i].vertex_buffer_index = 0; in renderer_create()
1171 renderer->velems[i].src_format = PIPE_FORMAT_R32G32B32A32_FLOAT; in renderer_create()
1173 cso_set_vertex_elements(renderer->cso, 2, renderer->velems); in renderer_create()
1176 raster = &renderer->g3d.rasterizer; in renderer_create()
1180 cso_set_rasterizer(renderer->cso, raster); in renderer_create()
1184 cso_set_stencil_ref(renderer->cso, &sr); in renderer_create()
1186 renderer_set_vs(renderer, RENDERER_VS_PLAIN); in renderer_create()
1188 renderer->state = RENDERER_STATE_INIT; in renderer_create()
1190 return renderer; in renderer_create()
1193 void renderer_destroy(struct renderer *ctx) in renderer_destroy()
1212 static void update_clip_state(struct renderer *renderer, in update_clip_state() argument
1215 struct pipe_depth_stencil_alpha_state *dsa = &renderer->g3d.dsa; in update_clip_state()
1220 struct pipe_framebuffer_state *fb = &renderer->g3d.fb; in update_clip_state()
1223 renderer_scissor_begin(renderer, VG_FALSE); in update_clip_state()
1250 renderer_scissor(renderer, x0, y0, iw, ih); in update_clip_state()
1253 renderer_scissor_end(renderer); in update_clip_state()
1261 static void renderer_validate_blend(struct renderer *renderer, in renderer_validate_blend() argument
1320 cso_set_blend(renderer->cso, &blend); in renderer_validate_blend()
1327 void renderer_validate(struct renderer *renderer, in renderer_validate() argument
1332 assert(renderer->state == RENDERER_STATE_INIT); in renderer_validate()
1334 dirty |= renderer->dirty; in renderer_validate()
1335 renderer->dirty = 0; in renderer_validate()
1338 struct pipe_framebuffer_state *fb = &renderer->g3d.fb; in renderer_validate()
1339 struct matrix *proj = &renderer->projection; in renderer_validate()
1348 cso_set_framebuffer(renderer->cso, fb); in renderer_validate()
1349 vg_set_viewport(renderer, VEGA_Y0_BOTTOM); in renderer_validate()
1357 renderer->pipe->clear(renderer->pipe, in renderer_validate()
1364 update_clip_state(renderer, state); in renderer_validate()
1365 cso_set_depth_stencil_alpha(renderer->cso, &renderer->g3d.dsa); in renderer_validate()
1369 renderer_validate_blend(renderer, state, stfb->strb->format); in renderer_validate()
1375 void renderer_validate_for_shader(struct renderer *renderer, in renderer_validate_for_shader() argument
1384 struct matrix mvp = renderer->projection; in renderer_validate_for_shader()
1388 renderer_set_mvp(renderer, &mvp); in renderer_validate_for_shader()
1390 renderer_set_custom_fs(renderer, fs, in renderer_validate_for_shader()
1395 void renderer_validate_for_mask_rendering(struct renderer *renderer, in renderer_validate_for_mask_rendering() argument
1399 struct matrix mvp = renderer->projection; in renderer_validate_for_mask_rendering()
1403 renderer_set_mvp(renderer, &mvp); in renderer_validate_for_mask_rendering()
1405 renderer_set_target(renderer, dst, renderer->g3d.fb.zsbuf, VG_FALSE); in renderer_validate_for_mask_rendering()
1406 renderer_set_blend(renderer, ~0); in renderer_validate_for_mask_rendering()
1407 renderer_set_fs(renderer, RENDERER_FS_WHITE); in renderer_validate_for_mask_rendering()
1410 renderer->dirty = FRAMEBUFFER_DIRTY | BLEND_DIRTY; in renderer_validate_for_mask_rendering()
1413 void renderer_copy_surface(struct renderer *ctx, in renderer_copy_surface()
1515 void renderer_texture_quad(struct renderer *r, in renderer_texture_quad()