• Home
  • Raw
  • Download

Lines Matching refs:zscan

120 create_vert_shader(struct vl_zscan *zscan)  in create_vert_shader()  argument
134 o_vtex = MALLOC(zscan->num_channels * sizeof(struct ureg_dst)); in create_vert_shader()
137 (float)VL_BLOCK_WIDTH / zscan->buffer_width, in create_vert_shader()
138 (float)VL_BLOCK_HEIGHT / zscan->buffer_height); in create_vert_shader()
148 for (i = 0; i < zscan->num_channels; ++i) in create_vert_shader()
168 ureg_imm1f(shader, 1.0f / zscan->blocks_per_line)); in create_vert_shader()
173 for (i = 0; i < zscan->num_channels; ++i) { in create_vert_shader()
175 ureg_imm1f(shader, 1.0f / (zscan->blocks_per_line * VL_BLOCK_WIDTH) in create_vert_shader()
176 * ((signed)i - (signed)zscan->num_channels / 2))); in create_vert_shader()
179 ureg_imm1f(shader, 1.0f / zscan->blocks_per_line), ureg_src(tmp)); in create_vert_shader()
183 ureg_imm1f(shader, (float)zscan->blocks_per_line / zscan->blocks_total)); in create_vert_shader()
191 return ureg_create_shader_and_destroy(shader, zscan->pipe); in create_vert_shader()
195 create_frag_shader(struct vl_zscan *zscan) in create_frag_shader() argument
211 vtex = MALLOC(zscan->num_channels * sizeof(struct ureg_src)); in create_frag_shader()
212 tmp = MALLOC(zscan->num_channels * sizeof(struct ureg_dst)); in create_frag_shader()
214 for (i = 0; i < zscan->num_channels; ++i) in create_frag_shader()
221 for (i = 0; i < zscan->num_channels; ++i) in create_frag_shader()
232 for (i = 0; i < zscan->num_channels; ++i) in create_frag_shader()
235 for (i = 0; i < zscan->num_channels; ++i) in create_frag_shader()
238 for (i = 0; i < zscan->num_channels; ++i) { in create_frag_shader()
246 for (i = 0; i < zscan->num_channels; ++i) in create_frag_shader()
253 return ureg_create_shader_and_destroy(shader, zscan->pipe); in create_frag_shader()
257 init_shaders(struct vl_zscan *zscan) in init_shaders() argument
259 assert(zscan); in init_shaders()
261 zscan->vs = create_vert_shader(zscan); in init_shaders()
262 if (!zscan->vs) in init_shaders()
265 zscan->fs = create_frag_shader(zscan); in init_shaders()
266 if (!zscan->fs) in init_shaders()
272 zscan->pipe->delete_vs_state(zscan->pipe, zscan->vs); in init_shaders()
279 cleanup_shaders(struct vl_zscan *zscan) in cleanup_shaders() argument
281 assert(zscan); in cleanup_shaders()
283 zscan->pipe->delete_vs_state(zscan->pipe, zscan->vs); in cleanup_shaders()
284 zscan->pipe->delete_fs_state(zscan->pipe, zscan->fs); in cleanup_shaders()
288 init_state(struct vl_zscan *zscan) in init_state() argument
295 assert(zscan); in init_state()
303 zscan->rs_state = zscan->pipe->create_rasterizer_state(zscan->pipe, &rs_state); in init_state()
304 if (!zscan->rs_state) in init_state()
322 zscan->blend = zscan->pipe->create_blend_state(zscan->pipe, &blend); in init_state()
323 if (!zscan->blend) in init_state()
337 zscan->samplers[i] = zscan->pipe->create_sampler_state(zscan->pipe, &sampler); in init_state()
338 if (!zscan->samplers[i]) in init_state()
346 if (zscan->samplers[i]) in init_state()
347 zscan->pipe->delete_sampler_state(zscan->pipe, zscan->samplers[i]); in init_state()
349 zscan->pipe->delete_rasterizer_state(zscan->pipe, zscan->rs_state); in init_state()
352 zscan->pipe->delete_blend_state(zscan->pipe, zscan->blend); in init_state()
359 cleanup_state(struct vl_zscan *zscan) in cleanup_state() argument
363 assert(zscan); in cleanup_state()
366 zscan->pipe->delete_sampler_state(zscan->pipe, zscan->samplers[i]); in cleanup_state()
368 zscan->pipe->delete_rasterizer_state(zscan->pipe, zscan->rs_state); in cleanup_state()
369 zscan->pipe->delete_blend_state(zscan->pipe, zscan->blend); in cleanup_state()
450 vl_zscan_init(struct vl_zscan *zscan, struct pipe_context *pipe, in vl_zscan_init() argument
455 assert(zscan && pipe); in vl_zscan_init()
457 zscan->pipe = pipe; in vl_zscan_init()
458 zscan->buffer_width = buffer_width; in vl_zscan_init()
459 zscan->buffer_height = buffer_height; in vl_zscan_init()
460 zscan->num_channels = num_channels; in vl_zscan_init()
461 zscan->blocks_per_line = blocks_per_line; in vl_zscan_init()
462 zscan->blocks_total = blocks_total; in vl_zscan_init()
464 if(!init_shaders(zscan)) in vl_zscan_init()
467 if(!init_state(zscan)) { in vl_zscan_init()
468 cleanup_shaders(zscan); in vl_zscan_init()
476 vl_zscan_cleanup(struct vl_zscan *zscan) in vl_zscan_cleanup() argument
478 assert(zscan); in vl_zscan_cleanup()
480 cleanup_shaders(zscan); in vl_zscan_cleanup()
481 cleanup_state(zscan); in vl_zscan_cleanup()
485 vl_zscan_init_buffer(struct vl_zscan *zscan, struct vl_zscan_buffer *buffer, in vl_zscan_init_buffer() argument
491 assert(zscan && buffer); in vl_zscan_init_buffer()
516 res_tmpl.width0 = VL_BLOCK_WIDTH * zscan->blocks_per_line; in vl_zscan_init_buffer()
523 res = zscan->pipe->screen->resource_create(zscan->pipe->screen, &res_tmpl); in vl_zscan_init_buffer()
530 buffer->quant = zscan->pipe->create_sampler_view(zscan->pipe, res, &sv_tmpl); in vl_zscan_init_buffer()
559 vl_zscan_upload_quant(struct vl_zscan *zscan, struct vl_zscan_buffer *buffer, in vl_zscan_upload_quant() argument
578 pipe = zscan->pipe; in vl_zscan_upload_quant()
580 rect.width *= zscan->blocks_per_line; in vl_zscan_upload_quant()
591 for (i = 0; i < zscan->blocks_per_line; ++i) in vl_zscan_upload_quant()
600 vl_zscan_render(struct vl_zscan *zscan, struct vl_zscan_buffer *buffer, unsigned num_instances) in vl_zscan_render() argument
604 zscan->pipe->bind_rasterizer_state(zscan->pipe, zscan->rs_state); in vl_zscan_render()
605 zscan->pipe->bind_blend_state(zscan->pipe, zscan->blend); in vl_zscan_render()
606 zscan->pipe->bind_sampler_states(zscan->pipe, PIPE_SHADER_FRAGMENT, in vl_zscan_render()
607 0, 3, zscan->samplers); in vl_zscan_render()
608 zscan->pipe->set_framebuffer_state(zscan->pipe, &buffer->fb_state); in vl_zscan_render()
609 zscan->pipe->set_viewport_states(zscan->pipe, 0, 1, &buffer->viewport); in vl_zscan_render()
610 zscan->pipe->set_sampler_views(zscan->pipe, PIPE_SHADER_FRAGMENT, in vl_zscan_render()
612 zscan->pipe->bind_vs_state(zscan->pipe, zscan->vs); in vl_zscan_render()
613 zscan->pipe->bind_fs_state(zscan->pipe, zscan->fs); in vl_zscan_render()
614 util_draw_arrays_instanced(zscan->pipe, PIPE_PRIM_QUADS, 0, 4, 0, num_instances); in vl_zscan_render()