Lines Matching full:client
94 create_program(struct nested_client *client, in create_program() argument
99 client->vert = create_shader(vert, GL_VERTEX_SHADER); in create_program()
100 client->frag = create_shader(frag, GL_FRAGMENT_SHADER); in create_program()
102 client->program = glCreateProgram(); in create_program()
103 glAttachShader(client->program, client->frag); in create_program()
104 glAttachShader(client->program, client->vert); in create_program()
105 glBindAttribLocation(client->program, POS, "pos"); in create_program()
106 glBindAttribLocation(client->program, COL, "color"); in create_program()
107 glLinkProgram(client->program); in create_program()
109 glGetProgramiv(client->program, GL_LINK_STATUS, &status); in create_program()
113 glGetProgramInfoLog(client->program, 1000, &len, log); in create_program()
118 client->rotation = in create_program()
119 glGetUniformLocation(client->program, "rotation"); in create_program()
140 render_triangle(struct nested_client *client, uint32_t time) in render_triangle() argument
162 if (client->program == 0) in render_triangle()
163 create_program(client, vertex_shader_text, in render_triangle()
178 glUseProgram(client->program); in render_triangle()
180 glViewport(0, 0, client->width, client->height); in render_triangle()
182 glUniformMatrix4fv(client->rotation, 1, GL_FALSE, in render_triangle()
208 struct nested_client *client = data; in frame_callback() local
213 callback = wl_surface_frame(client->surface); in frame_callback()
214 wl_callback_add_listener(callback, &frame_listener, client); in frame_callback()
216 render_triangle(client, time); in frame_callback()
218 eglSwapBuffers(client->egl_display, client->egl_surface); in frame_callback()
225 struct nested_client *client = data; in registry_handle_global() local
228 client->compositor = in registry_handle_global()
266 struct nested_client *client; in nested_client_create() local
268 client = malloc(sizeof *client); in nested_client_create()
269 if (client == NULL) in nested_client_create()
272 client->width = 250; in nested_client_create()
273 client->height = 250; in nested_client_create()
275 client->display = wl_display_connect(NULL); in nested_client_create()
277 client->registry = wl_display_get_registry(client->display); in nested_client_create()
278 wl_registry_add_listener(client->registry, in nested_client_create()
279 ®istry_listener, client); in nested_client_create()
282 wl_display_roundtrip(client->display); in nested_client_create()
284 client->egl_display = in nested_client_create()
286 client->display, NULL); in nested_client_create()
287 if (client->egl_display == NULL) in nested_client_create()
290 ret = eglInitialize(client->egl_display, &major, &minor); in nested_client_create()
297 ret = eglChooseConfig(client->egl_display, config_attribs, in nested_client_create()
298 &client->egl_config, 1, &n); in nested_client_create()
302 client->egl_context = eglCreateContext(client->egl_display, in nested_client_create()
303 client->egl_config, in nested_client_create()
306 if (!client->egl_context) in nested_client_create()
309 client->surface = wl_compositor_create_surface(client->compositor); in nested_client_create()
311 client->native = wl_egl_window_create(client->surface, in nested_client_create()
312 client->width, client->height); in nested_client_create()
314 client->egl_surface = weston_platform_create_egl_surface(client->egl_display, in nested_client_create()
315 client->egl_config, in nested_client_create()
316 client->native, NULL); in nested_client_create()
318 eglMakeCurrent(client->egl_display, client->egl_surface, in nested_client_create()
319 client->egl_surface, client->egl_context); in nested_client_create()
321 wl_egl_window_resize(client->native, in nested_client_create()
322 client->width, client->height, 0, 0); in nested_client_create()
324 frame_callback(client, NULL, 0); in nested_client_create()
326 return client; in nested_client_create()
330 nested_client_destroy(struct nested_client *client) in nested_client_destroy() argument
332 eglMakeCurrent(client->egl_display, in nested_client_destroy()
336 weston_platform_destroy_egl_surface(client->egl_display, in nested_client_destroy()
337 client->egl_surface); in nested_client_destroy()
338 wl_egl_window_destroy(client->native); in nested_client_destroy()
340 wl_surface_destroy(client->surface); in nested_client_destroy()
342 if (client->compositor) in nested_client_destroy()
343 wl_compositor_destroy(client->compositor); in nested_client_destroy()
345 wl_registry_destroy(client->registry); in nested_client_destroy()
346 eglTerminate(client->egl_display); in nested_client_destroy()
348 wl_display_flush(client->display); in nested_client_destroy()
349 wl_display_disconnect(client->display); in nested_client_destroy()
355 struct nested_client *client; in main() local
364 client = nested_client_create(); in main()
365 if (client == NULL) in main()
369 ret = wl_display_dispatch(client->display); in main()
371 nested_client_destroy(client); in main()