[waffle] [PATCH 00/12] JSON and platform-specific wflinfo

Frank Henigman fjhenigman at google.com
Wed Jan 6 11:56:29 PST 2016


This patch set does two main things, the second of which could just as
well be a separate patch set.
1-6: Move wflinfo functionality into the api, info returned as a json string.
7-12: Extend the functionality to include platform-specific info, such as
      provided by glxinfo.

After 1-6 wflinfo can be gutted to just get json from the api and present
it as desired (dump the json, legacy wflinfo format, glxinfo compatibility
format, verbose or not).  I do not have a patch for that yet.

Since another json patch set was recently posted, I'll point out how
this one differs...
This set moves wflinfo functionality into the api, the other extends
the wflinfo program.  Both options were discussed on the mailing list
in Feb 2015 and the former was favored.  This set includes a small
library for constructing json strings, with the aim of keeping string
building code as clear and simple as possible.  It also tries to write
one key:value per line to allow grepping in lieu of full json parsing.
Finally this set adds additional platform-specific info, though as
stated above that could be considered a follow-on.


Frank Henigman (12):
  core: store platform type in wcore_platform
  core: store context API in wcore_context
  core: store current context in wcore_display
  core: add JSON library
  waffle: add waffle_display_info_json()
  wflinfo: add option for JSON output
  waffle: support platform-specific information
  wflinfo: add flag for platform-specific info
  glx: implement platform-specific information
  egl: implement platform-specific information
  gbm: implement platform-specific information
  x11_egl: implement platform-specific information

 include/waffle/waffle.h          |   5 +
 man/waffle_display.3.xml         |  19 +++
 src/utils/wflinfo.c              |  50 ++++++-
 src/waffle/CMakeLists.txt        |   1 +
 src/waffle/api/waffle_display.c  | 292 ++++++++++++++++++++++++++++++++++++++-
 src/waffle/api/waffle_gl_misc.c  |  11 +-
 src/waffle/api/waffle_init.c     |  32 +++--
 src/waffle/core/json.c           | 235 +++++++++++++++++++++++++++++++
 src/waffle/core/json.h           |  93 +++++++++++++
 src/waffle/core/wcore_context.h  |   2 +
 src/waffle/core/wcore_display.c  |   1 +
 src/waffle/core/wcore_display.h  |   2 +
 src/waffle/core/wcore_platform.h |   5 +
 src/waffle/egl/wegl_display.c    |  32 ++++-
 src/waffle/egl/wegl_display.h    |   4 +
 src/waffle/egl/wegl_platform.h   |   3 +
 src/waffle/gbm/wgbm_platform.c   |   1 +
 src/waffle/glx/glx_display.c     |  41 ++++++
 src/waffle/glx/glx_display.h     |   4 +
 src/waffle/glx/glx_platform.c    |   4 +
 src/waffle/glx/glx_platform.h    |   3 +
 src/waffle/waffle.def.in         |   1 +
 src/waffle/xegl/xegl_platform.c  |   1 +
 23 files changed, 820 insertions(+), 22 deletions(-)
 create mode 100644 src/waffle/core/json.c
 create mode 100644 src/waffle/core/json.h

-- 
2.6.0.rc2.230.g3dd15c0



More information about the waffle mailing list