YaGL: Transport improved 80/11080/1
authorStanislav Vorobiov <s.vorobiov@samsung.com>
Wed, 18 Sep 2013 14:20:18 +0000 (18:20 +0400)
committerStanislav Vorobiov <s.vorobiov@samsung.com>
Thu, 17 Oct 2013 08:04:20 +0000 (12:04 +0400)
commit9f43f4828b0fc36cb03fda9d2d5ec07fb5021ed2
tree9ec3675d37d5090f2ef37e38ef5c2fc42224569d
parentd4198fa7c735b561c81cb2db1ef799d39f131bd8
YaGL: Transport improved

The improvements are:

* All transport related things are now inside yagl_transport, the code
  is now concentrated in a single place instead of being scattered
  all over
* No more direct memory access and page walks from API implementation
  code, this is now done inside yagl_transport, thus, API
  implementation is transport agnostic now, function prototypes
  exactly match those of target
* Target arrays can now be accessed via pointer, again, all details
  are handled by yagl_transport. For output arrays API implementation
  also receives number of elements in an array, for input
  arrays it receives maximum number of elements and is able
  to specify how much elements are actually written in order not to
  waste bandwith by transferring excess data

Change-Id: If2689c9f8452ca2d15fe54b123fa2ac9e01a61be
56 files changed:
Makefile.target
hw/yagl_apis/egl/yagl_egl_api_ps.c
hw/yagl_apis/egl/yagl_egl_api_ps.h
hw/yagl_apis/egl/yagl_egl_calls.c
hw/yagl_apis/egl/yagl_egl_calls.h
hw/yagl_apis/egl/yagl_egl_display.c
hw/yagl_apis/egl/yagl_egl_display.h
hw/yagl_apis/egl/yagl_host_egl_calls.c
hw/yagl_apis/egl/yagl_host_egl_calls.h
hw/yagl_apis/gles/yagl_gles_array.c
hw/yagl_apis/gles/yagl_gles_array.h
hw/yagl_apis/gles/yagl_gles_buffer.c
hw/yagl_apis/gles/yagl_gles_buffer.h
hw/yagl_apis/gles/yagl_gles_context.c
hw/yagl_apis/gles/yagl_gles_context.h
hw/yagl_apis/gles/yagl_host_gles_calls.c
hw/yagl_apis/gles/yagl_host_gles_calls.h
hw/yagl_apis/gles1/yagl_gles1_calls.c
hw/yagl_apis/gles1/yagl_gles1_calls.h
hw/yagl_apis/gles1/yagl_host_gles1_calls.c
hw/yagl_apis/gles1/yagl_host_gles1_calls.h
hw/yagl_apis/gles2/yagl_gles2_calls.c
hw/yagl_apis/gles2/yagl_gles2_calls.h
hw/yagl_apis/gles2/yagl_gles2_shader.c
hw/yagl_apis/gles2/yagl_gles2_shader.h
hw/yagl_apis/gles2/yagl_host_gles2_calls.c
hw/yagl_apis/gles2/yagl_host_gles2_calls.h
hw/yagl_backends/egl_offscreen/yagl_egl_offscreen_image.c
hw/yagl_client_image.h
hw/yagl_device.c
hw/yagl_eglb_image.h
hw/yagl_log.c
hw/yagl_marshal.h [deleted file]
hw/yagl_marshal_egl.h [deleted file]
hw/yagl_marshal_gl.h [deleted file]
hw/yagl_mem.c
hw/yagl_mem.h
hw/yagl_mem_egl.c [deleted file]
hw/yagl_mem_egl.h [deleted file]
hw/yagl_mem_gl.c [deleted file]
hw/yagl_mem_gl.h [deleted file]
hw/yagl_mem_transfer.c [deleted file]
hw/yagl_mem_transfer.h [deleted file]
hw/yagl_server.c
hw/yagl_server.h
hw/yagl_stats.c
hw/yagl_stats.h
hw/yagl_thread.c
hw/yagl_thread.h
hw/yagl_transport.c [new file with mode: 0644]
hw/yagl_transport.h [new file with mode: 0644]
hw/yagl_transport_egl.h [new file with mode: 0644]
hw/yagl_transport_gl1.h [new file with mode: 0644]
hw/yagl_transport_gl2.h [new file with mode: 0644]
hw/yagl_types.h
hw/yagl_version.h