#ifndef STATE_VG_XML
#define STATE_VG_XML

/* Autogenerated file, DO NOT EDIT manually!

This file was generated by the rules-ng-ng headergen tool in this git repository:
http://0x04.net/cgit/index.cgi/rules-ng-ng
git clone git://0x04.net/rules-ng-ng

The rules-ng-ng source files this header was generated from are:
- state.xml     (  25532 bytes, from 2017-10-13 12:19:04)
- common.xml    (  26193 bytes, from 2017-10-13 12:18:24)
- common_3d.xml (  12636 bytes, from 2017-10-16 13:56:34)
- state_hi.xml  (  27733 bytes, from 2017-10-02 19:00:30)
- copyright.xml (   1597 bytes, from 2016-10-29 07:29:22)
- state_2d.xml  (  51552 bytes, from 2016-10-29 07:29:22)
- state_3d.xml  (  74317 bytes, from 2017-10-13 12:43:31)
- state_blt.xml (  13353 bytes, from 2017-10-16 17:02:43)
- state_vg.xml  (   5975 bytes, from 2016-10-29 07:29:22)

Copyright (C) 2012-2016 by the following authors:
- Wladimir J. van der Laan <laanwj@gmail.com>
- Christian Gmeiner <christian.gmeiner@gmail.com>
- Lucas Stach <l.stach@pengutronix.de>
- Russell King <rmk@arm.linux.org.uk>

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sub license,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice (including the
next paragraph) shall be included in all copies or substantial portions
of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
*/


#define VIVS_VG							0x00000000

#define VIVS_VG_UNK02800					0x00002800

#define VIVS_VG_UNK02804					0x00002804

#define VIVS_VG_UNK02808					0x00002808

#define VIVS_VG_UNK0280C					0x0000280c

#define VIVS_VG_UNK02810(i0)				       (0x00002810 + 0x4*(i0))
#define VIVS_VG_UNK02810__ESIZE					0x00000004
#define VIVS_VG_UNK02810__LEN					0x00000002

#define VIVS_VG_UNK02818(i0)				       (0x00002818 + 0x4*(i0))
#define VIVS_VG_UNK02818__ESIZE					0x00000004
#define VIVS_VG_UNK02818__LEN					0x00000002

#define VIVS_VG_UNK02820(i0)				       (0x00002820 + 0x4*(i0))
#define VIVS_VG_UNK02820__ESIZE					0x00000004
#define VIVS_VG_UNK02820__LEN					0x00000002

#define VIVS_VG_UNK02828					0x00002828

#define VIVS_VG_UNK0282C					0x0000282c

#define VIVS_VG_UNK02830(i0)				       (0x00002830 + 0x4*(i0))
#define VIVS_VG_UNK02830__ESIZE					0x00000004
#define VIVS_VG_UNK02830__LEN					0x00000004

#define VIVS_VG_UNK02840					0x00002840

#define VIVS_VG_UNK02844					0x00002844

#define VIVS_VG_UNK02848					0x00002848

#define VIVS_VG_UNK0284C					0x0000284c

#define VIVS_VG_UNK02850					0x00002850

#define VIVS_VG_UNK02854					0x00002854

#define VIVS_VG_UNK02858					0x00002858

#define VIVS_VG_UNK0285C					0x0000285c

#define VIVS_VG_UNK02860(i0)				       (0x00002860 + 0x4*(i0))
#define VIVS_VG_UNK02860__ESIZE					0x00000004
#define VIVS_VG_UNK02860__LEN					0x00000003

#define VIVS_VG_UNK02870(i0)				       (0x00002870 + 0x4*(i0))
#define VIVS_VG_UNK02870__ESIZE					0x00000004
#define VIVS_VG_UNK02870__LEN					0x00000003

#define VIVS_VG_UNK02880(i0)				       (0x00002880 + 0x4*(i0))
#define VIVS_VG_UNK02880__ESIZE					0x00000004
#define VIVS_VG_UNK02880__LEN					0x00000003

