Lines Matching refs:filter

49 create_vert_shader(struct vl_matrix_filter *filter)
68 return ureg_create_shader_and_destroy(shader, filter->pipe);
78 create_frag_shader(struct vl_matrix_filter *filter, unsigned num_offsets,
147 return ureg_create_shader_and_destroy(shader, filter->pipe);
151 vl_matrix_filter_init(struct vl_matrix_filter *filter, struct pipe_context *pipe,
163 assert(filter && pipe);
167 memset(filter, 0, sizeof(*filter));
168 filter->pipe = pipe;
173 filter->rs_state = pipe->create_rasterizer_state(pipe, &rs_state);
174 if (!filter->rs_state)
186 filter->blend = pipe->create_blend_state(pipe, &blend);
187 if (!filter->blend)
200 filter->sampler = pipe->create_sampler_state(pipe, &sampler);
201 if (!filter->sampler)
204 filter->quad = vl_vb_upload_quads(pipe);
205 if(!filter->quad.buffer)
213 filter->ves = pipe->create_vertex_elements_state(pipe, 1, &ve);
214 if (!filter->ves)
233 filter->vs = create_vert_shader(filter);
234 if (!filter->vs)
237 filter->fs = create_frag_shader(filter, num_offsets, offsets, matrix_values);
238 if (!filter->fs)
245 pipe->delete_vs_state(pipe, filter->vs);
251 pipe->delete_vertex_elements_state(pipe, filter->ves);
254 pipe_resource_reference(&filter->quad.buffer, NULL);
257 pipe->delete_sampler_state(pipe, filter->sampler);
260 pipe->delete_blend_state(pipe, filter->blend);
263 pipe->delete_rasterizer_state(pipe, filter->rs_state);
270 vl_matrix_filter_cleanup(struct vl_matrix_filter *filter)
272 assert(filter);
274 filter->pipe->delete_sampler_state(filter->pipe, filter->sampler);
275 filter->pipe->delete_blend_state(filter->pipe, filter->blend);
276 filter->pipe->delete_rasterizer_state(filter->pipe, filter->rs_state);
277 filter->pipe->delete_vertex_elements_state(filter->pipe, filter->ves);
278 pipe_resource_reference(&filter->quad.buffer, NULL);
280 filter->pipe->delete_vs_state(filter->pipe, filter->vs);
281 filter->pipe->delete_fs_state(filter->pipe, filter->fs);
285 vl_matrix_filter_render(struct vl_matrix_filter *filter,
292 assert(filter && src && dst);
306 filter->pipe->bind_rasterizer_state(filter->pipe, filter->rs_state);
307 filter->pipe->bind_blend_state(filter->pipe, filter->blend);
308 filter->pipe->bind_fragment_sampler_states(filter->pipe, 1, &filter->sampler);
309 filter->pipe->set_fragment_sampler_views(filter->pipe, 1, &src);
310 filter->pipe->bind_vs_state(filter->pipe, filter->vs);
311 filter->pipe->bind_fs_state(filter->pipe, filter->fs);
312 filter->pipe->set_framebuffer_state(filter->pipe, &fb_state);
313 filter->pipe->set_viewport_state(filter->pipe, &viewport);
314 filter->pipe->set_vertex_buffers(filter->pipe, 1, &filter->quad);
315 filter->pipe->bind_vertex_elements_state(filter->pipe, filter->ves);
317 util_draw_arrays(filter->pipe, PIPE_PRIM_QUADS, 0, 4);