Lines Matching refs:src
126 _bind_buffer (struct SrcShader *src) in _bind_buffer() argument
128 GstGLContext *context = src->base.context; in _bind_buffer()
132 gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, src->vbo_indices); in _bind_buffer()
133 gl->BindBuffer (GL_ARRAY_BUFFER, src->vbo); in _bind_buffer()
136 for (i = 0; i < src->n_attributes; i++) { in _bind_buffer()
137 struct attribute *attr = &src->attributes[i]; in _bind_buffer()
141 gst_gl_shader_get_attribute_location (src->shader, attr->name); in _bind_buffer()
152 _unbind_buffer (struct SrcShader *src) in _unbind_buffer() argument
154 GstGLContext *context = src->base.context; in _unbind_buffer()
161 for (i = 0; i < src->n_attributes; i++) { in _unbind_buffer()
162 struct attribute *attr = &src->attributes[i]; in _unbind_buffer()
172 struct SrcShader *src = impl; in _src_shader_init() local
175 src->base.context = context; in _src_shader_init()
177 if (!src->vbo) { in _src_shader_init()
179 gl->GenVertexArrays (1, &src->vao); in _src_shader_init()
180 gl->BindVertexArray (src->vao); in _src_shader_init()
183 gl->GenBuffers (1, &src->vbo); in _src_shader_init()
184 gl->BindBuffer (GL_ARRAY_BUFFER, src->vbo); in _src_shader_init()
185 gl->BufferData (GL_ARRAY_BUFFER, src->vertices_size, in _src_shader_init()
186 src->vertices, GL_STATIC_DRAW); in _src_shader_init()
188 gl->GenBuffers (1, &src->vbo_indices); in _src_shader_init()
189 gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, src->vbo_indices); in _src_shader_init()
190 gl->BufferData (GL_ELEMENT_ARRAY_BUFFER, src->n_indices * sizeof (gushort), in _src_shader_init()
191 src->indices, GL_STATIC_DRAW); in _src_shader_init()
194 _bind_buffer (src); in _src_shader_init()
208 struct SrcShader *src = impl; in _src_shader_fill_bound_fbo() local
211 g_return_val_if_fail (src->base.context, FALSE); in _src_shader_fill_bound_fbo()
212 g_return_val_if_fail (src->shader, FALSE); in _src_shader_fill_bound_fbo()
213 gl = src->base.context->gl_vtable; in _src_shader_fill_bound_fbo()
215 gst_gl_shader_use (src->shader); in _src_shader_fill_bound_fbo()
218 gl->BindVertexArray (src->vao); in _src_shader_fill_bound_fbo()
219 _bind_buffer (src); in _src_shader_fill_bound_fbo()
221 gl->DrawElements (GL_TRIANGLES, src->n_indices, GL_UNSIGNED_SHORT, in _src_shader_fill_bound_fbo()
222 (gpointer) (gintptr) src->index_offset); in _src_shader_fill_bound_fbo()
227 _unbind_buffer (src); in _src_shader_fill_bound_fbo()
229 gst_gl_context_clear_shader (src->base.context); in _src_shader_fill_bound_fbo()
237 struct SrcShader *src = impl; in _src_shader_deinit() local
238 const GstGLFuncs *gl = src->base.context->gl_vtable; in _src_shader_deinit()
240 if (src->shader) in _src_shader_deinit()
241 gst_object_unref (src->shader); in _src_shader_deinit()
242 src->shader = NULL; in _src_shader_deinit()
244 if (src->vao) in _src_shader_deinit()
245 gl->DeleteVertexArrays (1, &src->vao); in _src_shader_deinit()
246 src->vao = 0; in _src_shader_deinit()
248 if (src->vbo) in _src_shader_deinit()
249 gl->DeleteBuffers (1, &src->vbo); in _src_shader_deinit()
250 src->vbo = 0; in _src_shader_deinit()
252 if (src->vbo_indices) in _src_shader_deinit()
253 gl->DeleteBuffers (1, &src->vbo_indices); in _src_shader_deinit()
254 src->vbo_indices = 0; in _src_shader_deinit()
310 struct SrcSMPTE *src = g_new0 (struct SrcSMPTE, 1); in _src_smpte_new() local
312 src->base.base.src = test; in _src_smpte_new()
314 return src; in _src_smpte_new()
321 struct SrcSMPTE *src = impl; in _src_smpte_init() local
329 src->base.base.context = context; in _src_smpte_init()
445 if (src->color_shader) in _src_smpte_init()
446 gst_object_unref (src->color_shader); in _src_smpte_init()
454 src->color_shader = gst_gl_shader_new_link_with_stages (context, &error, in _src_smpte_init()
463 if (!src->color_shader) { in _src_smpte_init()
464 GST_ERROR_OBJECT (src->base.base.src, "%s", error->message); in _src_smpte_init()
470 if (src->snow_shader) in _src_smpte_init()
471 gst_object_unref (src->snow_shader); in _src_smpte_init()
472 src->snow_shader = gst_gl_shader_new_link_with_stages (context, &error, in _src_smpte_init()
481 if (!src->snow_shader) { in _src_smpte_init()
482 GST_ERROR_OBJECT (src->base.base.src, "%s", error->message); in _src_smpte_init()
486 src->attr_snow_position = -1; in _src_smpte_init()
488 src->base.n_attributes = 2; in _src_smpte_init()
490 src->base.attributes[0].name = "position"; in _src_smpte_init()
491 src->base.attributes[0].location = -1; in _src_smpte_init()
492 src->base.attributes[0].n_elements = 4; in _src_smpte_init()
493 src->base.attributes[0].element_type = GL_FLOAT; in _src_smpte_init()
494 src->base.attributes[0].offset = 0; in _src_smpte_init()
495 src->base.attributes[0].stride = sizeof (struct XYZWRGB); in _src_smpte_init()
497 src->base.attributes[1].name = "a_color"; in _src_smpte_init()
498 src->base.attributes[1].location = -1; in _src_smpte_init()
499 src->base.attributes[1].n_elements = 3; in _src_smpte_init()
500 src->base.attributes[1].element_type = GL_FLOAT; in _src_smpte_init()
501 src->base.attributes[1].offset = 4 * sizeof (gfloat); in _src_smpte_init()
502 src->base.attributes[1].stride = sizeof (struct XYZWRGB); in _src_smpte_init()
504 if (src->base.shader) in _src_smpte_init()
505 gst_object_unref (src->base.shader); in _src_smpte_init()
506 src->base.shader = gst_object_ref (src->color_shader); in _src_smpte_init()
507 src->base.vertices = (gfloat *) coord; in _src_smpte_init()
508 src->base.vertices_size = sizeof (struct XYZWRGB) * N_QUADS * 4; in _src_smpte_init()
509 src->base.indices = plane_indices; in _src_smpte_init()
510 src->base.n_indices = N_QUADS * 6; in _src_smpte_init()
518 struct SrcSMPTE *src = impl; in _src_smpte_fill_bound_fbo() local
520 GstGLBaseSrc *bsrc = GST_GL_BASE_SRC (src->base.base.src); in _src_smpte_fill_bound_fbo()
522 src->base.n_attributes = 2; in _src_smpte_fill_bound_fbo()
523 if (src->base.shader) in _src_smpte_fill_bound_fbo()
524 gst_object_unref (src->base.shader); in _src_smpte_fill_bound_fbo()
525 src->base.shader = gst_object_ref (src->color_shader); in _src_smpte_fill_bound_fbo()
526 src->base.n_indices = (N_QUADS - 1) * 6; in _src_smpte_fill_bound_fbo()
527 src->base.index_offset = 0; in _src_smpte_fill_bound_fbo()
530 attr_color_position = src->base.attributes[0].location; in _src_smpte_fill_bound_fbo()
532 src->base.attributes[0].location = src->attr_snow_position; in _src_smpte_fill_bound_fbo()
533 src->base.n_attributes = 1; in _src_smpte_fill_bound_fbo()
534 if (src->base.shader) in _src_smpte_fill_bound_fbo()
535 gst_object_unref (src->base.shader); in _src_smpte_fill_bound_fbo()
536 src->base.shader = gst_object_ref (src->snow_shader); in _src_smpte_fill_bound_fbo()
537 src->base.n_indices = 6; in _src_smpte_fill_bound_fbo()
538 src->base.index_offset = (N_QUADS - 1) * 6 * sizeof (gushort); in _src_smpte_fill_bound_fbo()
539 gst_gl_shader_use (src->snow_shader); in _src_smpte_fill_bound_fbo()
540 gst_gl_shader_set_uniform_1f (src->snow_shader, "time", in _src_smpte_fill_bound_fbo()
544 src->attr_snow_position = src->base.attributes[0].location; in _src_smpte_fill_bound_fbo()
545 src->base.attributes[0].location = attr_color_position; in _src_smpte_fill_bound_fbo()
553 struct SrcSMPTE *src = impl; in _src_smpte_free() local
560 g_free ((gpointer) src->base.vertices); in _src_smpte_free()
561 g_free ((gpointer) src->base.indices); in _src_smpte_free()
563 if (src->snow_shader) in _src_smpte_free()
564 gst_object_unref (src->snow_shader); in _src_smpte_free()
565 if (src->color_shader) in _src_smpte_free()
566 gst_object_unref (src->color_shader); in _src_smpte_free()
591 struct SrcUniColor *src = g_new0 (struct SrcUniColor, 1); in _src_uni_color_new() local
593 src->base.src = test; in _src_uni_color_new()
595 return src; in _src_uni_color_new()
602 struct SrcUniColor *src = impl; in _src_uni_color_init() local
604 src->base.context = context; in _src_uni_color_init()
605 src->base.v_info = *v_info; in _src_uni_color_init()
613 struct SrcUniColor *src = impl; in _src_uni_color_fill_bound_fbo() local
614 const GstGLFuncs *gl = src->base.context->gl_vtable; in _src_uni_color_fill_bound_fbo()
616 gl->ClearColor (src->color.R, src->color.G, src->color.B, 1.0f); in _src_uni_color_fill_bound_fbo()
632 struct SrcUniColor *src = _src_uni_color_new (test); \
633 src->color = vts_colors[G_PASTE(COLOR_,cap_name)]; \
634 return src; \
653 struct SrcUniColor *src = _src_uni_color_new (test); in _src_blink_new() local
655 src->color = vts_colors[COLOR_WHITE]; in _src_blink_new()
657 return src; in _src_blink_new()
663 struct SrcUniColor *src = impl; in _src_blink_fill_bound_fbo() local
665 if (src->color.R > 0.5) { in _src_blink_fill_bound_fbo()
666 src->color = vts_colors[COLOR_BLACK]; in _src_blink_fill_bound_fbo()
668 src->color = vts_colors[COLOR_WHITE]; in _src_blink_fill_bound_fbo()
719 struct SrcCheckers *src = impl; in _src_checkers_init() local
723 src->base.base.context = context; in _src_checkers_init()
731 if (src->base.shader) in _src_checkers_init()
732 gst_object_unref (src->base.shader); in _src_checkers_init()
733 src->base.shader = gst_gl_shader_new_link_with_stages (context, &error, in _src_checkers_init()
742 if (!src->base.shader) { in _src_checkers_init()
743 GST_ERROR_OBJECT (src->base.base.src, "%s", error->message); in _src_checkers_init()
747 src->base.n_attributes = 1; in _src_checkers_init()
749 src->base.attributes[0].name = "position"; in _src_checkers_init()
750 src->base.attributes[0].location = -1; in _src_checkers_init()
751 src->base.attributes[0].n_elements = 4; in _src_checkers_init()
752 src->base.attributes[0].element_type = GL_FLOAT; in _src_checkers_init()
753 src->base.attributes[0].offset = 0; in _src_checkers_init()
754 src->base.attributes[0].stride = 4 * sizeof (gfloat); in _src_checkers_init()
756 src->base.vertices = positions; in _src_checkers_init()
757 src->base.vertices_size = sizeof (positions); in _src_checkers_init()
758 src->base.indices = indices_quad; in _src_checkers_init()
759 src->base.n_indices = 6; in _src_checkers_init()
761 gst_gl_shader_use (src->base.shader); in _src_checkers_init()
762 gst_gl_shader_set_uniform_1f (src->base.shader, "checker_width", in _src_checkers_init()
763 src->checker_width); in _src_checkers_init()
764 gst_gl_shader_set_uniform_1f (src->base.shader, "width", in _src_checkers_init()
766 gst_gl_shader_set_uniform_1f (src->base.shader, "height", in _src_checkers_init()
768 gst_gl_context_clear_shader (src->base.base.context); in _src_checkers_init()
776 struct SrcCheckers *src = impl; in _src_checkers_free() local
778 if (!src) in _src_checkers_free()
789 struct SrcCheckers *src = g_new0 (struct SrcCheckers, 1); in _src_checkers_new() local
791 src->base.base.src = test; in _src_checkers_new()
793 return src; in _src_checkers_new()
800 struct SrcCheckers *src = _src_checkers_new (test); \
801 src->checker_width = spacing; \
802 return src; \
821 struct SrcShader *src = impl; in _src_snow_init() local
825 src->base.context = context; in _src_snow_init()
833 if (src->shader) in _src_snow_init()
834 gst_object_unref (src->shader); in _src_snow_init()
835 src->shader = gst_gl_shader_new_link_with_stages (context, &error, in _src_snow_init()
844 if (!src->shader) { in _src_snow_init()
845 GST_ERROR_OBJECT (src->base.src, "%s", error->message); in _src_snow_init()
849 src->n_attributes = 1; in _src_snow_init()
851 src->attributes[0].name = "position"; in _src_snow_init()
852 src->attributes[0].location = -1; in _src_snow_init()
853 src->attributes[0].n_elements = 4; in _src_snow_init()
854 src->attributes[0].element_type = GL_FLOAT; in _src_snow_init()
855 src->attributes[0].offset = 0; in _src_snow_init()
856 src->attributes[0].stride = 4 * sizeof (gfloat); in _src_snow_init()
858 src->vertices = positions; in _src_snow_init()
859 src->vertices_size = sizeof (positions); in _src_snow_init()
860 src->indices = indices_quad; in _src_snow_init()
861 src->n_indices = 6; in _src_snow_init()
869 struct SrcShader *src = impl; in _src_snow_fill_bound_fbo() local
870 GstGLBaseSrc *bsrc = GST_GL_BASE_SRC (src->base.src); in _src_snow_fill_bound_fbo()
872 g_return_val_if_fail (src->base.context, FALSE); in _src_snow_fill_bound_fbo()
873 g_return_val_if_fail (src->shader, FALSE); in _src_snow_fill_bound_fbo()
875 gst_gl_shader_use (src->shader); in _src_snow_fill_bound_fbo()
876 gst_gl_shader_set_uniform_1f (src->shader, "time", in _src_snow_fill_bound_fbo()
885 struct SrcShader *src = impl; in _src_snow_free() local
887 if (!src) in _src_snow_free()
898 struct SrcShader *src = g_new0 (struct SrcShader, 1); in _src_snow_new() local
900 src->base.src = test; in _src_snow_new()
902 return src; in _src_snow_new()
960 struct SrcShader *src = impl; in _src_mandelbrot_init() local
964 src->base.context = context; in _src_mandelbrot_init()
972 if (src->shader) in _src_mandelbrot_init()
973 gst_object_unref (src->shader); in _src_mandelbrot_init()
974 src->shader = gst_gl_shader_new_link_with_stages (context, &error, in _src_mandelbrot_init()
983 if (!src->shader) { in _src_mandelbrot_init()
984 GST_ERROR_OBJECT (src->base.src, "%s", error->message); in _src_mandelbrot_init()
988 src->n_attributes = 1; in _src_mandelbrot_init()
990 src->attributes[0].name = "position"; in _src_mandelbrot_init()
991 src->attributes[0].location = -1; in _src_mandelbrot_init()
992 src->attributes[0].n_elements = 4; in _src_mandelbrot_init()
993 src->attributes[0].element_type = GL_FLOAT; in _src_mandelbrot_init()
994 src->attributes[0].offset = 0; in _src_mandelbrot_init()
995 src->attributes[0].stride = 4 * sizeof (gfloat); in _src_mandelbrot_init()
997 src->vertices = positions; in _src_mandelbrot_init()
998 src->vertices_size = sizeof (positions); in _src_mandelbrot_init()
999 src->indices = indices_quad; in _src_mandelbrot_init()
1000 src->n_indices = 6; in _src_mandelbrot_init()
1002 gst_gl_shader_use (src->shader); in _src_mandelbrot_init()
1003 gst_gl_shader_set_uniform_1f (src->shader, "aspect_ratio", in _src_mandelbrot_init()
1006 gst_gl_context_clear_shader (src->base.context); in _src_mandelbrot_init()
1014 struct SrcShader *src = impl; in _src_mandelbrot_fill_bound_fbo() local
1015 GstGLBaseSrc *bsrc = GST_GL_BASE_SRC (src->base.src); in _src_mandelbrot_fill_bound_fbo()
1017 g_return_val_if_fail (src->base.context, FALSE); in _src_mandelbrot_fill_bound_fbo()
1018 g_return_val_if_fail (src->shader, FALSE); in _src_mandelbrot_fill_bound_fbo()
1020 gst_gl_shader_use (src->shader); in _src_mandelbrot_fill_bound_fbo()
1021 gst_gl_shader_set_uniform_1f (src->shader, "time", in _src_mandelbrot_fill_bound_fbo()
1030 struct SrcShader *src = impl; in _src_mandelbrot_free() local
1032 if (!src) in _src_mandelbrot_free()
1043 struct SrcShader *src = g_new0 (struct SrcShader, 1); in _src_mandelbrot_new() local
1045 src->base.src = test; in _src_mandelbrot_new()
1047 return src; in _src_mandelbrot_new()
1088 struct SrcShader *src = impl; in _src_circular_init() local
1092 src->base.context = context; in _src_circular_init()
1100 if (src->shader) in _src_circular_init()
1101 gst_object_unref (src->shader); in _src_circular_init()
1102 src->shader = gst_gl_shader_new_link_with_stages (context, &error, in _src_circular_init()
1111 if (!src->shader) { in _src_circular_init()
1112 GST_ERROR_OBJECT (src->base.src, "%s", error->message); in _src_circular_init()
1116 src->n_attributes = 1; in _src_circular_init()
1118 src->attributes[0].name = "position"; in _src_circular_init()
1119 src->attributes[0].location = -1; in _src_circular_init()
1120 src->attributes[0].n_elements = 4; in _src_circular_init()
1121 src->attributes[0].element_type = GL_FLOAT; in _src_circular_init()
1122 src->attributes[0].offset = 0; in _src_circular_init()
1123 src->attributes[0].stride = 4 * sizeof (gfloat); in _src_circular_init()
1125 src->vertices = positions; in _src_circular_init()
1126 src->vertices_size = sizeof (positions); in _src_circular_init()
1127 src->indices = indices_quad; in _src_circular_init()
1128 src->n_indices = 6; in _src_circular_init()
1130 gst_gl_shader_use (src->shader); in _src_circular_init()
1131 gst_gl_shader_set_uniform_1f (src->shader, "aspect_ratio", in _src_circular_init()
1134 gst_gl_context_clear_shader (src->base.context); in _src_circular_init()
1142 struct SrcShader *src = impl; in _src_circular_free() local
1144 if (!src) in _src_circular_free()
1155 struct SrcShader *src = g_new0 (struct SrcShader, 1); in _src_circular_new() local
1157 src->base.src = test; in _src_circular_new()
1159 return src; in _src_circular_new()