#define VIVS_VG_UNK02890(i0)				       (0x00002890 + 0x4*(i0))
#define VIVS_VG_UNK02890__ESIZE					0x00000004
#define VIVS_VG_UNK02890__LEN					0x00000002

#define VIVS_VG_UNK02898(i0)				       (0x00002898 + 0x4*(i0))
#define VIVS_VG_UNK02898__ESIZE					0x00000004
#define VIVS_VG_UNK02898__LEN					0x00000002

#define VIVS_VG_UNK028A0(i0)				       (0x000028a0 + 0x4*(i0))
#define VIVS_VG_UNK028A0__ESIZE					0x00000004
#define VIVS_VG_UNK028A0__LEN					0x00000002

#define VIVS_VG_UNK028A8(i0)				       (0x000028a8 + 0x4*(i0))
#define VIVS_VG_UNK028A8__ESIZE					0x00000004
#define VIVS_VG_UNK028A8__LEN					0x00000002

#define VIVS_VG_UNK028B0(i0)				       (0x000028b0 + 0x4*(i0))
#define VIVS_VG_UNK028B0__ESIZE					0x00000004
#define VIVS_VG_UNK028B0__LEN					0x00000002

#define VIVS_VG_UNK028B8(i0)				       (0x000028b8 + 0x4*(i0))
#define VIVS_VG_UNK028B8__ESIZE					0x00000004
#define VIVS_VG_UNK028B8__LEN					0x00000002

#define VIVS_VG_UNK028C0					0x000028c0

#define VIVS_VG_UNK028C4					0x000028c4

#define VIVS_VG_UNK028C8					0x000028c8

#define VIVS_VG_UNK028CC					0x000028cc

#define VIVS_VG_UNK028D0					0x000028d0

#define VIVS_VG_UNK028D4					0x000028d4

#define VIVS_VG_UNK028D8					0x000028d8

#define VIVS_VG_UNK028DC					0x000028dc

#define VIVS_VG_UNK028E0					0x000028e0

#define VIVS_VG_UNK028E4					0x000028e4

#define VIVS_VG_UNK028E8					0x000028e8

#define VIVS_VG_UNK028EC					0x000028ec

#define VIVS_VG_UNK028F0					0x000028f0

#define VIVS_VG_UNK028F8					0x000028f8

#define VIVS_VG_UNK028FC					0x000028fc

#define VIVS_VG_UNK02900(i0)				       (0x00002900 + 0x4*(i0))
#define VIVS_VG_UNK02900__ESIZE					0x00000004
#define VIVS_VG_UNK02900__LEN					0x00000006

#define VIVS_VG_UNK02918					0x00002918

#define VIVS_VG_UNK0291C					0x0000291c

#define VIVS_VG_UNK02920					0x00002920

#define VIVS_VG_UNK02924					0x00002924

#define VIVS_VG_UNK02928					0x00002928

#define VIVS_VG_UNK0292C					0x0000292c

#define VIVS_VG_UNK02930					0x00002930

#define VIVS_VG_UNK02934					0x00002934

#define VIVS_VG_UNK02938					0x00002938

#define VIVS_VG_UNK0293C					0x0000293c

#define VIVS_VG_UNK02940(i0)				       (0x00002940 + 0x4*(i0))
#define VIVS_VG_UNK02940__ESIZE					0x00000004
#define VIVS_VG_UNK02940__LEN					0x00000002

#define VIVS_VG_UNK02948(i0)				       (0x00002948 + 0x4*(i0))
#define VIVS_VG_UNK02948__ESIZE					0x00000004
#define VIVS_VG_UNK02948__LEN					0x00000002

#define VIVS_VG_UNK02950					0x00002950

#define VIVS_VG_UNK02954					0x00002954

#define VIVS_VG_UNK02958					0x00002958

#define VIVS_VG_UNK0295C					0x0000295c

#define VIVS_VG_UNK02960					0x00002960

#define VIVS_VG_UNK02980(i0)				       (0x00002980 + 0x4*(i0))
#define VIVS_VG_UNK02980__ESIZE					0x00000004
#define VIVS_VG_UNK02980__LEN					0x00000019


#endif /* STATE_VG_XML */
