From 073cb5ee1d12a7f1a18b7d732f346c16eb740f49 Mon Sep 17 00:00:00 2001 From: "Xiang, Haihao" Date: Sat, 27 Sep 2008 11:01:24 +0800 Subject: intel: Copy data from card memory back to backing store when mapping. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=17705 --- libdrm/intel/intel_bufmgr_fake.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libdrm/intel/intel_bufmgr_fake.c b/libdrm/intel/intel_bufmgr_fake.c index a5b183aa..b9c3c87c 100644 --- a/libdrm/intel/intel_bufmgr_fake.c +++ b/libdrm/intel/intel_bufmgr_fake.c @@ -448,9 +448,9 @@ static void free_block(dri_bufmgr_fake *bufmgr_fake, struct block *block) return; bo_fake = (dri_bo_fake *)block->bo; - if (!(bo_fake->flags & BM_NO_BACKING_STORE) && (bo_fake->card_dirty == 1)) { + if (!(bo_fake->flags & (BM_PINNED | BM_NO_BACKING_STORE)) && (bo_fake->card_dirty == 1)) { memcpy(bo_fake->backing_store, block->virtual, block->bo->size); - bo_fake->card_dirty = 1; + bo_fake->card_dirty = 0; bo_fake->dirty = 1; } @@ -944,6 +944,11 @@ dri_fake_bo_map(dri_bo *bo, int write_enable) if (bo_fake->backing_store == 0) alloc_backing_store(bo); + if ((bo_fake->card_dirty == 1) && bo_fake->block) { + memcpy(bo_fake->backing_store, bo_fake->block->virtual, bo_fake->block->bo->size); + bo_fake->card_dirty = 0; + } + bo->virtual = bo_fake->backing_store; } } -- cgit v1.2.3 From 81952c7dd18d8fc4617fe4cb761fdf830de5244f Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Sat, 20 Sep 2008 18:34:57 -0400 Subject: Use devfs_get_cdevpriv in mmap as well. d_mmap gets called twice and we are only able to associate the file_priv during the first call. The second call will return EBADF and we need to assume that the call was succesful. d_mmap will not tolerate having an error returned for the second call. --- bsd-core/drm_vm.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/bsd-core/drm_vm.c b/bsd-core/drm_vm.c index 8ee49a28..4bc6f46a 100644 --- a/bsd-core/drm_vm.c +++ b/bsd-core/drm_vm.c @@ -32,20 +32,23 @@ int drm_mmap(struct cdev *kdev, vm_offset_t offset, vm_paddr_t *paddr, int prot) { struct drm_device *dev = drm_get_device_from_kdev(kdev); - struct drm_file *file_priv; + struct drm_file *file_priv = NULL; drm_local_map_t *map; enum drm_map_type type; vm_paddr_t phys; + int error; - DRM_LOCK(); - TAILQ_FOREACH(file_priv, &dev->files, link) - if (file_priv->pid == curthread->td_proc->p_pid && - file_priv->uid == curthread->td_ucred->cr_svuid && - file_priv->authenticated == 1) - break; - DRM_UNLOCK(); + /* d_mmap gets called twice, we can only reference file_priv during + * the first call. We need to assume that if error is EBADF the + * call was succesful and the client is authenticated. + */ + error = devfs_get_cdevpriv((void **)&file_priv); + if (error == ENOENT) { + DRM_ERROR("Could not find authenticator!\n"); + return EINVAL; + } - if (!file_priv) + if (file_priv && !file_priv->authenticated) return EACCES; if (dev->dma && offset >= 0 && offset < ptoa(dev->dma->page_count)) { -- cgit v1.2.3 From 4c92abfa8d0b9f2ab14e6b915bdffd47fd2e2474 Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Fri, 3 Oct 2008 13:56:50 -0400 Subject: [FreeBSD] Do a bit of optimization on drm_order() --- bsd-core/drm_bufs.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/bsd-core/drm_bufs.c b/bsd-core/drm_bufs.c index c9b5dc4e..60f57cfd 100644 --- a/bsd-core/drm_bufs.c +++ b/bsd-core/drm_bufs.c @@ -1099,11 +1099,12 @@ int drm_mapbufs(struct drm_device *dev, void *data, struct drm_file *file_priv) int drm_order(unsigned long size) { int order; - unsigned long tmp; - for (order = 0, tmp = size; tmp >>= 1; ++order); + if (size == 0) + return 0; - if (size & ~(1 << order)) + order = ffsl(size) - 1; + if (size & ~(1ul << order)) ++order; return order; -- cgit v1.2.3 From 9c0ce38df3d9026785155d06fc62bdd7acaf8bf0 Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Fri, 3 Oct 2008 14:05:45 -0400 Subject: [FreeBSD] Use M_WAITOK when allocating driver memory. We don't explicitly check for error here and M_WAITOK will just put the process to sleep waiting on resources to become available. Suggested by John Baldwin --- bsd-core/i915_drv.c | 4 +++- bsd-core/mach64_drv.c | 4 +++- bsd-core/mga_drv.c | 4 +++- bsd-core/r128_drv.c | 4 +++- bsd-core/radeon_drv.c | 4 +++- bsd-core/savage_drv.c | 4 +++- bsd-core/sis_drv.c | 4 +++- bsd-core/tdfx_drv.c | 4 +++- bsd-core/via_drv.c | 4 +++- 9 files changed, 27 insertions(+), 9 deletions(-) diff --git a/bsd-core/i915_drv.c b/bsd-core/i915_drv.c index def35f0b..b2658f05 100644 --- a/bsd-core/i915_drv.c +++ b/bsd-core/i915_drv.c @@ -111,7 +111,9 @@ i915_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + i915_configure(dev); return drm_attach(nbdev, i915_pciidlist); diff --git a/bsd-core/mach64_drv.c b/bsd-core/mach64_drv.c index adb83d3a..dcf35bbd 100644 --- a/bsd-core/mach64_drv.c +++ b/bsd-core/mach64_drv.c @@ -85,7 +85,9 @@ mach64_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + mach64_configure(dev); return drm_attach(nbdev, mach64_pciidlist); diff --git a/bsd-core/mga_drv.c b/bsd-core/mga_drv.c index 5554236a..dfb4b719 100644 --- a/bsd-core/mga_drv.c +++ b/bsd-core/mga_drv.c @@ -129,7 +129,9 @@ mga_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + mga_configure(dev); return drm_attach(nbdev, mga_pciidlist); diff --git a/bsd-core/r128_drv.c b/bsd-core/r128_drv.c index 4c20af4d..f3251141 100644 --- a/bsd-core/r128_drv.c +++ b/bsd-core/r128_drv.c @@ -84,7 +84,9 @@ r128_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + r128_configure(dev); return drm_attach(nbdev, r128_pciidlist); diff --git a/bsd-core/radeon_drv.c b/bsd-core/radeon_drv.c index 8ab3e995..6b90dd69 100644 --- a/bsd-core/radeon_drv.c +++ b/bsd-core/radeon_drv.c @@ -89,7 +89,9 @@ radeon_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + radeon_configure(dev); return drm_attach(nbdev, radeon_pciidlist); diff --git a/bsd-core/savage_drv.c b/bsd-core/savage_drv.c index 35fcdfa3..7f406e0b 100644 --- a/bsd-core/savage_drv.c +++ b/bsd-core/savage_drv.c @@ -75,7 +75,9 @@ savage_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + savage_configure(dev); return drm_attach(nbdev, savage_pciidlist); diff --git a/bsd-core/sis_drv.c b/bsd-core/sis_drv.c index 2ae1bff0..c69a093c 100644 --- a/bsd-core/sis_drv.c +++ b/bsd-core/sis_drv.c @@ -69,7 +69,9 @@ sis_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + sis_configure(dev); return drm_attach(nbdev, sis_pciidlist); diff --git a/bsd-core/tdfx_drv.c b/bsd-core/tdfx_drv.c index 44948b5c..8c10ea8c 100644 --- a/bsd-core/tdfx_drv.c +++ b/bsd-core/tdfx_drv.c @@ -71,7 +71,9 @@ tdfx_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + tdfx_configure(dev); return drm_attach(nbdev, tdfx_pciidlist); diff --git a/bsd-core/via_drv.c b/bsd-core/via_drv.c index e5f7d493..d2a1e676 100644 --- a/bsd-core/via_drv.c +++ b/bsd-core/via_drv.c @@ -82,7 +82,9 @@ via_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + via_configure(dev); return drm_attach(nbdev, via_pciidlist); -- cgit v1.2.3 From 60cf3a4db4ab8ee81aca104624e89caf5587419b Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Fri, 3 Oct 2008 14:11:20 -0400 Subject: [FreeBSD] Don't explicitly bzero driver softc. This is already handled for us. Suggested by John Baldwin --- bsd-core/i915_drv.c | 2 -- bsd-core/mach64_drv.c | 2 -- bsd-core/mga_drv.c | 2 -- bsd-core/r128_drv.c | 2 -- bsd-core/radeon_drv.c | 2 -- bsd-core/savage_drv.c | 2 -- bsd-core/sis_drv.c | 2 -- bsd-core/tdfx_drv.c | 2 -- bsd-core/via_drv.c | 2 -- 9 files changed, 18 deletions(-) diff --git a/bsd-core/i915_drv.c b/bsd-core/i915_drv.c index b2658f05..87703210 100644 --- a/bsd-core/i915_drv.c +++ b/bsd-core/i915_drv.c @@ -109,8 +109,6 @@ i915_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/mach64_drv.c b/bsd-core/mach64_drv.c index dcf35bbd..03a533a9 100644 --- a/bsd-core/mach64_drv.c +++ b/bsd-core/mach64_drv.c @@ -83,8 +83,6 @@ mach64_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/mga_drv.c b/bsd-core/mga_drv.c index dfb4b719..ae3675c3 100644 --- a/bsd-core/mga_drv.c +++ b/bsd-core/mga_drv.c @@ -127,8 +127,6 @@ mga_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/r128_drv.c b/bsd-core/r128_drv.c index f3251141..f239ea36 100644 --- a/bsd-core/r128_drv.c +++ b/bsd-core/r128_drv.c @@ -82,8 +82,6 @@ r128_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/radeon_drv.c b/bsd-core/radeon_drv.c index 6b90dd69..ab5968b2 100644 --- a/bsd-core/radeon_drv.c +++ b/bsd-core/radeon_drv.c @@ -87,8 +87,6 @@ radeon_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/savage_drv.c b/bsd-core/savage_drv.c index 7f406e0b..5cf2d611 100644 --- a/bsd-core/savage_drv.c +++ b/bsd-core/savage_drv.c @@ -73,8 +73,6 @@ savage_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/sis_drv.c b/bsd-core/sis_drv.c index c69a093c..55a6231c 100644 --- a/bsd-core/sis_drv.c +++ b/bsd-core/sis_drv.c @@ -67,8 +67,6 @@ sis_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/tdfx_drv.c b/bsd-core/tdfx_drv.c index 8c10ea8c..61952564 100644 --- a/bsd-core/tdfx_drv.c +++ b/bsd-core/tdfx_drv.c @@ -69,8 +69,6 @@ tdfx_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/via_drv.c b/bsd-core/via_drv.c index d2a1e676..d16efc43 100644 --- a/bsd-core/via_drv.c +++ b/bsd-core/via_drv.c @@ -80,8 +80,6 @@ via_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); -- cgit v1.2.3 From ce40261012d39e1096442ef48c45b305c8d69dbd Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Sat, 4 Oct 2008 20:43:21 -0400 Subject: radeon: Add support for HD2100 IGP (RS740) --- shared-core/drm_pciids.txt | 4 ++++ shared-core/radeon_cp.c | 24 ++++++++++++++++-------- shared-core/radeon_drv.h | 1 + 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/shared-core/drm_pciids.txt b/shared-core/drm_pciids.txt index 205fc539..391bb78f 100644 --- a/shared-core/drm_pciids.txt +++ b/shared-core/drm_pciids.txt @@ -235,6 +235,10 @@ 0x1002 0x7835 CHIP_RS300|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP "ATI Radeon RS350 Mobility IGP" 0x1002 0x791e CHIP_RS690|RADEON_IS_IGP|RADEON_NEW_MEMMAP|RADEON_IS_IGPGART "ATI Radeon RS690 X1250 IGP" 0x1002 0x791f CHIP_RS690|RADEON_IS_IGP|RADEON_NEW_MEMMAP|RADEON_IS_IGPGART "ATI Radeon RS690 X1270 IGP" +0x1002 0x796c CHIP_RS740|RADEON_IS_IGP|RADEON_NEW_MEMMAP|RADEON_IS_IGPGART "ATI Radeon RS740 HD2100 IGP" +0x1002 0x796d CHIP_RS740|RADEON_IS_IGP|RADEON_NEW_MEMMAP|RADEON_IS_IGPGART "ATI Radeon RS740 HD2100 IGP" +0x1002 0x796e CHIP_RS740|RADEON_IS_IGP|RADEON_NEW_MEMMAP|RADEON_IS_IGPGART "ATI Radeon RS740 HD2100 IGP" +0x1002 0x796f CHIP_RS740|RADEON_IS_IGP|RADEON_NEW_MEMMAP|RADEON_IS_IGPGART "ATI Radeon RS740 HD2100 IGP" [r128] 0x1002 0x4c45 0 "ATI Rage 128 Mobility LE (PCI)" diff --git a/shared-core/radeon_cp.c b/shared-core/radeon_cp.c index a0fa2a06..7e454fb1 100644 --- a/shared-core/radeon_cp.c +++ b/shared-core/radeon_cp.c @@ -70,7 +70,8 @@ static u32 RS690_READ_MCIND(drm_radeon_private_t *dev_priv, int addr) static u32 IGP_READ_MCIND(drm_radeon_private_t *dev_priv, int addr) { - if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) + if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) || + ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740)) return RS690_READ_MCIND(dev_priv, addr); else return RS480_READ_MCIND(dev_priv, addr); @@ -81,7 +82,8 @@ u32 radeon_read_fb_location(drm_radeon_private_t *dev_priv) if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV515) return R500_READ_MCIND(dev_priv, RV515_MC_FB_LOCATION); - else if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) + else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) || + ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740)) return RS690_READ_MCIND(dev_priv, RS690_MC_FB_LOCATION); else if ((dev_priv->flags & RADEON_FAMILY_MASK) > CHIP_RV515) return R500_READ_MCIND(dev_priv, R520_MC_FB_LOCATION); @@ -93,7 +95,8 @@ static void radeon_write_fb_location(drm_radeon_private_t *dev_priv, u32 fb_loc) { if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV515) R500_WRITE_MCIND(RV515_MC_FB_LOCATION, fb_loc); - else if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) + else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) || + ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740)) RS690_WRITE_MCIND(RS690_MC_FB_LOCATION, fb_loc); else if ((dev_priv->flags & RADEON_FAMILY_MASK) > CHIP_RV515) R500_WRITE_MCIND(R520_MC_FB_LOCATION, fb_loc); @@ -105,7 +108,8 @@ static void radeon_write_agp_location(drm_radeon_private_t *dev_priv, u32 agp_lo { if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV515) R500_WRITE_MCIND(RV515_MC_AGP_LOCATION, agp_loc); - else if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) + else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) || + ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740)) RS690_WRITE_MCIND(RS690_MC_AGP_LOCATION, agp_loc); else if ((dev_priv->flags & RADEON_FAMILY_MASK) > CHIP_RV515) R500_WRITE_MCIND(R520_MC_AGP_LOCATION, agp_loc); @@ -121,7 +125,8 @@ static void radeon_write_agp_base(drm_radeon_private_t *dev_priv, u64 agp_base) if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV515) { R500_WRITE_MCIND(RV515_MC_AGP_BASE, agp_base_lo); R500_WRITE_MCIND(RV515_MC_AGP_BASE_2, agp_base_hi); - } else if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) { + } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) || + ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740)) { RS690_WRITE_MCIND(RS690_MC_AGP_BASE, agp_base_lo); RS690_WRITE_MCIND(RS690_MC_AGP_BASE_2, agp_base_hi); } else if ((dev_priv->flags & RADEON_FAMILY_MASK) > CHIP_RV515) { @@ -366,8 +371,9 @@ static void radeon_cp_load_microcode(drm_radeon_private_t * dev_priv) RADEON_WRITE(RADEON_CP_ME_RAM_DATAL, R420_cp_microcode[i][0]); } - } else if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) { - DRM_INFO("Loading RS690 Microcode\n"); + } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) || + ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740)) { + DRM_INFO("Loading RS690/RS740 Microcode\n"); for (i = 0; i < 256; i++) { RADEON_WRITE(RADEON_CP_ME_RAM_DATAH, RS690_cp_microcode[i][1]); @@ -718,7 +724,8 @@ static void radeon_set_igpgart(drm_radeon_private_t * dev_priv, int on) temp = IGP_READ_MCIND(dev_priv, RS480_MC_MISC_CNTL); - if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) + if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) || + ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740)) IGP_WRITE_MCIND(RS480_MC_MISC_CNTL, (RS480_GART_INDEX_REG_EN | RS690_BLOCK_GFX_D3_EN)); else @@ -811,6 +818,7 @@ static void radeon_set_pcigart(drm_radeon_private_t * dev_priv, int on) u32 tmp; if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) || + ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740) || (dev_priv->flags & RADEON_IS_IGPGART)) { radeon_set_igpgart(dev_priv, on); return; diff --git a/shared-core/radeon_drv.h b/shared-core/radeon_drv.h index 65569db9..8471d103 100644 --- a/shared-core/radeon_drv.h +++ b/shared-core/radeon_drv.h @@ -127,6 +127,7 @@ enum radeon_family { CHIP_RS400, CHIP_RS480, CHIP_RS690, + CHIP_RS740, CHIP_RV515, CHIP_R520, CHIP_RV530, -- cgit v1.2.3 From 5a36cce3499c48fe1bf137b26b2a5e8a383d0332 Mon Sep 17 00:00:00 2001 From: Mihail Zenkov Date: Mon, 6 Oct 2008 00:49:15 -0400 Subject: radeon: fix missing bit from rs740 patch See bug 17908 --- shared-core/radeon_drv.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/shared-core/radeon_drv.h b/shared-core/radeon_drv.h index 8471d103..5e188bfc 100644 --- a/shared-core/radeon_drv.h +++ b/shared-core/radeon_drv.h @@ -1233,7 +1233,8 @@ do { \ #define IGP_WRITE_MCIND( addr, val ) \ do { \ - if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) \ + if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) || \ + ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740)) \ RS690_WRITE_MCIND( addr, val ); \ else \ RS480_WRITE_MCIND( addr, val ); \ -- cgit v1.2.3 From 4b98f6d74ffb119174237d30356ed3e2724b27da Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Mon, 6 Oct 2008 03:08:27 -0400 Subject: radeon: fix bus master enabled bits on newer asics --- shared-core/drm_pciids.txt | 44 ++++++++++++++++++++++---------------------- shared-core/radeon_cp.c | 20 ++++++++++++++++++-- shared-core/radeon_drv.h | 15 +++++++++++++++ 3 files changed, 55 insertions(+), 24 deletions(-) diff --git a/shared-core/drm_pciids.txt b/shared-core/drm_pciids.txt index 391bb78f..5ca04160 100644 --- a/shared-core/drm_pciids.txt +++ b/shared-core/drm_pciids.txt @@ -79,18 +79,18 @@ 0x1002 0x5460 CHIP_RV380|RADEON_IS_MOBILITY "ATI Radeon Mobility X300 M22" 0x1002 0x5462 CHIP_RV380|RADEON_IS_MOBILITY "ATI Radeon Mobility X600 SE M24C" 0x1002 0x5464 CHIP_RV380|RADEON_IS_MOBILITY "ATI FireGL M22 GL 5464" -0x1002 0x5548 CHIP_R420|RADEON_NEW_MEMMAP "ATI Radeon R423 X800" -0x1002 0x5549 CHIP_R420|RADEON_NEW_MEMMAP "ATI Radeon R423 X800 Pro" -0x1002 0x554A CHIP_R420|RADEON_NEW_MEMMAP "ATI Radeon R423 X800 XT PE" -0x1002 0x554B CHIP_R420|RADEON_NEW_MEMMAP "ATI Radeon R423 X800 SE" -0x1002 0x554C CHIP_R420|RADEON_NEW_MEMMAP "ATI Radeon R430 X800 XTP" -0x1002 0x554D CHIP_R420|RADEON_NEW_MEMMAP "ATI Radeon R430 X800 XL" -0x1002 0x554E CHIP_R420|RADEON_NEW_MEMMAP "ATI Radeon R430 X800 SE" -0x1002 0x554F CHIP_R420|RADEON_NEW_MEMMAP "ATI Radeon R430 X800" -0x1002 0x5550 CHIP_R420|RADEON_NEW_MEMMAP "ATI FireGL V7100 R423" -0x1002 0x5551 CHIP_R420|RADEON_NEW_MEMMAP "ATI FireGL V5100 R423 UQ" -0x1002 0x5552 CHIP_R420|RADEON_NEW_MEMMAP "ATI FireGL unknown R423 UR" -0x1002 0x5554 CHIP_R420|RADEON_NEW_MEMMAP "ATI FireGL unknown R423 UT" +0x1002 0x5548 CHIP_R423|RADEON_NEW_MEMMAP "ATI Radeon R423 X800" +0x1002 0x5549 CHIP_R423|RADEON_NEW_MEMMAP "ATI Radeon R423 X800 Pro" +0x1002 0x554A CHIP_R423|RADEON_NEW_MEMMAP "ATI Radeon R423 X800 XT PE" +0x1002 0x554B CHIP_R423|RADEON_NEW_MEMMAP "ATI Radeon R423 X800 SE" +0x1002 0x554C CHIP_R423|RADEON_NEW_MEMMAP "ATI Radeon R430 X800 XTP" +0x1002 0x554D CHIP_R423|RADEON_NEW_MEMMAP "ATI Radeon R430 X800 XL" +0x1002 0x554E CHIP_R423|RADEON_NEW_MEMMAP "ATI Radeon R430 X800 SE" +0x1002 0x554F CHIP_R423|RADEON_NEW_MEMMAP "ATI Radeon R430 X800" +0x1002 0x5550 CHIP_R423|RADEON_NEW_MEMMAP "ATI FireGL V7100 R423" +0x1002 0x5551 CHIP_R423|RADEON_NEW_MEMMAP "ATI FireGL V5100 R423 UQ" +0x1002 0x5552 CHIP_R423|RADEON_NEW_MEMMAP "ATI FireGL unknown R423 UR" +0x1002 0x5554 CHIP_R423|RADEON_NEW_MEMMAP "ATI FireGL unknown R423 UT" 0x1002 0x564A CHIP_RV410|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP "ATI Mobility FireGL V5000 M26" 0x1002 0x564B CHIP_RV410|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP "ATI Mobility FireGL V5000 M26" 0x1002 0x564F CHIP_RV410|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP "ATI Radeon Mobility X700 XL M26" @@ -120,16 +120,16 @@ 0x1002 0x5b65 CHIP_RV380|RADEON_NEW_MEMMAP "ATI FireMV 2200 PCIE (RV370) 5B65" 0x1002 0x5c61 CHIP_RV280|RADEON_IS_MOBILITY "ATI Radeon RV280 Mobility" 0x1002 0x5c63 CHIP_RV280|RADEON_IS_MOBILITY "ATI Radeon RV280 Mobility" -0x1002 0x5d48 CHIP_R420|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP "ATI Mobility Radeon X800 XT M28" -0x1002 0x5d49 CHIP_R420|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP "ATI Mobility FireGL V5100 M28" -0x1002 0x5d4a CHIP_R420|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP "ATI Mobility Radeon X800 M28" -0x1002 0x5d4c CHIP_R420|RADEON_NEW_MEMMAP "ATI Radeon R480 X850" -0x1002 0x5d4d CHIP_R420|RADEON_NEW_MEMMAP "ATI Radeon R480 X850 XT PE" -0x1002 0x5d4e CHIP_R420|RADEON_NEW_MEMMAP "ATI Radeon R480 X850 SE" -0x1002 0x5d4f CHIP_R420|RADEON_NEW_MEMMAP "ATI Radeon R480 X850 Pro" -0x1002 0x5d50 CHIP_R420|RADEON_NEW_MEMMAP "ATI unknown Radeon / FireGL R480" -0x1002 0x5d52 CHIP_R420|RADEON_NEW_MEMMAP "ATI Radeon R480 X850 XT" -0x1002 0x5d57 CHIP_R420|RADEON_NEW_MEMMAP "ATI Radeon R423 X800 XT" +0x1002 0x5d48 CHIP_R423|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP "ATI Mobility Radeon X800 XT M28" +0x1002 0x5d49 CHIP_R423|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP "ATI Mobility FireGL V5100 M28" +0x1002 0x5d4a CHIP_R423|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP "ATI Mobility Radeon X800 M28" +0x1002 0x5d4c CHIP_R423|RADEON_NEW_MEMMAP "ATI Radeon R480 X850" +0x1002 0x5d4d CHIP_R423|RADEON_NEW_MEMMAP "ATI Radeon R480 X850 XT PE" +0x1002 0x5d4e CHIP_R423|RADEON_NEW_MEMMAP "ATI Radeon R480 X850 SE" +0x1002 0x5d4f CHIP_R423|RADEON_NEW_MEMMAP "ATI Radeon R480 X850 Pro" +0x1002 0x5d50 CHIP_R423|RADEON_NEW_MEMMAP "ATI unknown Radeon / FireGL R480" +0x1002 0x5d52 CHIP_R423|RADEON_NEW_MEMMAP "ATI Radeon R480 X850 XT" +0x1002 0x5d57 CHIP_R423|RADEON_NEW_MEMMAP "ATI Radeon R423 X800 XT" 0x1002 0x5e48 CHIP_RV410|RADEON_NEW_MEMMAP "ATI FireGL V5000 RV410" 0x1002 0x5e4a CHIP_RV410|RADEON_NEW_MEMMAP "ATI Radeon RV410 X700 XT" 0x1002 0x5e4b CHIP_RV410|RADEON_NEW_MEMMAP "ATI Radeon RV410 X700 Pro" diff --git a/shared-core/radeon_cp.c b/shared-core/radeon_cp.c index 7e454fb1..72eb682d 100644 --- a/shared-core/radeon_cp.c +++ b/shared-core/radeon_cp.c @@ -363,6 +363,7 @@ static void radeon_cp_load_microcode(drm_radeon_private_t * dev_priv) R300_cp_microcode[i][0]); } } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R420) || + ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R423) || ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV410)) { DRM_INFO("Loading R400 Microcode\n"); for (i = 0; i < 256; i++) { @@ -651,8 +652,22 @@ static void radeon_cp_init_ring_buffer(struct drm_device * dev, RADEON_WRITE(RADEON_SCRATCH_UMSK, 0x7); /* Turn on bus mastering */ - tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RADEON_BUS_MASTER_DIS; - RADEON_WRITE(RADEON_BUS_CNTL, tmp); + if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS400) || + ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) || + ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740)) { + /* rs400, rs690/rs740 */ + tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RS400_BUS_MASTER_DIS; + RADEON_WRITE(RADEON_BUS_CNTL, tmp); + } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV380) || + ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R423)) { + /* rv370/rv380, rv410, r423/r430/r480, r5xx */ + tmp = RADEON_READ(RV370_BUS_CNTL) & ~RV370_PMI_BM_DIS; + RADEON_WRITE(RV370_BUS_CNTL, tmp); + } else { + /* r1xx, r2xx, r300, r(v)350, r420/r481, rs480 */ + tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RADEON_BUS_MASTER_DIS; + RADEON_WRITE(RADEON_BUS_CNTL, tmp); + } dev_priv->sarea_priv->last_frame = dev_priv->scratch[0] = 0; RADEON_WRITE(RADEON_LAST_FRAME_REG, dev_priv->sarea_priv->last_frame); @@ -1715,6 +1730,7 @@ int radeon_driver_load(struct drm_device *dev, unsigned long flags) case CHIP_R300: case CHIP_R350: case CHIP_R420: + case CHIP_R423: case CHIP_RV410: case CHIP_RV515: case CHIP_R520: diff --git a/shared-core/radeon_drv.h b/shared-core/radeon_drv.h index 5e188bfc..f3b65310 100644 --- a/shared-core/radeon_drv.h +++ b/shared-core/radeon_drv.h @@ -123,6 +123,7 @@ enum radeon_family { CHIP_RV350, CHIP_RV380, CHIP_R420, + CHIP_R423, CHIP_RV410, CHIP_RS400, CHIP_RS480, @@ -432,7 +433,20 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev, # define RADEON_SCISSOR_2_ENABLE (1 << 30) #define RADEON_BUS_CNTL 0x0030 +/* r1xx, r2xx, r300, r(v)350, r420, rs480 */ # define RADEON_BUS_MASTER_DIS (1 << 6) +/* rs400, rs690, rs740 */ +# define RS400_BUS_MASTER_DIS (1 << 14) +# define RS400_MSI_REARM (1 << 20) + +#define RV370_BUS_CNTL 0x004c +/* rv370, rv380, rv410, r423, r430, r480, r5xx */ +# define RV370_PMI_BM_DIS (1 << 5) +# define RV370_PMI_INT_DIS (1 << 6) + +#define RADEON_MSI_REARM_EN 0x0160 +/* rv370, rv380, rv410, r423, r430, r480, r5xx */ +# define RADEON_MSI_REARM_EN (1 << 0) #define RADEON_CLOCK_CNTL_DATA 0x000c # define RADEON_PLL_WR_EN (1 << 7) @@ -912,6 +926,7 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev, #define RADEON_AIC_CNTL 0x01d0 # define RADEON_PCIGART_TRANSLATE_EN (1 << 0) +# define RS480_MSI_REARM (1 << 3) #define RADEON_AIC_STAT 0x01d4 #define RADEON_AIC_PT_BASE 0x01d8 #define RADEON_AIC_LO_ADDR 0x01dc -- cgit v1.2.3 From d0aff120521db3fa170ae55cc16a4935e813816d Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 17 Sep 2008 03:00:02 +1000 Subject: drm: add create gpu tree script --- scripts/create_lk_gpu.sh | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 scripts/create_lk_gpu.sh diff --git a/scripts/create_lk_gpu.sh b/scripts/create_lk_gpu.sh new file mode 100755 index 00000000..4b323f7f --- /dev/null +++ b/scripts/create_lk_gpu.sh @@ -0,0 +1,58 @@ +#! /bin/bash +# script to create a Linux Kernel tree from the DRM tree for diffing etc.. +# +# Original author - Dave Airlie (C) 2004 - airlied@linux.ie +# kernel_version to remove below (e.g. 2.6.24) + +if [ $# -lt 2 ] ;then + echo usage: $0 output_dir kernel_version + exit 1 +fi + +if [ ! -d shared-core -o ! -d linux-core ] ;then + echo not in DRM toplevel + exit 1 +fi + +DRMDIR=$1/drivers/gpu/drm/ +HDRDIR=$1/include/drm/ +KERNEL_VERS=$2 +echo "Copying kernel independent files" +mkdir -p $DRMDIR/.tmp +mkdir -p $HDRDIR/.tmp + +( cd linux-core/ ; make drm_pciids.h ) +cp shared-core/*.[ch] $DRMDIR/.tmp +cp linux-core/*.[ch] $DRMDIR/.tmp +cp linux-core/Makefile.kernel $DRMDIR/.tmp/Makefile + +echo "Copying 2.6 Kernel files" +cp linux-core/Kconfig $DRMDIR/.tmp + +./scripts/drm-scripts-gentree.pl $KERNEL_VERS $DRMDIR/.tmp $DRMDIR +mv $DRMDIR/drm*.h $HDRDIR +mv $DRMDIR/*_drm.h $HDRDIR + +cd $DRMDIR +rm -rf .tmp +rm via_ds.[ch] +rm sis_ds.[ch] +rm amd*.[ch] +rm radeon_ms*.[ch] + +for i in radeon mach64 r128 mga i915 i810 via savage sis xgi nouveau tdfx ffb imagine +do +mkdir ./$i +mv $i*.[ch] $i/ +done + +mv r300*.[ch] radeon/ +mv r600*.[ch] radeon/ +mv ObjectID.h radeon/ +mv atom*.[ch] radeon/ + +mv nv*.[ch] nouveau/ +mv intel*.[ch] i915/ +mv dvo*.[ch] i915/ + +cd - -- cgit v1.2.3 From 8e5f5ed189fa28e08e45274c15f8ed41f627bc8b Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 7 Oct 2008 04:47:54 +1000 Subject: radeon: PCIE cards don't appear to have explicit bus master --- shared-core/radeon_cp.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/shared-core/radeon_cp.c b/shared-core/radeon_cp.c index 72eb682d..c3b33a51 100644 --- a/shared-core/radeon_cp.c +++ b/shared-core/radeon_cp.c @@ -658,16 +658,12 @@ static void radeon_cp_init_ring_buffer(struct drm_device * dev, /* rs400, rs690/rs740 */ tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RS400_BUS_MASTER_DIS; RADEON_WRITE(RADEON_BUS_CNTL, tmp); - } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV380) || - ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R423)) { - /* rv370/rv380, rv410, r423/r430/r480, r5xx */ - tmp = RADEON_READ(RV370_BUS_CNTL) & ~RV370_PMI_BM_DIS; - RADEON_WRITE(RV370_BUS_CNTL, tmp); - } else { + } else if (!(((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV380) || + ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R423))) { /* r1xx, r2xx, r300, r(v)350, r420/r481, rs480 */ tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RADEON_BUS_MASTER_DIS; RADEON_WRITE(RADEON_BUS_CNTL, tmp); - } + } /* PCIE cards appears to not need this */ dev_priv->sarea_priv->last_frame = dev_priv->scratch[0] = 0; RADEON_WRITE(RADEON_LAST_FRAME_REG, dev_priv->sarea_priv->last_frame); -- cgit v1.2.3 From 6f9dfa098fed73895f4ad32f9274ffaa163d3efb Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Mon, 6 Oct 2008 12:01:11 -0400 Subject: radeon: fix duplicate define in my last commit That's what I get for committing at 3 AM. --- shared-core/radeon_drv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared-core/radeon_drv.h b/shared-core/radeon_drv.h index f3b65310..f897820c 100644 --- a/shared-core/radeon_drv.h +++ b/shared-core/radeon_drv.h @@ -446,7 +446,7 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev, #define RADEON_MSI_REARM_EN 0x0160 /* rv370, rv380, rv410, r423, r430, r480, r5xx */ -# define RADEON_MSI_REARM_EN (1 << 0) +# define RV370_MSI_REARM_EN (1 << 0) #define RADEON_CLOCK_CNTL_DATA 0x000c # define RADEON_PLL_WR_EN (1 << 7) -- cgit v1.2.3 From 728d8e226f1bc12f50f710cc96bbb2a25f72ada3 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Mon, 6 Oct 2008 12:12:49 -0400 Subject: radeon: add comment to clarify bus mastering on PCIE chips --- shared-core/radeon_drv.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/shared-core/radeon_drv.h b/shared-core/radeon_drv.h index f897820c..86fb6db0 100644 --- a/shared-core/radeon_drv.h +++ b/shared-core/radeon_drv.h @@ -432,20 +432,30 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev, # define RADEON_SCISSOR_1_ENABLE (1 << 29) # define RADEON_SCISSOR_2_ENABLE (1 << 30) +/* + * PCIE radeons (rv370/rv380, rv410, r423/r430/r480, r5xx) + * don't have an explicit bus mastering disable bit. It's handled + * by the PCI D-states. PMI_BM_DIS disables D-state bus master + * handling, not bus mastering itself. + */ #define RADEON_BUS_CNTL 0x0030 -/* r1xx, r2xx, r300, r(v)350, r420, rs480 */ +/* r1xx, r2xx, r300, r(v)350, r420/r481, rs480 */ # define RADEON_BUS_MASTER_DIS (1 << 6) -/* rs400, rs690, rs740 */ +/* rs400, rs690/rs740 */ # define RS400_BUS_MASTER_DIS (1 << 14) # define RS400_MSI_REARM (1 << 20) +/* see RS480_MSI_REARM in AIC_CNTL for rs480 */ + +#define RADEON_BUS_CNTL1 0x0034 +# define RADEON_PMI_BM_DIS (1 << 2) +# define RADEON_PMI_INT_DIS (1 << 3) #define RV370_BUS_CNTL 0x004c -/* rv370, rv380, rv410, r423, r430, r480, r5xx */ # define RV370_PMI_BM_DIS (1 << 5) # define RV370_PMI_INT_DIS (1 << 6) #define RADEON_MSI_REARM_EN 0x0160 -/* rv370, rv380, rv410, r423, r430, r480, r5xx */ +/* rv370/rv380, rv410, r423/r430/r480, r5xx */ # define RV370_MSI_REARM_EN (1 << 0) #define RADEON_CLOCK_CNTL_DATA 0x000c -- cgit v1.2.3 From 604759d4a78efcef0abdb40bfc215526cdcf1122 Mon Sep 17 00:00:00 2001 From: "Xiang, Haihao" Date: Thu, 9 Oct 2008 11:57:13 +0800 Subject: intel: fix for write_domain and static BOs. http://bugs.freedesktop.org/show_bug.cgi?id=17705 --- libdrm/intel/intel_bufmgr_fake.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/libdrm/intel/intel_bufmgr_fake.c b/libdrm/intel/intel_bufmgr_fake.c index b9c3c87c..22273c5b 100644 --- a/libdrm/intel/intel_bufmgr_fake.c +++ b/libdrm/intel/intel_bufmgr_fake.c @@ -900,8 +900,13 @@ dri_fake_bo_map(dri_bo *bo, int write_enable) dri_bo_fake *bo_fake = (dri_bo_fake *)bo; /* Static buffers are always mapped. */ - if (bo_fake->is_static) + if (bo_fake->is_static) { + if (bo_fake->card_dirty) { + dri_bufmgr_fake_wait_idle(bufmgr_fake); + bo_fake->card_dirty = 0; + } return 0; + } /* Allow recursive mapping. Mesa may recursively map buffers with * nested display loops, and it is used internally in bufmgr_fake @@ -945,8 +950,11 @@ dri_fake_bo_map(dri_bo *bo, int write_enable) alloc_backing_store(bo); if ((bo_fake->card_dirty == 1) && bo_fake->block) { - memcpy(bo_fake->backing_store, bo_fake->block->virtual, bo_fake->block->bo->size); - bo_fake->card_dirty = 0; + if (bo_fake->block->fenced) + dri_fake_bo_wait_rendering(bo); + + memcpy(bo_fake->backing_store, bo_fake->block->virtual, bo_fake->block->bo->size); + bo_fake->card_dirty = 0; } bo->virtual = bo_fake->backing_store; @@ -1158,8 +1166,7 @@ dri_fake_calculate_domains(dri_bo *bo) dri_fake_calculate_domains(r->target_buf); target_fake->read_domains |= r->read_domains; - if (target_fake->write_domain != 0) - target_fake->write_domain = r->write_domain; + target_fake->write_domain |= r->write_domain; } } @@ -1208,9 +1215,8 @@ dri_fake_reloc_and_validate_buffer(dri_bo *bo) if (!(bo_fake->flags & (BM_NO_BACKING_STORE|BM_PINNED))) { if (bo_fake->backing_store == 0) alloc_backing_store(bo); - - bo_fake->card_dirty = 1; } + bo_fake->card_dirty = 1; bufmgr_fake->performed_rendering = 1; } -- cgit v1.2.3 From 3169d9639bd002b43e4064cea32e0d262076c1e0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 12 Jun 2008 23:22:26 -0700 Subject: intel: Protect bufmgr objects with a pthread mutex. We want to be able to use the bufmgr from multiple threads for GL, and thus we need to protect the internal structures. The pthread-stubs package is used so that programs not linked against pthreads get weak symbols to stubs and don't eat most of the cost. --- configure.ac | 4 ++ libdrm/Makefile.am | 1 + libdrm/intel/Makefile.am | 1 + libdrm/intel/intel_bufmgr_fake.c | 112 +++++++++++++++++++++++++++++++++------ libdrm/intel/intel_bufmgr_gem.c | 65 ++++++++++++++++++----- 5 files changed, 154 insertions(+), 29 deletions(-) diff --git a/configure.ac b/configure.ac index 0cf09744..92507cb5 100644 --- a/configure.ac +++ b/configure.ac @@ -32,6 +32,10 @@ AC_PROG_CC AC_HEADER_STDC AC_SYS_LARGEFILE +PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs) +AC_SUBST(PTHREADSTUBS_CFLAGS) +AC_SUBST(PTHREADSTUBS_LIBS) + pkgconfigdir=${libdir}/pkgconfig AC_SUBST(pkgconfigdir) AC_ARG_ENABLE(udev, AS_HELP_STRING([--enable-udev], diff --git a/libdrm/Makefile.am b/libdrm/Makefile.am index f82d1917..543b2786 100644 --- a/libdrm/Makefile.am +++ b/libdrm/Makefile.am @@ -27,6 +27,7 @@ libdrm_la_LDFLAGS = -version-number 2:3:0 -no-undefined AM_CFLAGS = -I$(top_srcdir)/shared-core libdrm_la_SOURCES = xf86drm.c xf86drmHash.c xf86drmRandom.c xf86drmSL.c \ libdrm_lists.h +libdrm_la_LIBADD = intel/libdrm_intel.la @PTHREADSTUBS_LIBS@ libdrmincludedir = ${includedir} libdrminclude_HEADERS = xf86drm.h diff --git a/libdrm/intel/Makefile.am b/libdrm/intel/Makefile.am index 607c4765..92388c24 100644 --- a/libdrm/intel/Makefile.am +++ b/libdrm/intel/Makefile.am @@ -26,6 +26,7 @@ AM_CFLAGS = \ $(WARN_CFLAGS) \ -I$(top_srcdir)/libdrm \ -I$(top_srcdir)/libdrm/intel \ + $(PTHREADSTUBS_CFLAGS) \ -I$(top_srcdir)/shared-core libdrm_intel_la_LTLIBRARIES = libdrm_intel.la diff --git a/libdrm/intel/intel_bufmgr_fake.c b/libdrm/intel/intel_bufmgr_fake.c index 22273c5b..c8f643db 100644 --- a/libdrm/intel/intel_bufmgr_fake.c +++ b/libdrm/intel/intel_bufmgr_fake.c @@ -43,6 +43,7 @@ #include #include #include +#include #include "intel_bufmgr.h" #include "intel_bufmgr_priv.h" #include "drm.h" @@ -112,6 +113,8 @@ struct block { typedef struct _bufmgr_fake { dri_bufmgr bufmgr; + pthread_mutex_t lock; + unsigned long low_offset; unsigned long size; void *virtual; @@ -716,10 +719,16 @@ dri_fake_bo_wait_rendering(dri_bo *bo) dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; dri_bo_fake *bo_fake = (dri_bo_fake *)bo; - if (bo_fake->block == NULL || !bo_fake->block->fenced) + pthread_mutex_lock(&bufmgr_fake->lock); + + if (bo_fake->block == NULL || !bo_fake->block->fenced) { + pthread_mutex_unlock(&bufmgr_fake->lock); return; + } _fence_wait_internal(bufmgr_fake, bo_fake->block->fence); + + pthread_mutex_unlock(&bufmgr_fake->lock); } /* Specifically ignore texture memory sharing. @@ -732,6 +741,8 @@ intel_bufmgr_fake_contended_lock_take(dri_bufmgr *bufmgr) dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bufmgr; struct block *block, *tmp; + pthread_mutex_lock(&bufmgr_fake->lock); + bufmgr_fake->need_fence = 1; bufmgr_fake->fail = 0; @@ -751,6 +762,8 @@ intel_bufmgr_fake_contended_lock_take(dri_bufmgr *bufmgr) assert(_fence_test(bufmgr_fake, block->fence)); set_dirty(block->bo); } + + pthread_mutex_unlock(&bufmgr_fake->lock); } static dri_bo * @@ -825,21 +838,29 @@ intel_bo_fake_alloc_static(dri_bufmgr *bufmgr, const char *name, static void dri_fake_bo_reference(dri_bo *bo) { + dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + pthread_mutex_lock(&bufmgr_fake->lock); bo_fake->refcount++; + pthread_mutex_unlock(&bufmgr_fake->lock); } static void -dri_fake_bo_unreference(dri_bo *bo) +dri_fake_bo_reference_locked(dri_bo *bo) +{ + dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + + bo_fake->refcount++; +} + +static void +dri_fake_bo_unreference_locked(dri_bo *bo) { dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; dri_bo_fake *bo_fake = (dri_bo_fake *)bo; int i; - if (!bo) - return; - if (--bo_fake->refcount == 0) { assert(bo_fake->map_count == 0); /* No remaining references, so free it */ @@ -848,17 +869,25 @@ dri_fake_bo_unreference(dri_bo *bo) free_backing_store(bo); for (i = 0; i < bo_fake->nr_relocs; i++) - dri_bo_unreference(bo_fake->relocs[i].target_buf); + dri_fake_bo_unreference_locked(bo_fake->relocs[i].target_buf); DBG("drm_bo_unreference: free buf %d %s\n", bo_fake->id, bo_fake->name); free(bo_fake->relocs); free(bo); - - return; } } +static void +dri_fake_bo_unreference(dri_bo *bo) +{ + dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; + + pthread_mutex_lock(&bufmgr_fake->lock); + dri_fake_bo_unreference_locked(bo); + pthread_mutex_unlock(&bufmgr_fake->lock); +} + /** * Set the buffer as not requiring backing store, and instead get the callback * invoked whenever it would be set dirty. @@ -871,6 +900,8 @@ void intel_bo_fake_disable_backing_store(dri_bo *bo, dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + pthread_mutex_lock(&bufmgr_fake->lock); + if (bo_fake->backing_store) free_backing_store(bo); @@ -887,6 +918,8 @@ void intel_bo_fake_disable_backing_store(dri_bo *bo, */ if (invalidate_cb != NULL) invalidate_cb(bo, ptr); + + pthread_mutex_unlock(&bufmgr_fake->lock); } /** @@ -894,7 +927,7 @@ void intel_bo_fake_disable_backing_store(dri_bo *bo, * BM_NO_BACKING_STORE or BM_PINNED) or backing store, as necessary. */ static int -dri_fake_bo_map(dri_bo *bo, int write_enable) +dri_fake_bo_map_locked(dri_bo *bo, int write_enable) { dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; dri_bo_fake *bo_fake = (dri_bo_fake *)bo; @@ -965,7 +998,20 @@ dri_fake_bo_map(dri_bo *bo, int write_enable) } static int -dri_fake_bo_unmap(dri_bo *bo) +dri_fake_bo_map(dri_bo *bo, int write_enable) +{ + dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; + int ret; + + pthread_mutex_lock(&bufmgr_fake->lock); + ret = dri_fake_bo_map_locked(bo, write_enable); + pthread_mutex_unlock(&bufmgr_fake->lock); + + return ret; +} + +static int +dri_fake_bo_unmap_locked(dri_bo *bo) { dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; dri_bo_fake *bo_fake = (dri_bo_fake *)bo; @@ -986,11 +1032,26 @@ dri_fake_bo_unmap(dri_bo *bo) return 0; } +static int +dri_fake_bo_unmap(dri_bo *bo) +{ + dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; + int ret; + + pthread_mutex_lock(&bufmgr_fake->lock); + ret = dri_fake_bo_unmap_locked(bo); + pthread_mutex_unlock(&bufmgr_fake->lock); + + return ret; +} + static void dri_fake_kick_all(dri_bufmgr_fake *bufmgr_fake) { struct block *block, *tmp; + pthread_mutex_lock(&bufmgr_fake->lock); + bufmgr_fake->performed_rendering = 0; /* okay for ever BO that is on the HW kick it off. seriously not afraid of the POLICE right now */ @@ -1004,6 +1065,8 @@ dri_fake_kick_all(dri_bufmgr_fake *bufmgr_fake) if (!(bo_fake->flags & BM_NO_BACKING_STORE)) bo_fake->dirty = 1; } + + pthread_mutex_unlock(&bufmgr_fake->lock); } static int @@ -1012,9 +1075,6 @@ dri_fake_bo_validate(dri_bo *bo) dri_bufmgr_fake *bufmgr_fake; dri_bo_fake *bo_fake = (dri_bo_fake *)bo; - /* XXX: Sanity-check whether we've already validated this one under - * different flags. See drmAddValidateItem(). - */ bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; DBG("drm_bo_validate: (buf %d: %s, %d kb)\n", bo_fake->id, bo_fake->name, @@ -1097,6 +1157,7 @@ dri_fake_destroy(dri_bufmgr *bufmgr) { dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bufmgr; + pthread_mutex_destroy(&bufmgr_fake->lock); mmDestroy(bufmgr_fake->heap); free(bufmgr); } @@ -1112,6 +1173,8 @@ dri_fake_emit_reloc(dri_bo *reloc_buf, dri_bo_fake *target_fake = (dri_bo_fake *)target_buf; int i; + pthread_mutex_lock(&bufmgr_fake->lock); + assert(reloc_buf); assert(target_buf); @@ -1124,7 +1187,7 @@ dri_fake_emit_reloc(dri_bo *reloc_buf, assert(reloc_fake->nr_relocs <= MAX_RELOCS); - dri_bo_reference(target_buf); + dri_fake_bo_reference_locked(target_buf); if (!target_fake->is_static) reloc_fake->child_size += ALIGN(target_buf->size, target_fake->alignment); @@ -1145,6 +1208,8 @@ dri_fake_emit_reloc(dri_bo *reloc_buf, } } + pthread_mutex_unlock(&bufmgr_fake->lock); + return 0; } @@ -1190,7 +1255,7 @@ dri_fake_reloc_and_validate_buffer(dri_bo *bo) ret = dri_fake_reloc_and_validate_buffer(r->target_buf); if (ret != 0) { if (bo->virtual != NULL) - dri_bo_unmap(bo); + dri_fake_bo_unmap_locked(bo); return ret; } } @@ -1200,7 +1265,7 @@ dri_fake_reloc_and_validate_buffer(dri_bo *bo) reloc_data = r->target_buf->offset + r->delta; if (bo->virtual == NULL) - dri_bo_map(bo, 1); + dri_fake_bo_map_locked(bo, 1); *(uint32_t *)((uint8_t *)bo->virtual + r->offset) = reloc_data; @@ -1209,7 +1274,7 @@ dri_fake_reloc_and_validate_buffer(dri_bo *bo) } if (bo->virtual != NULL) - dri_bo_unmap(bo); + dri_fake_bo_unmap_locked(bo); if (bo_fake->write_domain != 0) { if (!(bo_fake->flags & (BM_NO_BACKING_STORE|BM_PINNED))) { @@ -1272,6 +1337,8 @@ dri_fake_bo_exec(dri_bo *bo, int used, int ret; int retry_count = 0; + pthread_mutex_lock(&bufmgr_fake->lock); + bufmgr_fake->performed_rendering = 0; dri_fake_calculate_domains(bo); @@ -1316,6 +1383,8 @@ dri_fake_bo_exec(dri_bo *bo, int used, dri_bo_fake_post_submit(bo); + pthread_mutex_unlock(&bufmgr_fake->lock); + return 0; } @@ -1368,6 +1437,8 @@ intel_bufmgr_fake_evict_all(dri_bufmgr *bufmgr) dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bufmgr; struct block *block, *tmp; + pthread_mutex_lock(&bufmgr_fake->lock); + bufmgr_fake->need_fence = 1; bufmgr_fake->fail = 0; @@ -1387,6 +1458,8 @@ intel_bufmgr_fake_evict_all(dri_bufmgr *bufmgr) /* Releases the memory, and memcpys dirty contents out if necessary. */ free_block(bufmgr_fake, block); } + + pthread_mutex_unlock(&bufmgr_fake->lock); } void intel_bufmgr_fake_set_last_dispatch(dri_bufmgr *bufmgr, volatile unsigned int *last_dispatch) @@ -1406,6 +1479,11 @@ intel_bufmgr_fake_init(int fd, bufmgr_fake = calloc(1, sizeof(*bufmgr_fake)); + if (pthread_mutex_init(&bufmgr_fake->lock, NULL) != 0) { + free(bufmgr_fake); + return NULL; + } + /* Initialize allocator */ DRMINITLISTHEAD(&bufmgr_fake->fenced); DRMINITLISTHEAD(&bufmgr_fake->on_hardware); diff --git a/libdrm/intel/intel_bufmgr_gem.c b/libdrm/intel/intel_bufmgr_gem.c index cd36cdc7..9bd44417 100644 --- a/libdrm/intel/intel_bufmgr_gem.c +++ b/libdrm/intel/intel_bufmgr_gem.c @@ -44,6 +44,7 @@ #include #include #include +#include #include #include @@ -84,6 +85,8 @@ typedef struct _dri_bufmgr_gem { int max_relocs; + pthread_mutex_t lock; + struct drm_i915_gem_exec_object *exec_objects; dri_bo **exec_bos; int exec_size; @@ -133,6 +136,8 @@ struct _dri_bo_gem { dri_bo_gem *next; }; +static void dri_gem_bo_reference_locked(dri_bo *bo); + static int logbase2(int n) { @@ -237,7 +242,7 @@ intel_add_validate_buffer(dri_bo *bo) bufmgr_gem->exec_objects[index].alignment = 0; bufmgr_gem->exec_objects[index].offset = 0; bufmgr_gem->exec_bos[index] = bo; - dri_bo_reference(bo); + dri_gem_bo_reference_locked(bo); bufmgr_gem->exec_count++; } @@ -285,6 +290,7 @@ dri_gem_bo_alloc(dri_bufmgr *bufmgr, const char *name, bo_size = page_size; } + pthread_mutex_lock(&bufmgr_gem->lock); /* Get a buffer out of the cache if available */ if (bucket != NULL && bucket->num_entries > 0) { struct drm_i915_gem_busy busy; @@ -302,6 +308,7 @@ dri_gem_bo_alloc(dri_bufmgr *bufmgr, const char *name, bucket->num_entries--; } } + pthread_mutex_unlock(&bufmgr_gem->lock); if (!alloc_from_cache) { struct drm_i915_gem_create create; @@ -378,6 +385,17 @@ intel_bo_gem_create_from_name(dri_bufmgr *bufmgr, const char *name, static void dri_gem_bo_reference(dri_bo *bo) +{ + dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; + dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + + pthread_mutex_lock(&bufmgr_gem->lock); + bo_gem->refcount++; + pthread_mutex_unlock(&bufmgr_gem->lock); +} + +static void +dri_gem_bo_reference_locked(dri_bo *bo) { dri_bo_gem *bo_gem = (dri_bo_gem *)bo; @@ -407,14 +425,11 @@ dri_gem_bo_free(dri_bo *bo) } static void -dri_gem_bo_unreference(dri_bo *bo) +dri_gem_bo_unreference_locked(dri_bo *bo) { dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; dri_bo_gem *bo_gem = (dri_bo_gem *)bo; - if (!bo) - return; - if (--bo_gem->refcount == 0) { struct dri_gem_bo_bucket *bucket; @@ -423,7 +438,7 @@ dri_gem_bo_unreference(dri_bo *bo) /* Unreference all the target buffers */ for (i = 0; i < bo_gem->reloc_count; i++) - dri_bo_unreference(bo_gem->reloc_target_bo[i]); + dri_gem_bo_unreference_locked(bo_gem->reloc_target_bo[i]); free(bo_gem->reloc_target_bo); free(bo_gem->relocs); } @@ -451,20 +466,28 @@ dri_gem_bo_unreference(dri_bo *bo) } else { dri_gem_bo_free(bo); } - - return; } } +static void +dri_gem_bo_unreference(dri_bo *bo) +{ + dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; + + pthread_mutex_lock(&bufmgr_gem->lock); + dri_gem_bo_unreference_locked(bo); + pthread_mutex_unlock(&bufmgr_gem->lock); +} + static int dri_gem_bo_map(dri_bo *bo, int write_enable) { - dri_bufmgr_gem *bufmgr_gem; + dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; dri_bo_gem *bo_gem = (dri_bo_gem *)bo; struct drm_i915_gem_set_domain set_domain; int ret; - bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; + pthread_mutex_lock(&bufmgr_gem->lock); /* Allow recursive mapping. Mesa may recursively map buffers with * nested display loops. @@ -514,6 +537,8 @@ dri_gem_bo_map(dri_bo *bo, int write_enable) bo_gem->swrast = 1; } + pthread_mutex_unlock(&bufmgr_gem->lock); + return 0; } @@ -530,6 +555,7 @@ dri_gem_bo_unmap(dri_bo *bo) assert(bo_gem->mapped); + pthread_mutex_lock(&bufmgr_gem->lock); if (bo_gem->swrast) { sw_finish.handle = bo_gem->gem_handle; do { @@ -538,6 +564,7 @@ dri_gem_bo_unmap(dri_bo *bo) } while (ret == -1 && errno == EINTR); bo_gem->swrast = 0; } + pthread_mutex_unlock(&bufmgr_gem->lock); return 0; } @@ -622,6 +649,8 @@ dri_bufmgr_gem_destroy(dri_bufmgr *bufmgr) free(bufmgr_gem->exec_objects); free(bufmgr_gem->exec_bos); + pthread_mutex_destroy(&bufmgr_gem->lock); + /* Free any cached buffer objects we were going to reuse */ for (i = 0; i < INTEL_GEM_BO_BUCKETS; i++) { struct dri_gem_bo_bucket *bucket = &bufmgr_gem->cache_bucket[i]; @@ -657,6 +686,8 @@ dri_gem_bo_emit_reloc(dri_bo *bo, uint32_t read_domains, uint32_t write_domain, dri_bo_gem *bo_gem = (dri_bo_gem *)bo; dri_bo_gem *target_bo_gem = (dri_bo_gem *)target_bo; + pthread_mutex_lock(&bufmgr_gem->lock); + /* Create a new relocation list if needed */ if (bo_gem->relocs == NULL) intel_setup_reloc_list(bo); @@ -677,9 +708,12 @@ dri_gem_bo_emit_reloc(dri_bo *bo, uint32_t read_domains, uint32_t write_domain, bo_gem->relocs[bo_gem->reloc_count].presumed_offset = target_bo->offset; bo_gem->reloc_target_bo[bo_gem->reloc_count] = target_bo; - dri_bo_reference(target_bo); + dri_gem_bo_reference_locked(target_bo); bo_gem->reloc_count++; + + pthread_mutex_unlock(&bufmgr_gem->lock); + return 0; } @@ -736,6 +770,7 @@ dri_gem_bo_exec(dri_bo *bo, int used, struct drm_i915_gem_execbuffer execbuf; int ret, i; + pthread_mutex_lock(&bufmgr_gem->lock); /* Update indices and set up the validate list. */ dri_gem_bo_process_reloc(bo); @@ -771,10 +806,11 @@ dri_gem_bo_exec(dri_bo *bo, int used, /* Disconnect the buffer from the validate list */ bo_gem->validate_index = -1; - dri_bo_unreference(bo); + dri_gem_bo_unreference_locked(bo); bufmgr_gem->exec_bos[i] = NULL; } bufmgr_gem->exec_count = 0; + pthread_mutex_unlock(&bufmgr_gem->lock); return 0; } @@ -899,6 +935,11 @@ intel_bufmgr_gem_init(int fd, int batch_size) bufmgr_gem = calloc(1, sizeof(*bufmgr_gem)); bufmgr_gem->fd = fd; + if (pthread_mutex_init(&bufmgr_gem->lock, NULL) != 0) { + free(bufmgr_gem); + return NULL; + } + /* Let's go with one relocation per every 2 dwords (but round down a bit * since a power of two will mean an extra page allocation for the reloc * buffer). -- cgit v1.2.3 From 94c88c151cecae48ce1f4f01acddfaaad4b437f3 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 9 Oct 2008 14:30:56 -0700 Subject: Manage fences in user-mode bufmgr_fake to clean buffers When using bufmgr_fake without DRM, the X server idles the ring whenever it wants to wait for something to complete (brutal, but effective). In this case, bufmgr_fake must treat the pending fence as having passed. However, it wasn't recording the fences as it emitted them, nor cleaning buffers as they passed. Signed-off-by: Keith Packard --- libdrm/intel/intel_bufmgr_fake.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libdrm/intel/intel_bufmgr_fake.c b/libdrm/intel/intel_bufmgr_fake.c index c8f643db..1be4698b 100644 --- a/libdrm/intel/intel_bufmgr_fake.c +++ b/libdrm/intel/intel_bufmgr_fake.c @@ -256,8 +256,10 @@ _fence_emit_internal(dri_bufmgr_fake *bufmgr_fake) struct drm_i915_irq_emit ie; int ret, seq = 1; - if (bufmgr_fake->fence_emit != NULL) - return bufmgr_fake->fence_emit(bufmgr_fake->fence_priv); + if (bufmgr_fake->fence_emit != NULL) { + seq = bufmgr_fake->fence_emit(bufmgr_fake->fence_priv); + return seq; + } ie.irq_seq = &seq; ret = drmCommandWriteRead(bufmgr_fake->fd, DRM_I915_IRQ_EMIT, @@ -268,8 +270,7 @@ _fence_emit_internal(dri_bufmgr_fake *bufmgr_fake) } DBG("emit 0x%08x\n", seq); - bufmgr_fake->last_fence = seq; - return bufmgr_fake->last_fence; + return seq; } static void @@ -282,6 +283,7 @@ _fence_wait_internal(dri_bufmgr_fake *bufmgr_fake, int seq) if (bufmgr_fake->fence_wait != NULL) { bufmgr_fake->fence_wait(seq, bufmgr_fake->fence_priv); + clear_fenced(bufmgr_fake, seq); return; } @@ -571,6 +573,7 @@ static int clear_fenced(dri_bufmgr_fake *bufmgr_fake, struct block *block, *tmp; int ret = 0; + bufmgr_fake->last_fence = fence_cookie; DRMLISTFOREACHSAFE(block, tmp, &bufmgr_fake->fenced) { assert(block->fenced); -- cgit v1.2.3 From a8f73c214dc2accee12d84b85d37fb498ab3adad Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Thu, 9 Oct 2008 22:11:55 -0400 Subject: i915: Cleanup interrupt handling --- shared-core/i915_irq.c | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/shared-core/i915_irq.c b/shared-core/i915_irq.c index 693e9429..8c2e0a30 100644 --- a/shared-core/i915_irq.c +++ b/shared-core/i915_irq.c @@ -457,26 +457,31 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS) */ if (iir & I915_DISPLAY_PIPE_A_EVENT_INTERRUPT) { pipea_stats = I915_READ(PIPEASTAT); - if (pipea_stats & (PIPE_START_VBLANK_INTERRUPT_STATUS| - PIPE_VBLANK_INTERRUPT_STATUS)) + + /* The vblank interrupt gets enabled even if we didn't ask for + it, so make sure it's shut down again */ + if (!(dev_priv->vblank_pipe & DRM_I915_VBLANK_PIPE_A)) + pipea_stats &= ~(PIPE_START_VBLANK_INTERRUPT_ENABLE | + PIPE_VBLANK_INTERRUPT_ENABLE); + else if (pipea_stats & (PIPE_START_VBLANK_INTERRUPT_STATUS| + PIPE_VBLANK_INTERRUPT_STATUS)) { vblank++; drm_handle_vblank(dev, i915_get_plane(dev, 0)); } + I915_WRITE(PIPEASTAT, pipea_stats); } if (iir & I915_DISPLAY_PIPE_B_EVENT_INTERRUPT) { pipeb_stats = I915_READ(PIPEBSTAT); - /* Ack the event */ - I915_WRITE(PIPEBSTAT, pipeb_stats); /* The vblank interrupt gets enabled even if we didn't ask for it, so make sure it's shut down again */ if (!(dev_priv->vblank_pipe & DRM_I915_VBLANK_PIPE_B)) - pipeb_stats &= ~(I915_VBLANK_INTERRUPT_ENABLE); - - if (pipeb_stats & (PIPE_START_VBLANK_INTERRUPT_STATUS| - PIPE_VBLANK_INTERRUPT_STATUS)) + pipeb_stats &= ~(PIPE_START_VBLANK_INTERRUPT_ENABLE | + PIPE_VBLANK_INTERRUPT_ENABLE); + else if (pipeb_stats & (PIPE_START_VBLANK_INTERRUPT_STATUS| + PIPE_VBLANK_INTERRUPT_STATUS)) { vblank++; drm_handle_vblank(dev, i915_get_plane(dev, 1)); @@ -947,9 +952,9 @@ void i915_driver_irq_preinstall(struct drm_device * dev) { drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; - I915_WRITE16(HWSTAM, 0xeffe); - I915_WRITE16(IMR, 0x0); - I915_WRITE16(IER, 0x0); + I915_WRITE(HWSTAM, 0xeffe); + I915_WRITE(IMR, 0xffffffff); + I915_WRITE(IER, 0x0); } int i915_driver_irq_postinstall(struct drm_device * dev) -- cgit v1.2.3 From 1150a42d4398b14c5db2f34a5beba613528df147 Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Thu, 9 Oct 2008 22:13:26 -0400 Subject: [FreeBSD] Fix linux list compat list_for_each_safe() linux_for_each_safe would not handle lists with a single entry. --- bsd-core/drm_linux_list.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bsd-core/drm_linux_list.h b/bsd-core/drm_linux_list.h index c9f1b3e1..7c6a4474 100644 --- a/bsd-core/drm_linux_list.h +++ b/bsd-core/drm_linux_list.h @@ -66,6 +66,6 @@ list_del(struct list_head *entry) { #define list_for_each_safe(entry, temp, head) \ for (entry = (head)->next, temp = (entry)->next; \ - temp != head; \ - entry = temp, temp = temp->next) + entry != head; \ + entry = temp, temp = entry->next) -- cgit v1.2.3 From cdd3e9fc562bd57e0272e4c4d1c0707776bd01a1 Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Fri, 10 Oct 2008 13:06:22 -0400 Subject: [FreeBSD] Rework all of the memory allocations Allocate memory from different pools. This allows the OS to track memory allocations for us, much like the linux memory debugging. This will ease tracking down memory leaks since the OS can track the number of allocations from each pool and help to point us in the right direction. Also replace drm_alloc and friends with static __inline__ versions while we are here. --- bsd-core/ati_pcigart.c | 11 ++++---- bsd-core/drmP.h | 72 +++++++++++++++++++++++++++++------------------ bsd-core/drm_agpsupport.c | 9 +++--- bsd-core/drm_auth.c | 4 +-- bsd-core/drm_bufs.c | 72 +++++++++++++++++++++++------------------------ bsd-core/drm_context.c | 12 ++++---- bsd-core/drm_dma.c | 14 ++++----- bsd-core/drm_drv.c | 10 +++---- bsd-core/drm_fops.c | 6 ++-- bsd-core/drm_ioctl.c | 10 +++---- bsd-core/drm_irq.c | 11 ++++---- bsd-core/drm_memory.c | 49 +++++++++++++------------------- bsd-core/drm_pci.c | 10 +++---- bsd-core/drm_scatter.c | 12 ++++---- bsd-core/drm_sysctl.c | 19 +++++++------ bsd-core/i915_drv.c | 4 +-- bsd-core/mach64_drv.c | 4 +-- bsd-core/mga_drv.c | 4 +-- bsd-core/r128_drv.c | 4 +-- bsd-core/radeon_drv.c | 4 +-- bsd-core/savage_drv.c | 4 +-- bsd-core/sis_drv.c | 4 +-- bsd-core/tdfx_drv.c | 4 +-- bsd-core/via_drv.c | 4 +-- 24 files changed, 184 insertions(+), 173 deletions(-) diff --git a/bsd-core/ati_pcigart.c b/bsd-core/ati_pcigart.c index 5feeeba8..bae10a69 100644 --- a/bsd-core/ati_pcigart.c +++ b/bsd-core/ati_pcigart.c @@ -61,7 +61,8 @@ drm_ati_alloc_pcigart_table(struct drm_device *dev, struct drm_dma_handle *dmah; int flags, ret; - dmah = malloc(sizeof(struct drm_dma_handle), M_DRM, M_ZERO | M_NOWAIT); + dmah = malloc(sizeof(struct drm_dma_handle), DRM_MEM_DMA, + M_ZERO | M_NOWAIT); if (dmah == NULL) return ENOMEM; @@ -74,7 +75,7 @@ drm_ati_alloc_pcigart_table(struct drm_device *dev, BUS_DMA_ALLOCNOW, NULL, NULL, /* flags, lockfunc, lockfuncargs */ &dmah->tag); if (ret != 0) { - free(dmah, M_DRM); + free(dmah, DRM_MEM_DMA); return ENOMEM; } @@ -85,7 +86,7 @@ drm_ati_alloc_pcigart_table(struct drm_device *dev, ret = bus_dmamem_alloc(dmah->tag, &dmah->vaddr, flags, &dmah->map); if (ret != 0) { bus_dma_tag_destroy(dmah->tag); - free(dmah, M_DRM); + free(dmah, DRM_MEM_DMA); return ENOMEM; } DRM_LOCK(); @@ -95,7 +96,7 @@ drm_ati_alloc_pcigart_table(struct drm_device *dev, if (ret != 0) { bus_dmamem_free(dmah->tag, dmah->vaddr, dmah->map); bus_dma_tag_destroy(dmah->tag); - free(dmah, M_DRM); + free(dmah, DRM_MEM_DMA); return ENOMEM; } @@ -112,7 +113,7 @@ drm_ati_free_pcigart_table(struct drm_device *dev, bus_dmamem_free(dmah->tag, dmah->vaddr, dmah->map); bus_dma_tag_destroy(dmah->tag); - free(dmah, M_DRM); + free(dmah, DRM_MEM_DMA); dev->sg->dmah = NULL; } diff --git a/bsd-core/drmP.h b/bsd-core/drmP.h index fcce9066..c7e40230 100644 --- a/bsd-core/drmP.h +++ b/bsd-core/drmP.h @@ -126,27 +126,24 @@ struct drm_file; #define DRM_KERNEL_CONTEXT 0 /* Change drm_resctx if changed */ #define DRM_RESERVED_CONTEXTS 1 /* Change drm_resctx if changed */ -#define DRM_MEM_DMA 0 -#define DRM_MEM_SAREA 1 -#define DRM_MEM_DRIVER 2 -#define DRM_MEM_MAGIC 3 -#define DRM_MEM_IOCTLS 4 -#define DRM_MEM_MAPS 5 -#define DRM_MEM_BUFS 6 -#define DRM_MEM_SEGS 7 -#define DRM_MEM_PAGES 8 -#define DRM_MEM_FILES 9 -#define DRM_MEM_QUEUES 10 -#define DRM_MEM_CMDS 11 -#define DRM_MEM_MAPPINGS 12 -#define DRM_MEM_BUFLISTS 13 -#define DRM_MEM_AGPLISTS 14 -#define DRM_MEM_TOTALAGP 15 -#define DRM_MEM_BOUNDAGP 16 -#define DRM_MEM_CTXBITMAP 17 -#define DRM_MEM_STUB 18 -#define DRM_MEM_SGLISTS 19 -#define DRM_MEM_DRAWABLE 20 +MALLOC_DECLARE(DRM_MEM_DMA); +MALLOC_DECLARE(DRM_MEM_SAREA); +MALLOC_DECLARE(DRM_MEM_DRIVER); +MALLOC_DECLARE(DRM_MEM_MAGIC); +MALLOC_DECLARE(DRM_MEM_IOCTLS); +MALLOC_DECLARE(DRM_MEM_MAPS); +MALLOC_DECLARE(DRM_MEM_BUFS); +MALLOC_DECLARE(DRM_MEM_SEGS); +MALLOC_DECLARE(DRM_MEM_PAGES); +MALLOC_DECLARE(DRM_MEM_FILES); +MALLOC_DECLARE(DRM_MEM_QUEUES); +MALLOC_DECLARE(DRM_MEM_CMDS); +MALLOC_DECLARE(DRM_MEM_MAPPINGS); +MALLOC_DECLARE(DRM_MEM_BUFLISTS); +MALLOC_DECLARE(DRM_MEM_AGPLISTS); +MALLOC_DECLARE(DRM_MEM_CTXBITMAP); +MALLOC_DECLARE(DRM_MEM_SGLISTS); +MALLOC_DECLARE(DRM_MEM_DRAWABLE); #define DRM_MAX_CTXBITMAP (PAGE_SIZE * 8) @@ -157,8 +154,6 @@ struct drm_file; #define DRM_IF_VERSION(maj, min) (maj << 16 | min) -MALLOC_DECLARE(M_DRM); - #define __OS_HAS_AGP 1 #define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP) @@ -745,11 +740,6 @@ extern int drm_open_helper(struct cdev *kdev, int flags, int fmt, /* Memory management support (drm_memory.c) */ void drm_mem_init(void); void drm_mem_uninit(void); -void *drm_alloc(size_t size, int area); -void *drm_calloc(size_t nmemb, size_t size, int area); -void *drm_realloc(void *oldpt, size_t oldsize, size_t size, - int area); -void drm_free(void *pt, size_t size, int area); void *drm_ioremap_wc(struct drm_device *dev, drm_local_map_t *map); void *drm_ioremap(struct drm_device *dev, drm_local_map_t *map); void drm_ioremapfree(drm_local_map_t *map); @@ -963,6 +953,32 @@ drm_dma_handle_t *drm_pci_alloc(struct drm_device *dev, size_t size, size_t align, dma_addr_t maxaddr); void drm_pci_free(struct drm_device *dev, drm_dma_handle_t *dmah); +/* Inline replacements for drm_alloc and friends */ +static __inline__ void * +drm_alloc(size_t size, struct malloc_type *area) +{ + return malloc(size, area, M_NOWAIT); +} + +static __inline__ void * +drm_calloc(size_t nmemb, size_t size, struct malloc_type *area) +{ + return malloc(size * nmemb, area, M_NOWAIT | M_ZERO); +} + +static __inline__ void * +drm_realloc(void *oldpt, size_t oldsize, size_t size, + struct malloc_type *area) +{ + return reallocf(oldpt, size, area, M_NOWAIT); +} + +static __inline__ void +drm_free(void *pt, size_t size, struct malloc_type *area) +{ + free(pt, area); +} + /* Inline replacements for DRM_IOREMAP macros */ static __inline__ void drm_core_ioremap_wc(struct drm_local_map *map, struct drm_device *dev) diff --git a/bsd-core/drm_agpsupport.c b/bsd-core/drm_agpsupport.c index a568c5a5..34b23af1 100644 --- a/bsd-core/drm_agpsupport.c +++ b/bsd-core/drm_agpsupport.c @@ -209,7 +209,7 @@ int drm_agp_alloc(struct drm_device *dev, struct drm_agp_buffer *request) if (!dev->agp || !dev->agp->acquired) return EINVAL; - entry = malloc(sizeof(*entry), M_DRM, M_NOWAIT | M_ZERO); + entry = malloc(sizeof(*entry), DRM_MEM_AGPLISTS, M_NOWAIT | M_ZERO); if (entry == NULL) return ENOMEM; @@ -220,7 +220,7 @@ int drm_agp_alloc(struct drm_device *dev, struct drm_agp_buffer *request) handle = drm_agp_allocate_memory(pages, type); DRM_LOCK(); if (handle == NULL) { - free(entry, M_DRM); + free(entry, DRM_MEM_AGPLISTS); return ENOMEM; } @@ -371,7 +371,7 @@ int drm_agp_free(struct drm_device *dev, struct drm_agp_buffer *request) drm_agp_free_memory(entry->handle); DRM_LOCK(); - free(entry, M_DRM); + free(entry, DRM_MEM_AGPLISTS); return 0; @@ -405,7 +405,8 @@ drm_agp_head_t *drm_agp_init(void) DRM_DEBUG("agp_available = %d\n", agp_available); if (agp_available) { - head = malloc(sizeof(*head), M_DRM, M_NOWAIT | M_ZERO); + head = malloc(sizeof(*head), DRM_MEM_AGPLISTS, + M_NOWAIT | M_ZERO); if (head == NULL) return NULL; head->agpdev = agpdev; diff --git a/bsd-core/drm_auth.c b/bsd-core/drm_auth.c index b5fc5587..6a76ed59 100644 --- a/bsd-core/drm_auth.c +++ b/bsd-core/drm_auth.c @@ -74,7 +74,7 @@ static int drm_add_magic(struct drm_device *dev, struct drm_file *priv, DRM_SPINLOCK_ASSERT(&dev->dev_lock); hash = drm_hash_magic(magic); - entry = malloc(sizeof(*entry), M_DRM, M_ZERO | M_NOWAIT); + entry = malloc(sizeof(*entry), DRM_MEM_MAGIC, M_ZERO | M_NOWAIT); if (!entry) return ENOMEM; entry->magic = magic; @@ -118,7 +118,7 @@ static int drm_remove_magic(struct drm_device *dev, drm_magic_t magic) if (prev) { prev->next = pt->next; } - free(pt, M_DRM); + free(pt, DRM_MEM_MAGIC); return 0; } } diff --git a/bsd-core/drm_bufs.c b/bsd-core/drm_bufs.c index 60f57cfd..303b2404 100644 --- a/bsd-core/drm_bufs.c +++ b/bsd-core/drm_bufs.c @@ -135,7 +135,7 @@ int drm_addmap(struct drm_device * dev, unsigned long offset, /* Allocate a new map structure, fill it in, and do any type-specific * initialization necessary. */ - map = malloc(sizeof(*map), M_DRM, M_ZERO | M_NOWAIT); + map = malloc(sizeof(*map), DRM_MEM_MAPS, M_ZERO | M_NOWAIT); if (!map) { DRM_LOCK(); return ENOMEM; @@ -157,11 +157,11 @@ int drm_addmap(struct drm_device * dev, unsigned long offset, map->mtrr = 1; break; case _DRM_SHM: - map->handle = malloc(map->size, M_DRM, M_NOWAIT); + map->handle = malloc(map->size, DRM_MEM_MAPS, M_NOWAIT); DRM_DEBUG("%lu %d %p\n", map->size, drm_order(map->size), map->handle); if (!map->handle) { - free(map, M_DRM); + free(map, DRM_MEM_MAPS); DRM_LOCK(); return ENOMEM; } @@ -171,8 +171,8 @@ int drm_addmap(struct drm_device * dev, unsigned long offset, DRM_LOCK(); if (dev->lock.hw_lock != NULL) { DRM_UNLOCK(); - free(map->handle, M_DRM); - free(map, M_DRM); + free(map->handle, DRM_MEM_MAPS); + free(map, DRM_MEM_MAPS); return EBUSY; } dev->lock.hw_lock = map->handle; /* Pointer to lock */ @@ -202,14 +202,14 @@ int drm_addmap(struct drm_device * dev, unsigned long offset, } } if (!valid) { - free(map, M_DRM); + free(map, DRM_MEM_MAPS); DRM_LOCK(); return EACCES; }*/ break; case _DRM_SCATTER_GATHER: if (!dev->sg) { - free(map, M_DRM); + free(map, DRM_MEM_MAPS); DRM_LOCK(); return EINVAL; } @@ -227,7 +227,7 @@ int drm_addmap(struct drm_device * dev, unsigned long offset, align = PAGE_SIZE; map->dmah = drm_pci_alloc(dev, map->size, align, 0xfffffffful); if (map->dmah == NULL) { - free(map, M_DRM); + free(map, DRM_MEM_MAPS); DRM_LOCK(); return ENOMEM; } @@ -236,7 +236,7 @@ int drm_addmap(struct drm_device * dev, unsigned long offset, break; default: DRM_ERROR("Bad map type %d\n", map->type); - free(map, M_DRM); + free(map, DRM_MEM_MAPS); DRM_LOCK(); return EINVAL; } @@ -310,7 +310,7 @@ void drm_rmmap(struct drm_device *dev, drm_local_map_t *map) } break; case _DRM_SHM: - free(map->handle, M_DRM); + free(map->handle, DRM_MEM_MAPS); break; case _DRM_AGP: case _DRM_SCATTER_GATHER: @@ -328,7 +328,7 @@ void drm_rmmap(struct drm_device *dev, drm_local_map_t *map) map->bsr); } - free(map, M_DRM); + free(map, DRM_MEM_MAPS); } /* Remove a map private from list and deallocate resources if the mapping @@ -371,16 +371,16 @@ static void drm_cleanup_buf_error(struct drm_device *dev, for (i = 0; i < entry->seg_count; i++) { drm_pci_free(dev, entry->seglist[i]); } - free(entry->seglist, M_DRM); + free(entry->seglist, DRM_MEM_SEGS); entry->seg_count = 0; } if (entry->buf_count) { for (i = 0; i < entry->buf_count; i++) { - free(entry->buflist[i].dev_private, M_DRM); + free(entry->buflist[i].dev_private, DRM_MEM_BUFS); } - free(entry->buflist, M_DRM); + free(entry->buflist, DRM_MEM_BUFS); entry->buf_count = 0; } @@ -447,7 +447,7 @@ static int drm_do_addbufs_agp(struct drm_device *dev, struct drm_buf_desc *reque entry = &dma->bufs[order]; - entry->buflist = malloc(count * sizeof(*entry->buflist), M_DRM, + entry->buflist = malloc(count * sizeof(*entry->buflist), DRM_MEM_BUFS, M_NOWAIT | M_ZERO); if (!entry->buflist) { return ENOMEM; @@ -473,7 +473,7 @@ static int drm_do_addbufs_agp(struct drm_device *dev, struct drm_buf_desc *reque buf->file_priv = NULL; buf->dev_priv_size = dev->driver->buf_priv_size; - buf->dev_private = malloc(buf->dev_priv_size, M_DRM, + buf->dev_private = malloc(buf->dev_priv_size, DRM_MEM_BUFS, M_NOWAIT | M_ZERO); if (buf->dev_private == NULL) { /* Set count correctly so we free the proper amount. */ @@ -490,8 +490,8 @@ static int drm_do_addbufs_agp(struct drm_device *dev, struct drm_buf_desc *reque DRM_DEBUG("byte_count: %d\n", byte_count); temp_buflist = realloc(dma->buflist, - (dma->buf_count + entry->buf_count) * sizeof(*dma->buflist), M_DRM, - M_NOWAIT); + (dma->buf_count + entry->buf_count) * sizeof(*dma->buflist), + DRM_MEM_BUFS, M_NOWAIT); if (temp_buflist == NULL) { /* Free the entry because it isn't valid */ drm_cleanup_buf_error(dev, entry); @@ -549,22 +549,22 @@ static int drm_do_addbufs_pci(struct drm_device *dev, struct drm_buf_desc *reque entry = &dma->bufs[order]; - entry->buflist = malloc(count * sizeof(*entry->buflist), M_DRM, + entry->buflist = malloc(count * sizeof(*entry->buflist), DRM_MEM_BUFS, M_NOWAIT | M_ZERO); - entry->seglist = malloc(count * sizeof(*entry->seglist), M_DRM, + entry->seglist = malloc(count * sizeof(*entry->seglist), DRM_MEM_SEGS, M_NOWAIT | M_ZERO); /* Keep the original pagelist until we know all the allocations * have succeeded */ temp_pagelist = malloc((dma->page_count + (count << page_order)) * - sizeof(*dma->pagelist), M_DRM, M_NOWAIT); + sizeof(*dma->pagelist), DRM_MEM_PAGES, M_NOWAIT); if (entry->buflist == NULL || entry->seglist == NULL || temp_pagelist == NULL) { - free(temp_pagelist, M_DRM); - free(entry->seglist, M_DRM); - free(entry->buflist, M_DRM); + free(temp_pagelist, DRM_MEM_PAGES); + free(entry->seglist, DRM_MEM_SEGS); + free(entry->buflist, DRM_MEM_BUFS); return ENOMEM; } @@ -589,7 +589,7 @@ static int drm_do_addbufs_pci(struct drm_device *dev, struct drm_buf_desc *reque entry->buf_count = count; entry->seg_count = count; drm_cleanup_buf_error(dev, entry); - free(temp_pagelist, M_DRM); + free(temp_pagelist, DRM_MEM_PAGES); return ENOMEM; } @@ -617,14 +617,14 @@ static int drm_do_addbufs_pci(struct drm_device *dev, struct drm_buf_desc *reque buf->file_priv = NULL; buf->dev_priv_size = dev->driver->buf_priv_size; - buf->dev_private = malloc(buf->dev_priv_size, M_DRM, - M_NOWAIT | M_ZERO); + buf->dev_private = malloc(buf->dev_priv_size, + DRM_MEM_BUFS, M_NOWAIT | M_ZERO); if (buf->dev_private == NULL) { /* Set count correctly so we free the proper amount. */ entry->buf_count = count; entry->seg_count = count; drm_cleanup_buf_error(dev, entry); - free(temp_pagelist, M_DRM); + free(temp_pagelist, DRM_MEM_PAGES); return ENOMEM; } @@ -635,12 +635,12 @@ static int drm_do_addbufs_pci(struct drm_device *dev, struct drm_buf_desc *reque } temp_buflist = realloc(dma->buflist, - (dma->buf_count + entry->buf_count) * sizeof(*dma->buflist), M_DRM, - M_NOWAIT); + (dma->buf_count + entry->buf_count) * sizeof(*dma->buflist), + DRM_MEM_BUFS, M_NOWAIT); if (temp_buflist == NULL) { /* Free the entry because it isn't valid */ drm_cleanup_buf_error(dev, entry); - free(temp_pagelist, M_DRM); + free(temp_pagelist, DRM_MEM_PAGES); return ENOMEM; } dma->buflist = temp_buflist; @@ -652,7 +652,7 @@ static int drm_do_addbufs_pci(struct drm_device *dev, struct drm_buf_desc *reque /* No allocations failed, so now we can replace the orginal pagelist * with the new one. */ - free(dma->pagelist, M_DRM); + free(dma->pagelist, DRM_MEM_PAGES); dma->pagelist = temp_pagelist; dma->buf_count += entry->buf_count; @@ -706,7 +706,7 @@ static int drm_do_addbufs_sg(struct drm_device *dev, struct drm_buf_desc *reques entry = &dma->bufs[order]; - entry->buflist = malloc(count * sizeof(*entry->buflist), M_DRM, + entry->buflist = malloc(count * sizeof(*entry->buflist), DRM_MEM_BUFS, M_NOWAIT | M_ZERO); if (entry->buflist == NULL) return ENOMEM; @@ -731,7 +731,7 @@ static int drm_do_addbufs_sg(struct drm_device *dev, struct drm_buf_desc *reques buf->file_priv = NULL; buf->dev_priv_size = dev->driver->buf_priv_size; - buf->dev_private = malloc(buf->dev_priv_size, M_DRM, + buf->dev_private = malloc(buf->dev_priv_size, DRM_MEM_BUFS, M_NOWAIT | M_ZERO); if (buf->dev_private == NULL) { /* Set count correctly so we free the proper amount. */ @@ -751,8 +751,8 @@ static int drm_do_addbufs_sg(struct drm_device *dev, struct drm_buf_desc *reques DRM_DEBUG("byte_count: %d\n", byte_count); temp_buflist = realloc(dma->buflist, - (dma->buf_count + entry->buf_count) * sizeof(*dma->buflist), M_DRM, - M_NOWAIT); + (dma->buf_count + entry->buf_count) * sizeof(*dma->buflist), + DRM_MEM_BUFS, M_NOWAIT); if (temp_buflist == NULL) { /* Free the entry because it isn't valid */ drm_cleanup_buf_error(dev, entry); diff --git a/bsd-core/drm_context.c b/bsd-core/drm_context.c index bca899cb..4dddd9c8 100644 --- a/bsd-core/drm_context.c +++ b/bsd-core/drm_context.c @@ -77,7 +77,7 @@ int drm_ctxbitmap_next(struct drm_device *dev) ctx_sareas = realloc(dev->context_sareas, dev->max_context * sizeof(*dev->context_sareas), - M_DRM, M_NOWAIT); + DRM_MEM_SAREA, M_NOWAIT); if (ctx_sareas == NULL) { clear_bit(bit, dev->ctx_bitmap); DRM_UNLOCK(); @@ -88,7 +88,8 @@ int drm_ctxbitmap_next(struct drm_device *dev) } else { /* max_context == 1 at this point */ dev->context_sareas = malloc(dev->max_context * - sizeof(*dev->context_sareas), M_DRM, M_NOWAIT); + sizeof(*dev->context_sareas), DRM_MEM_SAREA, + M_NOWAIT); if (dev->context_sareas == NULL) { clear_bit(bit, dev->ctx_bitmap); DRM_UNLOCK(); @@ -107,7 +108,8 @@ int drm_ctxbitmap_init(struct drm_device *dev) int temp; DRM_LOCK(); - dev->ctx_bitmap = malloc(PAGE_SIZE, M_DRM, M_NOWAIT | M_ZERO); + dev->ctx_bitmap = malloc(PAGE_SIZE, DRM_MEM_CTXBITMAP, + M_NOWAIT | M_ZERO); if (dev->ctx_bitmap == NULL) { DRM_UNLOCK(); return ENOMEM; @@ -128,8 +130,8 @@ void drm_ctxbitmap_cleanup(struct drm_device *dev) { DRM_LOCK(); if (dev->context_sareas != NULL) - free(dev->context_sareas, M_DRM); - free(dev->ctx_bitmap, M_DRM); + free(dev->context_sareas, DRM_MEM_SAREA); + free(dev->ctx_bitmap, DRM_MEM_CTXBITMAP); DRM_UNLOCK(); } diff --git a/bsd-core/drm_dma.c b/bsd-core/drm_dma.c index 51f60683..c2d9994e 100644 --- a/bsd-core/drm_dma.c +++ b/bsd-core/drm_dma.c @@ -41,7 +41,7 @@ int drm_dma_setup(struct drm_device *dev) { - dev->dma = malloc(sizeof(*dev->dma), M_DRM, M_NOWAIT | M_ZERO); + dev->dma = malloc(sizeof(*dev->dma), DRM_MEM_DRIVER, M_NOWAIT | M_ZERO); if (dev->dma == NULL) return ENOMEM; @@ -67,21 +67,21 @@ void drm_dma_takedown(struct drm_device *dev) for (j = 0; j < dma->bufs[i].seg_count; j++) { drm_pci_free(dev, dma->bufs[i].seglist[j]); } - free(dma->bufs[i].seglist, M_DRM); + free(dma->bufs[i].seglist, DRM_MEM_SEGS); } if (dma->bufs[i].buf_count) { for (j = 0; j < dma->bufs[i].buf_count; j++) { free(dma->bufs[i].buflist[j].dev_private, - M_DRM); + DRM_MEM_BUFS); } - free(dma->bufs[i].buflist, M_DRM); + free(dma->bufs[i].buflist, DRM_MEM_BUFS); } } - free(dma->buflist, M_DRM); - free(dma->pagelist, M_DRM); - free(dev->dma, M_DRM); + free(dma->buflist, DRM_MEM_BUFS); + free(dma->pagelist, DRM_MEM_PAGES); + free(dev->dma, DRM_MEM_DRIVER); dev->dma = NULL; DRM_SPINUNINIT(&dev->dma_lock); } diff --git a/bsd-core/drm_drv.c b/bsd-core/drm_drv.c index a35d60a7..725e5a9d 100644 --- a/bsd-core/drm_drv.c +++ b/bsd-core/drm_drv.c @@ -280,7 +280,7 @@ static int drm_lastclose(struct drm_device *dev) drm_irq_uninstall(dev); if (dev->unique) { - free(dev->unique, M_DRM); + free(dev->unique, DRM_MEM_DRIVER); dev->unique = NULL; dev->unique_len = 0; } @@ -288,7 +288,7 @@ static int drm_lastclose(struct drm_device *dev) for (i = 0; i < DRM_HASH_SIZE; i++) { for (pt = dev->magiclist[i].head; pt; pt = next) { next = pt->next; - free(pt, M_DRM); + free(pt, DRM_MEM_MAGIC); } dev->magiclist[i].head = dev->magiclist[i].tail = NULL; } @@ -310,7 +310,7 @@ static int drm_lastclose(struct drm_device *dev) if (entry->bound) drm_agp_unbind_memory(entry->handle); drm_agp_free_memory(entry->handle); - free(entry, M_DRM); + free(entry, DRM_MEM_AGPLISTS); } dev->agp->memory = NULL; @@ -479,7 +479,7 @@ static void drm_unload(struct drm_device *dev) } if (dev->agp) { - free(dev->agp, M_DRM); + free(dev->agp, DRM_MEM_AGPLISTS); dev->agp = NULL; } @@ -623,7 +623,7 @@ void drm_close(void *data) if (dev->driver->postclose != NULL) dev->driver->postclose(dev, file_priv); TAILQ_REMOVE(&dev->files, file_priv, link); - free(file_priv, M_DRM); + free(file_priv, DRM_MEM_FILES); /* ======================================================== * End inline drm_release diff --git a/bsd-core/drm_fops.c b/bsd-core/drm_fops.c index 6850f489..c6a8d195 100644 --- a/bsd-core/drm_fops.c +++ b/bsd-core/drm_fops.c @@ -50,14 +50,14 @@ int drm_open_helper(struct cdev *kdev, int flags, int fmt, DRM_STRUCTPROC *p, DRM_DEBUG("pid = %d, minor = %d\n", DRM_CURRENTPID, m); - priv = malloc(sizeof(*priv), M_DRM, M_NOWAIT | M_ZERO); + priv = malloc(sizeof(*priv), DRM_MEM_FILES, M_NOWAIT | M_ZERO); if (priv == NULL) { return ENOMEM; } retcode = devfs_set_cdevpriv(priv, drm_close); if (retcode != 0) { - free(priv, M_DRM); + free(priv, DRM_MEM_FILES); return retcode; } @@ -76,7 +76,7 @@ int drm_open_helper(struct cdev *kdev, int flags, int fmt, DRM_STRUCTPROC *p, retcode = -dev->driver->open(dev, priv); if (retcode != 0) { devfs_clear_cdevpriv(); - free(priv, M_DRM); + free(priv, DRM_MEM_FILES); DRM_UNLOCK(); return retcode; } diff --git a/bsd-core/drm_ioctl.c b/bsd-core/drm_ioctl.c index 0523291e..cae853ee 100644 --- a/bsd-core/drm_ioctl.c +++ b/bsd-core/drm_ioctl.c @@ -69,12 +69,12 @@ int drm_setunique(struct drm_device *dev, void *data, if (!u->unique_len || u->unique_len > 1024) return EINVAL; - busid = malloc(u->unique_len + 1, M_DRM, M_WAITOK); + busid = malloc(u->unique_len + 1, DRM_MEM_DRIVER, M_WAITOK); if (busid == NULL) return ENOMEM; if (DRM_COPY_FROM_USER(busid, u->unique, u->unique_len)) { - free(busid, M_DRM); + free(busid, DRM_MEM_DRIVER); return EFAULT; } busid[u->unique_len] = '\0'; @@ -84,7 +84,7 @@ int drm_setunique(struct drm_device *dev, void *data, */ ret = sscanf(busid, "PCI:%d:%d:%d", &bus, &slot, &func); if (ret != 3) { - free(busid, M_DRM); + free(busid, DRM_MEM_DRIVER); return EINVAL; } domain = bus >> 8; @@ -94,7 +94,7 @@ int drm_setunique(struct drm_device *dev, void *data, (bus != dev->pci_bus) || (slot != dev->pci_slot) || (func != dev->pci_func)) { - free(busid, M_DRM); + free(busid, DRM_MEM_DRIVER); return EINVAL; } @@ -125,7 +125,7 @@ drm_set_busid(struct drm_device *dev) } dev->unique_len = 20; - dev->unique = malloc(dev->unique_len + 1, M_DRM, M_NOWAIT); + dev->unique = malloc(dev->unique_len + 1, DRM_MEM_DRIVER, M_NOWAIT); if (dev->unique == NULL) { DRM_UNLOCK(); return ENOMEM; diff --git a/bsd-core/drm_irq.c b/bsd-core/drm_irq.c index 00d4b31e..5e99bb33 100644 --- a/bsd-core/drm_irq.c +++ b/bsd-core/drm_irq.c @@ -111,8 +111,7 @@ static void drm_vblank_cleanup(struct drm_device *dev) vblank_disable_fn((void *)dev); - drm_free(dev->vblank, sizeof(struct drm_vblank_info) * dev->num_crtcs, - DRM_MEM_DRIVER); + free(dev->vblank, DRM_MEM_DRIVER); dev->num_crtcs = 0; } @@ -125,8 +124,8 @@ int drm_vblank_init(struct drm_device *dev, int num_crtcs) atomic_set(&dev->vbl_signal_pending, 0); dev->num_crtcs = num_crtcs; - dev->vblank = drm_calloc(num_crtcs, sizeof(struct drm_vblank_info), - DRM_MEM_DRIVER); + dev->vblank = malloc(sizeof(struct drm_vblank_info) * num_crtcs, + DRM_MEM_DRIVER, M_NOWAIT | M_ZERO); if (!dev->vblank) goto err; @@ -429,8 +428,8 @@ int drm_wait_vblank(struct drm_device *dev, void *data, struct drm_file *file_pr if (flags & _DRM_VBLANK_SIGNAL) { #if 0 /* disabled */ - drm_vbl_sig_t *vbl_sig = malloc(sizeof(drm_vbl_sig_t), M_DRM, - M_NOWAIT | M_ZERO); + drm_vbl_sig_t *vbl_sig = malloc(sizeof(drm_vbl_sig_t), + DRM_MEM_DRIVER, M_NOWAIT | M_ZERO); if (vbl_sig == NULL) return ENOMEM; diff --git a/bsd-core/drm_memory.c b/bsd-core/drm_memory.c index 2dfd2b8e..ac43cb0c 100644 --- a/bsd-core/drm_memory.c +++ b/bsd-core/drm_memory.c @@ -38,7 +38,25 @@ #include "drmP.h" -MALLOC_DEFINE(M_DRM, "drm", "DRM Data Structures"); +MALLOC_DEFINE(DRM_MEM_DMA, "drm_dma", "DRM DMA Data Structures"); +MALLOC_DEFINE(DRM_MEM_SAREA, "drm_sarea", "DRM SAREA Data Structures"); +MALLOC_DEFINE(DRM_MEM_DRIVER, "drm_driver", "DRM DRIVER Data Structures"); +MALLOC_DEFINE(DRM_MEM_MAGIC, "drm_magic", "DRM MAGIC Data Structures"); +MALLOC_DEFINE(DRM_MEM_IOCTLS, "drm_ioctls", "DRM IOCTL Data Structures"); +MALLOC_DEFINE(DRM_MEM_MAPS, "drm_maps", "DRM MAP Data Structures"); +MALLOC_DEFINE(DRM_MEM_BUFS, "drm_bufs", "DRM BUFFER Data Structures"); +MALLOC_DEFINE(DRM_MEM_SEGS, "drm_segs", "DRM SEGMENTS Data Structures"); +MALLOC_DEFINE(DRM_MEM_PAGES, "drm_pages", "DRM PAGES Data Structures"); +MALLOC_DEFINE(DRM_MEM_FILES, "drm_files", "DRM FILE Data Structures"); +MALLOC_DEFINE(DRM_MEM_QUEUES, "drm_queues", "DRM QUEUE Data Structures"); +MALLOC_DEFINE(DRM_MEM_CMDS, "drm_cmds", "DRM COMMAND Data Structures"); +MALLOC_DEFINE(DRM_MEM_MAPPINGS, "drm_mapping", "DRM MAPPING Data Structures"); +MALLOC_DEFINE(DRM_MEM_BUFLISTS, "drm_buflists", "DRM BUFLISTS Data Structures"); +MALLOC_DEFINE(DRM_MEM_AGPLISTS, "drm_agplists", "DRM AGPLISTS Data Structures"); +MALLOC_DEFINE(DRM_MEM_CTXBITMAP, "drm_ctxbitmap", + "DRM CTXBITMAP Data Structures"); +MALLOC_DEFINE(DRM_MEM_SGLISTS, "drm_sglists", "DRM SGLISTS Data Structures"); +MALLOC_DEFINE(DRM_MEM_DRAWABLE, "drm_drawable", "DRM DRAWABLE Data Structures"); void drm_mem_init(void) { @@ -48,35 +66,6 @@ void drm_mem_uninit(void) { } -void *drm_alloc(size_t size, int area) -{ - return malloc(size, M_DRM, M_NOWAIT); -} - -void *drm_calloc(size_t nmemb, size_t size, int area) -{ - return malloc(size * nmemb, M_DRM, M_NOWAIT | M_ZERO); -} - -void *drm_realloc(void *oldpt, size_t oldsize, size_t size, int area) -{ - void *pt; - - pt = malloc(size, M_DRM, M_NOWAIT); - if (pt == NULL) - return NULL; - if (oldpt && oldsize) { - memcpy(pt, oldpt, DRM_MIN(oldsize,size)); - free(oldpt, M_DRM); - } - return pt; -} - -void drm_free(void *pt, size_t size, int area) -{ - free(pt, M_DRM); -} - void *drm_ioremap_wc(struct drm_device *dev, drm_local_map_t *map) { return pmap_mapdev_attr(map->offset, map->size, PAT_WRITE_COMBINING); diff --git a/bsd-core/drm_pci.c b/bsd-core/drm_pci.c index e21715b2..5a3cb61b 100644 --- a/bsd-core/drm_pci.c +++ b/bsd-core/drm_pci.c @@ -64,7 +64,7 @@ drm_pci_alloc(struct drm_device *dev, size_t size, return NULL; } - dmah = malloc(sizeof(drm_dma_handle_t), M_DRM, M_ZERO | M_NOWAIT); + dmah = malloc(sizeof(drm_dma_handle_t), DRM_MEM_DMA, M_ZERO | M_NOWAIT); if (dmah == NULL) return NULL; @@ -83,7 +83,7 @@ drm_pci_alloc(struct drm_device *dev, size_t size, BUS_DMA_ALLOCNOW, NULL, NULL, /* flags, lockfunc, lockfuncargs */ &dmah->tag); if (ret != 0) { - free(dmah, M_DRM); + free(dmah, DRM_MEM_DMA); return NULL; } @@ -91,7 +91,7 @@ drm_pci_alloc(struct drm_device *dev, size_t size, &dmah->map); if (ret != 0) { bus_dma_tag_destroy(dmah->tag); - free(dmah, M_DRM); + free(dmah, DRM_MEM_DMA); return NULL; } @@ -100,7 +100,7 @@ drm_pci_alloc(struct drm_device *dev, size_t size, if (ret != 0) { bus_dmamem_free(dmah->tag, dmah->vaddr, dmah->map); bus_dma_tag_destroy(dmah->tag); - free(dmah, M_DRM); + free(dmah, DRM_MEM_DMA); return NULL; } @@ -119,7 +119,7 @@ drm_pci_free(struct drm_device *dev, drm_dma_handle_t *dmah) bus_dmamem_free(dmah->tag, dmah->vaddr, dmah->map); bus_dma_tag_destroy(dmah->tag); - free(dmah, M_DRM); + free(dmah, DRM_MEM_DMA); } /*@}*/ diff --git a/bsd-core/drm_scatter.c b/bsd-core/drm_scatter.c index 550e6f88..7d47e605 100644 --- a/bsd-core/drm_scatter.c +++ b/bsd-core/drm_scatter.c @@ -40,9 +40,9 @@ void drm_sg_cleanup(drm_sg_mem_t *entry) { - free((void *)entry->handle, M_DRM); - free(entry->busaddr, M_DRM); - free(entry, M_DRM); + free((void *)entry->handle, DRM_MEM_PAGES); + free(entry->busaddr, DRM_MEM_PAGES); + free(entry, DRM_MEM_SGLISTS); } int drm_sg_alloc(struct drm_device * dev, struct drm_scatter_gather * request) @@ -54,7 +54,7 @@ int drm_sg_alloc(struct drm_device * dev, struct drm_scatter_gather * request) if (dev->sg) return EINVAL; - entry = malloc(sizeof(*entry), M_DRM, M_WAITOK | M_ZERO); + entry = malloc(sizeof(*entry), DRM_MEM_SGLISTS, M_WAITOK | M_ZERO); if (!entry) return ENOMEM; @@ -63,14 +63,14 @@ int drm_sg_alloc(struct drm_device * dev, struct drm_scatter_gather * request) entry->pages = pages; - entry->busaddr = malloc(pages * sizeof(*entry->busaddr), M_DRM, + entry->busaddr = malloc(pages * sizeof(*entry->busaddr), DRM_MEM_PAGES, M_WAITOK | M_ZERO); if (!entry->busaddr) { drm_sg_cleanup(entry); return ENOMEM; } - entry->handle = (long)malloc(pages << PAGE_SHIFT, M_DRM, + entry->handle = (long)malloc(pages << PAGE_SHIFT, DRM_MEM_PAGES, M_WAITOK | M_ZERO); if (entry->handle == 0) { drm_sg_cleanup(entry); diff --git a/bsd-core/drm_sysctl.c b/bsd-core/drm_sysctl.c index f9cfd9cf..f0227aa7 100644 --- a/bsd-core/drm_sysctl.c +++ b/bsd-core/drm_sysctl.c @@ -59,7 +59,7 @@ int drm_sysctl_init(struct drm_device *dev) struct sysctl_oid *top, *drioid; int i; - info = malloc(sizeof *info, M_DRM, M_WAITOK | M_ZERO); + info = malloc(sizeof *info, DRM_MEM_DRIVER, M_WAITOK | M_ZERO); if ( !info ) return 1; dev->sysctl = info; @@ -111,7 +111,7 @@ int drm_sysctl_cleanup(struct drm_device *dev) int error; error = sysctl_ctx_free( &dev->sysctl->ctx ); - free(dev->sysctl, M_DRM); + free(dev->sysctl, DRM_MEM_DRIVER); dev->sysctl = NULL; return error; @@ -169,7 +169,8 @@ static int drm_vm_info DRM_SYSCTL_HANDLER_ARGS TAILQ_FOREACH(map, &dev->maplist, link) mapcount++; - tempmaps = malloc(sizeof(drm_local_map_t) * mapcount, M_DRM, M_NOWAIT); + tempmaps = malloc(sizeof(drm_local_map_t) * mapcount, DRM_MEM_DRIVER, + M_NOWAIT); if (tempmaps == NULL) { DRM_UNLOCK(); return ENOMEM; @@ -205,7 +206,7 @@ static int drm_vm_info DRM_SYSCTL_HANDLER_ARGS SYSCTL_OUT(req, "", 1); done: - free(tempmaps, M_DRM); + free(tempmaps, DRM_MEM_DRIVER); return retcode; } @@ -229,7 +230,8 @@ static int drm_bufs_info DRM_SYSCTL_HANDLER_ARGS } DRM_SPINLOCK(&dev->dma_lock); tempdma = *dma; - templists = malloc(sizeof(int) * dma->buf_count, M_DRM, M_NOWAIT); + templists = malloc(sizeof(int) * dma->buf_count, DRM_MEM_DRIVER, + M_NOWAIT); for (i = 0; i < dma->buf_count; i++) templists[i] = dma->buflist[i]->list; dma = &tempdma; @@ -261,7 +263,7 @@ static int drm_bufs_info DRM_SYSCTL_HANDLER_ARGS SYSCTL_OUT(req, "", 1); done: - free(templists, M_DRM); + free(templists, DRM_MEM_DRIVER); return retcode; } @@ -279,7 +281,8 @@ static int drm_clients_info DRM_SYSCTL_HANDLER_ARGS TAILQ_FOREACH(priv, &dev->files, link) privcount++; - tempprivs = malloc(sizeof(struct drm_file) * privcount, M_DRM, M_NOWAIT); + tempprivs = malloc(sizeof(struct drm_file) * privcount, DRM_MEM_DRIVER, + M_NOWAIT); if (tempprivs == NULL) { DRM_UNLOCK(); return ENOMEM; @@ -304,6 +307,6 @@ static int drm_clients_info DRM_SYSCTL_HANDLER_ARGS SYSCTL_OUT(req, "", 1); done: - free(tempprivs, M_DRM); + free(tempprivs, DRM_MEM_DRIVER); return retcode; } diff --git a/bsd-core/i915_drv.c b/bsd-core/i915_drv.c index 87703210..0c36a6f1 100644 --- a/bsd-core/i915_drv.c +++ b/bsd-core/i915_drv.c @@ -109,7 +109,7 @@ i915_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + dev->driver = malloc(sizeof(struct drm_driver_info), DRM_MEM_DRIVER, M_WAITOK | M_ZERO); i915_configure(dev); @@ -125,7 +125,7 @@ i915_detach(device_t nbdev) ret = drm_detach(nbdev); - free(dev->driver, M_DRM); + free(dev->driver, DRM_MEM_DRIVER); return ret; } diff --git a/bsd-core/mach64_drv.c b/bsd-core/mach64_drv.c index 03a533a9..1cbe5f39 100644 --- a/bsd-core/mach64_drv.c +++ b/bsd-core/mach64_drv.c @@ -83,7 +83,7 @@ mach64_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + dev->driver = malloc(sizeof(struct drm_driver_info), DRM_MEM_DRIVER, M_WAITOK | M_ZERO); mach64_configure(dev); @@ -99,7 +99,7 @@ mach64_detach(device_t nbdev) ret = drm_detach(nbdev); - free(dev->driver, M_DRM); + free(dev->driver, DRM_MEM_DRIVER); return ret; } diff --git a/bsd-core/mga_drv.c b/bsd-core/mga_drv.c index ae3675c3..af250e83 100644 --- a/bsd-core/mga_drv.c +++ b/bsd-core/mga_drv.c @@ -127,7 +127,7 @@ mga_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + dev->driver = malloc(sizeof(struct drm_driver_info), DRM_MEM_DRIVER, M_WAITOK | M_ZERO); mga_configure(dev); @@ -143,7 +143,7 @@ mga_detach(device_t nbdev) ret = drm_detach(nbdev); - free(dev->driver, M_DRM); + free(dev->driver, DRM_MEM_DRIVER); return ret; } diff --git a/bsd-core/r128_drv.c b/bsd-core/r128_drv.c index f239ea36..3dbf66eb 100644 --- a/bsd-core/r128_drv.c +++ b/bsd-core/r128_drv.c @@ -82,7 +82,7 @@ r128_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + dev->driver = malloc(sizeof(struct drm_driver_info), DRM_MEM_DRIVER, M_WAITOK | M_ZERO); r128_configure(dev); @@ -98,7 +98,7 @@ r128_detach(device_t nbdev) ret = drm_detach(nbdev); - free(dev->driver, M_DRM); + free(dev->driver, DRM_MEM_DRIVER); return ret; } diff --git a/bsd-core/radeon_drv.c b/bsd-core/radeon_drv.c index ab5968b2..46bccb39 100644 --- a/bsd-core/radeon_drv.c +++ b/bsd-core/radeon_drv.c @@ -87,7 +87,7 @@ radeon_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + dev->driver = malloc(sizeof(struct drm_driver_info), DRM_MEM_DRIVER, M_WAITOK | M_ZERO); radeon_configure(dev); @@ -103,7 +103,7 @@ radeon_detach(device_t nbdev) ret = drm_detach(nbdev); - free(dev->driver, M_DRM); + free(dev->driver, DRM_MEM_DRIVER); return ret; } diff --git a/bsd-core/savage_drv.c b/bsd-core/savage_drv.c index 5cf2d611..96643aae 100644 --- a/bsd-core/savage_drv.c +++ b/bsd-core/savage_drv.c @@ -73,7 +73,7 @@ savage_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + dev->driver = malloc(sizeof(struct drm_driver_info), DRM_MEM_DRIVER, M_WAITOK | M_ZERO); savage_configure(dev); @@ -89,7 +89,7 @@ savage_detach(device_t nbdev) ret = drm_detach(nbdev); - free(dev->driver, M_DRM); + free(dev->driver, DRM_MEM_DRIVER); return ret; } diff --git a/bsd-core/sis_drv.c b/bsd-core/sis_drv.c index 55a6231c..2b6be29f 100644 --- a/bsd-core/sis_drv.c +++ b/bsd-core/sis_drv.c @@ -67,7 +67,7 @@ sis_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + dev->driver = malloc(sizeof(struct drm_driver_info), DRM_MEM_DRIVER, M_WAITOK | M_ZERO); sis_configure(dev); @@ -83,7 +83,7 @@ sis_detach(device_t nbdev) ret = drm_detach(nbdev); - free(dev->driver, M_DRM); + free(dev->driver, DRM_MEM_DRIVER); return ret; } diff --git a/bsd-core/tdfx_drv.c b/bsd-core/tdfx_drv.c index 61952564..775efcc1 100644 --- a/bsd-core/tdfx_drv.c +++ b/bsd-core/tdfx_drv.c @@ -69,7 +69,7 @@ tdfx_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + dev->driver = malloc(sizeof(struct drm_driver_info), DRM_MEM_DRIVER, M_WAITOK | M_ZERO); tdfx_configure(dev); @@ -85,7 +85,7 @@ tdfx_detach(device_t nbdev) ret = drm_detach(nbdev); - free(dev->driver, M_DRM); + free(dev->driver, DRM_MEM_DRIVER); return ret; } diff --git a/bsd-core/via_drv.c b/bsd-core/via_drv.c index d16efc43..cae7231c 100644 --- a/bsd-core/via_drv.c +++ b/bsd-core/via_drv.c @@ -80,7 +80,7 @@ via_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + dev->driver = malloc(sizeof(struct drm_driver_info), DRM_MEM_DRIVER, M_WAITOK | M_ZERO); via_configure(dev); @@ -96,7 +96,7 @@ via_detach(device_t nbdev) ret = drm_detach(nbdev); - free(dev->driver, M_DRM); + free(dev->driver, DRM_MEM_DRIVER); return ret; } -- cgit v1.2.3 From f5327aca0cbb1b602e4f954b8f361f2e1daaf20d Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Fri, 10 Oct 2008 18:23:11 -0400 Subject: [FreeBSD] Plug memory leak in drm_rmdraw() and drm_drawable_free_all() --- bsd-core/drm_drawable.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/bsd-core/drm_drawable.c b/bsd-core/drm_drawable.c index 018db57d..2ae11dbb 100644 --- a/bsd-core/drm_drawable.c +++ b/bsd-core/drm_drawable.c @@ -71,8 +71,8 @@ int drm_adddraw(struct drm_device *dev, void *data, struct drm_file *file_priv) struct drm_draw *draw = data; struct bsd_drm_drawable_info *info; - info = drm_calloc(1, sizeof(struct bsd_drm_drawable_info), - DRM_MEM_DRAWABLE); + info = malloc(sizeof(struct bsd_drm_drawable_info), DRM_MEM_DRAWABLE, + M_NOWAIT | M_ZERO); if (info == NULL) return ENOMEM; @@ -99,8 +99,8 @@ int drm_rmdraw(struct drm_device *dev, void *data, struct drm_file *file_priv) (struct bsd_drm_drawable_info *)info); DRM_SPINUNLOCK(&dev->drw_lock); free_unr(dev->drw_unrhdr, draw->handle); - drm_free(info, sizeof(struct bsd_drm_drawable_info), - DRM_MEM_DRAWABLE); + free(info->rects, DRM_MEM_DRAWABLE); + free(info, DRM_MEM_DRAWABLE); return 0; } else { DRM_SPINUNLOCK(&dev->drw_lock); @@ -123,9 +123,7 @@ int drm_update_draw(struct drm_device *dev, void *data, case DRM_DRAWABLE_CLIPRECTS: DRM_SPINLOCK(&dev->drw_lock); if (update->num != info->num_rects) { - drm_free(info->rects, - sizeof(*info->rects) * info->num_rects, - DRM_MEM_DRAWABLE); + free(info->rects, DRM_MEM_DRAWABLE); info->rects = NULL; info->num_rects = 0; } @@ -134,8 +132,8 @@ int drm_update_draw(struct drm_device *dev, void *data, return 0; } if (info->rects == NULL) { - info->rects = drm_alloc(sizeof(*info->rects) * - update->num, DRM_MEM_DRAWABLE); + info->rects = malloc(sizeof(*info->rects) * + update->num, DRM_MEM_DRAWABLE, M_NOWAIT); if (info->rects == NULL) { DRM_SPINUNLOCK(&dev->drw_lock); return ENOMEM; @@ -164,8 +162,8 @@ void drm_drawable_free_all(struct drm_device *dev) (struct bsd_drm_drawable_info *)info); DRM_SPINUNLOCK(&dev->drw_lock); free_unr(dev->drw_unrhdr, info->handle); - drm_free(info, sizeof(struct bsd_drm_drawable_info), - DRM_MEM_DRAWABLE); + free(info->info.rects, DRM_MEM_DRAWABLE); + free(info, DRM_MEM_DRAWABLE); DRM_SPINLOCK(&dev->drw_lock); } DRM_SPINUNLOCK(&dev->drw_lock); -- cgit v1.2.3 From c6109df93bc062d3ec2ff2808babe826532d11b3 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 13 Oct 2008 07:16:33 +1000 Subject: libdrm: don't depend or link to libdrm_intel --- libdrm/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libdrm/Makefile.am b/libdrm/Makefile.am index 543b2786..dbe58fb1 100644 --- a/libdrm/Makefile.am +++ b/libdrm/Makefile.am @@ -27,7 +27,7 @@ libdrm_la_LDFLAGS = -version-number 2:3:0 -no-undefined AM_CFLAGS = -I$(top_srcdir)/shared-core libdrm_la_SOURCES = xf86drm.c xf86drmHash.c xf86drmRandom.c xf86drmSL.c \ libdrm_lists.h -libdrm_la_LIBADD = intel/libdrm_intel.la @PTHREADSTUBS_LIBS@ +libdrm_la_LIBADD = @PTHREADSTUBS_LIBS@ libdrmincludedir = ${includedir} libdrminclude_HEADERS = xf86drm.h -- cgit v1.2.3 From 3e03d781f7c41a88d5d5f895be9c443bf3592ef0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 13 Oct 2008 13:41:10 -0700 Subject: intel: Avoid pthread mutex recursion in bufmgr_fake. Bug #18035. Fixes deadlock in glean texCube testcase. --- libdrm/intel/intel_bufmgr_fake.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/libdrm/intel/intel_bufmgr_fake.c b/libdrm/intel/intel_bufmgr_fake.c index 1be4698b..cfe9a731 100644 --- a/libdrm/intel/intel_bufmgr_fake.c +++ b/libdrm/intel/intel_bufmgr_fake.c @@ -717,20 +717,25 @@ dri_bufmgr_fake_wait_idle(dri_bufmgr_fake *bufmgr_fake) * the necessary flushing. */ static void -dri_fake_bo_wait_rendering(dri_bo *bo) +dri_fake_bo_wait_rendering_locked(dri_bo *bo) { dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; dri_bo_fake *bo_fake = (dri_bo_fake *)bo; - pthread_mutex_lock(&bufmgr_fake->lock); - - if (bo_fake->block == NULL || !bo_fake->block->fenced) { - pthread_mutex_unlock(&bufmgr_fake->lock); + if (bo_fake->block == NULL || !bo_fake->block->fenced) return; - } _fence_wait_internal(bufmgr_fake, bo_fake->block->fence); +} + +static void +dri_fake_bo_wait_rendering(dri_bo *bo) +{ + dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; + dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + pthread_mutex_lock(&bufmgr_fake->lock); + dri_fake_bo_wait_rendering_locked(bo); pthread_mutex_unlock(&bufmgr_fake->lock); } @@ -972,7 +977,7 @@ dri_fake_bo_map_locked(dri_bo *bo, int write_enable) if (!(bo_fake->flags & BM_NO_FENCE_SUBDATA) && bo_fake->block->fenced) { - dri_fake_bo_wait_rendering(bo); + dri_fake_bo_wait_rendering_locked(bo); } bo->virtual = bo_fake->block->virtual; @@ -987,7 +992,7 @@ dri_fake_bo_map_locked(dri_bo *bo, int write_enable) if ((bo_fake->card_dirty == 1) && bo_fake->block) { if (bo_fake->block->fenced) - dri_fake_bo_wait_rendering(bo); + dri_fake_bo_wait_rendering_locked(bo); memcpy(bo_fake->backing_store, bo_fake->block->virtual, bo_fake->block->bo->size); bo_fake->card_dirty = 0; -- cgit v1.2.3 From d9c2f65dd8e50736a33e97a55c257ef6843e1ce7 Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Tue, 14 Oct 2008 01:25:57 +0200 Subject: link libdrm_intel properly libdrm_intel needs symbols from libdrm, so link against it. --- libdrm/Makefile.am | 3 +-- libdrm/intel/Makefile.am | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libdrm/Makefile.am b/libdrm/Makefile.am index dbe58fb1..63f6e644 100644 --- a/libdrm/Makefile.am +++ b/libdrm/Makefile.am @@ -18,7 +18,7 @@ # 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. -SUBDIRS = intel +SUBDIRS = . intel libdrm_la_LTLIBRARIES = libdrm.la libdrm_ladir = $(libdir) @@ -27,7 +27,6 @@ libdrm_la_LDFLAGS = -version-number 2:3:0 -no-undefined AM_CFLAGS = -I$(top_srcdir)/shared-core libdrm_la_SOURCES = xf86drm.c xf86drmHash.c xf86drmRandom.c xf86drmSL.c \ libdrm_lists.h -libdrm_la_LIBADD = @PTHREADSTUBS_LIBS@ libdrmincludedir = ${includedir} libdrminclude_HEADERS = xf86drm.h diff --git a/libdrm/intel/Makefile.am b/libdrm/intel/Makefile.am index 92388c24..5e3dee06 100644 --- a/libdrm/intel/Makefile.am +++ b/libdrm/intel/Makefile.am @@ -32,6 +32,7 @@ AM_CFLAGS = \ libdrm_intel_la_LTLIBRARIES = libdrm_intel.la libdrm_intel_ladir = $(libdir) libdrm_intel_la_LDFLAGS = -version-number 1:0:0 -no-undefined +libdrm_intel_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ libdrm_intel_la_SOURCES = \ intel_bufmgr.c \ -- cgit v1.2.3 From 993383873c215ab11975d98b93f131a4e3ea7ce6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 14 Oct 2008 13:18:11 -0700 Subject: intel: Add interface for getting tiling mode of a bo. --- libdrm/intel/intel_bufmgr.c | 10 ++++++++++ libdrm/intel/intel_bufmgr.h | 2 ++ libdrm/intel/intel_bufmgr_gem.c | 23 +++++++++++++++++++++++ libdrm/intel/intel_bufmgr_priv.h | 9 +++++++++ 4 files changed, 44 insertions(+) diff --git a/libdrm/intel/intel_bufmgr.c b/libdrm/intel/intel_bufmgr.c index fc7284b5..92b60467 100644 --- a/libdrm/intel/intel_bufmgr.c +++ b/libdrm/intel/intel_bufmgr.c @@ -192,3 +192,13 @@ int dri_bo_set_tiling(dri_bo *bo, uint32_t *tiling_mode) *tiling_mode = I915_TILING_NONE; return 0; } + +int dri_bo_get_tiling(dri_bo *bo, uint32_t *tiling_mode, uint32_t *swizzle_mode) +{ + if (bo->bufmgr->bo_get_tiling) + return bo->bufmgr->bo_get_tiling(bo, tiling_mode, swizzle_mode); + + *tiling_mode = I915_TILING_NONE; + *swizzle_mode = I915_BIT_6_SWIZZLE_NONE; + return 0; +} diff --git a/libdrm/intel/intel_bufmgr.h b/libdrm/intel/intel_bufmgr.h index c44d596b..0c7b0e47 100644 --- a/libdrm/intel/intel_bufmgr.h +++ b/libdrm/intel/intel_bufmgr.h @@ -87,6 +87,8 @@ int dri_bo_emit_reloc(dri_bo *reloc_buf, int dri_bo_pin(dri_bo *buf, uint32_t alignment); int dri_bo_unpin(dri_bo *buf); int dri_bo_set_tiling(dri_bo *buf, uint32_t *tiling_mode); +int dri_bo_get_tiling(dri_bo *buf, uint32_t *tiling_mode, + uint32_t *swizzle_mode); int dri_bo_flink(dri_bo *buf, uint32_t *name); /* intel_bufmgr_gem.c */ diff --git a/libdrm/intel/intel_bufmgr_gem.c b/libdrm/intel/intel_bufmgr_gem.c index 9bd44417..33853c4a 100644 --- a/libdrm/intel/intel_bufmgr_gem.c +++ b/libdrm/intel/intel_bufmgr_gem.c @@ -872,6 +872,28 @@ dri_gem_bo_set_tiling(dri_bo *bo, uint32_t *tiling_mode) return 0; } +static int +dri_gem_bo_get_tiling(dri_bo *bo, uint32_t *tiling_mode, uint32_t *swizzle_mode) +{ + dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; + dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + struct drm_i915_gem_get_tiling get_tiling; + int ret; + + get_tiling.handle = bo_gem->gem_handle; + + ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_GET_TILING, &get_tiling); + if (ret != 0) { + *tiling_mode = I915_TILING_NONE; + *swizzle_mode = I915_BIT_6_SWIZZLE_NONE; + return -errno; + } + + *tiling_mode = get_tiling.tiling_mode; + *swizzle_mode = get_tiling.swizzle_mode; + return 0; +} + static int dri_gem_bo_flink(dri_bo *bo, uint32_t *name) { @@ -959,6 +981,7 @@ intel_bufmgr_gem_init(int fd, int batch_size) bufmgr_gem->bufmgr.bo_emit_reloc = dri_gem_bo_emit_reloc; bufmgr_gem->bufmgr.bo_pin = dri_gem_bo_pin; bufmgr_gem->bufmgr.bo_unpin = dri_gem_bo_unpin; + bufmgr_gem->bufmgr.bo_get_tiling = dri_gem_bo_get_tiling; bufmgr_gem->bufmgr.bo_set_tiling = dri_gem_bo_set_tiling; bufmgr_gem->bufmgr.bo_flink = dri_gem_bo_flink; bufmgr_gem->bufmgr.bo_exec = dri_gem_bo_exec; diff --git a/libdrm/intel/intel_bufmgr_priv.h b/libdrm/intel/intel_bufmgr_priv.h index 7f39bfc2..cbf3b311 100644 --- a/libdrm/intel/intel_bufmgr_priv.h +++ b/libdrm/intel/intel_bufmgr_priv.h @@ -149,6 +149,15 @@ struct _dri_bufmgr { * \param tiling_mode desired, and returned tiling mode */ int (*bo_set_tiling) (dri_bo *bo, uint32_t *tiling_mode); + /** + * Get the current tiling (and resulting swizzling) mode for the bo. + * + * \param buf Buffer to get tiling mode for + * \param tiling_mode returned tiling mode + * \param swizzle_mode returned swizzling mode + */ + int (*bo_get_tiling) (dri_bo *bo, uint32_t *tiling_mode, + uint32_t *swizzle_mode); /** * Create a visible name for a buffer which can be used by other apps * -- cgit v1.2.3 From 458e2d5bc5f949d00cfcc9a3f9ce89f0c9f5628c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 14 Oct 2008 13:33:38 -0700 Subject: intel: Fix compile warning. --- libdrm/intel/intel_bufmgr_fake.c | 1 - 1 file changed, 1 deletion(-) diff --git a/libdrm/intel/intel_bufmgr_fake.c b/libdrm/intel/intel_bufmgr_fake.c index cfe9a731..8e476c4b 100644 --- a/libdrm/intel/intel_bufmgr_fake.c +++ b/libdrm/intel/intel_bufmgr_fake.c @@ -732,7 +732,6 @@ static void dri_fake_bo_wait_rendering(dri_bo *bo) { dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; pthread_mutex_lock(&bufmgr_fake->lock); dri_fake_bo_wait_rendering_locked(bo); -- cgit v1.2.3 From 769197c8f16eaf3c0a476a4459e535afd4a939cb Mon Sep 17 00:00:00 2001 From: "Xiang, Haihao" Date: Thu, 16 Oct 2008 10:37:30 +0800 Subject: intel: avoid deadlock in intel_bufmgr_fake. --- libdrm/intel/intel_bufmgr_fake.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libdrm/intel/intel_bufmgr_fake.c b/libdrm/intel/intel_bufmgr_fake.c index 8e476c4b..c82ce5ae 100644 --- a/libdrm/intel/intel_bufmgr_fake.c +++ b/libdrm/intel/intel_bufmgr_fake.c @@ -1053,12 +1053,10 @@ dri_fake_bo_unmap(dri_bo *bo) } static void -dri_fake_kick_all(dri_bufmgr_fake *bufmgr_fake) +dri_fake_kick_all_locked(dri_bufmgr_fake *bufmgr_fake) { struct block *block, *tmp; - pthread_mutex_lock(&bufmgr_fake->lock); - bufmgr_fake->performed_rendering = 0; /* okay for ever BO that is on the HW kick it off. seriously not afraid of the POLICE right now */ @@ -1073,7 +1071,6 @@ dri_fake_kick_all(dri_bufmgr_fake *bufmgr_fake) bo_fake->dirty = 1; } - pthread_mutex_unlock(&bufmgr_fake->lock); } static int @@ -1358,7 +1355,7 @@ dri_fake_bo_exec(dri_bo *bo, int used, if (bufmgr_fake->fail == 1) { if (retry_count == 0) { retry_count++; - dri_fake_kick_all(bufmgr_fake); + dri_fake_kick_all_locked(bufmgr_fake); bufmgr_fake->fail = 0; goto restart; } else /* dump out the memory here */ @@ -1369,8 +1366,10 @@ dri_fake_bo_exec(dri_bo *bo, int used, if (bufmgr_fake->exec != NULL) { int ret = bufmgr_fake->exec(bo, used, bufmgr_fake->exec_priv); - if (ret != 0) + if (ret != 0) { + pthread_mutex_unlock(&bufmgr_fake->lock); return ret; + } } else { batch.start = bo->offset; batch.used = used; @@ -1382,6 +1381,7 @@ dri_fake_bo_exec(dri_bo *bo, int used, if (drmCommandWrite(bufmgr_fake->fd, DRM_I915_BATCHBUFFER, &batch, sizeof(batch))) { drmMsg("DRM_I915_BATCHBUFFER: %d\n", -errno); + pthread_mutex_unlock(&bufmgr_fake->lock); return -errno; } } -- cgit v1.2.3 From a59ea02ff839fa0801763a90beb8b232b933c746 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 16 Oct 2008 21:15:01 -0700 Subject: intel: ioctl is not defined to return -errno Don't count on ioctl returning -errno; use errno directly. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt --- libdrm/intel/intel_bufmgr_gem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libdrm/intel/intel_bufmgr_gem.c b/libdrm/intel/intel_bufmgr_gem.c index 33853c4a..081eb2ad 100644 --- a/libdrm/intel/intel_bufmgr_gem.c +++ b/libdrm/intel/intel_bufmgr_gem.c @@ -790,7 +790,7 @@ dri_gem_bo_exec(dri_bo *bo, int used, do { ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_EXECBUFFER, &execbuf); - } while (ret == -EAGAIN); + } while (ret != 0 && errno == EAGAIN); intel_update_buffer_offsets (bufmgr_gem); -- cgit v1.2.3 From 7dbeb18777a4dc1e7eb3c6bc4da3e72456afc8fc Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Thu, 23 Oct 2008 15:42:49 -0400 Subject: [FreeBSD] This check isn't correct and causes at least mga to lockup. --- bsd-core/drm_lock.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/bsd-core/drm_lock.c b/bsd-core/drm_lock.c index 685b0ea3..dec7281a 100644 --- a/bsd-core/drm_lock.c +++ b/bsd-core/drm_lock.c @@ -102,17 +102,15 @@ int drm_unlock(struct drm_device *dev, void *data, struct drm_file *file_priv) { struct drm_lock *lock = data; + DRM_DEBUG("%d (pid %d) requests unlock (0x%08x), flags = 0x%08x\n", + lock->context, DRM_CURRENTPID, dev->lock.hw_lock->lock, + lock->flags); + if (lock->context == DRM_KERNEL_CONTEXT) { DRM_ERROR("Process %d using kernel context %d\n", DRM_CURRENTPID, lock->context); return EINVAL; } - /* Check that the context unlock being requested actually matches - * who currently holds the lock. - */ - if (!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock) || - _DRM_LOCKING_CONTEXT(dev->lock.hw_lock->lock) != lock->context) - return EINVAL; DRM_SPINLOCK(&dev->tsk_lock); if (dev->locked_task_call != NULL) { -- cgit v1.2.3 From 8256c347cc80db0371b40b34ee8a163908d50079 Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Thu, 23 Oct 2008 15:46:32 -0400 Subject: [FreeBSD] We should use dev2unit() rather than minor() --- bsd-core/drm_drv.c | 2 +- bsd-core/drm_fops.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bsd-core/drm_drv.c b/bsd-core/drm_drv.c index 725e5a9d..afcad193 100644 --- a/bsd-core/drm_drv.c +++ b/bsd-core/drm_drv.c @@ -534,7 +534,7 @@ int drm_open(struct cdev *kdev, int flags, int fmt, DRM_STRUCTPROC *p) struct drm_device *dev = NULL; int retcode = 0; - dev = DRIVER_SOFTC(minor(kdev)); + dev = DRIVER_SOFTC(dev2unit(kdev)); DRM_DEBUG("open_count = %d\n", dev->open_count); diff --git a/bsd-core/drm_fops.c b/bsd-core/drm_fops.c index c6a8d195..e4cf8461 100644 --- a/bsd-core/drm_fops.c +++ b/bsd-core/drm_fops.c @@ -41,7 +41,7 @@ int drm_open_helper(struct cdev *kdev, int flags, int fmt, DRM_STRUCTPROC *p, struct drm_device *dev) { struct drm_file *priv; - int m = minor(kdev); + int m = dev2unit(kdev); int retcode; if (flags & O_EXCL) -- cgit v1.2.3 From b7d54b1dba8eba24da1b9cdd2116a26b98365b81 Mon Sep 17 00:00:00 2001 From: "Xiang, Haihao" Date: Fri, 24 Oct 2008 16:35:00 +0800 Subject: intel: Also total child_size of the target_bos. Partial fix #17964. --- libdrm/intel/intel_bufmgr_fake.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libdrm/intel/intel_bufmgr_fake.c b/libdrm/intel/intel_bufmgr_fake.c index c82ce5ae..c9545b35 100644 --- a/libdrm/intel/intel_bufmgr_fake.c +++ b/libdrm/intel/intel_bufmgr_fake.c @@ -1193,9 +1193,10 @@ dri_fake_emit_reloc(dri_bo *reloc_buf, dri_fake_bo_reference_locked(target_buf); - if (!target_fake->is_static) + if (!target_fake->is_static) { reloc_fake->child_size += ALIGN(target_buf->size, target_fake->alignment); - + reloc_fake->child_size += target_fake->child_size; + } r->target_buf = target_buf; r->offset = offset; r->last_target_offset = target_buf->offset; -- cgit v1.2.3 From 1d930fc75b99a89fc77d35d8f95f2877cfd5d7f0 Mon Sep 17 00:00:00 2001 From: Matthias Hopf Date: Sat, 25 Oct 2008 12:11:44 -0400 Subject: drm/i915: fix ioremap of a user address for non-root (CVE-2008-3831) Olaf Kirch noticed that the i915_set_status_page() function of the i915 kernel driver calls ioremap with an address offset that is supplied by userspace via ioctl. The function zeroes the mapped memory via memset and tells the hardware about the address. Turns out that access to that ioctl is not restricted to root so users could probably exploit that to do nasty things. We haven't tried to write actual exploit code though. It only affects the Intel G33 series and newer. --- shared-core/i915_dma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared-core/i915_dma.c b/shared-core/i915_dma.c index 619e6ac2..93bfcba5 100644 --- a/shared-core/i915_dma.c +++ b/shared-core/i915_dma.c @@ -1225,7 +1225,7 @@ struct drm_ioctl_desc i915_ioctls[] = { DRM_IOCTL_DEF(DRM_I915_GET_VBLANK_PIPE, i915_vblank_pipe_get, DRM_AUTH ), DRM_IOCTL_DEF(DRM_I915_VBLANK_SWAP, i915_vblank_swap, DRM_AUTH), DRM_IOCTL_DEF(DRM_I915_MMIO, i915_mmio, DRM_AUTH), - DRM_IOCTL_DEF(DRM_I915_HWS_ADDR, i915_set_status_page, DRM_AUTH), + DRM_IOCTL_DEF(DRM_I915_HWS_ADDR, i915_set_status_page, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), #ifdef I915_HAVE_BUFFER DRM_IOCTL_DEF(DRM_I915_EXECBUFFER, i915_execbuffer, DRM_AUTH), #endif -- cgit v1.2.3 From 848f00d77381d8b442c096476302796f8fe122fa Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Mon, 27 Oct 2008 12:59:39 -0400 Subject: radeon: fix some fallout from the busmaster disable cleanup rs400 is just like rs480. I mixed up the internal chipset names for rs600 and rs400. --- shared-core/radeon_cp.c | 9 ++++----- shared-core/radeon_drv.h | 10 +++++----- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/shared-core/radeon_cp.c b/shared-core/radeon_cp.c index c3b33a51..d842e23e 100644 --- a/shared-core/radeon_cp.c +++ b/shared-core/radeon_cp.c @@ -652,15 +652,14 @@ static void radeon_cp_init_ring_buffer(struct drm_device * dev, RADEON_WRITE(RADEON_SCRATCH_UMSK, 0x7); /* Turn on bus mastering */ - if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS400) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) || + if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) || ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740)) { - /* rs400, rs690/rs740 */ - tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RS400_BUS_MASTER_DIS; + /* rs600/rs690/rs740 */ + tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RS600_BUS_MASTER_DIS; RADEON_WRITE(RADEON_BUS_CNTL, tmp); } else if (!(((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV380) || ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R423))) { - /* r1xx, r2xx, r300, r(v)350, r420/r481, rs480 */ + /* r1xx, r2xx, r300, r(v)350, r420/r481, rs400/rs480 */ tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RADEON_BUS_MASTER_DIS; RADEON_WRITE(RADEON_BUS_CNTL, tmp); } /* PCIE cards appears to not need this */ diff --git a/shared-core/radeon_drv.h b/shared-core/radeon_drv.h index 86fb6db0..dd2b71ae 100644 --- a/shared-core/radeon_drv.h +++ b/shared-core/radeon_drv.h @@ -439,11 +439,11 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev, * handling, not bus mastering itself. */ #define RADEON_BUS_CNTL 0x0030 -/* r1xx, r2xx, r300, r(v)350, r420/r481, rs480 */ +/* r1xx, r2xx, r300, r(v)350, r420/r481, rs400/rs480 */ # define RADEON_BUS_MASTER_DIS (1 << 6) -/* rs400, rs690/rs740 */ -# define RS400_BUS_MASTER_DIS (1 << 14) -# define RS400_MSI_REARM (1 << 20) +/* rs600/rs690/rs740 */ +# define RS600_BUS_MASTER_DIS (1 << 14) +# define RS600_MSI_REARM (1 << 20) /* see RS480_MSI_REARM in AIC_CNTL for rs480 */ #define RADEON_BUS_CNTL1 0x0034 @@ -936,7 +936,7 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev, #define RADEON_AIC_CNTL 0x01d0 # define RADEON_PCIGART_TRANSLATE_EN (1 << 0) -# define RS480_MSI_REARM (1 << 3) +# define RS400_MSI_REARM (1 << 3) #define RADEON_AIC_STAT 0x01d4 #define RADEON_AIC_PT_BASE 0x01d8 #define RADEON_AIC_LO_ADDR 0x01dc -- cgit v1.2.3 From e1372f67274baa44419e000f5d3d6b2e81be2b51 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Mon, 27 Oct 2008 13:18:07 -0400 Subject: radeon: fix error in busmaster enable logic - logic was wrong. rs400/rs480 should clear the RADEON_BUS_MASTER_DIS bit - should fix kernel bug 11798 --- shared-core/radeon_cp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/shared-core/radeon_cp.c b/shared-core/radeon_cp.c index d842e23e..c4035b89 100644 --- a/shared-core/radeon_cp.c +++ b/shared-core/radeon_cp.c @@ -657,8 +657,10 @@ static void radeon_cp_init_ring_buffer(struct drm_device * dev, /* rs600/rs690/rs740 */ tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RS600_BUS_MASTER_DIS; RADEON_WRITE(RADEON_BUS_CNTL, tmp); - } else if (!(((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV380) || - ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R423))) { + } else if (((dev_priv->flags & RADEON_FAMILY_MASK) <= CHIP_RV350) || + ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R420) || + ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS400) || + ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS480)) { /* r1xx, r2xx, r300, r(v)350, r420/r481, rs400/rs480 */ tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RADEON_BUS_MASTER_DIS; RADEON_WRITE(RADEON_BUS_CNTL, tmp); -- cgit v1.2.3 From 145d2d610b90b6129bbbebd1e1f8c71f9147cbde Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Mon, 27 Oct 2008 14:39:05 -0400 Subject: i915: Since FreeBSD doesn't have gem support yet, don't advertise it. This allows us to not crash X when using newer Intel ddx drivers. --- shared-core/i915_dma.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/shared-core/i915_dma.c b/shared-core/i915_dma.c index 93bfcba5..29a0a1aa 100644 --- a/shared-core/i915_dma.c +++ b/shared-core/i915_dma.c @@ -911,7 +911,11 @@ static int i915_getparam(struct drm_device *dev, void *data, value = dev->pci_device; break; case I915_PARAM_HAS_GEM: +#ifdef I915_HAVE_GEM value = 1; +#else + value = 0; +#endif break; default: DRM_ERROR("Unknown parameter %d\n", param->param); -- cgit v1.2.3 From 89ef1b5483bb234278fe40e193643fc9777f50d4 Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Mon, 27 Oct 2008 21:21:15 +0200 Subject: drm: missing init_mm symbol, compatibility fix The drm_compat.c version of kmap_atomic_prot_pfn() uses the macro pgd_offset_k(), which references the symbol init_mm. Starting in 2.6.25, init_mm is no longer exported by default. The only user of kmap_atomic_prot_pfn() is i915, so this should not hurt anyone, and it allows people to load drm.ko. Signed-off-by: Pekka Paalanen --- linux-core/drm_compat.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/linux-core/drm_compat.h b/linux-core/drm_compat.h index c7f72e33..e09be479 100644 --- a/linux-core/drm_compat.h +++ b/linux-core/drm_compat.h @@ -333,9 +333,24 @@ typedef _Bool bool; #if (defined(CONFIG_X86) && defined(CONFIG_X86_32) && defined(CONFIG_HIGHMEM)) +/* + * pgd_offset_k() is a macro that uses the symbol init_mm, + * check that it is available. + */ +# if ((LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)) || \ + defined(CONFIG_UNUSED_SYMBOLS)) #define DRM_KMAP_ATOMIC_PROT_PFN extern void *kmap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t protection); +# else +#warning "init_mm is not available on this kernel!" +static inline void *kmap_atomic_prot_pfn(unsigned long pfn, enum km_type type, + pgprot_t protection) +{ + /* stub */ + return NULL; +} +# endif /* no init_mm */ #endif #if !defined(flush_agp_mappings) -- cgit v1.2.3 From 48b73904b485d679df879522719e4451fdb96ab6 Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Tue, 28 Oct 2008 11:38:30 +1100 Subject: nv50: move context-related tables a separate header file This turns the various nvXX_graph_init_ctxvals() methods into tables, and speeds up compliation of nv50_graph.c quite a bit. This has bothered me for a while, but others are complaining now so it's time to fix it :) --- shared-core/nv50_graph.c | 8041 +--------------------------------------- shared-core/nv50_grctx.h | 9232 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 9267 insertions(+), 8006 deletions(-) create mode 100644 shared-core/nv50_grctx.h diff --git a/shared-core/nv50_graph.c b/shared-core/nv50_graph.c index 9c9156ab..c177a7f2 100644 --- a/shared-core/nv50_graph.c +++ b/shared-core/nv50_graph.c @@ -27,6 +27,7 @@ #include "drmP.h" #include "drm.h" #include "nouveau_drv.h" +#include "nv50_grctx.h" #define IS_G80 ((dev_priv->chipset & 0xf0) == 0x50) @@ -83,304 +84,6 @@ nv50_graph_init_regs(struct drm_device *dev) NV_WRITE(NV04_PGRAPH_DEBUG_3, (1<<2) /* HW_CONTEXT_SWITCH_ENABLED */); } -static uint32_t nv50_ctx_voodoo[] = { - 0x0070008e, 0x0070009c, 0x00200020, 0x00600008, 0x0050004c, 0x00400e89, - 0x00200000, 0x00600007, 0x00300000, 0x00c000ff, 0x00200000, 0x008000ff, - 0x00700009, 0x00417e4d, 0x00401e44, 0x00401e05, 0x00401e0d, 0x00415a06, - 0x00600005, 0x004015c5, 0x00600011, 0x00401c0b, 0x0090ffff, 0x0091ffff, - 0x00200020, 0x00600008, 0x0050004c, 0x00600009, 0x00415a45, 0x0041754d, - 0x0070009d, 0x004022cf, 0x0070009f, 0x0050009f, 0x00401fc0, 0x00200080, - 0x00600008, 0x00401f4f, 0x00401fc0, 0x004025cc, 0x00700081, 0x00200000, - 0x00600006, 0x00700000, 0x00111bfc, 0x00700080, 0x00700083, 0x00200047, - 0x00600006, 0x0011020a, 0x002005c0, 0x00600007, 0x00300000, 0x00c000ff, - 0x00c800ff, 0x00416507, 0x00202627, 0x008000ff, 0x00403c8c, 0x005000cb, - 0x00a0023f, 0x00200040, 0x00600006, 0x0070000f, 0x00170202, 0x0011020a, - 0x00200032, 0x0010020d, 0x001b0242, 0x00120302, 0x00140402, 0x00180500, - 0x00130509, 0x00150550, 0x00110605, 0x001e0607, 0x00110700, 0x00110900, - 0x00110902, 0x00110a00, 0x00160b02, 0x00110b28, 0x00140b2b, 0x00110c01, - 0x00111400, 0x00111405, 0x00111407, 0x00111409, 0x0011140b, 0x002000ea, - 0x00101500, 0x0040640f, 0x0040644b, 0x00213700, 0x00600007, 0x00200440, - 0x008800ff, 0x0070008f, 0x0040648c, 0x005000cb, 0x00000000, 0x001118f8, - 0x0020002b, 0x00101a05, 0x00131c00, 0x00111c04, 0x00141c20, 0x00111c25, - 0x00131c40, 0x00111c44, 0x00141c60, 0x00111c65, 0x00131c80, 0x00111c84, - 0x00141ca0, 0x00111ca5, 0x00131cc0, 0x00111cc4, 0x00141ce0, 0x00111ce5, - 0x00131d00, 0x00111d04, 0x00141d20, 0x00111d25, 0x00131d40, 0x00111d44, - 0x00141d60, 0x00111d65, 0x00131f00, 0x00191f40, 0x00409ee0, 0x00200217, - 0x00600006, 0x00200044, 0x00102080, 0x001120c6, 0x001520c9, 0x001920d0, - 0x00122100, 0x00122103, 0x00162200, 0x0040960f, 0x0040964b, 0x00213700, - 0x00600007, 0x00200440, 0x008800ff, 0x0070008f, 0x0040968c, 0x005000cb, - 0x00000000, 0x00122207, 0x00112280, 0x00112300, 0x00112302, 0x00122380, - 0x0011238b, 0x00192394, 0x0040b0e1, 0x00200285, 0x00600006, 0x00200044, - 0x00102480, 0x001124c6, 0x001524c9, 0x001924d0, 0x00122500, 0x00122503, - 0x00162600, 0x00122607, 0x00112680, 0x00112700, 0x00112702, 0x00122780, - 0x0011278b, 0x00192794, 0x0040cce2, 0x002002f3, 0x00600006, 0x00200044, - 0x00102880, 0x001128c6, 0x001528c9, 0x0040c00f, 0x0040c04b, 0x00213700, - 0x00600007, 0x00200440, 0x008800ff, 0x0070008f, 0x0040c08c, 0x005000cb, - 0x00000000, 0x001928d0, 0x00122900, 0x00122903, 0x00162a00, 0x00122a07, - 0x00112a80, 0x00112b00, 0x00112b02, 0x00122b80, 0x00112b8b, 0x00192b94, - 0x0040dee3, 0x00200361, 0x00600006, 0x00200044, 0x00102c80, 0x00112cc6, - 0x00152cc9, 0x00192cd0, 0x00122d00, 0x00122d03, 0x00162e00, 0x00122e07, - 0x00112e80, 0x00112f00, 0x00112f02, 0x00122f80, 0x00112f8b, 0x00192f94, - 0x0040fae4, 0x002003cf, 0x00600006, 0x00200044, 0x00103080, 0x0040ec0f, - 0x0040ec4b, 0x00213700, 0x00600007, 0x00200440, 0x008800ff, 0x0070008f, - 0x0040ec8c, 0x005000cb, 0x00000000, 0x001130c6, 0x001530c9, 0x001930d0, - 0x00123100, 0x00123103, 0x00163200, 0x00123207, 0x00113280, 0x00113300, - 0x00113302, 0x00123380, 0x0011338b, 0x00193394, 0x00410ce5, 0x0020043d, - 0x00600006, 0x00200044, 0x00103480, 0x001134c6, 0x001534c9, 0x001934d0, - 0x00123500, 0x00123503, 0x00163600, 0x00123607, 0x00113680, 0x00113700, - 0x00113702, 0x00123780, 0x0011378b, 0x00193794, 0x004128e6, 0x002004ab, - 0x00600006, 0x00200044, 0x00103880, 0x00411a0f, 0x00411a4b, 0x00213700, - 0x00600007, 0x00200440, 0x008800ff, 0x0070008f, 0x00411a8c, 0x005000cb, - 0x00000000, 0x001138c6, 0x001538c9, 0x001938d0, 0x00123900, 0x00123903, - 0x00163a00, 0x00123a07, 0x00113a80, 0x00113b00, 0x00113b02, 0x00123b80, - 0x00113b8b, 0x00193b94, 0x00413ae7, 0x00200519, 0x00600006, 0x00200044, - 0x00103c80, 0x00113cc6, 0x00153cc9, 0x00193cd0, 0x00123d00, 0x00123d03, - 0x00163e00, 0x00123e07, 0x00113e80, 0x00113f00, 0x00113f02, 0x00123f80, - 0x00113f8b, 0x00193f94, 0x00000000, 0x0041410f, 0x005000cb, 0x00213700, - 0x00600007, 0x00200440, 0x008800ff, 0x005000cb, 0x00414487, 0x0060000a, - 0x00000000, 0x00415300, 0x007000a0, 0x00700080, 0x002005c0, 0x00600007, - 0x00200004, 0x00c000ff, 0x008000ff, 0x005000cb, 0x00700000, 0x00200000, - 0x00600006, 0x00111bfe, 0x0041754d, 0x00700000, 0x00200000, 0x00600006, - 0x00111bfe, 0x00700080, 0x0070001d, 0x0040114d, 0x00700081, 0x00600004, - 0x0050004a, 0x00415f88, 0x0060000b, 0x00200000, 0x00600006, 0x00700000, - 0x0041750b, 0x00111bfd, 0x00402e4d, 0x00202627, 0x008000fd, 0x005000cb, - 0x00c00002, 0x002005c0, 0x00600007, 0x0020015f, 0x00800002, 0x005000cb, - 0x00c01802, 0x002024c8, 0x00800002, 0x005000cb, 0x00403a4d, 0x0060000b, - 0x0041734d, 0x00700001, 0x00700003, 0x00417906, 0x00417a05, 0x0060000d, - 0x00700005, 0x0070000d, 0x00700006, 0x0070000b, 0x0070000e, 0x0070001c, - 0x0060000c, ~0 -}; - -static uint32_t nv84_ctx_voodoo[] = { - 0x0070008e, 0x0070009c, 0x00200020, 0x00600008, 0x0050004c, 0x00400e89, - 0x00200000, 0x00600007, 0x00300000, 0x00c000ff, 0x00200000, 0x008000ff, - 0x00700009, 0x0041634d, 0x00402944, 0x00402905, 0x0040290d, 0x00413e06, - 0x00600005, 0x004015c5, 0x00600011, 0x0040270b, 0x004021c5, 0x00700000, - 0x00700081, 0x00600004, 0x0050004a, 0x00216f40, 0x00600007, 0x00c02801, - 0x0020002e, 0x00800001, 0x005000cb, 0x0090ffff, 0x0091ffff, 0x00200020, - 0x00600008, 0x0050004c, 0x00600009, 0x00413e45, 0x0041594d, 0x0070009d, - 0x00402dcf, 0x0070009f, 0x0050009f, 0x00402ac0, 0x00200200, 0x00600008, - 0x00402a4f, 0x00402ac0, 0x004030cc, 0x00700081, 0x00200000, 0x00600006, - 0x00700000, 0x00111bfc, 0x00700083, 0x00300000, 0x00216f40, 0x00600007, - 0x00c00b01, 0x0020001e, 0x00800001, 0x005000cb, 0x00c000ff, 0x00700080, - 0x00700083, 0x00200047, 0x00600006, 0x0011020a, 0x00200480, 0x00600007, - 0x00300000, 0x00c000ff, 0x00c800ff, 0x00414907, 0x00202916, 0x008000ff, - 0x0040508c, 0x005000cb, 0x00a0023f, 0x00200040, 0x00600006, 0x0070000f, - 0x00170202, 0x0011020a, 0x00200032, 0x0010020d, 0x001c0242, 0x00120302, - 0x00140402, 0x00180500, 0x00130509, 0x00150550, 0x00110605, 0x0020000f, - 0x00100607, 0x00110700, 0x00110900, 0x00120902, 0x00110a00, 0x00160b02, - 0x00120b28, 0x00140b2b, 0x00110c01, 0x00111400, 0x00111405, 0x00111407, - 0x00111409, 0x0011140b, 0x002000cb, 0x00101500, 0x0040790f, 0x0040794b, - 0x00214d40, 0x00600007, 0x0020043e, 0x008800ff, 0x0070008f, 0x0040798c, - 0x005000cb, 0x00000000, 0x0020002b, 0x00101a05, 0x00131c00, 0x00121c04, - 0x00141c20, 0x00111c25, 0x00131c40, 0x00121c44, 0x00141c60, 0x00111c65, - 0x00131c80, 0x00121c84, 0x00141ca0, 0x00111ca5, 0x00131cc0, 0x00121cc4, - 0x00141ce0, 0x00111ce5, 0x00131f00, 0x00191f40, 0x0040a1e0, 0x002001ed, - 0x00600006, 0x00200044, 0x00102080, 0x001120c6, 0x001520c9, 0x001920d0, - 0x00122100, 0x00122103, 0x00162200, 0x00122207, 0x00112280, 0x00112300, - 0x00112302, 0x00122380, 0x0011238b, 0x00112394, 0x0011239c, 0x0040bee1, - 0x00200254, 0x00600006, 0x00200044, 0x00102480, 0x0040af0f, 0x0040af4b, - 0x00214d40, 0x00600007, 0x0020043e, 0x008800ff, 0x0070008f, 0x0040af8c, - 0x005000cb, 0x00000000, 0x001124c6, 0x001524c9, 0x001924d0, 0x00122500, - 0x00122503, 0x00162600, 0x00122607, 0x00112680, 0x00112700, 0x00112702, - 0x00122780, 0x0011278b, 0x00112794, 0x0011279c, 0x0040d1e2, 0x002002bb, - 0x00600006, 0x00200044, 0x00102880, 0x001128c6, 0x001528c9, 0x001928d0, - 0x00122900, 0x00122903, 0x00162a00, 0x00122a07, 0x00112a80, 0x00112b00, - 0x00112b02, 0x00122b80, 0x00112b8b, 0x00112b94, 0x00112b9c, 0x0040eee3, - 0x00200322, 0x00600006, 0x00200044, 0x00102c80, 0x0040df0f, 0x0040df4b, - 0x00214d40, 0x00600007, 0x0020043e, 0x008800ff, 0x0070008f, 0x0040df8c, - 0x005000cb, 0x00000000, 0x00112cc6, 0x00152cc9, 0x00192cd0, 0x00122d00, - 0x00122d03, 0x00162e00, 0x00122e07, 0x00112e80, 0x00112f00, 0x00112f02, - 0x00122f80, 0x00112f8b, 0x00112f94, 0x00112f9c, 0x004101e4, 0x00200389, - 0x00600006, 0x00200044, 0x00103080, 0x001130c6, 0x001530c9, 0x001930d0, - 0x00123100, 0x00123103, 0x00163200, 0x00123207, 0x00113280, 0x00113300, - 0x00113302, 0x00123380, 0x0011338b, 0x00113394, 0x0011339c, 0x00411ee5, - 0x002003f0, 0x00600006, 0x00200044, 0x00103480, 0x00410f0f, 0x00410f4b, - 0x00214d40, 0x00600007, 0x0020043e, 0x008800ff, 0x0070008f, 0x00410f8c, - 0x005000cb, 0x00000000, 0x001134c6, 0x001534c9, 0x001934d0, 0x00123500, - 0x00123503, 0x00163600, 0x00123607, 0x00113680, 0x00113700, 0x00113702, - 0x00123780, 0x0011378b, 0x00113794, 0x0011379c, 0x00000000, 0x0041250f, - 0x005000cb, 0x00214d40, 0x00600007, 0x0020043e, 0x008800ff, 0x005000cb, - 0x00412887, 0x0060000a, 0x00000000, 0x00413700, 0x007000a0, 0x00700080, - 0x00200480, 0x00600007, 0x00200004, 0x00c000ff, 0x008000ff, 0x005000cb, - 0x00700000, 0x00200000, 0x00600006, 0x00111bfe, 0x0041594d, 0x00700000, - 0x00200000, 0x00600006, 0x00111bfe, 0x00700080, 0x0070001d, 0x0040114d, - 0x00700081, 0x00600004, 0x0050004a, 0x00414388, 0x0060000b, 0x00200000, - 0x00600006, 0x00700000, 0x0041590b, 0x00111bfd, 0x0040424d, 0x00202916, - 0x008000fd, 0x005000cb, 0x00c00002, 0x00200480, 0x00600007, 0x00200160, - 0x00800002, 0x005000cb, 0x00c01802, 0x002027b6, 0x00800002, 0x005000cb, - 0x00404e4d, 0x0060000b, 0x0041574d, 0x00700001, 0x005000cf, 0x00700003, - 0x00415e06, 0x00415f05, 0x0060000d, 0x00700005, 0x0070000d, 0x00700006, - 0x0070000b, 0x0070000e, 0x0070001c, 0x0060000c, ~0 -}; - -static uint32_t nv86_ctx_voodoo[] = { - 0x0070008e, 0x0070009c, 0x00200020, 0x00600008, 0x0050004c, 0x00400e89, - 0x00200000, 0x00600007, 0x00300000, 0x00c000ff, 0x00200000, 0x008000ff, - 0x00700009, 0x0040dd4d, 0x00402944, 0x00402905, 0x0040290d, 0x0040b906, - 0x00600005, 0x004015c5, 0x00600011, 0x0040270b, 0x004021c5, 0x00700000, - 0x00700081, 0x00600004, 0x0050004a, 0x00216d80, 0x00600007, 0x00c02801, - 0x0020002e, 0x00800001, 0x005000cb, 0x0090ffff, 0x0091ffff, 0x00200020, - 0x00600008, 0x0050004c, 0x00600009, 0x0040b945, 0x0040d44d, 0x0070009d, - 0x00402dcf, 0x0070009f, 0x0050009f, 0x00402ac0, 0x00200200, 0x00600008, - 0x00402a4f, 0x00402ac0, 0x004030cc, 0x00700081, 0x00200000, 0x00600006, - 0x00700000, 0x00111bfc, 0x00700083, 0x00300000, 0x00216d80, 0x00600007, - 0x00c00b01, 0x0020001e, 0x00800001, 0x005000cb, 0x00c000ff, 0x00700080, - 0x00700083, 0x00200047, 0x00600006, 0x0011020a, 0x00200280, 0x00600007, - 0x00300000, 0x00c000ff, 0x00c800ff, 0x0040c407, 0x00202916, 0x008000ff, - 0x0040508c, 0x005000cb, 0x00a0023f, 0x00200040, 0x00600006, 0x0070000f, - 0x00170202, 0x0011020a, 0x00200032, 0x0010020d, 0x001c0242, 0x00120302, - 0x00140402, 0x00180500, 0x00130509, 0x00150550, 0x00110605, 0x0020000f, - 0x00100607, 0x00110700, 0x00110900, 0x00120902, 0x00110a00, 0x00160b02, - 0x00120b28, 0x00140b2b, 0x00110c01, 0x00111400, 0x00111405, 0x00111407, - 0x00111409, 0x0011140b, 0x002000cb, 0x00101500, 0x0040790f, 0x0040794b, - 0x00214b40, 0x00600007, 0x00200442, 0x008800ff, 0x0070008f, 0x0040798c, - 0x005000cb, 0x00000000, 0x0020002b, 0x00101a05, 0x00131c00, 0x00121c04, - 0x00141c20, 0x00111c25, 0x00131c40, 0x00121c44, 0x00141c60, 0x00111c65, - 0x00131f00, 0x00191f40, 0x004099e0, 0x002001d9, 0x00600006, 0x00200044, - 0x00102080, 0x001120c6, 0x001520c9, 0x001920d0, 0x00122100, 0x00122103, - 0x00162200, 0x00122207, 0x00112280, 0x00112300, 0x00112302, 0x00122380, - 0x0011238b, 0x00112394, 0x0011239c, 0x00000000, 0x0040a00f, 0x005000cb, - 0x00214b40, 0x00600007, 0x00200442, 0x008800ff, 0x005000cb, 0x0040a387, - 0x0060000a, 0x00000000, 0x0040b200, 0x007000a0, 0x00700080, 0x00200280, - 0x00600007, 0x00200004, 0x00c000ff, 0x008000ff, 0x005000cb, 0x00700000, - 0x00200000, 0x00600006, 0x00111bfe, 0x0040d44d, 0x00700000, 0x00200000, - 0x00600006, 0x00111bfe, 0x00700080, 0x0070001d, 0x0040114d, 0x00700081, - 0x00600004, 0x0050004a, 0x0040be88, 0x0060000b, 0x00200000, 0x00600006, - 0x00700000, 0x0040d40b, 0x00111bfd, 0x0040424d, 0x00202916, 0x008000fd, - 0x005000cb, 0x00c00002, 0x00200280, 0x00600007, 0x00200160, 0x00800002, - 0x005000cb, 0x00c01802, 0x002027b6, 0x00800002, 0x005000cb, 0x00404e4d, - 0x0060000b, 0x0040d24d, 0x00700001, 0x00700003, 0x0040d806, 0x0040d905, - 0x0060000d, 0x00700005, 0x0070000d, 0x00700006, 0x0070000b, 0x0070000e, - 0x0060000c, ~0 -}; - -static uint32_t nv92_ctx_voodoo[] = { - 0x0070008E, 0x0070009C, 0x00200020, 0x00600008, 0x0050004C, 0x00400E89, - 0x00200000, 0x00600007, 0x00300000, 0x00C000FF, 0x00200000, 0x008000FF, - 0x00700009, 0x0041924D, 0x00402944, 0x00402905, 0x0040290D, 0x00416E06, - 0x00600005, 0x004015C5, 0x00600011, 0x0040270B, 0x004021C5, 0x00700000, - 0x00700081, 0x00600004, 0x0050004A, 0x00219600, 0x00600007, 0x00C02701, - 0x0020002E, 0x00800001, 0x005000CB, 0x0090FFFF, 0x0091FFFF, 0x00200020, - 0x00600008, 0x0050004C, 0x00600009, 0x00416E45, 0x0041894D, 0x0070009D, - 0x00402DCF, 0x0070009F, 0x0050009F, 0x00402AC0, 0x00200080, 0x00600008, - 0x00402A4F, 0x00402AC0, 0x004030CC, 0x00700081, 0x00200000, 0x00600006, - 0x00700000, 0x00111BFC, 0x00700083, 0x00300000, 0x00219600, 0x00600007, - 0x00C00A01, 0x0020001E, 0x00800001, 0x005000CB, 0x00C000FF, 0x00700080, - 0x00700083, 0x00200047, 0x00600006, 0x0011020A, 0x00200540, 0x00600007, - 0x00300000, 0x00C000FF, 0x00C800FF, 0x00417907, 0x00202DD2, 0x008000FF, - 0x0040508C, 0x005000CB, 0x00A0023F, 0x00200040, 0x00600006, 0x0070000F, - 0x00170202, 0x0011020A, 0x00200032, 0x0010020D, 0x001C0242, 0x00120302, - 0x00140402, 0x00180500, 0x00130509, 0x00150550, 0x00110605, 0x0020000F, - 0x00100607, 0x00110700, 0x00110900, 0x00120902, 0x00110A00, 0x00160B02, - 0x00120B28, 0x00140B2B, 0x00110C01, 0x00111400, 0x00111405, 0x00111407, - 0x00111409, 0x0011140B, 0x002000CB, 0x00101500, 0x0040790F, 0x0040794B, - 0x00217400, 0x00600007, 0x0020043E, 0x008800FF, 0x0070008F, 0x0040798C, - 0x005000CB, 0x00000000, 0x00141A05, 0x00131A0C, 0x00131C00, 0x00121C04, - 0x00141C20, 0x00111C25, 0x00131C40, 0x00121C44, 0x00141C60, 0x00111C65, - 0x00131C80, 0x00121C84, 0x00141CA0, 0x00111CA5, 0x00131CC0, 0x00121CC4, - 0x00141CE0, 0x00111CE5, 0x00131F00, 0x00191F40, 0x0040A1E0, 0x002001C9, - 0x00600006, 0x00200044, 0x00102080, 0x001120C6, 0x001520C9, 0x001920D0, - 0x00122100, 0x00122103, 0x00162200, 0x00122207, 0x00112280, 0x00112300, - 0x00112302, 0x00122380, 0x0011238B, 0x00112394, 0x0011239C, 0x0040BEE1, - 0x00200230, 0x00600006, 0x00200044, 0x00102480, 0x0040AF0F, 0x0040AF4B, - 0x00217400, 0x00600007, 0x0020043E, 0x008800FF, 0x0070008F, 0x0040AF8C, - 0x005000CB, 0x00000000, 0x001124C6, 0x001524C9, 0x001924D0, 0x00122500, - 0x00122503, 0x00162600, 0x00122607, 0x00112680, 0x00112700, 0x00112702, - 0x00122780, 0x0011278B, 0x00112794, 0x0011279C, 0x0040D1E2, 0x00200297, - 0x00600006, 0x00200044, 0x00102880, 0x001128C6, 0x001528C9, 0x001928D0, - 0x00122900, 0x00122903, 0x00162A00, 0x00122A07, 0x00112A80, 0x00112B00, - 0x00112B02, 0x00122B80, 0x00112B8B, 0x00112B94, 0x00112B9C, 0x0040EEE3, - 0x002002FE, 0x00600006, 0x00200044, 0x00102C80, 0x0040DF0F, 0x0040DF4B, - 0x00217400, 0x00600007, 0x0020043E, 0x008800FF, 0x0070008F, 0x0040DF8C, - 0x005000CB, 0x00000000, 0x00112CC6, 0x00152CC9, 0x00192CD0, 0x00122D00, - 0x00122D03, 0x00162E00, 0x00122E07, 0x00112E80, 0x00112F00, 0x00112F02, - 0x00122F80, 0x00112F8B, 0x00112F94, 0x00112F9C, 0x004101E4, 0x00200365, - 0x00600006, 0x00200044, 0x00103080, 0x001130C6, 0x001530C9, 0x001930D0, - 0x00123100, 0x00123103, 0x00163200, 0x00123207, 0x00113280, 0x00113300, - 0x00113302, 0x00123380, 0x0011338B, 0x00113394, 0x0011339C, 0x00411EE5, - 0x002003CC, 0x00600006, 0x00200044, 0x00103480, 0x00410F0F, 0x00410F4B, - 0x00217400, 0x00600007, 0x0020043E, 0x008800FF, 0x0070008F, 0x00410F8C, - 0x005000CB, 0x00000000, 0x001134C6, 0x001534C9, 0x001934D0, 0x00123500, - 0x00123503, 0x00163600, 0x00123607, 0x00113680, 0x00113700, 0x00113702, - 0x00123780, 0x0011378B, 0x00113794, 0x0011379C, 0x004131E6, 0x00200433, - 0x00600006, 0x00200044, 0x00103880, 0x001138C6, 0x001538C9, 0x001938D0, - 0x00123900, 0x00123903, 0x00163A00, 0x00123A07, 0x00113A80, 0x00113B00, - 0x00113B02, 0x00123B80, 0x00113B8B, 0x00113B94, 0x00113B9C, 0x00414EE7, - 0x0020049A, 0x00600006, 0x00200044, 0x00103C80, 0x00413F0F, 0x00413F4B, - 0x00217400, 0x00600007, 0x0020043E, 0x008800FF, 0x0070008F, 0x00413F8C, - 0x005000CB, 0x00000000, 0x00113CC6, 0x00153CC9, 0x00193CD0, 0x00123D00, - 0x00123D03, 0x00163E00, 0x00123E07, 0x00113E80, 0x00113F00, 0x00113F02, - 0x00123F80, 0x00113F8B, 0x00113F94, 0x00113F9C, 0x00000000, 0x0041550F, - 0x005000CB, 0x00217400, 0x00600007, 0x0020043E, 0x008800FF, 0x005000CB, - 0x00415887, 0x0060000A, 0x00000000, 0x00416700, 0x007000A0, 0x00700080, - 0x00200540, 0x00600007, 0x00200004, 0x00C000FF, 0x008000FF, 0x005000CB, - 0x00700000, 0x00200000, 0x00600006, 0x00111BFE, 0x0041894D, 0x00700000, - 0x00200000, 0x00600006, 0x00111BFE, 0x00700080, 0x0070001D, 0x0040114D, - 0x00700081, 0x00600004, 0x0050004A, 0x00417388, 0x0060000B, 0x00200000, - 0x00600006, 0x00700000, 0x0041890B, 0x00111BFD, 0x0040424D, 0x00202DD2, - 0x008000FD, 0x005000CB, 0x00C00002, 0x00200540, 0x00600007, 0x00200160, - 0x00800002, 0x005000CB, 0x00C01802, 0x00202C72, 0x00800002, 0x005000CB, - 0x00404E4D, 0x0060000B, 0x0041874D, 0x00700001, 0x00700003, 0x00418D06, - 0x00418E05, 0x0060000D, 0x00700005, 0x0070000D, 0x00700006, 0x0070000B, - 0x0070000E, 0x0070001C, 0x0060000C, ~0 -}; - -static uint32_t nvaa_ctx_voodoo[] = { - 0x0070009c, 0x00300000, 0x0044f109, 0x00402d09, 0x0040e551, 0x00400a44, - 0x00400a05, 0x00400a0d, 0x0070008e, 0x0040124d, 0x0070009d, 0x0045004d, - 0x00700097, 0x00450121, 0x004446a1, 0x0044764d, 0x0044824d, 0x0070001d, - 0x00401806, 0x00600005, 0x00444445, 0x0044308b, 0x00401845, 0x0040234d, - 0x00700081, 0x00401ccf, 0x0070009f, 0x0050009f, 0x0044dc4d, 0x00700017, - 0x0040230b, 0x00447d4d, 0x00450221, 0x004456a1, 0x007000a0, 0x00700001, - 0x00700003, 0x00402706, 0x00402805, 0x0060000d, 0x00700005, 0x0070000d, - 0x00700006, 0x00700002, 0x0070000b, 0x0070000e, 0x0070001c, 0x0060000c, - 0x00000000, 0x0090ffff, 0x0091ffff, 0x0044d44d, 0x00600009, 0x0048004d, - 0x00700096, 0x00403acf, 0x0070009f, 0x0050009f, 0x0040e551, 0x004036c0, - 0x00200080, 0x00600008, 0x0040364f, 0x004036c0, 0x00403ecc, 0x00403651, - 0x00700016, 0x0048004d, 0x00600011, 0x0048004d, 0x0044364d, 0x0070008e, - 0x00700081, 0x0044704d, 0x00447d4d, 0x00700083, 0x00300000, 0x00212740, - 0x00600007, 0x00c00b01, 0x00200022, 0x00800001, 0x005000cb, 0x00c000ff, - 0x00445e4d, 0x0048004d, 0x0044ce08, 0x0044734d, 0x00448b4d, 0x00445e4d, - 0x0044e24d, 0x0044764d, 0x0044824d, 0x0048004d, 0x00700083, 0x0045034d, - 0x00a0023f, 0x00200040, 0x00600006, 0x0044fc4d, 0x00448d4d, 0x002001d0, - 0x0044b860, 0x00200280, 0x0038ffff, 0x0044cc4d, 0x00300000, 0x005000cb, - 0x00451c4d, 0x005000cb, 0x0044d007, 0x0048004d, 0x0044794d, 0x00111bfc, - 0x0048004d, 0x0044794d, 0x00111bfd, 0x0048004d, 0x0044794d, 0x00111bfe, - 0x0048004d, 0x00200000, 0x00700000, 0x00600006, 0x0048004d, 0x00200001, - 0x00600006, 0x0044fc4d, 0x0011020a, 0x0048004d, 0x00300000, 0x00c3ffff, - 0x00200000, 0x00600007, 0x00700000, 0x00200008, 0x008000ff, 0x005000cb, - 0x0048004d, 0x00000000, 0x0048004d, 0x00000000, 0x00170202, 0x00200032, - 0x0010020d, 0x001e0242, 0x001102c0, 0x00120302, 0x00150402, 0x00180500, - 0x00130509, 0x00150550, 0x00110605, 0x00200013, 0x00100607, 0x00110700, - 0x00110900, 0x00120902, 0x00110a00, 0x00160b02, 0x00120b28, 0x00140b2b, - 0x00110c01, 0x00110d01, 0x00111400, 0x00111405, 0x00111407, 0x00111409, - 0x0011140b, 0x002000d4, 0x00101500, 0x00141a05, 0x00131a0c, 0x00131c00, - 0x00131c04, 0x00141c20, 0x00131c25, 0x00131f00, 0x00131f04, 0x00111f08, - 0x00111f0b, 0x00200015, 0x00101f40, 0x0048004d, 0x00600006, 0x00451c4d, - 0x00112020, 0x00112022, 0x00200085, 0x00102040, 0x001120c8, 0x001420ca, - 0x001b20cf, 0x00122100, 0x00122103, 0x00162140, 0x00122147, 0x00122153, - 0x001121a0, 0x001221c0, 0x001121cb, 0x001121d4, 0x001521d8, 0x0048004d, - 0x00000000, 0x0048004d, 0x0060000b, 0x0048004d, 0x0060000a, 0x0048004d, - 0x0060000b, 0x0040d24d, 0x00200020, 0x00600008, 0x0050004c, 0x0048004d, - 0x002003e8, 0x00600008, 0x0050004c, 0x0048004d, 0x00600004, 0x0050004a, - 0x0048004d, 0x00c000ff, 0x00c800ff, 0x0048004d, 0x00c000ff, 0x00c800ff, - 0x0048004d, 0x00700016, 0x0070008e, 0x00700082, 0x00500041, 0x0044d84d, - 0x00700095, 0x005000d1, 0x00600016, 0x00500052, 0x00700002, 0x00700015, - 0x0040284d, 0x0070008e, 0x0044d44d, 0x00200000, 0x00600007, 0x00300000, - 0x00c000ff, 0x00200000, 0x008000ff, 0x00700009, 0x0070000e, 0x0048004d, - 0x00700080, 0x00480017, 0x00700000, 0x0048004d, 0x0048004d, 0x0048004d, - 0x0048004d, 0x0070008e, 0x0044d44d, 0x00700083, 0x0044df4d, 0x00450c4d, - 0x0070000f, 0x00410b8c, 0x005000cb, 0x0048004d, 0x00200280, 0x00600007, - 0x00452307, 0x00451187, 0x0048004d, 0x00000000, 0x00202070, 0x0044fc4d, - 0x008000ff, 0x0048004d, 0x00210600, 0x00600007, 0x00200428, 0x0044fc4d, - 0x008800ff, 0x0048004d, 0x0048000f, 0x0048004b, 0x0045164d, 0x0070008f, - 0x0048008c, 0x005000cb, 0x0048004d, 0x00202070, 0x0044fc4d, 0x008000fd, - 0x005000cb, 0x00c00002, 0x00200280, 0x00600007, 0x00200161, 0x0044fc4d, - 0x00800002, 0x005000cb, 0x00c00002, 0x00201f0e, 0x0044fc4d, 0x00800002, - 0x005000cb, 0x0048004d, ~0 -}; - static int nv50_graph_init_ctxctl(struct drm_device *dev) { @@ -391,22 +94,22 @@ nv50_graph_init_ctxctl(struct drm_device *dev) switch (dev_priv->chipset) { case 0x50: - voodoo = nv50_ctx_voodoo; + voodoo = nv50_ctxprog; break; case 0x84: - voodoo = nv84_ctx_voodoo; + voodoo = nv84_ctxprog; break; case 0x86: - voodoo = nv86_ctx_voodoo; + voodoo = nv86_ctxprog; break; case 0x92: - voodoo = nv92_ctx_voodoo; + voodoo = nv92_ctxprog; break; case 0xaa: - voodoo = nvaa_ctx_voodoo; + voodoo = nvaa_ctxprog; break; default: - DRM_ERROR("no voodoo for chipset NV%02x\n", dev_priv->chipset); + DRM_ERROR("no ctxprog for chipset NV%02x\n", dev_priv->chipset); return -EINVAL; } @@ -448,7702 +151,15 @@ nv50_graph_takedown(struct drm_device *dev) DRM_DEBUG("\n"); } -static void -nv50_graph_init_ctxvals(struct drm_device *dev, struct nouveau_gpuobj_ref *ref) -{ - struct drm_nouveau_private *dev_priv = dev->dev_private; - struct nouveau_gpuobj *ctx = ref->gpuobj; - - INSTANCE_WR(ctx, 0x0010c/4, 0x00000030); - INSTANCE_WR(ctx, 0x00120/4, 0xff400040); - INSTANCE_WR(ctx, 0x00124/4, 0xfff00080); - INSTANCE_WR(ctx, 0x00128/4, 0xfff70090); - INSTANCE_WR(ctx, 0x0012c/4, 0xffe806a8); - INSTANCE_WR(ctx, 0x001d4/4, 0x00000003); - INSTANCE_WR(ctx, 0x001d8/4, 0x00001000); - INSTANCE_WR(ctx, 0x00214/4, 0x0000fe0c); - INSTANCE_WR(ctx, 0x00228/4, 0x00001000); - INSTANCE_WR(ctx, 0x00254/4, 0x0001fd87); - INSTANCE_WR(ctx, 0x00268/4, 0x00001018); - INSTANCE_WR(ctx, 0x0026c/4, 0x000000ff); - INSTANCE_WR(ctx, 0x002a4/4, 0x00000004); - INSTANCE_WR(ctx, 0x002a8/4, 0x0001005f); - INSTANCE_WR(ctx, 0x002b0/4, 0x00000600); - INSTANCE_WR(ctx, 0x002b4/4, 0x00000006); - INSTANCE_WR(ctx, 0x002c8/4, 0x000000ff); - INSTANCE_WR(ctx, 0x002d0/4, 0x00000400); - INSTANCE_WR(ctx, 0x002e4/4, 0x00000001); - INSTANCE_WR(ctx, 0x002e8/4, 0x00300080); - INSTANCE_WR(ctx, 0x002ec/4, 0x00000004); - INSTANCE_WR(ctx, 0x00308/4, 0x00000002); - INSTANCE_WR(ctx, 0x0030c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00318/4, 0x00000001); - INSTANCE_WR(ctx, 0x0031c/4, 0x00000100); - INSTANCE_WR(ctx, 0x00334/4, 0x00000002); - INSTANCE_WR(ctx, 0x00338/4, 0x00000001); - INSTANCE_WR(ctx, 0x0033c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0034c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00350/4, 0x003fffff); - INSTANCE_WR(ctx, 0x00354/4, 0x00001fff); - INSTANCE_WR(ctx, 0x0035c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00360/4, 0x00000001); - INSTANCE_WR(ctx, 0x00368/4, 0x00000001); - INSTANCE_WR(ctx, 0x00368/4, 0x00000001); - INSTANCE_WR(ctx, 0x00368/4, 0x00000001); - INSTANCE_WR(ctx, 0x00368/4, 0x00000004); - INSTANCE_WR(ctx, 0x00368/4, 0x00000001); - INSTANCE_WR(ctx, 0x00368/4, 0x00000001); - INSTANCE_WR(ctx, 0x00368/4, 0x00000001); - INSTANCE_WR(ctx, 0x00368/4, 0x00000007); - INSTANCE_WR(ctx, 0x00388/4, 0x00000001); - INSTANCE_WR(ctx, 0x00388/4, 0x00000007); - INSTANCE_WR(ctx, 0x00388/4, 0x00000001); - INSTANCE_WR(ctx, 0x00388/4, 0x00000001); - INSTANCE_WR(ctx, 0x00388/4, 0x00000001); - INSTANCE_WR(ctx, 0x003ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x003b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x003b8/4, 0x00000001); - INSTANCE_WR(ctx, 0x003bc/4, 0x0000000a); - INSTANCE_WR(ctx, 0x003cc/4, 0x00000040); - INSTANCE_WR(ctx, 0x003d4/4, 0x00000002); - INSTANCE_WR(ctx, 0x003d4/4, 0x00000100); - INSTANCE_WR(ctx, 0x003d4/4, 0x00000001); - INSTANCE_WR(ctx, 0x003d4/4, 0x00000100); - INSTANCE_WR(ctx, 0x003fc/4, 0x00000001); - INSTANCE_WR(ctx, 0x00420/4, 0x00000004); - INSTANCE_WR(ctx, 0x00438/4, 0x00000001); - INSTANCE_WR(ctx, 0x0043c/4, 0x00000100); - INSTANCE_WR(ctx, 0x00444/4, 0x00000001); - INSTANCE_WR(ctx, 0x00450/4, 0x00000100); - INSTANCE_WR(ctx, 0x00454/4, 0x00000001); - INSTANCE_WR(ctx, 0x00458/4, 0x00000100); - INSTANCE_WR(ctx, 0x00460/4, 0x00000001); - INSTANCE_WR(ctx, 0x0046c/4, 0x00000100); - INSTANCE_WR(ctx, 0x00470/4, 0x00000001); - INSTANCE_WR(ctx, 0x00478/4, 0x00000001); - INSTANCE_WR(ctx, 0x00484/4, 0x00000002); - INSTANCE_WR(ctx, 0x0048c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00494/4, 0x00000001); - INSTANCE_WR(ctx, 0x004a8/4, 0x00000003); - INSTANCE_WR(ctx, 0x004c4/4, 0x00000004); - INSTANCE_WR(ctx, 0x004c8/4, 0x00000070); - INSTANCE_WR(ctx, 0x004cc/4, 0x00000080); - INSTANCE_WR(ctx, 0x004e0/4, 0x0000000c); - INSTANCE_WR(ctx, 0x004e0/4, 0x00000008); - INSTANCE_WR(ctx, 0x004e0/4, 0x00000014); - INSTANCE_WR(ctx, 0x004e0/4, 0x00000026); - INSTANCE_WR(ctx, 0x004f8/4, 0x00000001); - INSTANCE_WR(ctx, 0x004f8/4, 0x00000002); - INSTANCE_WR(ctx, 0x004f8/4, 0x00000003); - INSTANCE_WR(ctx, 0x004f8/4, 0x00000004); - INSTANCE_WR(ctx, 0x004f8/4, 0x00000005); - INSTANCE_WR(ctx, 0x004f8/4, 0x00000006); - INSTANCE_WR(ctx, 0x004f8/4, 0x00000007); - INSTANCE_WR(ctx, 0x004f8/4, 0x00000001); - INSTANCE_WR(ctx, 0x00558/4, 0x000000cf); - INSTANCE_WR(ctx, 0x00584/4, 0x00000080); - INSTANCE_WR(ctx, 0x00584/4, 0x00000004); - INSTANCE_WR(ctx, 0x00584/4, 0x00000004); - INSTANCE_WR(ctx, 0x00584/4, 0x00000001); - INSTANCE_WR(ctx, 0x00598/4, 0x00000012); - INSTANCE_WR(ctx, 0x00598/4, 0x00000010); - INSTANCE_WR(ctx, 0x00598/4, 0x0000000c); - INSTANCE_WR(ctx, 0x00598/4, 0x00000001); - INSTANCE_WR(ctx, 0x005b4/4, 0x00000004); - INSTANCE_WR(ctx, 0x005b8/4, 0x00000002); - INSTANCE_WR(ctx, 0x005bc/4, 0x00000004); - INSTANCE_WR(ctx, 0x005c8/4, 0x003fffff); - INSTANCE_WR(ctx, 0x005cc/4, 0x00001fff); - INSTANCE_WR(ctx, 0x005d4/4, 0x00000004); - INSTANCE_WR(ctx, 0x005d8/4, 0x00000014); - INSTANCE_WR(ctx, 0x005dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x005e8/4, 0x00000002); - INSTANCE_WR(ctx, 0x005f4/4, 0x00000001); - INSTANCE_WR(ctx, 0x005fc/4, 0x00000002); - INSTANCE_WR(ctx, 0x00600/4, 0x00001000); - INSTANCE_WR(ctx, 0x00608/4, 0x00000001); - INSTANCE_WR(ctx, 0x00608/4, 0x00000001); - INSTANCE_WR(ctx, 0x00608/4, 0x00000001); - INSTANCE_WR(ctx, 0x00608/4, 0x00000001); - INSTANCE_WR(ctx, 0x00608/4, 0x00000001); - INSTANCE_WR(ctx, 0x00628/4, 0x00000200); - INSTANCE_WR(ctx, 0x00630/4, 0x00000001); - INSTANCE_WR(ctx, 0x00634/4, 0x00000070); - INSTANCE_WR(ctx, 0x00638/4, 0x00000080); - INSTANCE_WR(ctx, 0x00644/4, 0x00000001); - INSTANCE_WR(ctx, 0x00648/4, 0x00000070); - INSTANCE_WR(ctx, 0x0064c/4, 0x00000080); - INSTANCE_WR(ctx, 0x0065c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00660/4, 0x000000cf); - INSTANCE_WR(ctx, 0x00668/4, 0x00000001); - INSTANCE_WR(ctx, 0x00678/4, 0x000000cf); - INSTANCE_WR(ctx, 0x00680/4, 0x00000002); - INSTANCE_WR(ctx, 0x00688/4, 0x00000001); - INSTANCE_WR(ctx, 0x00690/4, 0x00000001); - INSTANCE_WR(ctx, 0x00698/4, 0x000000cf); - INSTANCE_WR(ctx, 0x0069c/4, 0x000000cf); - INSTANCE_WR(ctx, 0x006a0/4, 0x00000001); - INSTANCE_WR(ctx, 0x006ac/4, 0x00000f80); - INSTANCE_WR(ctx, 0x006f4/4, 0x007f0080); - INSTANCE_WR(ctx, 0x00730/4, 0x007f0080); - INSTANCE_WR(ctx, 0x00754/4, 0x1b74f820); - INSTANCE_WR(ctx, 0x00758/4, 0x89058001); - INSTANCE_WR(ctx, 0x00760/4, 0x00001000); - INSTANCE_WR(ctx, 0x00760/4, 0x027c10fa); - INSTANCE_WR(ctx, 0x00760/4, 0x000000c0); - INSTANCE_WR(ctx, 0x00760/4, 0xb7892080); - INSTANCE_WR(ctx, 0x00778/4, 0x1b74f820); - INSTANCE_WR(ctx, 0x0077c/4, 0x89058001); - INSTANCE_WR(ctx, 0x00784/4, 0x00001000); - INSTANCE_WR(ctx, 0x00784/4, 0x027c10fa); - INSTANCE_WR(ctx, 0x00784/4, 0x000000c0); - INSTANCE_WR(ctx, 0x00784/4, 0xb7892080); - INSTANCE_WR(ctx, 0x0079c/4, 0x1b74f820); - INSTANCE_WR(ctx, 0x007a0/4, 0x89058001); - INSTANCE_WR(ctx, 0x007a8/4, 0x00001000); - INSTANCE_WR(ctx, 0x007a8/4, 0x027c10fa); - INSTANCE_WR(ctx, 0x007a8/4, 0x000000c0); - INSTANCE_WR(ctx, 0x007a8/4, 0xb7892080); - INSTANCE_WR(ctx, 0x007c0/4, 0x1b74f820); - INSTANCE_WR(ctx, 0x007c4/4, 0x89058001); - INSTANCE_WR(ctx, 0x007cc/4, 0x00001000); - INSTANCE_WR(ctx, 0x007cc/4, 0x027c10fa); - INSTANCE_WR(ctx, 0x007cc/4, 0x000000c0); - INSTANCE_WR(ctx, 0x007cc/4, 0xb7892080); - INSTANCE_WR(ctx, 0x007e4/4, 0x1b74f820); - INSTANCE_WR(ctx, 0x007e8/4, 0x89058001); - INSTANCE_WR(ctx, 0x007f0/4, 0x00001000); - INSTANCE_WR(ctx, 0x007f0/4, 0x027c10fa); - INSTANCE_WR(ctx, 0x007f0/4, 0x000000c0); - INSTANCE_WR(ctx, 0x007f0/4, 0xb7892080); - INSTANCE_WR(ctx, 0x00808/4, 0x1b74f820); - INSTANCE_WR(ctx, 0x0080c/4, 0x89058001); - INSTANCE_WR(ctx, 0x00814/4, 0x00001000); - INSTANCE_WR(ctx, 0x00814/4, 0x027c10fa); - INSTANCE_WR(ctx, 0x00814/4, 0x000000c0); - INSTANCE_WR(ctx, 0x00814/4, 0xb7892080); - INSTANCE_WR(ctx, 0x0082c/4, 0x00010040); - INSTANCE_WR(ctx, 0x00834/4, 0x00000022); - INSTANCE_WR(ctx, 0x00840/4, 0x00010040); - INSTANCE_WR(ctx, 0x00844/4, 0x00000022); - INSTANCE_WR(ctx, 0x0085c/4, 0x01800000); - INSTANCE_WR(ctx, 0x00860/4, 0x00160000); - INSTANCE_WR(ctx, 0x00864/4, 0x01800000); - INSTANCE_WR(ctx, 0x00874/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00878/4, 0x000c0000); - INSTANCE_WR(ctx, 0x0089c/4, 0x00010401); - INSTANCE_WR(ctx, 0x008a4/4, 0x00000040); - INSTANCE_WR(ctx, 0x008ac/4, 0x000000bf); - INSTANCE_WR(ctx, 0x008b4/4, 0x00001210); - INSTANCE_WR(ctx, 0x008b8/4, 0x00000080); - INSTANCE_WR(ctx, 0x008dc/4, 0x01800000); - INSTANCE_WR(ctx, 0x008e0/4, 0x00160000); - INSTANCE_WR(ctx, 0x008e4/4, 0x01800000); - INSTANCE_WR(ctx, 0x008f4/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x008f8/4, 0x000c0000); - INSTANCE_WR(ctx, 0x0091c/4, 0x00010401); - INSTANCE_WR(ctx, 0x00924/4, 0x00000040); - INSTANCE_WR(ctx, 0x0092c/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00934/4, 0x00001210); - INSTANCE_WR(ctx, 0x00938/4, 0x00000080); - INSTANCE_WR(ctx, 0x00960/4, 0x00007070); - INSTANCE_WR(ctx, 0x0096c/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00984/4, 0x00120407); - INSTANCE_WR(ctx, 0x00984/4, 0x05091507); - INSTANCE_WR(ctx, 0x00984/4, 0x05010202); - INSTANCE_WR(ctx, 0x00984/4, 0x00030201); - INSTANCE_WR(ctx, 0x009ac/4, 0x00000040); - INSTANCE_WR(ctx, 0x009ac/4, 0x0d0c0b0a); - INSTANCE_WR(ctx, 0x009ac/4, 0x00141210); - INSTANCE_WR(ctx, 0x009ac/4, 0x000001f0); - INSTANCE_WR(ctx, 0x009ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x009ac/4, 0x00000003); - INSTANCE_WR(ctx, 0x009ac/4, 0x00008000); - INSTANCE_WR(ctx, 0x009cc/4, 0x00039e00); - INSTANCE_WR(ctx, 0x009cc/4, 0x00000040); - INSTANCE_WR(ctx, 0x009cc/4, 0x00003800); - INSTANCE_WR(ctx, 0x009cc/4, 0x00404040); - INSTANCE_WR(ctx, 0x009cc/4, 0x0000ff0a); - INSTANCE_WR(ctx, 0x009e4/4, 0x0077f005); - INSTANCE_WR(ctx, 0x009e8/4, 0x00007fff); - INSTANCE_WR(ctx, 0x009f4/4, 0x000003ff); - INSTANCE_WR(ctx, 0x009f4/4, 0x00000003); - INSTANCE_WR(ctx, 0x009f4/4, 0x00000003); - INSTANCE_WR(ctx, 0x009f4/4, 0x000001ff); - INSTANCE_WR(ctx, 0x009f4/4, 0x0000001f); - INSTANCE_WR(ctx, 0x009f4/4, 0x0000000f); - INSTANCE_WR(ctx, 0x009f4/4, 0x0000000f); - INSTANCE_WR(ctx, 0x00a14/4, 0x01800000); - INSTANCE_WR(ctx, 0x00a18/4, 0x00160000); - INSTANCE_WR(ctx, 0x00a1c/4, 0x01800000); - INSTANCE_WR(ctx, 0x00a2c/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00a30/4, 0x000c0000); - INSTANCE_WR(ctx, 0x00a54/4, 0x00010401); - INSTANCE_WR(ctx, 0x00a5c/4, 0x00000040); - INSTANCE_WR(ctx, 0x00a64/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00a6c/4, 0x00001210); - INSTANCE_WR(ctx, 0x00a70/4, 0x00000080); - INSTANCE_WR(ctx, 0x00a94/4, 0x01800000); - INSTANCE_WR(ctx, 0x00a98/4, 0x00160000); - INSTANCE_WR(ctx, 0x00a9c/4, 0x01800000); - INSTANCE_WR(ctx, 0x00aac/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00ab0/4, 0x000c0000); - INSTANCE_WR(ctx, 0x00ad4/4, 0x00010401); - INSTANCE_WR(ctx, 0x00adc/4, 0x00000040); - INSTANCE_WR(ctx, 0x00ae4/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00aec/4, 0x00001210); - INSTANCE_WR(ctx, 0x00af0/4, 0x00000080); - INSTANCE_WR(ctx, 0x00b18/4, 0x00007070); - INSTANCE_WR(ctx, 0x00b24/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00b3c/4, 0x00120407); - INSTANCE_WR(ctx, 0x00b3c/4, 0x05091507); - INSTANCE_WR(ctx, 0x00b3c/4, 0x05010202); - INSTANCE_WR(ctx, 0x00b3c/4, 0x00030201); - INSTANCE_WR(ctx, 0x00b64/4, 0x00000040); - INSTANCE_WR(ctx, 0x00b64/4, 0x0d0c0b0a); - INSTANCE_WR(ctx, 0x00b64/4, 0x00141210); - INSTANCE_WR(ctx, 0x00b64/4, 0x000001f0); - INSTANCE_WR(ctx, 0x00b64/4, 0x00000001); - INSTANCE_WR(ctx, 0x00b64/4, 0x00000003); - INSTANCE_WR(ctx, 0x00b64/4, 0x00008000); - INSTANCE_WR(ctx, 0x00b84/4, 0x00039e00); - INSTANCE_WR(ctx, 0x00b84/4, 0x00000040); - INSTANCE_WR(ctx, 0x00b84/4, 0x00003800); - INSTANCE_WR(ctx, 0x00b84/4, 0x00404040); - INSTANCE_WR(ctx, 0x00b84/4, 0x0000ff0a); - INSTANCE_WR(ctx, 0x00b9c/4, 0x0077f005); - INSTANCE_WR(ctx, 0x00ba0/4, 0x00007fff); - INSTANCE_WR(ctx, 0x00bac/4, 0x000003ff); - INSTANCE_WR(ctx, 0x00bac/4, 0x00000003); - INSTANCE_WR(ctx, 0x00bac/4, 0x00000003); - INSTANCE_WR(ctx, 0x00bac/4, 0x000001ff); - INSTANCE_WR(ctx, 0x00bac/4, 0x0000001f); - INSTANCE_WR(ctx, 0x00bac/4, 0x0000000f); - INSTANCE_WR(ctx, 0x00bac/4, 0x0000000f); - INSTANCE_WR(ctx, 0x00bcc/4, 0x01800000); - INSTANCE_WR(ctx, 0x00bd0/4, 0x00160000); - INSTANCE_WR(ctx, 0x00bd4/4, 0x01800000); - INSTANCE_WR(ctx, 0x00be4/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00be8/4, 0x000c0000); - INSTANCE_WR(ctx, 0x00c0c/4, 0x00010401); - INSTANCE_WR(ctx, 0x00c14/4, 0x00000040); - INSTANCE_WR(ctx, 0x00c1c/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00c24/4, 0x00001210); - INSTANCE_WR(ctx, 0x00c28/4, 0x00000080); - INSTANCE_WR(ctx, 0x00c4c/4, 0x01800000); - INSTANCE_WR(ctx, 0x00c50/4, 0x00160000); - INSTANCE_WR(ctx, 0x00c54/4, 0x01800000); - INSTANCE_WR(ctx, 0x00c64/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00c68/4, 0x000c0000); - INSTANCE_WR(ctx, 0x00c8c/4, 0x00010401); - INSTANCE_WR(ctx, 0x00c94/4, 0x00000040); - INSTANCE_WR(ctx, 0x00c9c/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00ca4/4, 0x00001210); - INSTANCE_WR(ctx, 0x00ca8/4, 0x00000080); - INSTANCE_WR(ctx, 0x00cd0/4, 0x00007070); - INSTANCE_WR(ctx, 0x00cdc/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00cf4/4, 0x00120407); - INSTANCE_WR(ctx, 0x00cf4/4, 0x05091507); - INSTANCE_WR(ctx, 0x00cf4/4, 0x05010202); - INSTANCE_WR(ctx, 0x00cf4/4, 0x00030201); - INSTANCE_WR(ctx, 0x00d1c/4, 0x00000040); - INSTANCE_WR(ctx, 0x00d1c/4, 0x0d0c0b0a); - INSTANCE_WR(ctx, 0x00d1c/4, 0x00141210); - INSTANCE_WR(ctx, 0x00d1c/4, 0x000001f0); - INSTANCE_WR(ctx, 0x00d1c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00d1c/4, 0x00000003); - INSTANCE_WR(ctx, 0x00d1c/4, 0x00008000); - INSTANCE_WR(ctx, 0x00d3c/4, 0x00039e00); - INSTANCE_WR(ctx, 0x00d3c/4, 0x00000040); - INSTANCE_WR(ctx, 0x00d3c/4, 0x00003800); - INSTANCE_WR(ctx, 0x00d3c/4, 0x00404040); - INSTANCE_WR(ctx, 0x00d3c/4, 0x0000ff0a); - INSTANCE_WR(ctx, 0x00d54/4, 0x0077f005); - INSTANCE_WR(ctx, 0x00d58/4, 0x00007fff); - INSTANCE_WR(ctx, 0x00d64/4, 0x000003ff); - INSTANCE_WR(ctx, 0x00d64/4, 0x00000003); - INSTANCE_WR(ctx, 0x00d64/4, 0x00000003); - INSTANCE_WR(ctx, 0x00d64/4, 0x000001ff); - INSTANCE_WR(ctx, 0x00d64/4, 0x0000001f); - INSTANCE_WR(ctx, 0x00d64/4, 0x0000000f); - INSTANCE_WR(ctx, 0x00d64/4, 0x0000000f); - INSTANCE_WR(ctx, 0x00d84/4, 0x01800000); - INSTANCE_WR(ctx, 0x00d88/4, 0x00160000); - INSTANCE_WR(ctx, 0x00d8c/4, 0x01800000); - INSTANCE_WR(ctx, 0x00d9c/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00da0/4, 0x000c0000); - INSTANCE_WR(ctx, 0x00dc4/4, 0x00010401); - INSTANCE_WR(ctx, 0x00dcc/4, 0x00000040); - INSTANCE_WR(ctx, 0x00dd4/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00ddc/4, 0x00001210); - INSTANCE_WR(ctx, 0x00de0/4, 0x00000080); - INSTANCE_WR(ctx, 0x00e04/4, 0x01800000); - INSTANCE_WR(ctx, 0x00e08/4, 0x00160000); - INSTANCE_WR(ctx, 0x00e0c/4, 0x01800000); - INSTANCE_WR(ctx, 0x00e1c/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00e20/4, 0x000c0000); - INSTANCE_WR(ctx, 0x00e44/4, 0x00010401); - INSTANCE_WR(ctx, 0x00e4c/4, 0x00000040); - INSTANCE_WR(ctx, 0x00e54/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00e5c/4, 0x00001210); - INSTANCE_WR(ctx, 0x00e60/4, 0x00000080); - INSTANCE_WR(ctx, 0x00e88/4, 0x00007070); - INSTANCE_WR(ctx, 0x00e94/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00eac/4, 0x00120407); - INSTANCE_WR(ctx, 0x00eac/4, 0x05091507); - INSTANCE_WR(ctx, 0x00eac/4, 0x05010202); - INSTANCE_WR(ctx, 0x00eac/4, 0x00030201); - INSTANCE_WR(ctx, 0x00ed4/4, 0x00000040); - INSTANCE_WR(ctx, 0x00ed4/4, 0x0d0c0b0a); - INSTANCE_WR(ctx, 0x00ed4/4, 0x00141210); - INSTANCE_WR(ctx, 0x00ed4/4, 0x000001f0); - INSTANCE_WR(ctx, 0x00ed4/4, 0x00000001); - INSTANCE_WR(ctx, 0x00ed4/4, 0x00000003); - INSTANCE_WR(ctx, 0x00ed4/4, 0x00008000); - INSTANCE_WR(ctx, 0x00ef4/4, 0x00039e00); - INSTANCE_WR(ctx, 0x00ef4/4, 0x00000040); - INSTANCE_WR(ctx, 0x00ef4/4, 0x00003800); - INSTANCE_WR(ctx, 0x00ef4/4, 0x00404040); - INSTANCE_WR(ctx, 0x00ef4/4, 0x0000ff0a); - INSTANCE_WR(ctx, 0x00f0c/4, 0x0077f005); - INSTANCE_WR(ctx, 0x00f10/4, 0x00007fff); - INSTANCE_WR(ctx, 0x00f1c/4, 0x000003ff); - INSTANCE_WR(ctx, 0x00f1c/4, 0x00000003); - INSTANCE_WR(ctx, 0x00f1c/4, 0x00000003); - INSTANCE_WR(ctx, 0x00f1c/4, 0x000001ff); - INSTANCE_WR(ctx, 0x00f1c/4, 0x0000001f); - INSTANCE_WR(ctx, 0x00f1c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x00f1c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x00f3c/4, 0x01800000); - INSTANCE_WR(ctx, 0x00f40/4, 0x00160000); - INSTANCE_WR(ctx, 0x00f44/4, 0x01800000); - INSTANCE_WR(ctx, 0x00f54/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00f58/4, 0x000c0000); - INSTANCE_WR(ctx, 0x00f7c/4, 0x00010401); - INSTANCE_WR(ctx, 0x00f84/4, 0x00000040); - INSTANCE_WR(ctx, 0x00f8c/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00f94/4, 0x00001210); - INSTANCE_WR(ctx, 0x00f98/4, 0x00000080); - INSTANCE_WR(ctx, 0x00fbc/4, 0x01800000); - INSTANCE_WR(ctx, 0x00fc0/4, 0x00160000); - INSTANCE_WR(ctx, 0x00fc4/4, 0x01800000); - INSTANCE_WR(ctx, 0x00fd4/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00fd8/4, 0x000c0000); - INSTANCE_WR(ctx, 0x00ffc/4, 0x00010401); - INSTANCE_WR(ctx, 0x01004/4, 0x00000040); - INSTANCE_WR(ctx, 0x0100c/4, 0x000000bf); - INSTANCE_WR(ctx, 0x01014/4, 0x00001210); - INSTANCE_WR(ctx, 0x01018/4, 0x00000080); - INSTANCE_WR(ctx, 0x01040/4, 0x00007070); - INSTANCE_WR(ctx, 0x0104c/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x01064/4, 0x00120407); - INSTANCE_WR(ctx, 0x01064/4, 0x05091507); - INSTANCE_WR(ctx, 0x01064/4, 0x05010202); - INSTANCE_WR(ctx, 0x01064/4, 0x00030201); - INSTANCE_WR(ctx, 0x0108c/4, 0x00000040); - INSTANCE_WR(ctx, 0x0108c/4, 0x0d0c0b0a); - INSTANCE_WR(ctx, 0x0108c/4, 0x00141210); - INSTANCE_WR(ctx, 0x0108c/4, 0x000001f0); - INSTANCE_WR(ctx, 0x0108c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0108c/4, 0x00000003); - INSTANCE_WR(ctx, 0x0108c/4, 0x00008000); - INSTANCE_WR(ctx, 0x010ac/4, 0x00039e00); - INSTANCE_WR(ctx, 0x010ac/4, 0x00000040); - INSTANCE_WR(ctx, 0x010ac/4, 0x00003800); - INSTANCE_WR(ctx, 0x010ac/4, 0x00404040); - INSTANCE_WR(ctx, 0x010ac/4, 0x0000ff0a); - INSTANCE_WR(ctx, 0x010c4/4, 0x0077f005); - INSTANCE_WR(ctx, 0x010c8/4, 0x00007fff); - INSTANCE_WR(ctx, 0x010d4/4, 0x000003ff); - INSTANCE_WR(ctx, 0x010d4/4, 0x00000003); - INSTANCE_WR(ctx, 0x010d4/4, 0x00000003); - INSTANCE_WR(ctx, 0x010d4/4, 0x000001ff); - INSTANCE_WR(ctx, 0x010d4/4, 0x0000001f); - INSTANCE_WR(ctx, 0x010d4/4, 0x0000000f); - INSTANCE_WR(ctx, 0x010d4/4, 0x0000000f); - INSTANCE_WR(ctx, 0x010f4/4, 0x01800000); - INSTANCE_WR(ctx, 0x010f8/4, 0x00160000); - INSTANCE_WR(ctx, 0x010fc/4, 0x01800000); - INSTANCE_WR(ctx, 0x0110c/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x01110/4, 0x000c0000); - INSTANCE_WR(ctx, 0x01134/4, 0x00010401); - INSTANCE_WR(ctx, 0x0113c/4, 0x00000040); - INSTANCE_WR(ctx, 0x01144/4, 0x000000bf); - INSTANCE_WR(ctx, 0x0114c/4, 0x00001210); - INSTANCE_WR(ctx, 0x01150/4, 0x00000080); - INSTANCE_WR(ctx, 0x01174/4, 0x01800000); - INSTANCE_WR(ctx, 0x01178/4, 0x00160000); - INSTANCE_WR(ctx, 0x0117c/4, 0x01800000); - INSTANCE_WR(ctx, 0x0118c/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x01190/4, 0x000c0000); - INSTANCE_WR(ctx, 0x011b4/4, 0x00010401); - INSTANCE_WR(ctx, 0x011bc/4, 0x00000040); - INSTANCE_WR(ctx, 0x011c4/4, 0x000000bf); - INSTANCE_WR(ctx, 0x011cc/4, 0x00001210); - INSTANCE_WR(ctx, 0x011d0/4, 0x00000080); - INSTANCE_WR(ctx, 0x011f8/4, 0x00007070); - INSTANCE_WR(ctx, 0x01204/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x0121c/4, 0x00120407); - INSTANCE_WR(ctx, 0x0121c/4, 0x05091507); - INSTANCE_WR(ctx, 0x0121c/4, 0x05010202); - INSTANCE_WR(ctx, 0x0121c/4, 0x00030201); - INSTANCE_WR(ctx, 0x01244/4, 0x00000040); - INSTANCE_WR(ctx, 0x01244/4, 0x0d0c0b0a); - INSTANCE_WR(ctx, 0x01244/4, 0x00141210); - INSTANCE_WR(ctx, 0x01244/4, 0x000001f0); - INSTANCE_WR(ctx, 0x01244/4, 0x00000001); - INSTANCE_WR(ctx, 0x01244/4, 0x00000003); - INSTANCE_WR(ctx, 0x01244/4, 0x00008000); - INSTANCE_WR(ctx, 0x01264/4, 0x00039e00); - INSTANCE_WR(ctx, 0x01264/4, 0x00000040); - INSTANCE_WR(ctx, 0x01264/4, 0x00003800); - INSTANCE_WR(ctx, 0x01264/4, 0x00404040); - INSTANCE_WR(ctx, 0x01264/4, 0x0000ff0a); - INSTANCE_WR(ctx, 0x0127c/4, 0x0077f005); - INSTANCE_WR(ctx, 0x01280/4, 0x00007fff); - INSTANCE_WR(ctx, 0x0128c/4, 0x000003ff); - INSTANCE_WR(ctx, 0x0128c/4, 0x00000003); - INSTANCE_WR(ctx, 0x0128c/4, 0x00000003); - INSTANCE_WR(ctx, 0x0128c/4, 0x000001ff); - INSTANCE_WR(ctx, 0x0128c/4, 0x0000001f); - INSTANCE_WR(ctx, 0x0128c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x0128c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x012ac/4, 0x01800000); - INSTANCE_WR(ctx, 0x012b0/4, 0x00160000); - INSTANCE_WR(ctx, 0x012b4/4, 0x01800000); - INSTANCE_WR(ctx, 0x012c4/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x012c8/4, 0x000c0000); - INSTANCE_WR(ctx, 0x012ec/4, 0x00010401); - INSTANCE_WR(ctx, 0x012f4/4, 0x00000040); - INSTANCE_WR(ctx, 0x012fc/4, 0x000000bf); - INSTANCE_WR(ctx, 0x01304/4, 0x00001210); - INSTANCE_WR(ctx, 0x01308/4, 0x00000080); - INSTANCE_WR(ctx, 0x0132c/4, 0x01800000); - INSTANCE_WR(ctx, 0x01330/4, 0x00160000); - INSTANCE_WR(ctx, 0x01334/4, 0x01800000); - INSTANCE_WR(ctx, 0x01344/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x01348/4, 0x000c0000); - INSTANCE_WR(ctx, 0x0136c/4, 0x00010401); - INSTANCE_WR(ctx, 0x01374/4, 0x00000040); - INSTANCE_WR(ctx, 0x0137c/4, 0x000000bf); - INSTANCE_WR(ctx, 0x01384/4, 0x00001210); - INSTANCE_WR(ctx, 0x01388/4, 0x00000080); - INSTANCE_WR(ctx, 0x013b0/4, 0x00007070); - INSTANCE_WR(ctx, 0x013bc/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x013d4/4, 0x00120407); - INSTANCE_WR(ctx, 0x013d4/4, 0x05091507); - INSTANCE_WR(ctx, 0x013d4/4, 0x05010202); - INSTANCE_WR(ctx, 0x013d4/4, 0x00030201); - INSTANCE_WR(ctx, 0x013fc/4, 0x00000040); - INSTANCE_WR(ctx, 0x013fc/4, 0x0d0c0b0a); - INSTANCE_WR(ctx, 0x013fc/4, 0x00141210); - INSTANCE_WR(ctx, 0x013fc/4, 0x000001f0); - INSTANCE_WR(ctx, 0x013fc/4, 0x00000001); - INSTANCE_WR(ctx, 0x013fc/4, 0x00000003); - INSTANCE_WR(ctx, 0x013fc/4, 0x00008000); - INSTANCE_WR(ctx, 0x0141c/4, 0x00039e00); - INSTANCE_WR(ctx, 0x0141c/4, 0x00000040); - INSTANCE_WR(ctx, 0x0141c/4, 0x00003800); - INSTANCE_WR(ctx, 0x0141c/4, 0x00404040); - INSTANCE_WR(ctx, 0x0141c/4, 0x0000ff0a); - INSTANCE_WR(ctx, 0x01434/4, 0x0077f005); - INSTANCE_WR(ctx, 0x01438/4, 0x00007fff); - INSTANCE_WR(ctx, 0x01444/4, 0x000003ff); - INSTANCE_WR(ctx, 0x01444/4, 0x00000003); - INSTANCE_WR(ctx, 0x01444/4, 0x00000003); - INSTANCE_WR(ctx, 0x01444/4, 0x000001ff); - INSTANCE_WR(ctx, 0x01444/4, 0x0000001f); - INSTANCE_WR(ctx, 0x01444/4, 0x0000000f); - INSTANCE_WR(ctx, 0x01444/4, 0x0000000f); - INSTANCE_WR(ctx, 0x01464/4, 0x01800000); - INSTANCE_WR(ctx, 0x01468/4, 0x00160000); - INSTANCE_WR(ctx, 0x0146c/4, 0x01800000); - INSTANCE_WR(ctx, 0x0147c/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x01480/4, 0x000c0000); - INSTANCE_WR(ctx, 0x014a4/4, 0x00010401); - INSTANCE_WR(ctx, 0x014ac/4, 0x00000040); - INSTANCE_WR(ctx, 0x014b4/4, 0x000000bf); - INSTANCE_WR(ctx, 0x014bc/4, 0x00001210); - INSTANCE_WR(ctx, 0x014c0/4, 0x00000080); - INSTANCE_WR(ctx, 0x014e4/4, 0x01800000); - INSTANCE_WR(ctx, 0x014e8/4, 0x00160000); - INSTANCE_WR(ctx, 0x014ec/4, 0x01800000); - INSTANCE_WR(ctx, 0x014fc/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x01500/4, 0x000c0000); - INSTANCE_WR(ctx, 0x01524/4, 0x00010401); - INSTANCE_WR(ctx, 0x0152c/4, 0x00000040); - INSTANCE_WR(ctx, 0x01534/4, 0x000000bf); - INSTANCE_WR(ctx, 0x0153c/4, 0x00001210); - INSTANCE_WR(ctx, 0x01540/4, 0x00000080); - INSTANCE_WR(ctx, 0x01568/4, 0x00007070); - INSTANCE_WR(ctx, 0x01574/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x0158c/4, 0x00120407); - INSTANCE_WR(ctx, 0x0158c/4, 0x05091507); - INSTANCE_WR(ctx, 0x0158c/4, 0x05010202); - INSTANCE_WR(ctx, 0x0158c/4, 0x00030201); - INSTANCE_WR(ctx, 0x015b4/4, 0x00000040); - INSTANCE_WR(ctx, 0x015b4/4, 0x0d0c0b0a); - INSTANCE_WR(ctx, 0x015b4/4, 0x00141210); - INSTANCE_WR(ctx, 0x015b4/4, 0x000001f0); - INSTANCE_WR(ctx, 0x015b4/4, 0x00000001); - INSTANCE_WR(ctx, 0x015b4/4, 0x00000003); - INSTANCE_WR(ctx, 0x015b4/4, 0x00008000); - INSTANCE_WR(ctx, 0x015d4/4, 0x00039e00); - INSTANCE_WR(ctx, 0x015d4/4, 0x00000040); - INSTANCE_WR(ctx, 0x015d4/4, 0x00003800); - INSTANCE_WR(ctx, 0x015d4/4, 0x00404040); - INSTANCE_WR(ctx, 0x015d4/4, 0x0000ff0a); - INSTANCE_WR(ctx, 0x015ec/4, 0x0077f005); - INSTANCE_WR(ctx, 0x015f0/4, 0x00007fff); - INSTANCE_WR(ctx, 0x015fc/4, 0x000003ff); - INSTANCE_WR(ctx, 0x015fc/4, 0x00000003); - INSTANCE_WR(ctx, 0x015fc/4, 0x00000003); - INSTANCE_WR(ctx, 0x015fc/4, 0x000001ff); - INSTANCE_WR(ctx, 0x015fc/4, 0x0000001f); - INSTANCE_WR(ctx, 0x015fc/4, 0x0000000f); - INSTANCE_WR(ctx, 0x015fc/4, 0x0000000f); - INSTANCE_WR(ctx, 0x02b40/4, 0x00000021); - INSTANCE_WR(ctx, 0x02b60/4, 0x00000001); - INSTANCE_WR(ctx, 0x02b80/4, 0x00000002); - INSTANCE_WR(ctx, 0x02ba0/4, 0x00000100); - INSTANCE_WR(ctx, 0x02bc0/4, 0x00000100); - INSTANCE_WR(ctx, 0x02be0/4, 0x00000001); - INSTANCE_WR(ctx, 0x02c40/4, 0x00000001); - INSTANCE_WR(ctx, 0x02c60/4, 0x00000002); - INSTANCE_WR(ctx, 0x02c80/4, 0x00000100); - INSTANCE_WR(ctx, 0x02ca0/4, 0x00000100); - INSTANCE_WR(ctx, 0x02cc0/4, 0x00000001); - INSTANCE_WR(ctx, 0x0c5e0/4, 0x00000004); - INSTANCE_WR(ctx, 0x0c600/4, 0x00000004); - INSTANCE_WR(ctx, 0x44f80/4, 0x00000004); - INSTANCE_WR(ctx, 0x44fa0/4, 0x00000004); - INSTANCE_WR(ctx, 0x44fc0/4, 0x08100c12); - INSTANCE_WR(ctx, 0x45000/4, 0x08100c12); - INSTANCE_WR(ctx, 0x45040/4, 0x00080c14); - INSTANCE_WR(ctx, 0x45060/4, 0x00000001); - INSTANCE_WR(ctx, 0x45080/4, 0x00080c14); - INSTANCE_WR(ctx, 0x450e0/4, 0x08100c12); - INSTANCE_WR(ctx, 0x45100/4, 0x00000027); - INSTANCE_WR(ctx, 0x45160/4, 0x00000001); - INSTANCE_WR(ctx, 0x4c9a0/4, 0x00000001); - INSTANCE_WR(ctx, 0x4cc80/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4ce00/4, 0x04000000); - INSTANCE_WR(ctx, 0x4ce20/4, 0x04000000); - INSTANCE_WR(ctx, 0x4ce60/4, 0x00000080); - INSTANCE_WR(ctx, 0x4cee0/4, 0x00000080); - INSTANCE_WR(ctx, 0x4cf20/4, 0x0000003f); - INSTANCE_WR(ctx, 0x4d080/4, 0x00000002); - INSTANCE_WR(ctx, 0x4d0a0/4, 0x04000000); - INSTANCE_WR(ctx, 0x4d0c0/4, 0x04000000); - INSTANCE_WR(ctx, 0x4d1e0/4, 0x00000004); - INSTANCE_WR(ctx, 0x4d260/4, 0x00000004); - INSTANCE_WR(ctx, 0x4d480/4, 0x00000001); - INSTANCE_WR(ctx, 0x4d4a0/4, 0x00001001); - INSTANCE_WR(ctx, 0x4d4c0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4d4e0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4d500/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4d520/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4d940/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4d960/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4d980/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4d9a0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4d9c0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4d9e0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4da00/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4da20/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4da40/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4da60/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4da80/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4daa0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4dac0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4dae0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4db00/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4db20/4, 0x3f800000); - INSTANCE_WR(ctx, 0x4db40/4, 0x00000010); - INSTANCE_WR(ctx, 0x4db80/4, 0x00000003); - INSTANCE_WR(ctx, 0x01784/4, 0x0000000f); - INSTANCE_WR(ctx, 0x01824/4, 0x00000020); - INSTANCE_WR(ctx, 0x01a04/4, 0x0000001a); - INSTANCE_WR(ctx, 0x01bc4/4, 0x00000004); - INSTANCE_WR(ctx, 0x01be4/4, 0x00000004); - INSTANCE_WR(ctx, 0x01c24/4, 0x00000004); - INSTANCE_WR(ctx, 0x01c44/4, 0x00000008); - INSTANCE_WR(ctx, 0x01c84/4, 0x000003ff); - INSTANCE_WR(ctx, 0x01e24/4, 0x0000000f); - INSTANCE_WR(ctx, 0x042e4/4, 0x0000000f); - INSTANCE_WR(ctx, 0x04324/4, 0x00000001); - INSTANCE_WR(ctx, 0x04e84/4, 0x0000000f); - INSTANCE_WR(ctx, 0x15524/4, 0x0000000f); - INSTANCE_WR(ctx, 0x15764/4, 0x00000001); - INSTANCE_WR(ctx, 0x15784/4, 0x00000001); - INSTANCE_WR(ctx, 0x157c4/4, 0x00000001); - INSTANCE_WR(ctx, 0x157e4/4, 0x00000100); - INSTANCE_WR(ctx, 0x15804/4, 0x00000100); - INSTANCE_WR(ctx, 0x15824/4, 0x00000011); - INSTANCE_WR(ctx, 0x15864/4, 0x00000008); - INSTANCE_WR(ctx, 0x15924/4, 0x00000001); - INSTANCE_WR(ctx, 0x15964/4, 0x00000001); - INSTANCE_WR(ctx, 0x15984/4, 0x00000001); - INSTANCE_WR(ctx, 0x159a4/4, 0x00000001); - INSTANCE_WR(ctx, 0x159c4/4, 0x000000cf); - INSTANCE_WR(ctx, 0x159e4/4, 0x00000002); - INSTANCE_WR(ctx, 0x15ac4/4, 0x00000001); - INSTANCE_WR(ctx, 0x15b04/4, 0x00000001); - INSTANCE_WR(ctx, 0x15b24/4, 0x00000001); - INSTANCE_WR(ctx, 0x15b44/4, 0x00000001); - INSTANCE_WR(ctx, 0x15be4/4, 0x00000004); - INSTANCE_WR(ctx, 0x15c24/4, 0x00000001); - INSTANCE_WR(ctx, 0x15c44/4, 0x00000015); - INSTANCE_WR(ctx, 0x15cc4/4, 0x04444480); - INSTANCE_WR(ctx, 0x16444/4, 0x08100c12); - INSTANCE_WR(ctx, 0x164e4/4, 0x00000100); - INSTANCE_WR(ctx, 0x16544/4, 0x00010001); - INSTANCE_WR(ctx, 0x16584/4, 0x00010001); - INSTANCE_WR(ctx, 0x165a4/4, 0x00000001); - INSTANCE_WR(ctx, 0x165c4/4, 0x00010001); - INSTANCE_WR(ctx, 0x165e4/4, 0x00000001); - INSTANCE_WR(ctx, 0x16604/4, 0x00000004); - INSTANCE_WR(ctx, 0x16624/4, 0x00000002); - INSTANCE_WR(ctx, 0x185a4/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x185c4/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x18664/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x187e4/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x18804/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x16708/4, 0x003fffff); - INSTANCE_WR(ctx, 0x16768/4, 0x00001fff); - INSTANCE_WR(ctx, 0x16948/4, 0x3f800000); - INSTANCE_WR(ctx, 0x16a28/4, 0x00000004); - INSTANCE_WR(ctx, 0x16a48/4, 0x0000001a); - INSTANCE_WR(ctx, 0x16aa8/4, 0x00000001); - INSTANCE_WR(ctx, 0x16d08/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x16de8/4, 0x0000000f); - INSTANCE_WR(ctx, 0x16ee8/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x16f08/4, 0x00000011); - INSTANCE_WR(ctx, 0x17108/4, 0x00000004); - INSTANCE_WR(ctx, 0x171a8/4, 0x00000002); - INSTANCE_WR(ctx, 0x171c8/4, 0x04000000); - INSTANCE_WR(ctx, 0x171e8/4, 0x04000000); - INSTANCE_WR(ctx, 0x17268/4, 0x00000005); - INSTANCE_WR(ctx, 0x17288/4, 0x00000052); - INSTANCE_WR(ctx, 0x17508/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17528/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17548/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17568/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17588/4, 0x3f800000); - INSTANCE_WR(ctx, 0x175a8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x175c8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x175e8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17608/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17628/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17648/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17668/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17688/4, 0x3f800000); - INSTANCE_WR(ctx, 0x176a8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x176c8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x176e8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17708/4, 0x00000010); - INSTANCE_WR(ctx, 0x17be8/4, 0x08100c12); - INSTANCE_WR(ctx, 0x17c08/4, 0x00000005); - INSTANCE_WR(ctx, 0x17c68/4, 0x00000001); - INSTANCE_WR(ctx, 0x17ca8/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x17cc8/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x17ce8/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x17d08/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x18108/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x18128/4, 0x0000001a); - INSTANCE_WR(ctx, 0x18608/4, 0x00000102); - INSTANCE_WR(ctx, 0x18648/4, 0x00000004); - INSTANCE_WR(ctx, 0x18668/4, 0x00000004); - INSTANCE_WR(ctx, 0x18688/4, 0x00000004); - INSTANCE_WR(ctx, 0x186a8/4, 0x00000004); - INSTANCE_WR(ctx, 0x186c8/4, 0x00000004); - INSTANCE_WR(ctx, 0x186e8/4, 0x00000004); - INSTANCE_WR(ctx, 0x18728/4, 0x000003ff); - INSTANCE_WR(ctx, 0x18768/4, 0x00000102); - INSTANCE_WR(ctx, 0x188a8/4, 0x00000004); - INSTANCE_WR(ctx, 0x188c8/4, 0x00000004); - INSTANCE_WR(ctx, 0x188e8/4, 0x00000004); - INSTANCE_WR(ctx, 0x18908/4, 0x00000004); - INSTANCE_WR(ctx, 0x18ec8/4, 0x00000004); - INSTANCE_WR(ctx, 0x18ee8/4, 0x00000004); - INSTANCE_WR(ctx, 0x18f28/4, 0x00000010); - INSTANCE_WR(ctx, 0x18fa8/4, 0x00000804); - INSTANCE_WR(ctx, 0x18fc8/4, 0x00000001); - INSTANCE_WR(ctx, 0x18fe8/4, 0x0000001a); - INSTANCE_WR(ctx, 0x19028/4, 0x00000001); - INSTANCE_WR(ctx, 0x19048/4, 0x00080c14); - INSTANCE_WR(ctx, 0x19088/4, 0x08100c12); - INSTANCE_WR(ctx, 0x190a8/4, 0x00000004); - INSTANCE_WR(ctx, 0x190c8/4, 0x00000004); - INSTANCE_WR(ctx, 0x19108/4, 0x00000010); - INSTANCE_WR(ctx, 0x19188/4, 0x00000001); - INSTANCE_WR(ctx, 0x191a8/4, 0x08100c12); - INSTANCE_WR(ctx, 0x19288/4, 0x000003ff); - INSTANCE_WR(ctx, 0x192a8/4, 0x00080c14); - INSTANCE_WR(ctx, 0x199c8/4, 0x00000001); - INSTANCE_WR(ctx, 0x19a28/4, 0x00000010); - INSTANCE_WR(ctx, 0x1a148/4, 0x00000088); - INSTANCE_WR(ctx, 0x1a168/4, 0x00000088); - INSTANCE_WR(ctx, 0x1a1c8/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a4a8/4, 0x00000026); - INSTANCE_WR(ctx, 0x1a508/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1a588/4, 0x0000001a); - INSTANCE_WR(ctx, 0x1a5a8/4, 0x00000010); - INSTANCE_WR(ctx, 0x1aa68/4, 0x00000052); - INSTANCE_WR(ctx, 0x1aaa8/4, 0x00000026); - INSTANCE_WR(ctx, 0x1aae8/4, 0x00000004); - INSTANCE_WR(ctx, 0x1ab08/4, 0x00000004); - INSTANCE_WR(ctx, 0x1ab48/4, 0x0000001a); - INSTANCE_WR(ctx, 0x1aba8/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x1abe8/4, 0x00000004); - INSTANCE_WR(ctx, 0x1ac08/4, 0x00000004); - INSTANCE_WR(ctx, 0x1ac48/4, 0x00000080); - INSTANCE_WR(ctx, 0x1ac68/4, 0x00000004); - INSTANCE_WR(ctx, 0x1ac88/4, 0x00080c14); - INSTANCE_WR(ctx, 0x1acc8/4, 0x000003ff); - INSTANCE_WR(ctx, 0x25528/4, 0x00000004); - INSTANCE_WR(ctx, 0x25548/4, 0x00000004); - INSTANCE_WR(ctx, 0x25588/4, 0x00000080); - INSTANCE_WR(ctx, 0x255a8/4, 0x00000004); - INSTANCE_WR(ctx, 0x255c8/4, 0x00000001); - INSTANCE_WR(ctx, 0x25608/4, 0x00000027); - INSTANCE_WR(ctx, 0x25648/4, 0x00000026); - INSTANCE_WR(ctx, 0x256c8/4, 0x04000000); - INSTANCE_WR(ctx, 0x256e8/4, 0x04000000); - INSTANCE_WR(ctx, 0x25708/4, 0x04000000); - INSTANCE_WR(ctx, 0x25728/4, 0x04000000); - INSTANCE_WR(ctx, 0x25748/4, 0x04000000); - INSTANCE_WR(ctx, 0x25768/4, 0x04000000); - INSTANCE_WR(ctx, 0x25788/4, 0x04000000); - INSTANCE_WR(ctx, 0x257a8/4, 0x04000000); - INSTANCE_WR(ctx, 0x257c8/4, 0x04000000); - INSTANCE_WR(ctx, 0x257e8/4, 0x04000000); - INSTANCE_WR(ctx, 0x25808/4, 0x04000000); - INSTANCE_WR(ctx, 0x25828/4, 0x04000000); - INSTANCE_WR(ctx, 0x25848/4, 0x04000000); - INSTANCE_WR(ctx, 0x25868/4, 0x04000000); - INSTANCE_WR(ctx, 0x25888/4, 0x04000000); - INSTANCE_WR(ctx, 0x258a8/4, 0x04000000); - INSTANCE_WR(ctx, 0x25d48/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x25d68/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x25dc8/4, 0x0001fe21); - INSTANCE_WR(ctx, 0x0180c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0184c/4, 0x00003e60); - INSTANCE_WR(ctx, 0x019ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x01a0c/4, 0x00000010); - INSTANCE_WR(ctx, 0x01a6c/4, 0x00000001); - INSTANCE_WR(ctx, 0x01b4c/4, 0x00000002); - INSTANCE_WR(ctx, 0x01c6c/4, 0x00000001); - INSTANCE_WR(ctx, 0x01c8c/4, 0x00000010); - INSTANCE_WR(ctx, 0x01ccc/4, 0x00000001); - INSTANCE_WR(ctx, 0x01f4c/4, 0x00000010); - INSTANCE_WR(ctx, 0x0216c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0218c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x021ac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x021cc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x021ec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0220c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0222c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0224c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0226c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0228c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x022ac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x022cc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x022ec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0230c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0232c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0234c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0268c/4, 0x00000010); - INSTANCE_WR(ctx, 0x026cc/4, 0x0000003f); - INSTANCE_WR(ctx, 0x027ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x027ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0282c/4, 0x00000001); - INSTANCE_WR(ctx, 0x029cc/4, 0x00000011); - INSTANCE_WR(ctx, 0x02acc/4, 0x0000000f); - INSTANCE_WR(ctx, 0x02bcc/4, 0x00000011); - INSTANCE_WR(ctx, 0x02c6c/4, 0x00000001); - INSTANCE_WR(ctx, 0x02c8c/4, 0x00000001); - INSTANCE_WR(ctx, 0x02cac/4, 0x00000001); - INSTANCE_WR(ctx, 0x02ccc/4, 0x00000002); - INSTANCE_WR(ctx, 0x02cec/4, 0x00000001); - INSTANCE_WR(ctx, 0x02d0c/4, 0x00000002); - INSTANCE_WR(ctx, 0x02d2c/4, 0x00000001); - INSTANCE_WR(ctx, 0x02d6c/4, 0x00003e60); - INSTANCE_WR(ctx, 0x02dac/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x0306c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0308c/4, 0x00000002); - INSTANCE_WR(ctx, 0x030ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x030cc/4, 0x00000001); - INSTANCE_WR(ctx, 0x030ec/4, 0x00000002); - INSTANCE_WR(ctx, 0x0310c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0312c/4, 0x00000001); - INSTANCE_WR(ctx, 0x031ac/4, 0x00000011); - INSTANCE_WR(ctx, 0x031cc/4, 0x00000001); - INSTANCE_WR(ctx, 0x03e4c/4, 0x00000002); - INSTANCE_WR(ctx, 0x03e8c/4, 0x00003e60); - INSTANCE_WR(ctx, 0x0402c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0404c/4, 0x00000010); - INSTANCE_WR(ctx, 0x040ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x0418c/4, 0x00000002); - INSTANCE_WR(ctx, 0x042ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x042cc/4, 0x00000010); - INSTANCE_WR(ctx, 0x0430c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0458c/4, 0x00000010); - INSTANCE_WR(ctx, 0x047ac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x047cc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x047ec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0480c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0482c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0484c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0486c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0488c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x048ac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x048cc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x048ec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0490c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0492c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0494c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0496c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0498c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x04ccc/4, 0x00000010); - INSTANCE_WR(ctx, 0x04d0c/4, 0x0000003f); - INSTANCE_WR(ctx, 0x04dec/4, 0x00000001); - INSTANCE_WR(ctx, 0x04e2c/4, 0x00000001); - INSTANCE_WR(ctx, 0x04e6c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0500c/4, 0x00000011); - INSTANCE_WR(ctx, 0x0510c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x0520c/4, 0x00000011); - INSTANCE_WR(ctx, 0x052ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x052cc/4, 0x00000001); - INSTANCE_WR(ctx, 0x052ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0530c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0532c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0534c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0536c/4, 0x00000001); - INSTANCE_WR(ctx, 0x053ac/4, 0x00003e60); - INSTANCE_WR(ctx, 0x053ec/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x056ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x056cc/4, 0x00000002); - INSTANCE_WR(ctx, 0x056ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0570c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0572c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0574c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0576c/4, 0x00000001); - INSTANCE_WR(ctx, 0x057ec/4, 0x00000011); - INSTANCE_WR(ctx, 0x0580c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0648c/4, 0x00000002); - INSTANCE_WR(ctx, 0x064cc/4, 0x00003e60); - INSTANCE_WR(ctx, 0x0666c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0668c/4, 0x00000010); - INSTANCE_WR(ctx, 0x066ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x067cc/4, 0x00000002); - INSTANCE_WR(ctx, 0x068ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0690c/4, 0x00000010); - INSTANCE_WR(ctx, 0x0694c/4, 0x00000001); - INSTANCE_WR(ctx, 0x06bcc/4, 0x00000010); - INSTANCE_WR(ctx, 0x06dec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x06e0c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x06e2c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x06e4c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x06e6c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x06e8c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x06eac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x06ecc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x06eec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x06f0c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x06f2c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x06f4c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x06f6c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x06f8c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x06fac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x06fcc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0730c/4, 0x00000010); - INSTANCE_WR(ctx, 0x0734c/4, 0x0000003f); - INSTANCE_WR(ctx, 0x0742c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0746c/4, 0x00000001); - INSTANCE_WR(ctx, 0x074ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x0764c/4, 0x00000011); - INSTANCE_WR(ctx, 0x0774c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x0784c/4, 0x00000011); - INSTANCE_WR(ctx, 0x078ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0790c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0792c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0794c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0796c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0798c/4, 0x00000002); - INSTANCE_WR(ctx, 0x079ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x079ec/4, 0x00003e60); - INSTANCE_WR(ctx, 0x07a2c/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x07cec/4, 0x00000001); - INSTANCE_WR(ctx, 0x07d0c/4, 0x00000002); - INSTANCE_WR(ctx, 0x07d2c/4, 0x00000001); - INSTANCE_WR(ctx, 0x07d4c/4, 0x00000001); - INSTANCE_WR(ctx, 0x07d6c/4, 0x00000002); - INSTANCE_WR(ctx, 0x07d8c/4, 0x00000001); - INSTANCE_WR(ctx, 0x07dac/4, 0x00000001); - INSTANCE_WR(ctx, 0x07e2c/4, 0x00000011); - INSTANCE_WR(ctx, 0x07e4c/4, 0x00000001); - INSTANCE_WR(ctx, 0x08acc/4, 0x00000002); - INSTANCE_WR(ctx, 0x08b0c/4, 0x00003e60); - INSTANCE_WR(ctx, 0x08cac/4, 0x00000001); - INSTANCE_WR(ctx, 0x08ccc/4, 0x00000010); - INSTANCE_WR(ctx, 0x08d2c/4, 0x00000001); - INSTANCE_WR(ctx, 0x08e0c/4, 0x00000002); - INSTANCE_WR(ctx, 0x08f2c/4, 0x00000001); - INSTANCE_WR(ctx, 0x08f4c/4, 0x00000010); - INSTANCE_WR(ctx, 0x08f8c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0920c/4, 0x00000010); - INSTANCE_WR(ctx, 0x0942c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0944c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0946c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0948c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x094ac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x094cc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x094ec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0950c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0952c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0954c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0956c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0958c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x095ac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x095cc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x095ec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0960c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0994c/4, 0x00000010); - INSTANCE_WR(ctx, 0x0998c/4, 0x0000003f); - INSTANCE_WR(ctx, 0x09a6c/4, 0x00000001); - INSTANCE_WR(ctx, 0x09aac/4, 0x00000001); - INSTANCE_WR(ctx, 0x09aec/4, 0x00000001); - INSTANCE_WR(ctx, 0x09c8c/4, 0x00000011); - INSTANCE_WR(ctx, 0x09d8c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x09e8c/4, 0x00000011); - INSTANCE_WR(ctx, 0x09f2c/4, 0x00000001); - INSTANCE_WR(ctx, 0x09f4c/4, 0x00000001); - INSTANCE_WR(ctx, 0x09f6c/4, 0x00000001); - INSTANCE_WR(ctx, 0x09f8c/4, 0x00000002); - INSTANCE_WR(ctx, 0x09fac/4, 0x00000001); - INSTANCE_WR(ctx, 0x09fcc/4, 0x00000002); - INSTANCE_WR(ctx, 0x09fec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0a02c/4, 0x00003e60); - INSTANCE_WR(ctx, 0x0a06c/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x0a32c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0a34c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0a36c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0a38c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0a3ac/4, 0x00000002); - INSTANCE_WR(ctx, 0x0a3cc/4, 0x00000001); - INSTANCE_WR(ctx, 0x0a3ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0a46c/4, 0x00000011); - INSTANCE_WR(ctx, 0x0a48c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0b10c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0b14c/4, 0x00003e60); - INSTANCE_WR(ctx, 0x0b2ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0b30c/4, 0x00000010); - INSTANCE_WR(ctx, 0x0b36c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0b44c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0b56c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0b58c/4, 0x00000010); - INSTANCE_WR(ctx, 0x0b5cc/4, 0x00000001); - INSTANCE_WR(ctx, 0x0b84c/4, 0x00000010); - INSTANCE_WR(ctx, 0x0ba6c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0ba8c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0baac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0bacc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0baec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0bb0c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0bb2c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0bb4c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0bb6c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0bb8c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0bbac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0bbcc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0bbec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0bc0c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0bc2c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0bc4c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0bf8c/4, 0x00000010); - INSTANCE_WR(ctx, 0x0bfcc/4, 0x0000003f); - INSTANCE_WR(ctx, 0x0c0ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x0c0ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0c12c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0c2cc/4, 0x00000011); - INSTANCE_WR(ctx, 0x0c3cc/4, 0x0000000f); - INSTANCE_WR(ctx, 0x0c4cc/4, 0x00000011); - INSTANCE_WR(ctx, 0x0c56c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0c58c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0c5ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x0c5cc/4, 0x00000002); - INSTANCE_WR(ctx, 0x0c5ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0c60c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0c62c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0c66c/4, 0x00003e60); - INSTANCE_WR(ctx, 0x0c6ac/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x0c96c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0c98c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0c9ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x0c9cc/4, 0x00000001); - INSTANCE_WR(ctx, 0x0c9ec/4, 0x00000002); - INSTANCE_WR(ctx, 0x0ca0c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0ca2c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0caac/4, 0x00000011); - INSTANCE_WR(ctx, 0x0cacc/4, 0x00000001); - INSTANCE_WR(ctx, 0x0d74c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0d78c/4, 0x00003e60); - INSTANCE_WR(ctx, 0x0d92c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0d94c/4, 0x00000010); - INSTANCE_WR(ctx, 0x0d9ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x0da8c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0dbac/4, 0x00000001); - INSTANCE_WR(ctx, 0x0dbcc/4, 0x00000010); - INSTANCE_WR(ctx, 0x0dc0c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0de8c/4, 0x00000010); - INSTANCE_WR(ctx, 0x0e0ac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e0cc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e0ec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e10c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e12c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e14c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e16c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e18c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e1ac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e1cc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e1ec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e20c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e22c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e24c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e26c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e28c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0e5cc/4, 0x00000010); - INSTANCE_WR(ctx, 0x0e60c/4, 0x0000003f); - INSTANCE_WR(ctx, 0x0e6ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0e72c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0e76c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0e90c/4, 0x00000011); - INSTANCE_WR(ctx, 0x0ea0c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x0eb0c/4, 0x00000011); - INSTANCE_WR(ctx, 0x0ebac/4, 0x00000001); - INSTANCE_WR(ctx, 0x0ebcc/4, 0x00000001); - INSTANCE_WR(ctx, 0x0ebec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0ec0c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0ec2c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0ec4c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0ec6c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0ecac/4, 0x00003e60); - INSTANCE_WR(ctx, 0x0ecec/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x0efac/4, 0x00000001); - INSTANCE_WR(ctx, 0x0efcc/4, 0x00000002); - INSTANCE_WR(ctx, 0x0efec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0f00c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0f02c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0f04c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0f06c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0f0ec/4, 0x00000011); - INSTANCE_WR(ctx, 0x0f10c/4, 0x00000001); - INSTANCE_WR(ctx, 0x01730/4, 0x00000004); - INSTANCE_WR(ctx, 0x019f0/4, 0x00000004); - INSTANCE_WR(ctx, 0x01a10/4, 0x00000004); - INSTANCE_WR(ctx, 0x01a30/4, 0x00608080); - INSTANCE_WR(ctx, 0x01ad0/4, 0x00000004); - INSTANCE_WR(ctx, 0x01b30/4, 0x00000004); - INSTANCE_WR(ctx, 0x01b50/4, 0x00000004); - INSTANCE_WR(ctx, 0x01b70/4, 0x00000080); - INSTANCE_WR(ctx, 0x01b90/4, 0x00001000); - INSTANCE_WR(ctx, 0x01bb0/4, 0x00000004); - INSTANCE_WR(ctx, 0x02050/4, 0x00000004); - INSTANCE_WR(ctx, 0x02070/4, 0x00000080); - INSTANCE_WR(ctx, 0x02090/4, 0x00000004); - INSTANCE_WR(ctx, 0x020b0/4, 0x03020100); - INSTANCE_WR(ctx, 0x020d0/4, 0x00000003); - INSTANCE_WR(ctx, 0x020f0/4, 0x00001000); - INSTANCE_WR(ctx, 0x02110/4, 0x00000004); - INSTANCE_WR(ctx, 0x021b0/4, 0x00000004); - INSTANCE_WR(ctx, 0x021d0/4, 0x00000003); - INSTANCE_WR(ctx, 0x02250/4, 0x00000004); - INSTANCE_WR(ctx, 0x166f0/4, 0x00000004); - INSTANCE_WR(ctx, 0x16710/4, 0x00000003); - INSTANCE_WR(ctx, 0x16950/4, 0x0000000f); - INSTANCE_WR(ctx, 0x16ad0/4, 0x00000004); - INSTANCE_WR(ctx, 0x16af0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16b10/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16b30/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16b50/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16c70/4, 0x00000001); - INSTANCE_WR(ctx, 0x16cf0/4, 0x00000001); - INSTANCE_WR(ctx, 0x16db0/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f50/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f70/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f90/4, 0x00000002); - INSTANCE_WR(ctx, 0x16fb0/4, 0x00000001); - INSTANCE_WR(ctx, 0x16fd0/4, 0x00000001); - INSTANCE_WR(ctx, 0x16ff0/4, 0x00000002); - INSTANCE_WR(ctx, 0x17010/4, 0x00000001); - INSTANCE_WR(ctx, 0x17050/4, 0x00000011); - INSTANCE_WR(ctx, 0x17150/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x171b0/4, 0x00000004); - INSTANCE_WR(ctx, 0x17230/4, 0x00000011); - INSTANCE_WR(ctx, 0x17250/4, 0x00000001); - INSTANCE_WR(ctx, 0x17290/4, 0x000000cf); - INSTANCE_WR(ctx, 0x172b0/4, 0x000000cf); - INSTANCE_WR(ctx, 0x172d0/4, 0x000000cf); - INSTANCE_WR(ctx, 0x17430/4, 0x00000001); - INSTANCE_WR(ctx, 0x17450/4, 0x00000001); - INSTANCE_WR(ctx, 0x17470/4, 0x00000002); - INSTANCE_WR(ctx, 0x17490/4, 0x00000001); - INSTANCE_WR(ctx, 0x174b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x174d0/4, 0x00000002); - INSTANCE_WR(ctx, 0x174f0/4, 0x00000001); - INSTANCE_WR(ctx, 0x17530/4, 0x00000001); - INSTANCE_WR(ctx, 0x17550/4, 0x00000001); - INSTANCE_WR(ctx, 0x17570/4, 0x00000001); - INSTANCE_WR(ctx, 0x17590/4, 0x00000001); - INSTANCE_WR(ctx, 0x175b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x175d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x175f0/4, 0x00000001); - INSTANCE_WR(ctx, 0x17610/4, 0x00000001); - INSTANCE_WR(ctx, 0x17630/4, 0x00000011); - INSTANCE_WR(ctx, 0x17730/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x17750/4, 0x0000000f); - INSTANCE_WR(ctx, 0x17850/4, 0x00003e60); - INSTANCE_WR(ctx, 0x178b0/4, 0x00000011); - INSTANCE_WR(ctx, 0x178d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x17910/4, 0x00000004); - INSTANCE_WR(ctx, 0x179d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x17a70/4, 0x00000011); - INSTANCE_WR(ctx, 0x17b70/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x17bf0/4, 0x00000011); - INSTANCE_WR(ctx, 0x17c10/4, 0x00000001); - INSTANCE_WR(ctx, 0x17c50/4, 0x00000001); - INSTANCE_WR(ctx, 0x17c90/4, 0x00000001); - INSTANCE_WR(ctx, 0x17cd0/4, 0x000003ff); - INSTANCE_WR(ctx, 0x17d10/4, 0x00000001); - INSTANCE_WR(ctx, 0x17d50/4, 0x00000001); - INSTANCE_WR(ctx, 0x182b0/4, 0x00000008); - INSTANCE_WR(ctx, 0x182d0/4, 0x00000008); - INSTANCE_WR(ctx, 0x182f0/4, 0x00000008); - INSTANCE_WR(ctx, 0x18310/4, 0x00000008); - INSTANCE_WR(ctx, 0x18330/4, 0x00000008); - INSTANCE_WR(ctx, 0x18350/4, 0x00000008); - INSTANCE_WR(ctx, 0x18370/4, 0x00000008); - INSTANCE_WR(ctx, 0x18390/4, 0x00000008); - INSTANCE_WR(ctx, 0x183b0/4, 0x00000011); - INSTANCE_WR(ctx, 0x184b0/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x184d0/4, 0x00000400); - INSTANCE_WR(ctx, 0x184f0/4, 0x00000400); - INSTANCE_WR(ctx, 0x18510/4, 0x00000400); - INSTANCE_WR(ctx, 0x18530/4, 0x00000400); - INSTANCE_WR(ctx, 0x18550/4, 0x00000400); - INSTANCE_WR(ctx, 0x18570/4, 0x00000400); - INSTANCE_WR(ctx, 0x18590/4, 0x00000400); - INSTANCE_WR(ctx, 0x185b0/4, 0x00000400); - INSTANCE_WR(ctx, 0x185d0/4, 0x00000300); - INSTANCE_WR(ctx, 0x185f0/4, 0x00000300); - INSTANCE_WR(ctx, 0x18610/4, 0x00000300); - INSTANCE_WR(ctx, 0x18630/4, 0x00000300); - INSTANCE_WR(ctx, 0x18650/4, 0x00000300); - INSTANCE_WR(ctx, 0x18670/4, 0x00000300); - INSTANCE_WR(ctx, 0x18690/4, 0x00000300); - INSTANCE_WR(ctx, 0x186b0/4, 0x00000300); - INSTANCE_WR(ctx, 0x186d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x186f0/4, 0x0000000f); - INSTANCE_WR(ctx, 0x187f0/4, 0x00000020); - INSTANCE_WR(ctx, 0x18810/4, 0x00000011); - INSTANCE_WR(ctx, 0x18830/4, 0x00000100); - INSTANCE_WR(ctx, 0x18870/4, 0x00000001); - INSTANCE_WR(ctx, 0x188d0/4, 0x00000040); - INSTANCE_WR(ctx, 0x188f0/4, 0x00000100); - INSTANCE_WR(ctx, 0x18930/4, 0x00000003); - INSTANCE_WR(ctx, 0x189d0/4, 0x00003e60); - INSTANCE_WR(ctx, 0x18a50/4, 0x00000002); - INSTANCE_WR(ctx, 0x18a70/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x18bb0/4, 0x00000001); - INSTANCE_WR(ctx, 0x18c50/4, 0x00000004); - INSTANCE_WR(ctx, 0x18c90/4, 0x00000001); - INSTANCE_WR(ctx, 0x18cb0/4, 0x00000400); - INSTANCE_WR(ctx, 0x18cd0/4, 0x00000300); - INSTANCE_WR(ctx, 0x18cf0/4, 0x00001001); - INSTANCE_WR(ctx, 0x18d70/4, 0x00000011); - INSTANCE_WR(ctx, 0x18e70/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x18e90/4, 0x0000000f); - INSTANCE_WR(ctx, 0x19190/4, 0x00003e60); - INSTANCE_WR(ctx, 0x19210/4, 0x00000011); - INSTANCE_WR(ctx, 0x19270/4, 0x00000004); - INSTANCE_WR(ctx, 0x192b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x192d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x19350/4, 0x00000001); - INSTANCE_WR(ctx, 0x193d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x19410/4, 0x00000001); - INSTANCE_WR(ctx, 0x19470/4, 0x2a712488); - INSTANCE_WR(ctx, 0x194b0/4, 0x4085c000); - INSTANCE_WR(ctx, 0x194d0/4, 0x00000040); - INSTANCE_WR(ctx, 0x194f0/4, 0x00000100); - INSTANCE_WR(ctx, 0x19510/4, 0x00010100); - INSTANCE_WR(ctx, 0x19530/4, 0x02800000); - INSTANCE_WR(ctx, 0x19730/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x19750/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x19770/4, 0x00000001); - INSTANCE_WR(ctx, 0x197b0/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x197d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x19830/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x19950/4, 0x00000001); - INSTANCE_WR(ctx, 0x19990/4, 0x00000001); - INSTANCE_WR(ctx, 0x199b0/4, 0x30201000); - INSTANCE_WR(ctx, 0x199d0/4, 0x70605040); - INSTANCE_WR(ctx, 0x199f0/4, 0xb8a89888); - INSTANCE_WR(ctx, 0x19a10/4, 0xf8e8d8c8); - INSTANCE_WR(ctx, 0x19a50/4, 0x0000001a); - INSTANCE_WR(ctx, 0x19a90/4, 0x00000004); - INSTANCE_WR(ctx, 0x19d50/4, 0x00000004); - INSTANCE_WR(ctx, 0x19d70/4, 0x00000004); - INSTANCE_WR(ctx, 0x19d90/4, 0x00608080); - INSTANCE_WR(ctx, 0x19e30/4, 0x00000004); - INSTANCE_WR(ctx, 0x19e90/4, 0x00000004); - INSTANCE_WR(ctx, 0x19eb0/4, 0x00000004); - INSTANCE_WR(ctx, 0x19ed0/4, 0x00000080); - INSTANCE_WR(ctx, 0x19ef0/4, 0x00001000); - INSTANCE_WR(ctx, 0x19f10/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a3b0/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a3d0/4, 0x00000080); - INSTANCE_WR(ctx, 0x1a3f0/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a410/4, 0x03020100); - INSTANCE_WR(ctx, 0x1a430/4, 0x00000003); - INSTANCE_WR(ctx, 0x1a450/4, 0x00001000); - INSTANCE_WR(ctx, 0x1a470/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a510/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a530/4, 0x00000003); - INSTANCE_WR(ctx, 0x1a5b0/4, 0x00000004); - INSTANCE_WR(ctx, 0x2ea50/4, 0x00000004); - INSTANCE_WR(ctx, 0x2ea70/4, 0x00000003); - INSTANCE_WR(ctx, 0x2ecb0/4, 0x0000000f); - INSTANCE_WR(ctx, 0x2ee30/4, 0x00000004); - INSTANCE_WR(ctx, 0x2ee50/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2ee70/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2ee90/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2eeb0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2efd0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f050/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f110/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f2b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f2d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f2f0/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f310/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f330/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f350/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f370/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f3b0/4, 0x00000011); - INSTANCE_WR(ctx, 0x2f4b0/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x2f510/4, 0x00000004); - INSTANCE_WR(ctx, 0x2f590/4, 0x00000011); - INSTANCE_WR(ctx, 0x2f5b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f5f0/4, 0x000000cf); - INSTANCE_WR(ctx, 0x2f610/4, 0x000000cf); - INSTANCE_WR(ctx, 0x2f630/4, 0x000000cf); - INSTANCE_WR(ctx, 0x2f790/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f7b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f7d0/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f7f0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f810/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f830/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f850/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f890/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f8b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f8d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f8f0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f910/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f930/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f950/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f970/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f990/4, 0x00000011); - INSTANCE_WR(ctx, 0x2fa90/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x2fab0/4, 0x0000000f); - INSTANCE_WR(ctx, 0x2fbb0/4, 0x00003e60); - INSTANCE_WR(ctx, 0x2fc10/4, 0x00000011); - INSTANCE_WR(ctx, 0x2fc30/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fc70/4, 0x00000004); - INSTANCE_WR(ctx, 0x2fd30/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fdd0/4, 0x00000011); - INSTANCE_WR(ctx, 0x2fed0/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x2ff50/4, 0x00000011); - INSTANCE_WR(ctx, 0x2ff70/4, 0x00000001); - INSTANCE_WR(ctx, 0x2ffb0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fff0/4, 0x00000001); - INSTANCE_WR(ctx, 0x30030/4, 0x000003ff); - INSTANCE_WR(ctx, 0x30070/4, 0x00000001); - INSTANCE_WR(ctx, 0x300b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x30610/4, 0x00000008); - INSTANCE_WR(ctx, 0x30630/4, 0x00000008); - INSTANCE_WR(ctx, 0x30650/4, 0x00000008); - INSTANCE_WR(ctx, 0x30670/4, 0x00000008); - INSTANCE_WR(ctx, 0x30690/4, 0x00000008); - INSTANCE_WR(ctx, 0x306b0/4, 0x00000008); - INSTANCE_WR(ctx, 0x306d0/4, 0x00000008); - INSTANCE_WR(ctx, 0x306f0/4, 0x00000008); - INSTANCE_WR(ctx, 0x30710/4, 0x00000011); - INSTANCE_WR(ctx, 0x30810/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x30830/4, 0x00000400); - INSTANCE_WR(ctx, 0x30850/4, 0x00000400); - INSTANCE_WR(ctx, 0x30870/4, 0x00000400); - INSTANCE_WR(ctx, 0x30890/4, 0x00000400); - INSTANCE_WR(ctx, 0x308b0/4, 0x00000400); - INSTANCE_WR(ctx, 0x308d0/4, 0x00000400); - INSTANCE_WR(ctx, 0x308f0/4, 0x00000400); - INSTANCE_WR(ctx, 0x30910/4, 0x00000400); - INSTANCE_WR(ctx, 0x30930/4, 0x00000300); - INSTANCE_WR(ctx, 0x30950/4, 0x00000300); - INSTANCE_WR(ctx, 0x30970/4, 0x00000300); - INSTANCE_WR(ctx, 0x30990/4, 0x00000300); - INSTANCE_WR(ctx, 0x309b0/4, 0x00000300); - INSTANCE_WR(ctx, 0x309d0/4, 0x00000300); - INSTANCE_WR(ctx, 0x309f0/4, 0x00000300); - INSTANCE_WR(ctx, 0x30a10/4, 0x00000300); - INSTANCE_WR(ctx, 0x30a30/4, 0x00000001); - INSTANCE_WR(ctx, 0x30a50/4, 0x0000000f); - INSTANCE_WR(ctx, 0x30b50/4, 0x00000020); - INSTANCE_WR(ctx, 0x30b70/4, 0x00000011); - INSTANCE_WR(ctx, 0x30b90/4, 0x00000100); - INSTANCE_WR(ctx, 0x30bd0/4, 0x00000001); - INSTANCE_WR(ctx, 0x30c30/4, 0x00000040); - INSTANCE_WR(ctx, 0x30c50/4, 0x00000100); - INSTANCE_WR(ctx, 0x30c90/4, 0x00000003); - INSTANCE_WR(ctx, 0x30d30/4, 0x00003e60); - INSTANCE_WR(ctx, 0x30db0/4, 0x00000002); - INSTANCE_WR(ctx, 0x30dd0/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x30f10/4, 0x00000001); - INSTANCE_WR(ctx, 0x30fb0/4, 0x00000004); - INSTANCE_WR(ctx, 0x30ff0/4, 0x00000001); - INSTANCE_WR(ctx, 0x31010/4, 0x00000400); - INSTANCE_WR(ctx, 0x31030/4, 0x00000300); - INSTANCE_WR(ctx, 0x31050/4, 0x00001001); - INSTANCE_WR(ctx, 0x310d0/4, 0x00000011); - INSTANCE_WR(ctx, 0x311d0/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x311f0/4, 0x0000000f); - INSTANCE_WR(ctx, 0x314f0/4, 0x00003e60); - INSTANCE_WR(ctx, 0x31570/4, 0x00000011); - INSTANCE_WR(ctx, 0x315d0/4, 0x00000004); - INSTANCE_WR(ctx, 0x31610/4, 0x00000001); - INSTANCE_WR(ctx, 0x31630/4, 0x00000001); - INSTANCE_WR(ctx, 0x316b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x31730/4, 0x00000001); - INSTANCE_WR(ctx, 0x31770/4, 0x00000001); - INSTANCE_WR(ctx, 0x317d0/4, 0x2a712488); - INSTANCE_WR(ctx, 0x31810/4, 0x4085c000); - INSTANCE_WR(ctx, 0x31830/4, 0x00000040); - INSTANCE_WR(ctx, 0x31850/4, 0x00000100); - INSTANCE_WR(ctx, 0x31870/4, 0x00010100); - INSTANCE_WR(ctx, 0x31890/4, 0x02800000); - INSTANCE_WR(ctx, 0x31a90/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x31ab0/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x31ad0/4, 0x00000001); - INSTANCE_WR(ctx, 0x31b10/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x31b30/4, 0x00000001); - INSTANCE_WR(ctx, 0x31b90/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x31cb0/4, 0x00000001); - INSTANCE_WR(ctx, 0x31cf0/4, 0x00000001); - INSTANCE_WR(ctx, 0x31d10/4, 0x30201000); - INSTANCE_WR(ctx, 0x31d30/4, 0x70605040); - INSTANCE_WR(ctx, 0x31d50/4, 0xb8a89888); - INSTANCE_WR(ctx, 0x31d70/4, 0xf8e8d8c8); - INSTANCE_WR(ctx, 0x31db0/4, 0x0000001a); - INSTANCE_WR(ctx, 0x01734/4, 0x00000004); - INSTANCE_WR(ctx, 0x019f4/4, 0x00000004); - INSTANCE_WR(ctx, 0x01a14/4, 0x00000004); - INSTANCE_WR(ctx, 0x01a34/4, 0x00608080); - INSTANCE_WR(ctx, 0x01ad4/4, 0x00000004); - INSTANCE_WR(ctx, 0x01b34/4, 0x00000004); - INSTANCE_WR(ctx, 0x01b54/4, 0x00000004); - INSTANCE_WR(ctx, 0x01b74/4, 0x00000080); - INSTANCE_WR(ctx, 0x01b94/4, 0x00001000); - INSTANCE_WR(ctx, 0x01bb4/4, 0x00000004); - INSTANCE_WR(ctx, 0x02054/4, 0x00000004); - INSTANCE_WR(ctx, 0x02074/4, 0x00000080); - INSTANCE_WR(ctx, 0x02094/4, 0x00000004); - INSTANCE_WR(ctx, 0x020b4/4, 0x03020100); - INSTANCE_WR(ctx, 0x020d4/4, 0x00000003); - INSTANCE_WR(ctx, 0x020f4/4, 0x00001000); - INSTANCE_WR(ctx, 0x02114/4, 0x00000004); - INSTANCE_WR(ctx, 0x021b4/4, 0x00000004); - INSTANCE_WR(ctx, 0x021d4/4, 0x00000003); - INSTANCE_WR(ctx, 0x02254/4, 0x00000004); - INSTANCE_WR(ctx, 0x166f4/4, 0x00000004); - INSTANCE_WR(ctx, 0x16714/4, 0x00000003); - INSTANCE_WR(ctx, 0x16954/4, 0x0000000f); - INSTANCE_WR(ctx, 0x16ad4/4, 0x00000004); - INSTANCE_WR(ctx, 0x16af4/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16b14/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16b34/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16b54/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16c74/4, 0x00000001); - INSTANCE_WR(ctx, 0x16cf4/4, 0x00000001); - INSTANCE_WR(ctx, 0x16db4/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f54/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f74/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f94/4, 0x00000002); - INSTANCE_WR(ctx, 0x16fb4/4, 0x00000001); - INSTANCE_WR(ctx, 0x16fd4/4, 0x00000001); - INSTANCE_WR(ctx, 0x16ff4/4, 0x00000002); - INSTANCE_WR(ctx, 0x17014/4, 0x00000001); - INSTANCE_WR(ctx, 0x17054/4, 0x00000011); - INSTANCE_WR(ctx, 0x17154/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x171b4/4, 0x00000004); - INSTANCE_WR(ctx, 0x17234/4, 0x00000011); - INSTANCE_WR(ctx, 0x17254/4, 0x00000001); - INSTANCE_WR(ctx, 0x17294/4, 0x000000cf); - INSTANCE_WR(ctx, 0x172b4/4, 0x000000cf); - INSTANCE_WR(ctx, 0x172d4/4, 0x000000cf); - INSTANCE_WR(ctx, 0x17434/4, 0x00000001); - INSTANCE_WR(ctx, 0x17454/4, 0x00000001); - INSTANCE_WR(ctx, 0x17474/4, 0x00000002); - INSTANCE_WR(ctx, 0x17494/4, 0x00000001); - INSTANCE_WR(ctx, 0x174b4/4, 0x00000001); - INSTANCE_WR(ctx, 0x174d4/4, 0x00000002); - INSTANCE_WR(ctx, 0x174f4/4, 0x00000001); - INSTANCE_WR(ctx, 0x17534/4, 0x00000001); - INSTANCE_WR(ctx, 0x17554/4, 0x00000001); - INSTANCE_WR(ctx, 0x17574/4, 0x00000001); - INSTANCE_WR(ctx, 0x17594/4, 0x00000001); - INSTANCE_WR(ctx, 0x175b4/4, 0x00000001); - INSTANCE_WR(ctx, 0x175d4/4, 0x00000001); - INSTANCE_WR(ctx, 0x175f4/4, 0x00000001); - INSTANCE_WR(ctx, 0x17614/4, 0x00000001); - INSTANCE_WR(ctx, 0x17634/4, 0x00000011); - INSTANCE_WR(ctx, 0x17734/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x17754/4, 0x0000000f); - INSTANCE_WR(ctx, 0x17854/4, 0x00003e60); - INSTANCE_WR(ctx, 0x178b4/4, 0x00000011); - INSTANCE_WR(ctx, 0x178d4/4, 0x00000001); - INSTANCE_WR(ctx, 0x17914/4, 0x00000004); - INSTANCE_WR(ctx, 0x179d4/4, 0x00000001); - INSTANCE_WR(ctx, 0x17a74/4, 0x00000011); - INSTANCE_WR(ctx, 0x17b74/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x17bf4/4, 0x00000011); - INSTANCE_WR(ctx, 0x17c14/4, 0x00000001); - INSTANCE_WR(ctx, 0x17c54/4, 0x00000001); - INSTANCE_WR(ctx, 0x17c94/4, 0x00000001); - INSTANCE_WR(ctx, 0x17cd4/4, 0x000003ff); - INSTANCE_WR(ctx, 0x17d14/4, 0x00000001); - INSTANCE_WR(ctx, 0x17d54/4, 0x00000001); - INSTANCE_WR(ctx, 0x182b4/4, 0x00000008); - INSTANCE_WR(ctx, 0x182d4/4, 0x00000008); - INSTANCE_WR(ctx, 0x182f4/4, 0x00000008); - INSTANCE_WR(ctx, 0x18314/4, 0x00000008); - INSTANCE_WR(ctx, 0x18334/4, 0x00000008); - INSTANCE_WR(ctx, 0x18354/4, 0x00000008); - INSTANCE_WR(ctx, 0x18374/4, 0x00000008); - INSTANCE_WR(ctx, 0x18394/4, 0x00000008); - INSTANCE_WR(ctx, 0x183b4/4, 0x00000011); - INSTANCE_WR(ctx, 0x184b4/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x184d4/4, 0x00000400); - INSTANCE_WR(ctx, 0x184f4/4, 0x00000400); - INSTANCE_WR(ctx, 0x18514/4, 0x00000400); - INSTANCE_WR(ctx, 0x18534/4, 0x00000400); - INSTANCE_WR(ctx, 0x18554/4, 0x00000400); - INSTANCE_WR(ctx, 0x18574/4, 0x00000400); - INSTANCE_WR(ctx, 0x18594/4, 0x00000400); - INSTANCE_WR(ctx, 0x185b4/4, 0x00000400); - INSTANCE_WR(ctx, 0x185d4/4, 0x00000300); - INSTANCE_WR(ctx, 0x185f4/4, 0x00000300); - INSTANCE_WR(ctx, 0x18614/4, 0x00000300); - INSTANCE_WR(ctx, 0x18634/4, 0x00000300); - INSTANCE_WR(ctx, 0x18654/4, 0x00000300); - INSTANCE_WR(ctx, 0x18674/4, 0x00000300); - INSTANCE_WR(ctx, 0x18694/4, 0x00000300); - INSTANCE_WR(ctx, 0x186b4/4, 0x00000300); - INSTANCE_WR(ctx, 0x186d4/4, 0x00000001); - INSTANCE_WR(ctx, 0x186f4/4, 0x0000000f); - INSTANCE_WR(ctx, 0x187f4/4, 0x00000020); - INSTANCE_WR(ctx, 0x18814/4, 0x00000011); - INSTANCE_WR(ctx, 0x18834/4, 0x00000100); - INSTANCE_WR(ctx, 0x18874/4, 0x00000001); - INSTANCE_WR(ctx, 0x188d4/4, 0x00000040); - INSTANCE_WR(ctx, 0x188f4/4, 0x00000100); - INSTANCE_WR(ctx, 0x18934/4, 0x00000003); - INSTANCE_WR(ctx, 0x189d4/4, 0x00003e60); - INSTANCE_WR(ctx, 0x18a54/4, 0x00000002); - INSTANCE_WR(ctx, 0x18a74/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x18bb4/4, 0x00000001); - INSTANCE_WR(ctx, 0x18c54/4, 0x00000004); - INSTANCE_WR(ctx, 0x18c94/4, 0x00000001); - INSTANCE_WR(ctx, 0x18cb4/4, 0x00000400); - INSTANCE_WR(ctx, 0x18cd4/4, 0x00000300); - INSTANCE_WR(ctx, 0x18cf4/4, 0x00001001); - INSTANCE_WR(ctx, 0x18d74/4, 0x00000011); - INSTANCE_WR(ctx, 0x18e74/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x18e94/4, 0x0000000f); - INSTANCE_WR(ctx, 0x19194/4, 0x00003e60); - INSTANCE_WR(ctx, 0x19214/4, 0x00000011); - INSTANCE_WR(ctx, 0x19274/4, 0x00000004); - INSTANCE_WR(ctx, 0x192b4/4, 0x00000001); - INSTANCE_WR(ctx, 0x192d4/4, 0x00000001); - INSTANCE_WR(ctx, 0x19354/4, 0x00000001); - INSTANCE_WR(ctx, 0x193d4/4, 0x00000001); - INSTANCE_WR(ctx, 0x19414/4, 0x00000001); - INSTANCE_WR(ctx, 0x19474/4, 0x2a712488); - INSTANCE_WR(ctx, 0x194b4/4, 0x4085c000); - INSTANCE_WR(ctx, 0x194d4/4, 0x00000040); - INSTANCE_WR(ctx, 0x194f4/4, 0x00000100); - INSTANCE_WR(ctx, 0x19514/4, 0x00010100); - INSTANCE_WR(ctx, 0x19534/4, 0x02800000); - INSTANCE_WR(ctx, 0x19734/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x19754/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x19774/4, 0x00000001); - INSTANCE_WR(ctx, 0x197b4/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x197d4/4, 0x00000001); - INSTANCE_WR(ctx, 0x19834/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x19954/4, 0x00000001); - INSTANCE_WR(ctx, 0x19994/4, 0x00000001); - INSTANCE_WR(ctx, 0x199b4/4, 0x30201000); - INSTANCE_WR(ctx, 0x199d4/4, 0x70605040); - INSTANCE_WR(ctx, 0x199f4/4, 0xb8a89888); - INSTANCE_WR(ctx, 0x19a14/4, 0xf8e8d8c8); - INSTANCE_WR(ctx, 0x19a54/4, 0x0000001a); - INSTANCE_WR(ctx, 0x19a94/4, 0x00000004); - INSTANCE_WR(ctx, 0x19d54/4, 0x00000004); - INSTANCE_WR(ctx, 0x19d74/4, 0x00000004); - INSTANCE_WR(ctx, 0x19d94/4, 0x00608080); - INSTANCE_WR(ctx, 0x19e34/4, 0x00000004); - INSTANCE_WR(ctx, 0x19e94/4, 0x00000004); - INSTANCE_WR(ctx, 0x19eb4/4, 0x00000004); - INSTANCE_WR(ctx, 0x19ed4/4, 0x00000080); - INSTANCE_WR(ctx, 0x19ef4/4, 0x00001000); - INSTANCE_WR(ctx, 0x19f14/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a3b4/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a3d4/4, 0x00000080); - INSTANCE_WR(ctx, 0x1a3f4/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a414/4, 0x03020100); - INSTANCE_WR(ctx, 0x1a434/4, 0x00000003); - INSTANCE_WR(ctx, 0x1a454/4, 0x00001000); - INSTANCE_WR(ctx, 0x1a474/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a514/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a534/4, 0x00000003); - INSTANCE_WR(ctx, 0x1a5b4/4, 0x00000004); - INSTANCE_WR(ctx, 0x2ea54/4, 0x00000004); - INSTANCE_WR(ctx, 0x2ea74/4, 0x00000003); - INSTANCE_WR(ctx, 0x2ecb4/4, 0x0000000f); - INSTANCE_WR(ctx, 0x2ee34/4, 0x00000004); - INSTANCE_WR(ctx, 0x2ee54/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2ee74/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2ee94/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2eeb4/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2efd4/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f054/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f114/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f2b4/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f2d4/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f2f4/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f314/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f334/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f354/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f374/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f3b4/4, 0x00000011); - INSTANCE_WR(ctx, 0x2f4b4/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x2f514/4, 0x00000004); - INSTANCE_WR(ctx, 0x2f594/4, 0x00000011); - INSTANCE_WR(ctx, 0x2f5b4/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f5f4/4, 0x000000cf); - INSTANCE_WR(ctx, 0x2f614/4, 0x000000cf); - INSTANCE_WR(ctx, 0x2f634/4, 0x000000cf); - INSTANCE_WR(ctx, 0x2f794/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f7b4/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f7d4/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f7f4/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f814/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f834/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f854/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f894/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f8b4/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f8d4/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f8f4/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f914/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f934/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f954/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f974/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f994/4, 0x00000011); - INSTANCE_WR(ctx, 0x2fa94/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x2fab4/4, 0x0000000f); - INSTANCE_WR(ctx, 0x2fbb4/4, 0x00003e60); - INSTANCE_WR(ctx, 0x2fc14/4, 0x00000011); - INSTANCE_WR(ctx, 0x2fc34/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fc74/4, 0x00000004); - INSTANCE_WR(ctx, 0x2fd34/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fdd4/4, 0x00000011); - INSTANCE_WR(ctx, 0x2fed4/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x2ff54/4, 0x00000011); - INSTANCE_WR(ctx, 0x2ff74/4, 0x00000001); - INSTANCE_WR(ctx, 0x2ffb4/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fff4/4, 0x00000001); - INSTANCE_WR(ctx, 0x30034/4, 0x000003ff); - INSTANCE_WR(ctx, 0x30074/4, 0x00000001); - INSTANCE_WR(ctx, 0x300b4/4, 0x00000001); - INSTANCE_WR(ctx, 0x30614/4, 0x00000008); - INSTANCE_WR(ctx, 0x30634/4, 0x00000008); - INSTANCE_WR(ctx, 0x30654/4, 0x00000008); - INSTANCE_WR(ctx, 0x30674/4, 0x00000008); - INSTANCE_WR(ctx, 0x30694/4, 0x00000008); - INSTANCE_WR(ctx, 0x306b4/4, 0x00000008); - INSTANCE_WR(ctx, 0x306d4/4, 0x00000008); - INSTANCE_WR(ctx, 0x306f4/4, 0x00000008); - INSTANCE_WR(ctx, 0x30714/4, 0x00000011); - INSTANCE_WR(ctx, 0x30814/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x30834/4, 0x00000400); - INSTANCE_WR(ctx, 0x30854/4, 0x00000400); - INSTANCE_WR(ctx, 0x30874/4, 0x00000400); - INSTANCE_WR(ctx, 0x30894/4, 0x00000400); - INSTANCE_WR(ctx, 0x308b4/4, 0x00000400); - INSTANCE_WR(ctx, 0x308d4/4, 0x00000400); - INSTANCE_WR(ctx, 0x308f4/4, 0x00000400); - INSTANCE_WR(ctx, 0x30914/4, 0x00000400); - INSTANCE_WR(ctx, 0x30934/4, 0x00000300); - INSTANCE_WR(ctx, 0x30954/4, 0x00000300); - INSTANCE_WR(ctx, 0x30974/4, 0x00000300); - INSTANCE_WR(ctx, 0x30994/4, 0x00000300); - INSTANCE_WR(ctx, 0x309b4/4, 0x00000300); - INSTANCE_WR(ctx, 0x309d4/4, 0x00000300); - INSTANCE_WR(ctx, 0x309f4/4, 0x00000300); - INSTANCE_WR(ctx, 0x30a14/4, 0x00000300); - INSTANCE_WR(ctx, 0x30a34/4, 0x00000001); - INSTANCE_WR(ctx, 0x30a54/4, 0x0000000f); - INSTANCE_WR(ctx, 0x30b54/4, 0x00000020); - INSTANCE_WR(ctx, 0x30b74/4, 0x00000011); - INSTANCE_WR(ctx, 0x30b94/4, 0x00000100); - INSTANCE_WR(ctx, 0x30bd4/4, 0x00000001); - INSTANCE_WR(ctx, 0x30c34/4, 0x00000040); - INSTANCE_WR(ctx, 0x30c54/4, 0x00000100); - INSTANCE_WR(ctx, 0x30c94/4, 0x00000003); - INSTANCE_WR(ctx, 0x30d34/4, 0x00003e60); - INSTANCE_WR(ctx, 0x30db4/4, 0x00000002); - INSTANCE_WR(ctx, 0x30dd4/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x30f14/4, 0x00000001); - INSTANCE_WR(ctx, 0x30fb4/4, 0x00000004); - INSTANCE_WR(ctx, 0x30ff4/4, 0x00000001); - INSTANCE_WR(ctx, 0x31014/4, 0x00000400); - INSTANCE_WR(ctx, 0x31034/4, 0x00000300); - INSTANCE_WR(ctx, 0x31054/4, 0x00001001); - INSTANCE_WR(ctx, 0x310d4/4, 0x00000011); - INSTANCE_WR(ctx, 0x311d4/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x311f4/4, 0x0000000f); - INSTANCE_WR(ctx, 0x314f4/4, 0x00003e60); - INSTANCE_WR(ctx, 0x31574/4, 0x00000011); - INSTANCE_WR(ctx, 0x315d4/4, 0x00000004); - INSTANCE_WR(ctx, 0x31614/4, 0x00000001); - INSTANCE_WR(ctx, 0x31634/4, 0x00000001); - INSTANCE_WR(ctx, 0x316b4/4, 0x00000001); - INSTANCE_WR(ctx, 0x31734/4, 0x00000001); - INSTANCE_WR(ctx, 0x31774/4, 0x00000001); - INSTANCE_WR(ctx, 0x317d4/4, 0x2a712488); - INSTANCE_WR(ctx, 0x31814/4, 0x4085c000); - INSTANCE_WR(ctx, 0x31834/4, 0x00000040); - INSTANCE_WR(ctx, 0x31854/4, 0x00000100); - INSTANCE_WR(ctx, 0x31874/4, 0x00010100); - INSTANCE_WR(ctx, 0x31894/4, 0x02800000); - INSTANCE_WR(ctx, 0x31a94/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x31ab4/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x31ad4/4, 0x00000001); - INSTANCE_WR(ctx, 0x31b14/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x31b34/4, 0x00000001); - INSTANCE_WR(ctx, 0x31b94/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x31cb4/4, 0x00000001); - INSTANCE_WR(ctx, 0x31cf4/4, 0x00000001); - INSTANCE_WR(ctx, 0x31d14/4, 0x30201000); - INSTANCE_WR(ctx, 0x31d34/4, 0x70605040); - INSTANCE_WR(ctx, 0x31d54/4, 0xb8a89888); - INSTANCE_WR(ctx, 0x31d74/4, 0xf8e8d8c8); - INSTANCE_WR(ctx, 0x31db4/4, 0x0000001a); - INSTANCE_WR(ctx, 0x01738/4, 0x00000004); - INSTANCE_WR(ctx, 0x019f8/4, 0x00000004); - INSTANCE_WR(ctx, 0x01a18/4, 0x00000004); - INSTANCE_WR(ctx, 0x01a38/4, 0x00608080); - INSTANCE_WR(ctx, 0x01ad8/4, 0x00000004); - INSTANCE_WR(ctx, 0x01b38/4, 0x00000004); - INSTANCE_WR(ctx, 0x01b58/4, 0x00000004); - INSTANCE_WR(ctx, 0x01b78/4, 0x00000080); - INSTANCE_WR(ctx, 0x01b98/4, 0x00001000); - INSTANCE_WR(ctx, 0x01bb8/4, 0x00000004); - INSTANCE_WR(ctx, 0x02058/4, 0x00000004); - INSTANCE_WR(ctx, 0x02078/4, 0x00000080); - INSTANCE_WR(ctx, 0x02098/4, 0x00000004); - INSTANCE_WR(ctx, 0x020b8/4, 0x03020100); - INSTANCE_WR(ctx, 0x020d8/4, 0x00000003); - INSTANCE_WR(ctx, 0x020f8/4, 0x00001000); - INSTANCE_WR(ctx, 0x02118/4, 0x00000004); - INSTANCE_WR(ctx, 0x021b8/4, 0x00000004); - INSTANCE_WR(ctx, 0x021d8/4, 0x00000003); - INSTANCE_WR(ctx, 0x02258/4, 0x00000004); - INSTANCE_WR(ctx, 0x166f8/4, 0x00000004); - INSTANCE_WR(ctx, 0x16718/4, 0x00000003); - INSTANCE_WR(ctx, 0x16958/4, 0x0000000f); - INSTANCE_WR(ctx, 0x16ad8/4, 0x00000004); - INSTANCE_WR(ctx, 0x16af8/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16b18/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16b38/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16b58/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16c78/4, 0x00000001); - INSTANCE_WR(ctx, 0x16cf8/4, 0x00000001); - INSTANCE_WR(ctx, 0x16db8/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f58/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f78/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f98/4, 0x00000002); - INSTANCE_WR(ctx, 0x16fb8/4, 0x00000001); - INSTANCE_WR(ctx, 0x16fd8/4, 0x00000001); - INSTANCE_WR(ctx, 0x16ff8/4, 0x00000002); - INSTANCE_WR(ctx, 0x17018/4, 0x00000001); - INSTANCE_WR(ctx, 0x17058/4, 0x00000011); - INSTANCE_WR(ctx, 0x17158/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x171b8/4, 0x00000004); - INSTANCE_WR(ctx, 0x17238/4, 0x00000011); - INSTANCE_WR(ctx, 0x17258/4, 0x00000001); - INSTANCE_WR(ctx, 0x17298/4, 0x000000cf); - INSTANCE_WR(ctx, 0x172b8/4, 0x000000cf); - INSTANCE_WR(ctx, 0x172d8/4, 0x000000cf); - INSTANCE_WR(ctx, 0x17438/4, 0x00000001); - INSTANCE_WR(ctx, 0x17458/4, 0x00000001); - INSTANCE_WR(ctx, 0x17478/4, 0x00000002); - INSTANCE_WR(ctx, 0x17498/4, 0x00000001); - INSTANCE_WR(ctx, 0x174b8/4, 0x00000001); - INSTANCE_WR(ctx, 0x174d8/4, 0x00000002); - INSTANCE_WR(ctx, 0x174f8/4, 0x00000001); - INSTANCE_WR(ctx, 0x17538/4, 0x00000001); - INSTANCE_WR(ctx, 0x17558/4, 0x00000001); - INSTANCE_WR(ctx, 0x17578/4, 0x00000001); - INSTANCE_WR(ctx, 0x17598/4, 0x00000001); - INSTANCE_WR(ctx, 0x175b8/4, 0x00000001); - INSTANCE_WR(ctx, 0x175d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x175f8/4, 0x00000001); - INSTANCE_WR(ctx, 0x17618/4, 0x00000001); - INSTANCE_WR(ctx, 0x17638/4, 0x00000011); - INSTANCE_WR(ctx, 0x17738/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x17758/4, 0x0000000f); - INSTANCE_WR(ctx, 0x17858/4, 0x00003e60); - INSTANCE_WR(ctx, 0x178b8/4, 0x00000011); - INSTANCE_WR(ctx, 0x178d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x17918/4, 0x00000004); - INSTANCE_WR(ctx, 0x179d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x17a78/4, 0x00000011); - INSTANCE_WR(ctx, 0x17b78/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x17bf8/4, 0x00000011); - INSTANCE_WR(ctx, 0x17c18/4, 0x00000001); - INSTANCE_WR(ctx, 0x17c58/4, 0x00000001); - INSTANCE_WR(ctx, 0x17c98/4, 0x00000001); - INSTANCE_WR(ctx, 0x17cd8/4, 0x000003ff); - INSTANCE_WR(ctx, 0x17d18/4, 0x00000001); - INSTANCE_WR(ctx, 0x17d58/4, 0x00000001); - INSTANCE_WR(ctx, 0x182b8/4, 0x00000008); - INSTANCE_WR(ctx, 0x182d8/4, 0x00000008); - INSTANCE_WR(ctx, 0x182f8/4, 0x00000008); - INSTANCE_WR(ctx, 0x18318/4, 0x00000008); - INSTANCE_WR(ctx, 0x18338/4, 0x00000008); - INSTANCE_WR(ctx, 0x18358/4, 0x00000008); - INSTANCE_WR(ctx, 0x18378/4, 0x00000008); - INSTANCE_WR(ctx, 0x18398/4, 0x00000008); - INSTANCE_WR(ctx, 0x183b8/4, 0x00000011); - INSTANCE_WR(ctx, 0x184b8/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x184d8/4, 0x00000400); - INSTANCE_WR(ctx, 0x184f8/4, 0x00000400); - INSTANCE_WR(ctx, 0x18518/4, 0x00000400); - INSTANCE_WR(ctx, 0x18538/4, 0x00000400); - INSTANCE_WR(ctx, 0x18558/4, 0x00000400); - INSTANCE_WR(ctx, 0x18578/4, 0x00000400); - INSTANCE_WR(ctx, 0x18598/4, 0x00000400); - INSTANCE_WR(ctx, 0x185b8/4, 0x00000400); - INSTANCE_WR(ctx, 0x185d8/4, 0x00000300); - INSTANCE_WR(ctx, 0x185f8/4, 0x00000300); - INSTANCE_WR(ctx, 0x18618/4, 0x00000300); - INSTANCE_WR(ctx, 0x18638/4, 0x00000300); - INSTANCE_WR(ctx, 0x18658/4, 0x00000300); - INSTANCE_WR(ctx, 0x18678/4, 0x00000300); - INSTANCE_WR(ctx, 0x18698/4, 0x00000300); - INSTANCE_WR(ctx, 0x186b8/4, 0x00000300); - INSTANCE_WR(ctx, 0x186d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x186f8/4, 0x0000000f); - INSTANCE_WR(ctx, 0x187f8/4, 0x00000020); - INSTANCE_WR(ctx, 0x18818/4, 0x00000011); - INSTANCE_WR(ctx, 0x18838/4, 0x00000100); - INSTANCE_WR(ctx, 0x18878/4, 0x00000001); - INSTANCE_WR(ctx, 0x188d8/4, 0x00000040); - INSTANCE_WR(ctx, 0x188f8/4, 0x00000100); - INSTANCE_WR(ctx, 0x18938/4, 0x00000003); - INSTANCE_WR(ctx, 0x189d8/4, 0x00003e60); - INSTANCE_WR(ctx, 0x18a58/4, 0x00000002); - INSTANCE_WR(ctx, 0x18a78/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x18bb8/4, 0x00000001); - INSTANCE_WR(ctx, 0x18c58/4, 0x00000004); - INSTANCE_WR(ctx, 0x18c98/4, 0x00000001); - INSTANCE_WR(ctx, 0x18cb8/4, 0x00000400); - INSTANCE_WR(ctx, 0x18cd8/4, 0x00000300); - INSTANCE_WR(ctx, 0x18cf8/4, 0x00001001); - INSTANCE_WR(ctx, 0x18d78/4, 0x00000011); - INSTANCE_WR(ctx, 0x18e78/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x18e98/4, 0x0000000f); - INSTANCE_WR(ctx, 0x19198/4, 0x00003e60); - INSTANCE_WR(ctx, 0x19218/4, 0x00000011); - INSTANCE_WR(ctx, 0x19278/4, 0x00000004); - INSTANCE_WR(ctx, 0x192b8/4, 0x00000001); - INSTANCE_WR(ctx, 0x192d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x19358/4, 0x00000001); - INSTANCE_WR(ctx, 0x193d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x19418/4, 0x00000001); - INSTANCE_WR(ctx, 0x19478/4, 0x2a712488); - INSTANCE_WR(ctx, 0x194b8/4, 0x4085c000); - INSTANCE_WR(ctx, 0x194d8/4, 0x00000040); - INSTANCE_WR(ctx, 0x194f8/4, 0x00000100); - INSTANCE_WR(ctx, 0x19518/4, 0x00010100); - INSTANCE_WR(ctx, 0x19538/4, 0x02800000); - INSTANCE_WR(ctx, 0x19738/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x19758/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x19778/4, 0x00000001); - INSTANCE_WR(ctx, 0x197b8/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x197d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x19838/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x19958/4, 0x00000001); - INSTANCE_WR(ctx, 0x19998/4, 0x00000001); - INSTANCE_WR(ctx, 0x199b8/4, 0x30201000); - INSTANCE_WR(ctx, 0x199d8/4, 0x70605040); - INSTANCE_WR(ctx, 0x199f8/4, 0xb8a89888); - INSTANCE_WR(ctx, 0x19a18/4, 0xf8e8d8c8); - INSTANCE_WR(ctx, 0x19a58/4, 0x0000001a); - INSTANCE_WR(ctx, 0x19a98/4, 0x00000004); - INSTANCE_WR(ctx, 0x19d58/4, 0x00000004); - INSTANCE_WR(ctx, 0x19d78/4, 0x00000004); - INSTANCE_WR(ctx, 0x19d98/4, 0x00608080); - INSTANCE_WR(ctx, 0x19e38/4, 0x00000004); - INSTANCE_WR(ctx, 0x19e98/4, 0x00000004); - INSTANCE_WR(ctx, 0x19eb8/4, 0x00000004); - INSTANCE_WR(ctx, 0x19ed8/4, 0x00000080); - INSTANCE_WR(ctx, 0x19ef8/4, 0x00001000); - INSTANCE_WR(ctx, 0x19f18/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a3b8/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a3d8/4, 0x00000080); - INSTANCE_WR(ctx, 0x1a3f8/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a418/4, 0x03020100); - INSTANCE_WR(ctx, 0x1a438/4, 0x00000003); - INSTANCE_WR(ctx, 0x1a458/4, 0x00001000); - INSTANCE_WR(ctx, 0x1a478/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a518/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a538/4, 0x00000003); - INSTANCE_WR(ctx, 0x1a5b8/4, 0x00000004); - INSTANCE_WR(ctx, 0x2ea58/4, 0x00000004); - INSTANCE_WR(ctx, 0x2ea78/4, 0x00000003); - INSTANCE_WR(ctx, 0x2ecb8/4, 0x0000000f); - INSTANCE_WR(ctx, 0x2ee38/4, 0x00000004); - INSTANCE_WR(ctx, 0x2ee58/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2ee78/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2ee98/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2eeb8/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2efd8/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f058/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f118/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f2b8/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f2d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f2f8/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f318/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f338/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f358/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f378/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f3b8/4, 0x00000011); - INSTANCE_WR(ctx, 0x2f4b8/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x2f518/4, 0x00000004); - INSTANCE_WR(ctx, 0x2f598/4, 0x00000011); - INSTANCE_WR(ctx, 0x2f5b8/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f5f8/4, 0x000000cf); - INSTANCE_WR(ctx, 0x2f618/4, 0x000000cf); - INSTANCE_WR(ctx, 0x2f638/4, 0x000000cf); - INSTANCE_WR(ctx, 0x2f798/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f7b8/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f7d8/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f7f8/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f818/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f838/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f858/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f898/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f8b8/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f8d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f8f8/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f918/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f938/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f958/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f978/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f998/4, 0x00000011); - INSTANCE_WR(ctx, 0x2fa98/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x2fab8/4, 0x0000000f); - INSTANCE_WR(ctx, 0x2fbb8/4, 0x00003e60); - INSTANCE_WR(ctx, 0x2fc18/4, 0x00000011); - INSTANCE_WR(ctx, 0x2fc38/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fc78/4, 0x00000004); - INSTANCE_WR(ctx, 0x2fd38/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fdd8/4, 0x00000011); - INSTANCE_WR(ctx, 0x2fed8/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x2ff58/4, 0x00000011); - INSTANCE_WR(ctx, 0x2ff78/4, 0x00000001); - INSTANCE_WR(ctx, 0x2ffb8/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fff8/4, 0x00000001); - INSTANCE_WR(ctx, 0x30038/4, 0x000003ff); - INSTANCE_WR(ctx, 0x30078/4, 0x00000001); - INSTANCE_WR(ctx, 0x300b8/4, 0x00000001); - INSTANCE_WR(ctx, 0x30618/4, 0x00000008); - INSTANCE_WR(ctx, 0x30638/4, 0x00000008); - INSTANCE_WR(ctx, 0x30658/4, 0x00000008); - INSTANCE_WR(ctx, 0x30678/4, 0x00000008); - INSTANCE_WR(ctx, 0x30698/4, 0x00000008); - INSTANCE_WR(ctx, 0x306b8/4, 0x00000008); - INSTANCE_WR(ctx, 0x306d8/4, 0x00000008); - INSTANCE_WR(ctx, 0x306f8/4, 0x00000008); - INSTANCE_WR(ctx, 0x30718/4, 0x00000011); - INSTANCE_WR(ctx, 0x30818/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x30838/4, 0x00000400); - INSTANCE_WR(ctx, 0x30858/4, 0x00000400); - INSTANCE_WR(ctx, 0x30878/4, 0x00000400); - INSTANCE_WR(ctx, 0x30898/4, 0x00000400); - INSTANCE_WR(ctx, 0x308b8/4, 0x00000400); - INSTANCE_WR(ctx, 0x308d8/4, 0x00000400); - INSTANCE_WR(ctx, 0x308f8/4, 0x00000400); - INSTANCE_WR(ctx, 0x30918/4, 0x00000400); - INSTANCE_WR(ctx, 0x30938/4, 0x00000300); - INSTANCE_WR(ctx, 0x30958/4, 0x00000300); - INSTANCE_WR(ctx, 0x30978/4, 0x00000300); - INSTANCE_WR(ctx, 0x30998/4, 0x00000300); - INSTANCE_WR(ctx, 0x309b8/4, 0x00000300); - INSTANCE_WR(ctx, 0x309d8/4, 0x00000300); - INSTANCE_WR(ctx, 0x309f8/4, 0x00000300); - INSTANCE_WR(ctx, 0x30a18/4, 0x00000300); - INSTANCE_WR(ctx, 0x30a38/4, 0x00000001); - INSTANCE_WR(ctx, 0x30a58/4, 0x0000000f); - INSTANCE_WR(ctx, 0x30b58/4, 0x00000020); - INSTANCE_WR(ctx, 0x30b78/4, 0x00000011); - INSTANCE_WR(ctx, 0x30b98/4, 0x00000100); - INSTANCE_WR(ctx, 0x30bd8/4, 0x00000001); - INSTANCE_WR(ctx, 0x30c38/4, 0x00000040); - INSTANCE_WR(ctx, 0x30c58/4, 0x00000100); - INSTANCE_WR(ctx, 0x30c98/4, 0x00000003); - INSTANCE_WR(ctx, 0x30d38/4, 0x00003e60); - INSTANCE_WR(ctx, 0x30db8/4, 0x00000002); - INSTANCE_WR(ctx, 0x30dd8/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x30f18/4, 0x00000001); - INSTANCE_WR(ctx, 0x30fb8/4, 0x00000004); - INSTANCE_WR(ctx, 0x30ff8/4, 0x00000001); - INSTANCE_WR(ctx, 0x31018/4, 0x00000400); - INSTANCE_WR(ctx, 0x31038/4, 0x00000300); - INSTANCE_WR(ctx, 0x31058/4, 0x00001001); - INSTANCE_WR(ctx, 0x310d8/4, 0x00000011); - INSTANCE_WR(ctx, 0x311d8/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x311f8/4, 0x0000000f); - INSTANCE_WR(ctx, 0x314f8/4, 0x00003e60); - INSTANCE_WR(ctx, 0x31578/4, 0x00000011); - INSTANCE_WR(ctx, 0x315d8/4, 0x00000004); - INSTANCE_WR(ctx, 0x31618/4, 0x00000001); - INSTANCE_WR(ctx, 0x31638/4, 0x00000001); - INSTANCE_WR(ctx, 0x316b8/4, 0x00000001); - INSTANCE_WR(ctx, 0x31738/4, 0x00000001); - INSTANCE_WR(ctx, 0x31778/4, 0x00000001); - INSTANCE_WR(ctx, 0x317d8/4, 0x2a712488); - INSTANCE_WR(ctx, 0x31818/4, 0x4085c000); - INSTANCE_WR(ctx, 0x31838/4, 0x00000040); - INSTANCE_WR(ctx, 0x31858/4, 0x00000100); - INSTANCE_WR(ctx, 0x31878/4, 0x00010100); - INSTANCE_WR(ctx, 0x31898/4, 0x02800000); - INSTANCE_WR(ctx, 0x31a98/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x31ab8/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x31ad8/4, 0x00000001); - INSTANCE_WR(ctx, 0x31b18/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x31b38/4, 0x00000001); - INSTANCE_WR(ctx, 0x31b98/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x31cb8/4, 0x00000001); - INSTANCE_WR(ctx, 0x31cf8/4, 0x00000001); - INSTANCE_WR(ctx, 0x31d18/4, 0x30201000); - INSTANCE_WR(ctx, 0x31d38/4, 0x70605040); - INSTANCE_WR(ctx, 0x31d58/4, 0xb8a89888); - INSTANCE_WR(ctx, 0x31d78/4, 0xf8e8d8c8); - INSTANCE_WR(ctx, 0x31db8/4, 0x0000001a); - INSTANCE_WR(ctx, 0x0173c/4, 0x00000004); - INSTANCE_WR(ctx, 0x019fc/4, 0x00000004); - INSTANCE_WR(ctx, 0x01a1c/4, 0x00000004); - INSTANCE_WR(ctx, 0x01a3c/4, 0x00608080); - INSTANCE_WR(ctx, 0x01adc/4, 0x00000004); - INSTANCE_WR(ctx, 0x01b3c/4, 0x00000004); - INSTANCE_WR(ctx, 0x01b5c/4, 0x00000004); - INSTANCE_WR(ctx, 0x01b7c/4, 0x00000080); - INSTANCE_WR(ctx, 0x01b9c/4, 0x00001000); - INSTANCE_WR(ctx, 0x01bbc/4, 0x00000004); - INSTANCE_WR(ctx, 0x0205c/4, 0x00000004); - INSTANCE_WR(ctx, 0x0207c/4, 0x00000080); - INSTANCE_WR(ctx, 0x0209c/4, 0x00000004); - INSTANCE_WR(ctx, 0x020bc/4, 0x03020100); - INSTANCE_WR(ctx, 0x020dc/4, 0x00000003); - INSTANCE_WR(ctx, 0x020fc/4, 0x00001000); - INSTANCE_WR(ctx, 0x0211c/4, 0x00000004); - INSTANCE_WR(ctx, 0x021bc/4, 0x00000004); - INSTANCE_WR(ctx, 0x021dc/4, 0x00000003); - INSTANCE_WR(ctx, 0x0225c/4, 0x00000004); - INSTANCE_WR(ctx, 0x166fc/4, 0x00000004); - INSTANCE_WR(ctx, 0x1671c/4, 0x00000003); - INSTANCE_WR(ctx, 0x1695c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x16adc/4, 0x00000004); - INSTANCE_WR(ctx, 0x16afc/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16b1c/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16b3c/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16b5c/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16c7c/4, 0x00000001); - INSTANCE_WR(ctx, 0x16cfc/4, 0x00000001); - INSTANCE_WR(ctx, 0x16dbc/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f5c/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f7c/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f9c/4, 0x00000002); - INSTANCE_WR(ctx, 0x16fbc/4, 0x00000001); - INSTANCE_WR(ctx, 0x16fdc/4, 0x00000001); - INSTANCE_WR(ctx, 0x16ffc/4, 0x00000002); - INSTANCE_WR(ctx, 0x1701c/4, 0x00000001); - INSTANCE_WR(ctx, 0x1705c/4, 0x00000011); - INSTANCE_WR(ctx, 0x1715c/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x171bc/4, 0x00000004); - INSTANCE_WR(ctx, 0x1723c/4, 0x00000011); - INSTANCE_WR(ctx, 0x1725c/4, 0x00000001); - INSTANCE_WR(ctx, 0x1729c/4, 0x000000cf); - INSTANCE_WR(ctx, 0x172bc/4, 0x000000cf); - INSTANCE_WR(ctx, 0x172dc/4, 0x000000cf); - INSTANCE_WR(ctx, 0x1743c/4, 0x00000001); - INSTANCE_WR(ctx, 0x1745c/4, 0x00000001); - INSTANCE_WR(ctx, 0x1747c/4, 0x00000002); - INSTANCE_WR(ctx, 0x1749c/4, 0x00000001); - INSTANCE_WR(ctx, 0x174bc/4, 0x00000001); - INSTANCE_WR(ctx, 0x174dc/4, 0x00000002); - INSTANCE_WR(ctx, 0x174fc/4, 0x00000001); - INSTANCE_WR(ctx, 0x1753c/4, 0x00000001); - INSTANCE_WR(ctx, 0x1755c/4, 0x00000001); - INSTANCE_WR(ctx, 0x1757c/4, 0x00000001); - INSTANCE_WR(ctx, 0x1759c/4, 0x00000001); - INSTANCE_WR(ctx, 0x175bc/4, 0x00000001); - INSTANCE_WR(ctx, 0x175dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x175fc/4, 0x00000001); - INSTANCE_WR(ctx, 0x1761c/4, 0x00000001); - INSTANCE_WR(ctx, 0x1763c/4, 0x00000011); - INSTANCE_WR(ctx, 0x1773c/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x1775c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x1785c/4, 0x00003e60); - INSTANCE_WR(ctx, 0x178bc/4, 0x00000011); - INSTANCE_WR(ctx, 0x178dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x1791c/4, 0x00000004); - INSTANCE_WR(ctx, 0x179dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x17a7c/4, 0x00000011); - INSTANCE_WR(ctx, 0x17b7c/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x17bfc/4, 0x00000011); - INSTANCE_WR(ctx, 0x17c1c/4, 0x00000001); - INSTANCE_WR(ctx, 0x17c5c/4, 0x00000001); - INSTANCE_WR(ctx, 0x17c9c/4, 0x00000001); - INSTANCE_WR(ctx, 0x17cdc/4, 0x000003ff); - INSTANCE_WR(ctx, 0x17d1c/4, 0x00000001); - INSTANCE_WR(ctx, 0x17d5c/4, 0x00000001); - INSTANCE_WR(ctx, 0x182bc/4, 0x00000008); - INSTANCE_WR(ctx, 0x182dc/4, 0x00000008); - INSTANCE_WR(ctx, 0x182fc/4, 0x00000008); - INSTANCE_WR(ctx, 0x1831c/4, 0x00000008); - INSTANCE_WR(ctx, 0x1833c/4, 0x00000008); - INSTANCE_WR(ctx, 0x1835c/4, 0x00000008); - INSTANCE_WR(ctx, 0x1837c/4, 0x00000008); - INSTANCE_WR(ctx, 0x1839c/4, 0x00000008); - INSTANCE_WR(ctx, 0x183bc/4, 0x00000011); - INSTANCE_WR(ctx, 0x184bc/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x184dc/4, 0x00000400); - INSTANCE_WR(ctx, 0x184fc/4, 0x00000400); - INSTANCE_WR(ctx, 0x1851c/4, 0x00000400); - INSTANCE_WR(ctx, 0x1853c/4, 0x00000400); - INSTANCE_WR(ctx, 0x1855c/4, 0x00000400); - INSTANCE_WR(ctx, 0x1857c/4, 0x00000400); - INSTANCE_WR(ctx, 0x1859c/4, 0x00000400); - INSTANCE_WR(ctx, 0x185bc/4, 0x00000400); - INSTANCE_WR(ctx, 0x185dc/4, 0x00000300); - INSTANCE_WR(ctx, 0x185fc/4, 0x00000300); - INSTANCE_WR(ctx, 0x1861c/4, 0x00000300); - INSTANCE_WR(ctx, 0x1863c/4, 0x00000300); - INSTANCE_WR(ctx, 0x1865c/4, 0x00000300); - INSTANCE_WR(ctx, 0x1867c/4, 0x00000300); - INSTANCE_WR(ctx, 0x1869c/4, 0x00000300); - INSTANCE_WR(ctx, 0x186bc/4, 0x00000300); - INSTANCE_WR(ctx, 0x186dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x186fc/4, 0x0000000f); - INSTANCE_WR(ctx, 0x187fc/4, 0x00000020); - INSTANCE_WR(ctx, 0x1881c/4, 0x00000011); - INSTANCE_WR(ctx, 0x1883c/4, 0x00000100); - INSTANCE_WR(ctx, 0x1887c/4, 0x00000001); - INSTANCE_WR(ctx, 0x188dc/4, 0x00000040); - INSTANCE_WR(ctx, 0x188fc/4, 0x00000100); - INSTANCE_WR(ctx, 0x1893c/4, 0x00000003); - INSTANCE_WR(ctx, 0x189dc/4, 0x00003e60); - INSTANCE_WR(ctx, 0x18a5c/4, 0x00000002); - INSTANCE_WR(ctx, 0x18a7c/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x18bbc/4, 0x00000001); - INSTANCE_WR(ctx, 0x18c5c/4, 0x00000004); - INSTANCE_WR(ctx, 0x18c9c/4, 0x00000001); - INSTANCE_WR(ctx, 0x18cbc/4, 0x00000400); - INSTANCE_WR(ctx, 0x18cdc/4, 0x00000300); - INSTANCE_WR(ctx, 0x18cfc/4, 0x00001001); - INSTANCE_WR(ctx, 0x18d7c/4, 0x00000011); - INSTANCE_WR(ctx, 0x18e7c/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x18e9c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x1919c/4, 0x00003e60); - INSTANCE_WR(ctx, 0x1921c/4, 0x00000011); - INSTANCE_WR(ctx, 0x1927c/4, 0x00000004); - INSTANCE_WR(ctx, 0x192bc/4, 0x00000001); - INSTANCE_WR(ctx, 0x192dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x1935c/4, 0x00000001); - INSTANCE_WR(ctx, 0x193dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x1941c/4, 0x00000001); - INSTANCE_WR(ctx, 0x1947c/4, 0x2a712488); - INSTANCE_WR(ctx, 0x194bc/4, 0x4085c000); - INSTANCE_WR(ctx, 0x194dc/4, 0x00000040); - INSTANCE_WR(ctx, 0x194fc/4, 0x00000100); - INSTANCE_WR(ctx, 0x1951c/4, 0x00010100); - INSTANCE_WR(ctx, 0x1953c/4, 0x02800000); - INSTANCE_WR(ctx, 0x1973c/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x1975c/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x1977c/4, 0x00000001); - INSTANCE_WR(ctx, 0x197bc/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x197dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x1983c/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x1995c/4, 0x00000001); - INSTANCE_WR(ctx, 0x1999c/4, 0x00000001); - INSTANCE_WR(ctx, 0x199bc/4, 0x30201000); - INSTANCE_WR(ctx, 0x199dc/4, 0x70605040); - INSTANCE_WR(ctx, 0x199fc/4, 0xb8a89888); - INSTANCE_WR(ctx, 0x19a1c/4, 0xf8e8d8c8); - INSTANCE_WR(ctx, 0x19a5c/4, 0x0000001a); - INSTANCE_WR(ctx, 0x19a9c/4, 0x00000004); - INSTANCE_WR(ctx, 0x19d5c/4, 0x00000004); - INSTANCE_WR(ctx, 0x19d7c/4, 0x00000004); - INSTANCE_WR(ctx, 0x19d9c/4, 0x00608080); - INSTANCE_WR(ctx, 0x19e3c/4, 0x00000004); - INSTANCE_WR(ctx, 0x19e9c/4, 0x00000004); - INSTANCE_WR(ctx, 0x19ebc/4, 0x00000004); - INSTANCE_WR(ctx, 0x19edc/4, 0x00000080); - INSTANCE_WR(ctx, 0x19efc/4, 0x00001000); - INSTANCE_WR(ctx, 0x19f1c/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a3bc/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a3dc/4, 0x00000080); - INSTANCE_WR(ctx, 0x1a3fc/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a41c/4, 0x03020100); - INSTANCE_WR(ctx, 0x1a43c/4, 0x00000003); - INSTANCE_WR(ctx, 0x1a45c/4, 0x00001000); - INSTANCE_WR(ctx, 0x1a47c/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a51c/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a53c/4, 0x00000003); - INSTANCE_WR(ctx, 0x1a5bc/4, 0x00000004); - INSTANCE_WR(ctx, 0x2ea5c/4, 0x00000004); - INSTANCE_WR(ctx, 0x2ea7c/4, 0x00000003); - INSTANCE_WR(ctx, 0x2ecbc/4, 0x0000000f); - INSTANCE_WR(ctx, 0x2ee3c/4, 0x00000004); - INSTANCE_WR(ctx, 0x2ee5c/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2ee7c/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2ee9c/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2eebc/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2efdc/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f05c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f11c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f2bc/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f2dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f2fc/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f31c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f33c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f35c/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f37c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f3bc/4, 0x00000011); - INSTANCE_WR(ctx, 0x2f4bc/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x2f51c/4, 0x00000004); - INSTANCE_WR(ctx, 0x2f59c/4, 0x00000011); - INSTANCE_WR(ctx, 0x2f5bc/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f5fc/4, 0x000000cf); - INSTANCE_WR(ctx, 0x2f61c/4, 0x000000cf); - INSTANCE_WR(ctx, 0x2f63c/4, 0x000000cf); - INSTANCE_WR(ctx, 0x2f79c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f7bc/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f7dc/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f7fc/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f81c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f83c/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f85c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f89c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f8bc/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f8dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f8fc/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f91c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f93c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f95c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f97c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f99c/4, 0x00000011); - INSTANCE_WR(ctx, 0x2fa9c/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x2fabc/4, 0x0000000f); - INSTANCE_WR(ctx, 0x2fbbc/4, 0x00003e60); - INSTANCE_WR(ctx, 0x2fc1c/4, 0x00000011); - INSTANCE_WR(ctx, 0x2fc3c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fc7c/4, 0x00000004); - INSTANCE_WR(ctx, 0x2fd3c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fddc/4, 0x00000011); - INSTANCE_WR(ctx, 0x2fedc/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x2ff5c/4, 0x00000011); - INSTANCE_WR(ctx, 0x2ff7c/4, 0x00000001); - INSTANCE_WR(ctx, 0x2ffbc/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fffc/4, 0x00000001); - INSTANCE_WR(ctx, 0x3003c/4, 0x000003ff); - INSTANCE_WR(ctx, 0x3007c/4, 0x00000001); - INSTANCE_WR(ctx, 0x300bc/4, 0x00000001); - INSTANCE_WR(ctx, 0x3061c/4, 0x00000008); - INSTANCE_WR(ctx, 0x3063c/4, 0x00000008); - INSTANCE_WR(ctx, 0x3065c/4, 0x00000008); - INSTANCE_WR(ctx, 0x3067c/4, 0x00000008); - INSTANCE_WR(ctx, 0x3069c/4, 0x00000008); - INSTANCE_WR(ctx, 0x306bc/4, 0x00000008); - INSTANCE_WR(ctx, 0x306dc/4, 0x00000008); - INSTANCE_WR(ctx, 0x306fc/4, 0x00000008); - INSTANCE_WR(ctx, 0x3071c/4, 0x00000011); - INSTANCE_WR(ctx, 0x3081c/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x3083c/4, 0x00000400); - INSTANCE_WR(ctx, 0x3085c/4, 0x00000400); - INSTANCE_WR(ctx, 0x3087c/4, 0x00000400); - INSTANCE_WR(ctx, 0x3089c/4, 0x00000400); - INSTANCE_WR(ctx, 0x308bc/4, 0x00000400); - INSTANCE_WR(ctx, 0x308dc/4, 0x00000400); - INSTANCE_WR(ctx, 0x308fc/4, 0x00000400); - INSTANCE_WR(ctx, 0x3091c/4, 0x00000400); - INSTANCE_WR(ctx, 0x3093c/4, 0x00000300); - INSTANCE_WR(ctx, 0x3095c/4, 0x00000300); - INSTANCE_WR(ctx, 0x3097c/4, 0x00000300); - INSTANCE_WR(ctx, 0x3099c/4, 0x00000300); - INSTANCE_WR(ctx, 0x309bc/4, 0x00000300); - INSTANCE_WR(ctx, 0x309dc/4, 0x00000300); - INSTANCE_WR(ctx, 0x309fc/4, 0x00000300); - INSTANCE_WR(ctx, 0x30a1c/4, 0x00000300); - INSTANCE_WR(ctx, 0x30a3c/4, 0x00000001); - INSTANCE_WR(ctx, 0x30a5c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x30b5c/4, 0x00000020); - INSTANCE_WR(ctx, 0x30b7c/4, 0x00000011); - INSTANCE_WR(ctx, 0x30b9c/4, 0x00000100); - INSTANCE_WR(ctx, 0x30bdc/4, 0x00000001); - INSTANCE_WR(ctx, 0x30c3c/4, 0x00000040); - INSTANCE_WR(ctx, 0x30c5c/4, 0x00000100); - INSTANCE_WR(ctx, 0x30c9c/4, 0x00000003); - INSTANCE_WR(ctx, 0x30d3c/4, 0x00003e60); - INSTANCE_WR(ctx, 0x30dbc/4, 0x00000002); - INSTANCE_WR(ctx, 0x30ddc/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x30f1c/4, 0x00000001); - INSTANCE_WR(ctx, 0x30fbc/4, 0x00000004); - INSTANCE_WR(ctx, 0x30ffc/4, 0x00000001); - INSTANCE_WR(ctx, 0x3101c/4, 0x00000400); - INSTANCE_WR(ctx, 0x3103c/4, 0x00000300); - INSTANCE_WR(ctx, 0x3105c/4, 0x00001001); - INSTANCE_WR(ctx, 0x310dc/4, 0x00000011); - INSTANCE_WR(ctx, 0x311dc/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x311fc/4, 0x0000000f); - INSTANCE_WR(ctx, 0x314fc/4, 0x00003e60); - INSTANCE_WR(ctx, 0x3157c/4, 0x00000011); - INSTANCE_WR(ctx, 0x315dc/4, 0x00000004); - INSTANCE_WR(ctx, 0x3161c/4, 0x00000001); - INSTANCE_WR(ctx, 0x3163c/4, 0x00000001); - INSTANCE_WR(ctx, 0x316bc/4, 0x00000001); - INSTANCE_WR(ctx, 0x3173c/4, 0x00000001); - INSTANCE_WR(ctx, 0x3177c/4, 0x00000001); - INSTANCE_WR(ctx, 0x317dc/4, 0x2a712488); - INSTANCE_WR(ctx, 0x3181c/4, 0x4085c000); - INSTANCE_WR(ctx, 0x3183c/4, 0x00000040); - INSTANCE_WR(ctx, 0x3185c/4, 0x00000100); - INSTANCE_WR(ctx, 0x3187c/4, 0x00010100); - INSTANCE_WR(ctx, 0x3189c/4, 0x02800000); - INSTANCE_WR(ctx, 0x31a9c/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x31abc/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x31adc/4, 0x00000001); - INSTANCE_WR(ctx, 0x31b1c/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x31b3c/4, 0x00000001); - INSTANCE_WR(ctx, 0x31b9c/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x31cbc/4, 0x00000001); - INSTANCE_WR(ctx, 0x31cfc/4, 0x00000001); - INSTANCE_WR(ctx, 0x31d1c/4, 0x30201000); - INSTANCE_WR(ctx, 0x31d3c/4, 0x70605040); - INSTANCE_WR(ctx, 0x31d5c/4, 0xb8a89888); - INSTANCE_WR(ctx, 0x31d7c/4, 0xf8e8d8c8); - INSTANCE_WR(ctx, 0x31dbc/4, 0x0000001a); - INSTANCE_WR(ctx, 0x4dc00/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4dc40/4, 0x00000080); - INSTANCE_WR(ctx, 0x4dc60/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dc80/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dca0/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd00/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dd60/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd80/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dda0/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dde0/4, 0x00000004); - INSTANCE_WR(ctx, 0x4de00/4, 0x00000002); - INSTANCE_WR(ctx, 0x4df80/4, 0x00000080); - INSTANCE_WR(ctx, 0x4dfa0/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dfc0/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dfe0/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e040/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e0a0/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0c0/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0e0/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e120/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e140/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e2a0/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e380/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3a0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3c0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3e0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e400/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e420/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e440/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e460/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e4a0/4, 0x0001fe21); - INSTANCE_WR(ctx, 0x4e560/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e580/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e5c0/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e5e0/4, 0x00000011); - INSTANCE_WR(ctx, 0x4e700/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x4e7a0/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e8e0/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e900/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e920/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e940/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e960/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e980/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e9a0/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e9e0/4, 0x00000004); - INSTANCE_WR(ctx, 0x55e00/4, 0x00000011); - INSTANCE_WR(ctx, 0x55e40/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dc24/4, 0x00000080); - INSTANCE_WR(ctx, 0x4dc44/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dc64/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dc84/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dce4/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dd44/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd64/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd84/4, 0x00000001); - INSTANCE_WR(ctx, 0x4ddc4/4, 0x00000004); - INSTANCE_WR(ctx, 0x4dde4/4, 0x00000002); - INSTANCE_WR(ctx, 0x4df64/4, 0x00000080); - INSTANCE_WR(ctx, 0x4df84/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dfa4/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dfc4/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e024/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e084/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0a4/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0c4/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e104/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e124/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e284/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e364/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e384/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3a4/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3c4/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3e4/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e404/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e424/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e444/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e484/4, 0x0001fe21); - INSTANCE_WR(ctx, 0x4e544/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e564/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e5a4/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e5c4/4, 0x00000011); - INSTANCE_WR(ctx, 0x4e6e4/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x4e784/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e8c4/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e8e4/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e904/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e924/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e944/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e964/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e984/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e9c4/4, 0x00000004); - INSTANCE_WR(ctx, 0x55de4/4, 0x00000011); - INSTANCE_WR(ctx, 0x55e24/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dc28/4, 0x00000080); - INSTANCE_WR(ctx, 0x4dc48/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dc68/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dc88/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dce8/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dd48/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd68/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd88/4, 0x00000001); - INSTANCE_WR(ctx, 0x4ddc8/4, 0x00000004); - INSTANCE_WR(ctx, 0x4dde8/4, 0x00000002); - INSTANCE_WR(ctx, 0x4df68/4, 0x00000080); - INSTANCE_WR(ctx, 0x4df88/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dfa8/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dfc8/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e028/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e088/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0a8/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0c8/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e108/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e128/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e288/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e368/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e388/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3a8/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3c8/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3e8/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e408/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e428/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e448/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e488/4, 0x0001fe21); - INSTANCE_WR(ctx, 0x4e548/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e568/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e5a8/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e5c8/4, 0x00000011); - INSTANCE_WR(ctx, 0x4e6e8/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x4e788/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e8c8/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e8e8/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e908/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e928/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e948/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e968/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e988/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e9c8/4, 0x00000004); - INSTANCE_WR(ctx, 0x55de8/4, 0x00000011); - INSTANCE_WR(ctx, 0x55e28/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dc2c/4, 0x00000080); - INSTANCE_WR(ctx, 0x4dc4c/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dc6c/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dc8c/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dcec/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dd4c/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd6c/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd8c/4, 0x00000001); - INSTANCE_WR(ctx, 0x4ddcc/4, 0x00000004); - INSTANCE_WR(ctx, 0x4ddec/4, 0x00000002); - INSTANCE_WR(ctx, 0x4df6c/4, 0x00000080); - INSTANCE_WR(ctx, 0x4df8c/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dfac/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dfcc/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e02c/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e08c/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0ac/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0cc/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e10c/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e12c/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e28c/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e36c/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e38c/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3ac/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3cc/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e40c/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e42c/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e44c/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e48c/4, 0x0001fe21); - INSTANCE_WR(ctx, 0x4e54c/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e56c/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e5ac/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e5cc/4, 0x00000011); - INSTANCE_WR(ctx, 0x4e6ec/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x4e78c/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e8cc/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e8ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e90c/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e92c/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e94c/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e96c/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e98c/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e9cc/4, 0x00000004); - INSTANCE_WR(ctx, 0x55dec/4, 0x00000011); - INSTANCE_WR(ctx, 0x55e2c/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dc30/4, 0x00000080); - INSTANCE_WR(ctx, 0x4dc50/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dc70/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dc90/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dcf0/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dd50/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd70/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd90/4, 0x00000001); - INSTANCE_WR(ctx, 0x4ddd0/4, 0x00000004); - INSTANCE_WR(ctx, 0x4ddf0/4, 0x00000002); - INSTANCE_WR(ctx, 0x4df70/4, 0x00000080); - INSTANCE_WR(ctx, 0x4df90/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dfb0/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dfd0/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e030/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e090/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0b0/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e110/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e130/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e290/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e370/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e390/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3b0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3d0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3f0/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e410/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e430/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e450/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e490/4, 0x0001fe21); - INSTANCE_WR(ctx, 0x4e550/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e570/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e5b0/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e5d0/4, 0x00000011); - INSTANCE_WR(ctx, 0x4e6f0/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x4e790/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e8d0/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e8f0/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e910/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e930/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e950/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e970/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e990/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e9d0/4, 0x00000004); - INSTANCE_WR(ctx, 0x55df0/4, 0x00000011); - INSTANCE_WR(ctx, 0x55e30/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dc34/4, 0x00000080); - INSTANCE_WR(ctx, 0x4dc54/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dc74/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dc94/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dcf4/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dd54/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd74/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd94/4, 0x00000001); - INSTANCE_WR(ctx, 0x4ddd4/4, 0x00000004); - INSTANCE_WR(ctx, 0x4ddf4/4, 0x00000002); - INSTANCE_WR(ctx, 0x4df74/4, 0x00000080); - INSTANCE_WR(ctx, 0x4df94/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dfb4/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dfd4/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e034/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e094/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0b4/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0d4/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e114/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e134/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e294/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e374/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e394/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3b4/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3d4/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3f4/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e414/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e434/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e454/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e494/4, 0x0001fe21); - INSTANCE_WR(ctx, 0x4e554/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e574/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e5b4/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e5d4/4, 0x00000011); - INSTANCE_WR(ctx, 0x4e6f4/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x4e794/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e8d4/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e8f4/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e914/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e934/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e954/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e974/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e994/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e9d4/4, 0x00000004); - INSTANCE_WR(ctx, 0x55df4/4, 0x00000011); - INSTANCE_WR(ctx, 0x55e34/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dc38/4, 0x00000080); - INSTANCE_WR(ctx, 0x4dc58/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dc78/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dc98/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dcf8/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dd58/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd78/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd98/4, 0x00000001); - INSTANCE_WR(ctx, 0x4ddd8/4, 0x00000004); - INSTANCE_WR(ctx, 0x4ddf8/4, 0x00000002); - INSTANCE_WR(ctx, 0x4df78/4, 0x00000080); - INSTANCE_WR(ctx, 0x4df98/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dfb8/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dfd8/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e038/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e098/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0b8/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e118/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e138/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e298/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e378/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e398/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3b8/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3d8/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3f8/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e418/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e438/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e458/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e498/4, 0x0001fe21); - INSTANCE_WR(ctx, 0x4e558/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e578/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e5b8/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e5d8/4, 0x00000011); - INSTANCE_WR(ctx, 0x4e6f8/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x4e798/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e8d8/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e8f8/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e918/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e938/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e958/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e978/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e998/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e9d8/4, 0x00000004); - INSTANCE_WR(ctx, 0x55df8/4, 0x00000011); - INSTANCE_WR(ctx, 0x55e38/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dc3c/4, 0x00000080); - INSTANCE_WR(ctx, 0x4dc5c/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dc7c/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dc9c/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dcfc/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dd5c/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd7c/4, 0x00001000); - INSTANCE_WR(ctx, 0x4dd9c/4, 0x00000001); - INSTANCE_WR(ctx, 0x4dddc/4, 0x00000004); - INSTANCE_WR(ctx, 0x4ddfc/4, 0x00000002); - INSTANCE_WR(ctx, 0x4df7c/4, 0x00000080); - INSTANCE_WR(ctx, 0x4df9c/4, 0x80007004); - INSTANCE_WR(ctx, 0x4dfbc/4, 0x04000400); - INSTANCE_WR(ctx, 0x4dfdc/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e03c/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e09c/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0bc/4, 0x00001000); - INSTANCE_WR(ctx, 0x4e0dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e11c/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e13c/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e29c/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e37c/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e39c/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3bc/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3dc/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x4e3fc/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e41c/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e43c/4, 0x00010001); - INSTANCE_WR(ctx, 0x4e45c/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e49c/4, 0x0001fe21); - INSTANCE_WR(ctx, 0x4e55c/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4e57c/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e5bc/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e5dc/4, 0x00000011); - INSTANCE_WR(ctx, 0x4e6fc/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x4e79c/4, 0x00000004); - INSTANCE_WR(ctx, 0x4e8dc/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e8fc/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e91c/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e93c/4, 0x00000002); - INSTANCE_WR(ctx, 0x4e95c/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e97c/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e99c/4, 0x00000001); - INSTANCE_WR(ctx, 0x4e9dc/4, 0x00000004); - INSTANCE_WR(ctx, 0x55dfc/4, 0x00000011); - INSTANCE_WR(ctx, 0x55e3c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00130/4, 0x00000002); - INSTANCE_WR(ctx, 0x00858/4, 0x00000000); - INSTANCE_WR(ctx, 0x00760/4, 0x00000000); - INSTANCE_WR(ctx, 0x00774/4, 0x00000000); - INSTANCE_WR(ctx, 0x00784/4, 0x00000000); - INSTANCE_WR(ctx, 0x00798/4, 0x00000000); - INSTANCE_WR(ctx, 0x007a8/4, 0x00000000); - INSTANCE_WR(ctx, 0x007bc/4, 0x00000000); - INSTANCE_WR(ctx, 0x007cc/4, 0x00000000); - INSTANCE_WR(ctx, 0x007e0/4, 0x00000000); - INSTANCE_WR(ctx, 0x007f0/4, 0x00000000); - INSTANCE_WR(ctx, 0x00804/4, 0x00000000); - INSTANCE_WR(ctx, 0x00814/4, 0x00000000); - INSTANCE_WR(ctx, 0x00828/4, 0x00000000); -} - -static void -nv84_graph_init_ctxvals(struct drm_device *dev, struct nouveau_gpuobj_ref *ref) -{ - struct drm_nouveau_private *dev_priv = dev->dev_private; - struct nouveau_gpuobj *ctx = ref->gpuobj; - - INSTANCE_WR(ctx, 0x0010c/4, 0x00000030); - INSTANCE_WR(ctx, 0x00130/4, 0x00000002); - INSTANCE_WR(ctx, 0x001d4/4, 0x00000003); - INSTANCE_WR(ctx, 0x001d8/4, 0x00001000); - INSTANCE_WR(ctx, 0x00218/4, 0x0000fe0c); - INSTANCE_WR(ctx, 0x0022c/4, 0x00001000); - INSTANCE_WR(ctx, 0x00258/4, 0x00000187); - INSTANCE_WR(ctx, 0x0026c/4, 0x00001018); - INSTANCE_WR(ctx, 0x00270/4, 0x000000ff); - INSTANCE_WR(ctx, 0x002ac/4, 0x00000004); - INSTANCE_WR(ctx, 0x002b0/4, 0x044d00df); - INSTANCE_WR(ctx, 0x002b8/4, 0x00000600); - INSTANCE_WR(ctx, 0x002d0/4, 0x01000000); - INSTANCE_WR(ctx, 0x002d4/4, 0x000000ff); - INSTANCE_WR(ctx, 0x002dc/4, 0x00000400); - INSTANCE_WR(ctx, 0x002f4/4, 0x00000001); - INSTANCE_WR(ctx, 0x002f8/4, 0x000e0080); - INSTANCE_WR(ctx, 0x002fc/4, 0x00000004); - INSTANCE_WR(ctx, 0x00318/4, 0x00000002); - INSTANCE_WR(ctx, 0x0031c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00328/4, 0x00000001); - INSTANCE_WR(ctx, 0x0032c/4, 0x00000100); - INSTANCE_WR(ctx, 0x00344/4, 0x00000002); - INSTANCE_WR(ctx, 0x00348/4, 0x00000001); - INSTANCE_WR(ctx, 0x0034c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0035c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00360/4, 0x003fffff); - INSTANCE_WR(ctx, 0x00364/4, 0x00001fff); - INSTANCE_WR(ctx, 0x0036c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00370/4, 0x00000001); - INSTANCE_WR(ctx, 0x00378/4, 0x00000001); - INSTANCE_WR(ctx, 0x0037c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00380/4, 0x00000001); - INSTANCE_WR(ctx, 0x00384/4, 0x00000004); - INSTANCE_WR(ctx, 0x00388/4, 0x00000001); - INSTANCE_WR(ctx, 0x0038c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00390/4, 0x00000001); - INSTANCE_WR(ctx, 0x00394/4, 0x00000007); - INSTANCE_WR(ctx, 0x00398/4, 0x00000001); - INSTANCE_WR(ctx, 0x0039c/4, 0x00000007); - INSTANCE_WR(ctx, 0x003a0/4, 0x00000001); - INSTANCE_WR(ctx, 0x003a4/4, 0x00000001); - INSTANCE_WR(ctx, 0x003a8/4, 0x00000001); - INSTANCE_WR(ctx, 0x003bc/4, 0x00000001); - INSTANCE_WR(ctx, 0x003c0/4, 0x00000100); - INSTANCE_WR(ctx, 0x003c8/4, 0x00000001); - INSTANCE_WR(ctx, 0x003d4/4, 0x00000100); - INSTANCE_WR(ctx, 0x003d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x003dc/4, 0x00000100); - INSTANCE_WR(ctx, 0x003e4/4, 0x00000001); - INSTANCE_WR(ctx, 0x003f0/4, 0x00000100); - INSTANCE_WR(ctx, 0x00404/4, 0x00000004); - INSTANCE_WR(ctx, 0x00408/4, 0x00000070); - INSTANCE_WR(ctx, 0x0040c/4, 0x00000080); - INSTANCE_WR(ctx, 0x00420/4, 0x0000000c); - INSTANCE_WR(ctx, 0x00428/4, 0x00000008); - INSTANCE_WR(ctx, 0x0042c/4, 0x00000014); - INSTANCE_WR(ctx, 0x00434/4, 0x00000029); - INSTANCE_WR(ctx, 0x00438/4, 0x00000027); - INSTANCE_WR(ctx, 0x0043c/4, 0x00000026); - INSTANCE_WR(ctx, 0x00440/4, 0x00000008); - INSTANCE_WR(ctx, 0x00444/4, 0x00000004); - INSTANCE_WR(ctx, 0x00448/4, 0x00000027); - INSTANCE_WR(ctx, 0x00454/4, 0x00000001); - INSTANCE_WR(ctx, 0x00458/4, 0x00000002); - INSTANCE_WR(ctx, 0x0045c/4, 0x00000003); - INSTANCE_WR(ctx, 0x00460/4, 0x00000004); - INSTANCE_WR(ctx, 0x00464/4, 0x00000005); - INSTANCE_WR(ctx, 0x00468/4, 0x00000006); - INSTANCE_WR(ctx, 0x0046c/4, 0x00000007); - INSTANCE_WR(ctx, 0x00470/4, 0x00000001); - INSTANCE_WR(ctx, 0x004b4/4, 0x000000cf); - INSTANCE_WR(ctx, 0x004e4/4, 0x00000080); - INSTANCE_WR(ctx, 0x004e8/4, 0x00000004); - INSTANCE_WR(ctx, 0x004ec/4, 0x00000004); - INSTANCE_WR(ctx, 0x004f0/4, 0x00000003); - INSTANCE_WR(ctx, 0x004f4/4, 0x00000001); - INSTANCE_WR(ctx, 0x00500/4, 0x00000012); - INSTANCE_WR(ctx, 0x00504/4, 0x00000010); - INSTANCE_WR(ctx, 0x00508/4, 0x0000000c); - INSTANCE_WR(ctx, 0x0050c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0051c/4, 0x00000004); - INSTANCE_WR(ctx, 0x00520/4, 0x00000002); - INSTANCE_WR(ctx, 0x00524/4, 0x00000004); - INSTANCE_WR(ctx, 0x00530/4, 0x003fffff); - INSTANCE_WR(ctx, 0x00534/4, 0x00001fff); - INSTANCE_WR(ctx, 0x0055c/4, 0x00000004); - INSTANCE_WR(ctx, 0x00560/4, 0x00000014); - INSTANCE_WR(ctx, 0x00564/4, 0x00000001); - INSTANCE_WR(ctx, 0x00570/4, 0x00000002); - INSTANCE_WR(ctx, 0x0057c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00584/4, 0x00000002); - INSTANCE_WR(ctx, 0x00588/4, 0x00001000); - INSTANCE_WR(ctx, 0x0058c/4, 0x00000e00); - INSTANCE_WR(ctx, 0x00590/4, 0x00001000); - INSTANCE_WR(ctx, 0x00594/4, 0x00001e00); - INSTANCE_WR(ctx, 0x0059c/4, 0x00000001); - INSTANCE_WR(ctx, 0x005a0/4, 0x00000001); - INSTANCE_WR(ctx, 0x005a4/4, 0x00000001); - INSTANCE_WR(ctx, 0x005a8/4, 0x00000001); - INSTANCE_WR(ctx, 0x005ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x005bc/4, 0x00000200); - INSTANCE_WR(ctx, 0x005c4/4, 0x00000001); - INSTANCE_WR(ctx, 0x005c8/4, 0x00000070); - INSTANCE_WR(ctx, 0x005cc/4, 0x00000080); - INSTANCE_WR(ctx, 0x005d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x005dc/4, 0x00000070); - INSTANCE_WR(ctx, 0x005e0/4, 0x00000080); - INSTANCE_WR(ctx, 0x005f0/4, 0x00000001); - INSTANCE_WR(ctx, 0x005f4/4, 0x000000cf); - INSTANCE_WR(ctx, 0x005fc/4, 0x00000001); - INSTANCE_WR(ctx, 0x0060c/4, 0x000000cf); - INSTANCE_WR(ctx, 0x00614/4, 0x00000002); - INSTANCE_WR(ctx, 0x0061c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00624/4, 0x00000001); - INSTANCE_WR(ctx, 0x0062c/4, 0x000000cf); - INSTANCE_WR(ctx, 0x00630/4, 0x000000cf); - INSTANCE_WR(ctx, 0x00634/4, 0x00000001); - INSTANCE_WR(ctx, 0x0063c/4, 0x00000f80); - INSTANCE_WR(ctx, 0x00684/4, 0x007f0080); - INSTANCE_WR(ctx, 0x006c0/4, 0x007f0080); - - INSTANCE_WR(ctx, 0x006e4/4, 0x3b74f821); - INSTANCE_WR(ctx, 0x006e8/4, 0x89058001); - INSTANCE_WR(ctx, 0x006f0/4, 0x00001000); - INSTANCE_WR(ctx, 0x006f4/4, 0x0000001f); - INSTANCE_WR(ctx, 0x006f8/4, 0x027c10fa); - INSTANCE_WR(ctx, 0x006fc/4, 0x400000c0); - INSTANCE_WR(ctx, 0x00700/4, 0xb7892080); - - INSTANCE_WR(ctx, 0x0070c/4, 0x3b74f821); - INSTANCE_WR(ctx, 0x00710/4, 0x89058001); - INSTANCE_WR(ctx, 0x00718/4, 0x00001000); - INSTANCE_WR(ctx, 0x0071c/4, 0x0000001f); - INSTANCE_WR(ctx, 0x00720/4, 0x027c10fa); - INSTANCE_WR(ctx, 0x00724/4, 0x400000c0); - INSTANCE_WR(ctx, 0x00728/4, 0xb7892080); - - INSTANCE_WR(ctx, 0x00734/4, 0x3b74f821); - INSTANCE_WR(ctx, 0x00738/4, 0x89058001); - INSTANCE_WR(ctx, 0x00740/4, 0x00001000); - INSTANCE_WR(ctx, 0x00744/4, 0x0000001f); - INSTANCE_WR(ctx, 0x00748/4, 0x027c10fa); - INSTANCE_WR(ctx, 0x0074c/4, 0x400000c0); - INSTANCE_WR(ctx, 0x00750/4, 0xb7892080); - - INSTANCE_WR(ctx, 0x0075c/4, 0x3b74f821); - INSTANCE_WR(ctx, 0x00760/4, 0x89058001); - INSTANCE_WR(ctx, 0x00768/4, 0x00001000); - INSTANCE_WR(ctx, 0x0076c/4, 0x0000001f); - INSTANCE_WR(ctx, 0x00770/4, 0x027c10fa); - INSTANCE_WR(ctx, 0x00774/4, 0x400000c0); - INSTANCE_WR(ctx, 0x00778/4, 0xb7892080); - - INSTANCE_WR(ctx, 0x00784/4, 0x00010040); - INSTANCE_WR(ctx, 0x0078c/4, 0x00000022); - INSTANCE_WR(ctx, 0x00798/4, 0x00010040); - INSTANCE_WR(ctx, 0x0079c/4, 0x00000022); - - INSTANCE_WR(ctx, 0x007b4/4, 0x01800000); - INSTANCE_WR(ctx, 0x007b8/4, 0x00160000); - INSTANCE_WR(ctx, 0x007bc/4, 0x01800000); - INSTANCE_WR(ctx, 0x007cc/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x007d0/4, 0x00880000); - INSTANCE_WR(ctx, 0x007f4/4, 0x00010401); - INSTANCE_WR(ctx, 0x007fc/4, 0x00000078); - INSTANCE_WR(ctx, 0x00804/4, 0x000000bf); - INSTANCE_WR(ctx, 0x0080c/4, 0x00001210); - INSTANCE_WR(ctx, 0x00810/4, 0x08000080); - INSTANCE_WR(ctx, 0x00834/4, 0x01800000); - INSTANCE_WR(ctx, 0x00838/4, 0x00160000); - INSTANCE_WR(ctx, 0x0083c/4, 0x01800000); - INSTANCE_WR(ctx, 0x0084c/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00850/4, 0x00880000); - INSTANCE_WR(ctx, 0x00874/4, 0x00010401); - INSTANCE_WR(ctx, 0x0087c/4, 0x00000078); - INSTANCE_WR(ctx, 0x00884/4, 0x000000bf); - INSTANCE_WR(ctx, 0x0088c/4, 0x00001210); - INSTANCE_WR(ctx, 0x00890/4, 0x08000080); - INSTANCE_WR(ctx, 0x008b8/4, 0x00027070); - INSTANCE_WR(ctx, 0x008c4/4, 0x03ffffff); - INSTANCE_WR(ctx, 0x008dc/4, 0x00120407); - INSTANCE_WR(ctx, 0x008e0/4, 0x05091507); - INSTANCE_WR(ctx, 0x008e4/4, 0x05100202); - INSTANCE_WR(ctx, 0x008e8/4, 0x00030201); - INSTANCE_WR(ctx, 0x00904/4, 0x00000040); - INSTANCE_WR(ctx, 0x00908/4, 0x0d0c0b0a); - INSTANCE_WR(ctx, 0x0090c/4, 0x00141210); - INSTANCE_WR(ctx, 0x00910/4, 0x000001f0); - INSTANCE_WR(ctx, 0x00914/4, 0x00000001); - INSTANCE_WR(ctx, 0x00918/4, 0x00000003); - INSTANCE_WR(ctx, 0x00924/4, 0x00039e00); - INSTANCE_WR(ctx, 0x00928/4, 0x00000100); - INSTANCE_WR(ctx, 0x0092c/4, 0x00003800); - INSTANCE_WR(ctx, 0x00930/4, 0x00404040); - INSTANCE_WR(ctx, 0x00934/4, 0x0000ff0a); - INSTANCE_WR(ctx, 0x0093c/4, 0x0077f005); - INSTANCE_WR(ctx, 0x00940/4, 0x003f7fff); - - INSTANCE_WR(ctx, 0x00950/4, 0x01800000); - INSTANCE_WR(ctx, 0x00954/4, 0x00160000); - INSTANCE_WR(ctx, 0x00958/4, 0x01800000); - INSTANCE_WR(ctx, 0x00968/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x0096c/4, 0x00880000); - INSTANCE_WR(ctx, 0x00990/4, 0x00010401); - INSTANCE_WR(ctx, 0x00998/4, 0x00000078); - INSTANCE_WR(ctx, 0x009a0/4, 0x000000bf); - INSTANCE_WR(ctx, 0x009a8/4, 0x00001210); - INSTANCE_WR(ctx, 0x009ac/4, 0x08000080); - INSTANCE_WR(ctx, 0x009d0/4, 0x01800000); - INSTANCE_WR(ctx, 0x009d4/4, 0x00160000); - INSTANCE_WR(ctx, 0x009d8/4, 0x01800000); - INSTANCE_WR(ctx, 0x009e8/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x009ec/4, 0x00880000); - INSTANCE_WR(ctx, 0x00a10/4, 0x00010401); - INSTANCE_WR(ctx, 0x00a18/4, 0x00000078); - INSTANCE_WR(ctx, 0x00a20/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00a28/4, 0x00001210); - INSTANCE_WR(ctx, 0x00a2c/4, 0x08000080); - INSTANCE_WR(ctx, 0x00a54/4, 0x00027070); - INSTANCE_WR(ctx, 0x00a60/4, 0x03ffffff); - INSTANCE_WR(ctx, 0x00a78/4, 0x00120407); - INSTANCE_WR(ctx, 0x00a7c/4, 0x05091507); - INSTANCE_WR(ctx, 0x00a80/4, 0x05100202); - INSTANCE_WR(ctx, 0x00a84/4, 0x00030201); - INSTANCE_WR(ctx, 0x00aa0/4, 0x00000040); - INSTANCE_WR(ctx, 0x00aa4/4, 0x0d0c0b0a); - INSTANCE_WR(ctx, 0x00aa8/4, 0x00141210); - INSTANCE_WR(ctx, 0x00aac/4, 0x000001f0); - INSTANCE_WR(ctx, 0x00ab0/4, 0x00000001); - INSTANCE_WR(ctx, 0x00ab4/4, 0x00000003); - INSTANCE_WR(ctx, 0x00ac0/4, 0x00039e00); - INSTANCE_WR(ctx, 0x00ac4/4, 0x00000100); - INSTANCE_WR(ctx, 0x00ac8/4, 0x00003800); - INSTANCE_WR(ctx, 0x00acc/4, 0x00404040); - INSTANCE_WR(ctx, 0x00ad0/4, 0x0000ff0a); - INSTANCE_WR(ctx, 0x00ad8/4, 0x0077f005); - INSTANCE_WR(ctx, 0x00adc/4, 0x003f7fff); - - INSTANCE_WR(ctx, 0x00aec/4, 0x01800000); - INSTANCE_WR(ctx, 0x00af0/4, 0x00160000); - INSTANCE_WR(ctx, 0x00af4/4, 0x01800000); - INSTANCE_WR(ctx, 0x00b04/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00b08/4, 0x00880000); - INSTANCE_WR(ctx, 0x00b2c/4, 0x00010401); - INSTANCE_WR(ctx, 0x00b34/4, 0x00000078); - INSTANCE_WR(ctx, 0x00b3c/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00b44/4, 0x00001210); - INSTANCE_WR(ctx, 0x00b48/4, 0x08000080); - INSTANCE_WR(ctx, 0x00b6c/4, 0x01800000); - INSTANCE_WR(ctx, 0x00b70/4, 0x00160000); - INSTANCE_WR(ctx, 0x00b74/4, 0x01800000); - INSTANCE_WR(ctx, 0x00b84/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00b88/4, 0x00880000); - INSTANCE_WR(ctx, 0x00bac/4, 0x00010401); - INSTANCE_WR(ctx, 0x00bb4/4, 0x00000078); - INSTANCE_WR(ctx, 0x00bbc/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00bc4/4, 0x00001210); - INSTANCE_WR(ctx, 0x00bc8/4, 0x08000080); - INSTANCE_WR(ctx, 0x00bf0/4, 0x00027070); - INSTANCE_WR(ctx, 0x00bfc/4, 0x03ffffff); - INSTANCE_WR(ctx, 0x00c14/4, 0x00120407); - INSTANCE_WR(ctx, 0x00c18/4, 0x05091507); - INSTANCE_WR(ctx, 0x00c1c/4, 0x05100202); - INSTANCE_WR(ctx, 0x00c20/4, 0x00030201); - INSTANCE_WR(ctx, 0x00c3c/4, 0x00000040); - INSTANCE_WR(ctx, 0x00c40/4, 0x0d0c0b0a); - INSTANCE_WR(ctx, 0x00c44/4, 0x00141210); - INSTANCE_WR(ctx, 0x00c48/4, 0x000001f0); - INSTANCE_WR(ctx, 0x00c4c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00c50/4, 0x00000003); - INSTANCE_WR(ctx, 0x00c5c/4, 0x00039e00); - INSTANCE_WR(ctx, 0x00c60/4, 0x00000100); - INSTANCE_WR(ctx, 0x00c64/4, 0x00003800); - INSTANCE_WR(ctx, 0x00c68/4, 0x00404040); - INSTANCE_WR(ctx, 0x00c6c/4, 0x0000ff0a); - INSTANCE_WR(ctx, 0x00c74/4, 0x0077f005); - INSTANCE_WR(ctx, 0x00c78/4, 0x003f7fff); - - INSTANCE_WR(ctx, 0x00c88/4, 0x01800000); - INSTANCE_WR(ctx, 0x00c8c/4, 0x00160000); - INSTANCE_WR(ctx, 0x00c90/4, 0x01800000); - INSTANCE_WR(ctx, 0x00ca0/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00ca4/4, 0x00880000); - INSTANCE_WR(ctx, 0x00cc8/4, 0x00010401); - INSTANCE_WR(ctx, 0x00cd0/4, 0x00000078); - INSTANCE_WR(ctx, 0x00cd8/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00ce0/4, 0x00001210); - INSTANCE_WR(ctx, 0x00ce4/4, 0x08000080); - INSTANCE_WR(ctx, 0x00d08/4, 0x01800000); - INSTANCE_WR(ctx, 0x00d0c/4, 0x00160000); - INSTANCE_WR(ctx, 0x00d10/4, 0x01800000); - INSTANCE_WR(ctx, 0x00d20/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00d24/4, 0x00880000); - INSTANCE_WR(ctx, 0x00d48/4, 0x00010401); - INSTANCE_WR(ctx, 0x00d50/4, 0x00000078); - INSTANCE_WR(ctx, 0x00d58/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00d60/4, 0x00001210); - INSTANCE_WR(ctx, 0x00d64/4, 0x08000080); - INSTANCE_WR(ctx, 0x00d8c/4, 0x00027070); - INSTANCE_WR(ctx, 0x00d98/4, 0x03ffffff); - INSTANCE_WR(ctx, 0x00db0/4, 0x00120407); - INSTANCE_WR(ctx, 0x00db4/4, 0x05091507); - INSTANCE_WR(ctx, 0x00db8/4, 0x05100202); - INSTANCE_WR(ctx, 0x00dbc/4, 0x00030201); - INSTANCE_WR(ctx, 0x00dd8/4, 0x00000040); - INSTANCE_WR(ctx, 0x00ddc/4, 0x0d0c0b0a); - INSTANCE_WR(ctx, 0x00de0/4, 0x00141210); - INSTANCE_WR(ctx, 0x00de4/4, 0x000001f0); - INSTANCE_WR(ctx, 0x00de8/4, 0x00000001); - INSTANCE_WR(ctx, 0x00dec/4, 0x00000003); - INSTANCE_WR(ctx, 0x00df8/4, 0x00039e00); - INSTANCE_WR(ctx, 0x00dfc/4, 0x00000100); - INSTANCE_WR(ctx, 0x00e00/4, 0x00003800); - INSTANCE_WR(ctx, 0x00e04/4, 0x00404040); - INSTANCE_WR(ctx, 0x00e08/4, 0x0000ff0a); - INSTANCE_WR(ctx, 0x00e10/4, 0x0077f005); - INSTANCE_WR(ctx, 0x00e14/4, 0x003f7fff); - - INSTANCE_WR(ctx, 0x00e24/4, 0x01800000); - INSTANCE_WR(ctx, 0x00e28/4, 0x00160000); - INSTANCE_WR(ctx, 0x00e2c/4, 0x01800000); - INSTANCE_WR(ctx, 0x00e3c/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00e40/4, 0x00880000); - INSTANCE_WR(ctx, 0x00e64/4, 0x00010401); - INSTANCE_WR(ctx, 0x00e6c/4, 0x00000078); - INSTANCE_WR(ctx, 0x00e74/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00e7c/4, 0x00001210); - INSTANCE_WR(ctx, 0x00e80/4, 0x08000080); - INSTANCE_WR(ctx, 0x00ea4/4, 0x01800000); - INSTANCE_WR(ctx, 0x00ea8/4, 0x00160000); - INSTANCE_WR(ctx, 0x00eac/4, 0x01800000); - INSTANCE_WR(ctx, 0x00ebc/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00ec0/4, 0x00880000); - INSTANCE_WR(ctx, 0x00ee4/4, 0x00010401); - INSTANCE_WR(ctx, 0x00eec/4, 0x00000078); - INSTANCE_WR(ctx, 0x00ef4/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00efc/4, 0x00001210); - INSTANCE_WR(ctx, 0x00f00/4, 0x08000080); - INSTANCE_WR(ctx, 0x00f28/4, 0x00027070); - INSTANCE_WR(ctx, 0x00f34/4, 0x03ffffff); - INSTANCE_WR(ctx, 0x00f4c/4, 0x00120407); - INSTANCE_WR(ctx, 0x00f50/4, 0x05091507); - INSTANCE_WR(ctx, 0x00f54/4, 0x05100202); - INSTANCE_WR(ctx, 0x00f58/4, 0x00030201); - INSTANCE_WR(ctx, 0x00f74/4, 0x00000040); - INSTANCE_WR(ctx, 0x00f78/4, 0x0d0c0b0a); - INSTANCE_WR(ctx, 0x00f7c/4, 0x00141210); - INSTANCE_WR(ctx, 0x00f80/4, 0x000001f0); - INSTANCE_WR(ctx, 0x00f84/4, 0x00000001); - INSTANCE_WR(ctx, 0x00f88/4, 0x00000003); - INSTANCE_WR(ctx, 0x00f94/4, 0x00039e00); - INSTANCE_WR(ctx, 0x00f98/4, 0x00000100); - INSTANCE_WR(ctx, 0x00f9c/4, 0x00003800); - INSTANCE_WR(ctx, 0x00fa0/4, 0x00404040); - INSTANCE_WR(ctx, 0x00fa4/4, 0x0000ff0a); - INSTANCE_WR(ctx, 0x00fac/4, 0x0077f005); - INSTANCE_WR(ctx, 0x00fb0/4, 0x003f7fff); - - INSTANCE_WR(ctx, 0x00fc0/4, 0x01800000); - INSTANCE_WR(ctx, 0x00fc4/4, 0x00160000); - INSTANCE_WR(ctx, 0x00fc8/4, 0x01800000); - INSTANCE_WR(ctx, 0x00fd8/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00fdc/4, 0x00880000); - INSTANCE_WR(ctx, 0x01000/4, 0x00010401); - INSTANCE_WR(ctx, 0x01008/4, 0x00000078); - INSTANCE_WR(ctx, 0x01010/4, 0x000000bf); - INSTANCE_WR(ctx, 0x01018/4, 0x00001210); - INSTANCE_WR(ctx, 0x0101c/4, 0x08000080); - INSTANCE_WR(ctx, 0x01040/4, 0x01800000); - INSTANCE_WR(ctx, 0x01044/4, 0x00160000); - INSTANCE_WR(ctx, 0x01048/4, 0x01800000); - INSTANCE_WR(ctx, 0x01058/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x0105c/4, 0x00880000); - INSTANCE_WR(ctx, 0x01080/4, 0x00010401); - INSTANCE_WR(ctx, 0x01088/4, 0x00000078); - INSTANCE_WR(ctx, 0x01090/4, 0x000000bf); - INSTANCE_WR(ctx, 0x01098/4, 0x00001210); - INSTANCE_WR(ctx, 0x0109c/4, 0x08000080); - INSTANCE_WR(ctx, 0x010c4/4, 0x00027070); - INSTANCE_WR(ctx, 0x010d0/4, 0x03ffffff); - INSTANCE_WR(ctx, 0x010e8/4, 0x00120407); - INSTANCE_WR(ctx, 0x010ec/4, 0x05091507); - INSTANCE_WR(ctx, 0x010f0/4, 0x05100202); - INSTANCE_WR(ctx, 0x010f4/4, 0x00030201); - INSTANCE_WR(ctx, 0x01110/4, 0x00000040); - INSTANCE_WR(ctx, 0x01114/4, 0x0d0c0b0a); - INSTANCE_WR(ctx, 0x01118/4, 0x00141210); - INSTANCE_WR(ctx, 0x0111c/4, 0x000001f0); - INSTANCE_WR(ctx, 0x01120/4, 0x00000001); - INSTANCE_WR(ctx, 0x01124/4, 0x00000003); - INSTANCE_WR(ctx, 0x01130/4, 0x00039e00); - INSTANCE_WR(ctx, 0x01134/4, 0x00000100); - INSTANCE_WR(ctx, 0x01138/4, 0x00003800); - INSTANCE_WR(ctx, 0x0113c/4, 0x00404040); - INSTANCE_WR(ctx, 0x01140/4, 0x0000ff0a); - INSTANCE_WR(ctx, 0x01148/4, 0x0077f005); - INSTANCE_WR(ctx, 0x0114c/4, 0x003f7fff); - - INSTANCE_WR(ctx, 0x01230/4, 0x00000004); - INSTANCE_WR(ctx, 0x01284/4, 0x0000000f); - INSTANCE_WR(ctx, 0x0130c/4, 0x00000002); - INSTANCE_WR(ctx, 0x01324/4, 0x00000020); - INSTANCE_WR(ctx, 0x0134c/4, 0x001ffe67); - INSTANCE_WR(ctx, 0x014ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x014f0/4, 0x00000004); - INSTANCE_WR(ctx, 0x01504/4, 0x0000001a); - INSTANCE_WR(ctx, 0x0150c/4, 0x00000010); - INSTANCE_WR(ctx, 0x01510/4, 0x00000004); - INSTANCE_WR(ctx, 0x01530/4, 0x00608080); - INSTANCE_WR(ctx, 0x0156c/4, 0x00000001); - INSTANCE_WR(ctx, 0x015d0/4, 0x00000004); - INSTANCE_WR(ctx, 0x01630/4, 0x00000004); - INSTANCE_WR(ctx, 0x0164c/4, 0x00000002); - INSTANCE_WR(ctx, 0x01650/4, 0x00000004); - INSTANCE_WR(ctx, 0x01670/4, 0x00000080); - INSTANCE_WR(ctx, 0x01690/4, 0x00000004); - INSTANCE_WR(ctx, 0x016c4/4, 0x00000004); - INSTANCE_WR(ctx, 0x016e4/4, 0x00000004); - INSTANCE_WR(ctx, 0x01724/4, 0x00000004); - INSTANCE_WR(ctx, 0x01744/4, 0x00000008); - INSTANCE_WR(ctx, 0x0176c/4, 0x00000001); - INSTANCE_WR(ctx, 0x01784/4, 0x000007ff); - INSTANCE_WR(ctx, 0x0178c/4, 0x00000010); - INSTANCE_WR(ctx, 0x017cc/4, 0x00000001); - INSTANCE_WR(ctx, 0x01924/4, 0x0000000f); - INSTANCE_WR(ctx, 0x01a4c/4, 0x00000010); - INSTANCE_WR(ctx, 0x01b30/4, 0x00000004); - INSTANCE_WR(ctx, 0x01b50/4, 0x00000080); - INSTANCE_WR(ctx, 0x01b70/4, 0x00000004); - INSTANCE_WR(ctx, 0x01b90/4, 0x03020100); - INSTANCE_WR(ctx, 0x01bb0/4, 0x00000003); - INSTANCE_WR(ctx, 0x01bd0/4, 0x00000004); - INSTANCE_WR(ctx, 0x01c6c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01c70/4, 0x00000004); - INSTANCE_WR(ctx, 0x01c8c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01c90/4, 0x00000003); - INSTANCE_WR(ctx, 0x01cac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01ccc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01cec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01d0c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01d10/4, 0x00000004); - INSTANCE_WR(ctx, 0x01d2c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01d4c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01d6c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01d8c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01dac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01dcc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01dec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01e0c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01e2c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01e4c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0218c/4, 0x00000010); - INSTANCE_WR(ctx, 0x021cc/4, 0x0000003f); - INSTANCE_WR(ctx, 0x022ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x022ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0232c/4, 0x00000001); - INSTANCE_WR(ctx, 0x024cc/4, 0x00000011); - INSTANCE_WR(ctx, 0x025cc/4, 0x0000000f); - INSTANCE_WR(ctx, 0x026cc/4, 0x00000011); - INSTANCE_WR(ctx, 0x027ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x027cc/4, 0x00000001); - INSTANCE_WR(ctx, 0x027ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0280c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0282c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0284c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0286c/4, 0x00000001); - INSTANCE_WR(ctx, 0x028ac/4, 0x001ffe67); - INSTANCE_WR(ctx, 0x028ec/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x02bac/4, 0x00000001); - INSTANCE_WR(ctx, 0x02bcc/4, 0x00000002); - INSTANCE_WR(ctx, 0x02bec/4, 0x00000001); - INSTANCE_WR(ctx, 0x02c0c/4, 0x00000001); - INSTANCE_WR(ctx, 0x02c2c/4, 0x00000002); - INSTANCE_WR(ctx, 0x02c4c/4, 0x00000001); - INSTANCE_WR(ctx, 0x02c6c/4, 0x00000001); - INSTANCE_WR(ctx, 0x02cec/4, 0x00000011); - INSTANCE_WR(ctx, 0x02d0c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0398c/4, 0x00000002); - INSTANCE_WR(ctx, 0x039cc/4, 0x001ffe67); - INSTANCE_WR(ctx, 0x03b6c/4, 0x00000001); - INSTANCE_WR(ctx, 0x03b8c/4, 0x00000010); - INSTANCE_WR(ctx, 0x03bec/4, 0x00000001); - INSTANCE_WR(ctx, 0x03ccc/4, 0x00000002); - INSTANCE_WR(ctx, 0x03dec/4, 0x00000001); - INSTANCE_WR(ctx, 0x03e04/4, 0x0000000f); - INSTANCE_WR(ctx, 0x03e0c/4, 0x00000010); - INSTANCE_WR(ctx, 0x03e44/4, 0x00000001); - INSTANCE_WR(ctx, 0x03e4c/4, 0x00000001); - INSTANCE_WR(ctx, 0x040cc/4, 0x00000010); - INSTANCE_WR(ctx, 0x042ec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0430c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0432c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0434c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0436c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0438c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x043ac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x043cc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x043ec/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0440c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0442c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0444c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0446c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0448c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x044ac/4, 0x3f800000); - INSTANCE_WR(ctx, 0x044cc/4, 0x3f800000); - INSTANCE_WR(ctx, 0x0480c/4, 0x00000010); - INSTANCE_WR(ctx, 0x0484c/4, 0x0000003f); - INSTANCE_WR(ctx, 0x0492c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0496c/4, 0x00000001); - INSTANCE_WR(ctx, 0x049a4/4, 0x0000000f); - INSTANCE_WR(ctx, 0x049ac/4, 0x00000001); - INSTANCE_WR(ctx, 0x04b4c/4, 0x00000011); - INSTANCE_WR(ctx, 0x04c4c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x04d4c/4, 0x00000011); - INSTANCE_WR(ctx, 0x04e2c/4, 0x00000001); - INSTANCE_WR(ctx, 0x04e4c/4, 0x00000001); - INSTANCE_WR(ctx, 0x04e6c/4, 0x00000001); - INSTANCE_WR(ctx, 0x04e8c/4, 0x00000002); - INSTANCE_WR(ctx, 0x04eac/4, 0x00000001); - INSTANCE_WR(ctx, 0x04ecc/4, 0x00000002); - INSTANCE_WR(ctx, 0x04eec/4, 0x00000001); - INSTANCE_WR(ctx, 0x04f2c/4, 0x001ffe67); - INSTANCE_WR(ctx, 0x04f6c/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x0522c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0524c/4, 0x00000002); - INSTANCE_WR(ctx, 0x0526c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0528c/4, 0x00000001); - INSTANCE_WR(ctx, 0x052ac/4, 0x00000002); - INSTANCE_WR(ctx, 0x052cc/4, 0x00000001); - INSTANCE_WR(ctx, 0x052ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x0536c/4, 0x00000011); - INSTANCE_WR(ctx, 0x0538c/4, 0x00000001); - INSTANCE_WR(ctx, 0x083a0/4, 0x00000021); - INSTANCE_WR(ctx, 0x083c0/4, 0x00000001); - INSTANCE_WR(ctx, 0x083e0/4, 0x00000002); - INSTANCE_WR(ctx, 0x08400/4, 0x00000100); - INSTANCE_WR(ctx, 0x08420/4, 0x00000100); - INSTANCE_WR(ctx, 0x08440/4, 0x00000001); - INSTANCE_WR(ctx, 0x084a0/4, 0x00000001); - INSTANCE_WR(ctx, 0x084c0/4, 0x00000002); - INSTANCE_WR(ctx, 0x084e0/4, 0x00000100); - INSTANCE_WR(ctx, 0x08500/4, 0x00000100); - INSTANCE_WR(ctx, 0x08520/4, 0x00000001); - INSTANCE_WR(ctx, 0x11e40/4, 0x00000004); - INSTANCE_WR(ctx, 0x11e60/4, 0x00000004); - INSTANCE_WR(ctx, 0x15044/4, 0x0000000f); - INSTANCE_WR(ctx, 0x152e4/4, 0x00000001); - INSTANCE_WR(ctx, 0x15304/4, 0x00000100); - INSTANCE_WR(ctx, 0x15324/4, 0x00000100); - INSTANCE_WR(ctx, 0x15344/4, 0x00000011); - INSTANCE_WR(ctx, 0x15384/4, 0x00000008); - INSTANCE_WR(ctx, 0x15444/4, 0x00000001); - INSTANCE_WR(ctx, 0x15484/4, 0x00000001); - INSTANCE_WR(ctx, 0x154a4/4, 0x00000001); - INSTANCE_WR(ctx, 0x154c4/4, 0x00000001); - INSTANCE_WR(ctx, 0x154e4/4, 0x000000cf); - INSTANCE_WR(ctx, 0x15504/4, 0x00000002); - INSTANCE_WR(ctx, 0x155e4/4, 0x00000001); - INSTANCE_WR(ctx, 0x15624/4, 0x00000001); - INSTANCE_WR(ctx, 0x15644/4, 0x00000001); - INSTANCE_WR(ctx, 0x15664/4, 0x00000001); - INSTANCE_WR(ctx, 0x15704/4, 0x00000004); - INSTANCE_WR(ctx, 0x15744/4, 0x00000001); - INSTANCE_WR(ctx, 0x15764/4, 0x00000015); - INSTANCE_WR(ctx, 0x157e4/4, 0x04444480); - INSTANCE_WR(ctx, 0x15f64/4, 0x08100c12); - INSTANCE_WR(ctx, 0x16004/4, 0x00000100); - INSTANCE_WR(ctx, 0x16064/4, 0x00010001); - INSTANCE_WR(ctx, 0x160a4/4, 0x00010001); - INSTANCE_WR(ctx, 0x160c4/4, 0x00000001); - INSTANCE_WR(ctx, 0x160e4/4, 0x00010001); - INSTANCE_WR(ctx, 0x16104/4, 0x00000001); - INSTANCE_WR(ctx, 0x16124/4, 0x00000004); - INSTANCE_WR(ctx, 0x16144/4, 0x00000002); - INSTANCE_WR(ctx, 0x161b0/4, 0x00000004); - INSTANCE_WR(ctx, 0x161c8/4, 0x003fffff); - INSTANCE_WR(ctx, 0x161d0/4, 0x00000003); - INSTANCE_WR(ctx, 0x16228/4, 0x00001fff); - INSTANCE_WR(ctx, 0x16408/4, 0x3f800000); - INSTANCE_WR(ctx, 0x16410/4, 0x0000000f); - INSTANCE_WR(ctx, 0x164e8/4, 0x00000004); - INSTANCE_WR(ctx, 0x16508/4, 0x0000001a); - INSTANCE_WR(ctx, 0x16568/4, 0x00000001); - INSTANCE_WR(ctx, 0x16590/4, 0x00000004); - INSTANCE_WR(ctx, 0x165b0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x165d0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x165f0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16610/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x16730/4, 0x00000001); - INSTANCE_WR(ctx, 0x167b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x167c8/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x16870/4, 0x00000001); - INSTANCE_WR(ctx, 0x168a8/4, 0x0000000f); - INSTANCE_WR(ctx, 0x169a8/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x169c8/4, 0x00000011); - INSTANCE_WR(ctx, 0x16a10/4, 0x00000001); - INSTANCE_WR(ctx, 0x16a30/4, 0x00000001); - INSTANCE_WR(ctx, 0x16a50/4, 0x00000002); - INSTANCE_WR(ctx, 0x16a70/4, 0x00000001); - INSTANCE_WR(ctx, 0x16a90/4, 0x00000001); - INSTANCE_WR(ctx, 0x16ab0/4, 0x00000002); - INSTANCE_WR(ctx, 0x16ad0/4, 0x00000001); - INSTANCE_WR(ctx, 0x16b10/4, 0x00000011); - INSTANCE_WR(ctx, 0x16bc8/4, 0x00000004); - INSTANCE_WR(ctx, 0x16c10/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x16c68/4, 0x00000002); - INSTANCE_WR(ctx, 0x16c70/4, 0x00000004); - INSTANCE_WR(ctx, 0x16c88/4, 0x04000000); - INSTANCE_WR(ctx, 0x16ca8/4, 0x04000000); - INSTANCE_WR(ctx, 0x16cf0/4, 0x00000011); - INSTANCE_WR(ctx, 0x16d10/4, 0x00000001); - INSTANCE_WR(ctx, 0x16d28/4, 0x00000005); - INSTANCE_WR(ctx, 0x16d48/4, 0x00000052); - INSTANCE_WR(ctx, 0x16d50/4, 0x000000cf); - INSTANCE_WR(ctx, 0x16d70/4, 0x000000cf); - INSTANCE_WR(ctx, 0x16d90/4, 0x000000cf); - INSTANCE_WR(ctx, 0x16de8/4, 0x00000001); - INSTANCE_WR(ctx, 0x16ef0/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f10/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f30/4, 0x00000002); - INSTANCE_WR(ctx, 0x16f50/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f70/4, 0x00000001); - INSTANCE_WR(ctx, 0x16f90/4, 0x00000002); - INSTANCE_WR(ctx, 0x16fb0/4, 0x00000001); - INSTANCE_WR(ctx, 0x16ff0/4, 0x00000001); - INSTANCE_WR(ctx, 0x17008/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17010/4, 0x00000001); - INSTANCE_WR(ctx, 0x17028/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17030/4, 0x00000001); - INSTANCE_WR(ctx, 0x17048/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17050/4, 0x00000001); - INSTANCE_WR(ctx, 0x17068/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17070/4, 0x00000001); - INSTANCE_WR(ctx, 0x17088/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17090/4, 0x00000001); - INSTANCE_WR(ctx, 0x170a8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x170b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x170c8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x170d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x170e8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x170f0/4, 0x00000011); - INSTANCE_WR(ctx, 0x17108/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17128/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17148/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17168/4, 0x3f800000); - INSTANCE_WR(ctx, 0x17188/4, 0x3f800000); - INSTANCE_WR(ctx, 0x171a8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x171c8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x171e8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x171f0/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x17208/4, 0x00000010); - INSTANCE_WR(ctx, 0x17210/4, 0x0000000f); - INSTANCE_WR(ctx, 0x17310/4, 0x001ffe67); - INSTANCE_WR(ctx, 0x17370/4, 0x00000011); - INSTANCE_WR(ctx, 0x17390/4, 0x00000001); - INSTANCE_WR(ctx, 0x17410/4, 0x00000004); - INSTANCE_WR(ctx, 0x174d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x17570/4, 0x00000011); - INSTANCE_WR(ctx, 0x17670/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x176e8/4, 0x08100c12); - INSTANCE_WR(ctx, 0x176f0/4, 0x00000011); - INSTANCE_WR(ctx, 0x17708/4, 0x00000005); - INSTANCE_WR(ctx, 0x17710/4, 0x00000001); - INSTANCE_WR(ctx, 0x17750/4, 0x00000001); - INSTANCE_WR(ctx, 0x17768/4, 0x00000001); - INSTANCE_WR(ctx, 0x17790/4, 0x00000001); - INSTANCE_WR(ctx, 0x177a8/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x177c8/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x177d0/4, 0x000007ff); - INSTANCE_WR(ctx, 0x177e8/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x17808/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x17810/4, 0x00000001); - INSTANCE_WR(ctx, 0x17828/4, 0x00000003); - INSTANCE_WR(ctx, 0x17850/4, 0x00000001); - INSTANCE_WR(ctx, 0x17bc4/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x17be4/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x17c28/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x17c48/4, 0x0000001a); - INSTANCE_WR(ctx, 0x17c84/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x17c88/4, 0x00000003); - INSTANCE_WR(ctx, 0x17db0/4, 0x00000008); - INSTANCE_WR(ctx, 0x17dd0/4, 0x00000008); - INSTANCE_WR(ctx, 0x17df0/4, 0x00000008); - INSTANCE_WR(ctx, 0x17e04/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x17e10/4, 0x00000008); - INSTANCE_WR(ctx, 0x17e24/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x17e30/4, 0x00000008); - INSTANCE_WR(ctx, 0x17e50/4, 0x00000008); - INSTANCE_WR(ctx, 0x17e70/4, 0x00000008); - INSTANCE_WR(ctx, 0x17e90/4, 0x00000008); - INSTANCE_WR(ctx, 0x17eb0/4, 0x00000011); - INSTANCE_WR(ctx, 0x17fb0/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x17fd0/4, 0x00000400); - INSTANCE_WR(ctx, 0x17ff0/4, 0x00000400); - INSTANCE_WR(ctx, 0x18010/4, 0x00000400); - INSTANCE_WR(ctx, 0x18030/4, 0x00000400); - INSTANCE_WR(ctx, 0x18050/4, 0x00000400); - INSTANCE_WR(ctx, 0x18070/4, 0x00000400); - INSTANCE_WR(ctx, 0x18090/4, 0x00000400); - INSTANCE_WR(ctx, 0x180b0/4, 0x00000400); - INSTANCE_WR(ctx, 0x180d0/4, 0x00000300); - INSTANCE_WR(ctx, 0x180f0/4, 0x00000300); - INSTANCE_WR(ctx, 0x18110/4, 0x00000300); - INSTANCE_WR(ctx, 0x18130/4, 0x00000300); - INSTANCE_WR(ctx, 0x18150/4, 0x00000300); - INSTANCE_WR(ctx, 0x18168/4, 0x00000102); - INSTANCE_WR(ctx, 0x18170/4, 0x00000300); - INSTANCE_WR(ctx, 0x18190/4, 0x00000300); - INSTANCE_WR(ctx, 0x181a8/4, 0x00000004); - INSTANCE_WR(ctx, 0x181b0/4, 0x00000300); - INSTANCE_WR(ctx, 0x181c8/4, 0x00000004); - INSTANCE_WR(ctx, 0x181d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x181e8/4, 0x00000004); - INSTANCE_WR(ctx, 0x181f0/4, 0x0000000f); - INSTANCE_WR(ctx, 0x18208/4, 0x00000004); - INSTANCE_WR(ctx, 0x18228/4, 0x00000004); - INSTANCE_WR(ctx, 0x18248/4, 0x00000004); - INSTANCE_WR(ctx, 0x18288/4, 0x000007ff); - INSTANCE_WR(ctx, 0x182c8/4, 0x00000102); - INSTANCE_WR(ctx, 0x182f0/4, 0x00000020); - INSTANCE_WR(ctx, 0x18310/4, 0x00000011); - INSTANCE_WR(ctx, 0x18330/4, 0x00000100); - INSTANCE_WR(ctx, 0x18370/4, 0x00000001); - INSTANCE_WR(ctx, 0x183d0/4, 0x00000040); - INSTANCE_WR(ctx, 0x183f0/4, 0x00000100); - INSTANCE_WR(ctx, 0x18408/4, 0x00000004); - INSTANCE_WR(ctx, 0x18428/4, 0x00000004); - INSTANCE_WR(ctx, 0x18430/4, 0x00000003); - INSTANCE_WR(ctx, 0x18448/4, 0x00000004); - INSTANCE_WR(ctx, 0x18468/4, 0x00000004); - INSTANCE_WR(ctx, 0x184d0/4, 0x001ffe67); - INSTANCE_WR(ctx, 0x18550/4, 0x00000002); - INSTANCE_WR(ctx, 0x18570/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x186b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x18750/4, 0x00000004); - INSTANCE_WR(ctx, 0x18790/4, 0x00000001); - INSTANCE_WR(ctx, 0x187b0/4, 0x00000400); - INSTANCE_WR(ctx, 0x187d0/4, 0x00000300); - INSTANCE_WR(ctx, 0x187f0/4, 0x00001001); - INSTANCE_WR(ctx, 0x18870/4, 0x00000011); - INSTANCE_WR(ctx, 0x18970/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x18990/4, 0x0000000f); - INSTANCE_WR(ctx, 0x18aa8/4, 0x00080c14); - INSTANCE_WR(ctx, 0x18b08/4, 0x00000804); - INSTANCE_WR(ctx, 0x18b48/4, 0x00000004); - INSTANCE_WR(ctx, 0x18b68/4, 0x00000004); - INSTANCE_WR(ctx, 0x18b88/4, 0x08100c12); - INSTANCE_WR(ctx, 0x18bc8/4, 0x00000004); - INSTANCE_WR(ctx, 0x18be8/4, 0x00000004); - INSTANCE_WR(ctx, 0x18c28/4, 0x00000010); - INSTANCE_WR(ctx, 0x18c90/4, 0x001ffe67); - INSTANCE_WR(ctx, 0x18cc8/4, 0x00000804); - INSTANCE_WR(ctx, 0x18ce8/4, 0x00000001); - INSTANCE_WR(ctx, 0x18d08/4, 0x0000001a); - INSTANCE_WR(ctx, 0x18d10/4, 0x00000011); - INSTANCE_WR(ctx, 0x18d28/4, 0x0000007f); - INSTANCE_WR(ctx, 0x18d68/4, 0x00000001); - INSTANCE_WR(ctx, 0x18d70/4, 0x00000004); - INSTANCE_WR(ctx, 0x18d88/4, 0x00080c14); - INSTANCE_WR(ctx, 0x18db0/4, 0x00000001); - INSTANCE_WR(ctx, 0x18dc8/4, 0x08100c12); - INSTANCE_WR(ctx, 0x18dd0/4, 0x00000001); - INSTANCE_WR(ctx, 0x18de8/4, 0x00000004); - INSTANCE_WR(ctx, 0x18e08/4, 0x00000004); - INSTANCE_WR(ctx, 0x18e48/4, 0x00000010); - INSTANCE_WR(ctx, 0x18e50/4, 0x00000001); - INSTANCE_WR(ctx, 0x18ec8/4, 0x00000001); - INSTANCE_WR(ctx, 0x18ee8/4, 0x08100c12); - INSTANCE_WR(ctx, 0x18ef0/4, 0x00000001); - INSTANCE_WR(ctx, 0x18f30/4, 0x00000001); - INSTANCE_WR(ctx, 0x18fb0/4, 0x2a712488); - INSTANCE_WR(ctx, 0x18fc8/4, 0x000007ff); - INSTANCE_WR(ctx, 0x18fe8/4, 0x00080c14); - INSTANCE_WR(ctx, 0x18ff0/4, 0x4085c000); - INSTANCE_WR(ctx, 0x19010/4, 0x00000040); - INSTANCE_WR(ctx, 0x19030/4, 0x00000100); - INSTANCE_WR(ctx, 0x19050/4, 0x00010100); - INSTANCE_WR(ctx, 0x19070/4, 0x02800000); - INSTANCE_WR(ctx, 0x192d0/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x192f0/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x19310/4, 0x00000001); - INSTANCE_WR(ctx, 0x19350/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x19370/4, 0x00000001); - INSTANCE_WR(ctx, 0x193d0/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x194f0/4, 0x00000001); - INSTANCE_WR(ctx, 0x19530/4, 0x00000001); - INSTANCE_WR(ctx, 0x19550/4, 0x30201000); - INSTANCE_WR(ctx, 0x19570/4, 0x70605040); - INSTANCE_WR(ctx, 0x19590/4, 0xb8a89888); - INSTANCE_WR(ctx, 0x195b0/4, 0xf8e8d8c8); - INSTANCE_WR(ctx, 0x195f0/4, 0x0000001a); - INSTANCE_WR(ctx, 0x19630/4, 0x00000004); - INSTANCE_WR(ctx, 0x19708/4, 0x00000001); - INSTANCE_WR(ctx, 0x19768/4, 0x00000010); - INSTANCE_WR(ctx, 0x198f0/4, 0x00000004); - INSTANCE_WR(ctx, 0x19910/4, 0x00000004); - INSTANCE_WR(ctx, 0x19930/4, 0x00608080); - INSTANCE_WR(ctx, 0x199d0/4, 0x00000004); - INSTANCE_WR(ctx, 0x19a30/4, 0x00000004); - INSTANCE_WR(ctx, 0x19a50/4, 0x00000004); - INSTANCE_WR(ctx, 0x19a70/4, 0x00000080); - INSTANCE_WR(ctx, 0x19a90/4, 0x00000004); - INSTANCE_WR(ctx, 0x19e88/4, 0x00000088); - INSTANCE_WR(ctx, 0x19ea8/4, 0x00000088); - INSTANCE_WR(ctx, 0x19f08/4, 0x00000004); - INSTANCE_WR(ctx, 0x19f30/4, 0x00000004); - INSTANCE_WR(ctx, 0x19f50/4, 0x00000080); - INSTANCE_WR(ctx, 0x19f70/4, 0x00000004); - INSTANCE_WR(ctx, 0x19f90/4, 0x03020100); - INSTANCE_WR(ctx, 0x19fb0/4, 0x00000003); - INSTANCE_WR(ctx, 0x19fd0/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a070/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a090/4, 0x00000003); - INSTANCE_WR(ctx, 0x1a110/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a1e8/4, 0x00000026); - INSTANCE_WR(ctx, 0x1a248/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1a2c8/4, 0x0000001a); - INSTANCE_WR(ctx, 0x1a2e8/4, 0x00000010); - INSTANCE_WR(ctx, 0x1a808/4, 0x00000052); - INSTANCE_WR(ctx, 0x1a848/4, 0x00000026); - INSTANCE_WR(ctx, 0x1a888/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a8a8/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a8e8/4, 0x0000001a); - INSTANCE_WR(ctx, 0x1a948/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x1a988/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a9a8/4, 0x00000004); - INSTANCE_WR(ctx, 0x1a9e8/4, 0x00000080); - INSTANCE_WR(ctx, 0x1aa08/4, 0x00000004); - INSTANCE_WR(ctx, 0x1aa28/4, 0x00080c14); - INSTANCE_WR(ctx, 0x1aa68/4, 0x000007ff); - INSTANCE_WR(ctx, 0x2d2c8/4, 0x00000004); - INSTANCE_WR(ctx, 0x2d2e8/4, 0x00000004); - INSTANCE_WR(ctx, 0x2d328/4, 0x00000080); - INSTANCE_WR(ctx, 0x2d348/4, 0x00000004); - INSTANCE_WR(ctx, 0x2d368/4, 0x00000001); - INSTANCE_WR(ctx, 0x2d3a8/4, 0x00000027); - INSTANCE_WR(ctx, 0x2d3e8/4, 0x00000026); - INSTANCE_WR(ctx, 0x2d468/4, 0x04000000); - INSTANCE_WR(ctx, 0x2d488/4, 0x04000000); - INSTANCE_WR(ctx, 0x2d4a8/4, 0x04000000); - INSTANCE_WR(ctx, 0x2d4c8/4, 0x04000000); - INSTANCE_WR(ctx, 0x2d4e8/4, 0x04000000); - INSTANCE_WR(ctx, 0x2d508/4, 0x04000000); - INSTANCE_WR(ctx, 0x2d528/4, 0x04000000); - INSTANCE_WR(ctx, 0x2d548/4, 0x04000000); - INSTANCE_WR(ctx, 0x2d568/4, 0x04000000); - INSTANCE_WR(ctx, 0x2d588/4, 0x04000000); - INSTANCE_WR(ctx, 0x2d5a8/4, 0x04000000); - INSTANCE_WR(ctx, 0x2d5c8/4, 0x04000000); - INSTANCE_WR(ctx, 0x2d5e8/4, 0x04000000); - INSTANCE_WR(ctx, 0x2d608/4, 0x04000000); - INSTANCE_WR(ctx, 0x2d628/4, 0x04000000); - INSTANCE_WR(ctx, 0x2d648/4, 0x04000000); - INSTANCE_WR(ctx, 0x2dae8/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x2db08/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x2db68/4, 0x0001fe21); - INSTANCE_WR(ctx, 0x2e5b0/4, 0x00000004); - INSTANCE_WR(ctx, 0x2e5d0/4, 0x00000003); - INSTANCE_WR(ctx, 0x2e810/4, 0x0000000f); - INSTANCE_WR(ctx, 0x2e990/4, 0x00000004); - INSTANCE_WR(ctx, 0x2e9b0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2e9d0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2e9f0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2ea10/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x2eb30/4, 0x00000001); - INSTANCE_WR(ctx, 0x2ebb0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2ec70/4, 0x00000001); - INSTANCE_WR(ctx, 0x2ee10/4, 0x00000001); - INSTANCE_WR(ctx, 0x2ee30/4, 0x00000001); - INSTANCE_WR(ctx, 0x2ee50/4, 0x00000002); - INSTANCE_WR(ctx, 0x2ee70/4, 0x00000001); - INSTANCE_WR(ctx, 0x2ee90/4, 0x00000001); - INSTANCE_WR(ctx, 0x2eeb0/4, 0x00000002); - INSTANCE_WR(ctx, 0x2eed0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2ef10/4, 0x00000011); - INSTANCE_WR(ctx, 0x2f010/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x2f070/4, 0x00000004); - INSTANCE_WR(ctx, 0x2f0f0/4, 0x00000011); - INSTANCE_WR(ctx, 0x2f110/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f150/4, 0x000000cf); - INSTANCE_WR(ctx, 0x2f170/4, 0x000000cf); - INSTANCE_WR(ctx, 0x2f190/4, 0x000000cf); - INSTANCE_WR(ctx, 0x2f2f0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f310/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f330/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f350/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f370/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f390/4, 0x00000002); - INSTANCE_WR(ctx, 0x2f3b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f3f0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f410/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f430/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f450/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f470/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f490/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f4b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f4d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f4f0/4, 0x00000011); - INSTANCE_WR(ctx, 0x2f5f0/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x2f610/4, 0x0000000f); - INSTANCE_WR(ctx, 0x2f710/4, 0x001ffe67); - INSTANCE_WR(ctx, 0x2f770/4, 0x00000011); - INSTANCE_WR(ctx, 0x2f790/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f810/4, 0x00000004); - INSTANCE_WR(ctx, 0x2f8d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x2f970/4, 0x00000011); - INSTANCE_WR(ctx, 0x2fa70/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x2faf0/4, 0x00000011); - INSTANCE_WR(ctx, 0x2fb10/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fb50/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fb90/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fbd0/4, 0x000007ff); - INSTANCE_WR(ctx, 0x2fc10/4, 0x00000001); - INSTANCE_WR(ctx, 0x2fc50/4, 0x00000001); - INSTANCE_WR(ctx, 0x301b0/4, 0x00000008); - INSTANCE_WR(ctx, 0x301d0/4, 0x00000008); - INSTANCE_WR(ctx, 0x301f0/4, 0x00000008); - INSTANCE_WR(ctx, 0x30210/4, 0x00000008); - INSTANCE_WR(ctx, 0x30230/4, 0x00000008); - INSTANCE_WR(ctx, 0x30250/4, 0x00000008); - INSTANCE_WR(ctx, 0x30270/4, 0x00000008); - INSTANCE_WR(ctx, 0x30290/4, 0x00000008); - INSTANCE_WR(ctx, 0x302b0/4, 0x00000011); - INSTANCE_WR(ctx, 0x303b0/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x303d0/4, 0x00000400); - INSTANCE_WR(ctx, 0x303f0/4, 0x00000400); - INSTANCE_WR(ctx, 0x30410/4, 0x00000400); - INSTANCE_WR(ctx, 0x30430/4, 0x00000400); - INSTANCE_WR(ctx, 0x30450/4, 0x00000400); - INSTANCE_WR(ctx, 0x30470/4, 0x00000400); - INSTANCE_WR(ctx, 0x30490/4, 0x00000400); - INSTANCE_WR(ctx, 0x304b0/4, 0x00000400); - INSTANCE_WR(ctx, 0x304d0/4, 0x00000300); - INSTANCE_WR(ctx, 0x304f0/4, 0x00000300); - INSTANCE_WR(ctx, 0x30510/4, 0x00000300); - INSTANCE_WR(ctx, 0x30530/4, 0x00000300); - INSTANCE_WR(ctx, 0x30550/4, 0x00000300); - INSTANCE_WR(ctx, 0x30570/4, 0x00000300); - INSTANCE_WR(ctx, 0x30590/4, 0x00000300); - INSTANCE_WR(ctx, 0x305b0/4, 0x00000300); - INSTANCE_WR(ctx, 0x305d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x305f0/4, 0x0000000f); - INSTANCE_WR(ctx, 0x306f0/4, 0x00000020); - INSTANCE_WR(ctx, 0x30710/4, 0x00000011); - INSTANCE_WR(ctx, 0x30730/4, 0x00000100); - INSTANCE_WR(ctx, 0x30770/4, 0x00000001); - INSTANCE_WR(ctx, 0x307d0/4, 0x00000040); - INSTANCE_WR(ctx, 0x307f0/4, 0x00000100); - INSTANCE_WR(ctx, 0x30830/4, 0x00000003); - INSTANCE_WR(ctx, 0x308d0/4, 0x001ffe67); - INSTANCE_WR(ctx, 0x30950/4, 0x00000002); - INSTANCE_WR(ctx, 0x30970/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x30ab0/4, 0x00000001); - INSTANCE_WR(ctx, 0x30b50/4, 0x00000004); - INSTANCE_WR(ctx, 0x30b90/4, 0x00000001); - INSTANCE_WR(ctx, 0x30bb0/4, 0x00000400); - INSTANCE_WR(ctx, 0x30bd0/4, 0x00000300); - INSTANCE_WR(ctx, 0x30bf0/4, 0x00001001); - INSTANCE_WR(ctx, 0x30c70/4, 0x00000011); - INSTANCE_WR(ctx, 0x30d70/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x30d90/4, 0x0000000f); - INSTANCE_WR(ctx, 0x31090/4, 0x001ffe67); - INSTANCE_WR(ctx, 0x31110/4, 0x00000011); - INSTANCE_WR(ctx, 0x31170/4, 0x00000004); - INSTANCE_WR(ctx, 0x311b0/4, 0x00000001); - INSTANCE_WR(ctx, 0x311d0/4, 0x00000001); - INSTANCE_WR(ctx, 0x31250/4, 0x00000001); - INSTANCE_WR(ctx, 0x312f0/4, 0x00000001); - INSTANCE_WR(ctx, 0x31330/4, 0x00000001); - INSTANCE_WR(ctx, 0x313b0/4, 0x2a712488); - INSTANCE_WR(ctx, 0x313f0/4, 0x4085c000); - INSTANCE_WR(ctx, 0x31410/4, 0x00000040); - INSTANCE_WR(ctx, 0x31430/4, 0x00000100); - INSTANCE_WR(ctx, 0x31450/4, 0x00010100); - INSTANCE_WR(ctx, 0x31470/4, 0x02800000); - INSTANCE_WR(ctx, 0x316d0/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x316f0/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x31710/4, 0x00000001); - INSTANCE_WR(ctx, 0x31750/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x31770/4, 0x00000001); - INSTANCE_WR(ctx, 0x317d0/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x318f0/4, 0x00000001); - INSTANCE_WR(ctx, 0x31930/4, 0x00000001); - INSTANCE_WR(ctx, 0x31950/4, 0x30201000); - INSTANCE_WR(ctx, 0x31970/4, 0x70605040); - INSTANCE_WR(ctx, 0x31990/4, 0xb8a89888); - INSTANCE_WR(ctx, 0x319b0/4, 0xf8e8d8c8); - INSTANCE_WR(ctx, 0x319f0/4, 0x0000001a); - INSTANCE_WR(ctx, 0x4a7e0/4, 0x00000004); - INSTANCE_WR(ctx, 0x4a800/4, 0x00000004); - INSTANCE_WR(ctx, 0x4a820/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4a840/4, 0x00000003); - INSTANCE_WR(ctx, 0x4a880/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4a8c0/4, 0x00080c14); - INSTANCE_WR(ctx, 0x4a8e0/4, 0x00000001); - INSTANCE_WR(ctx, 0x4a900/4, 0x00080c14); - INSTANCE_WR(ctx, 0x4a960/4, 0x08100c12); - INSTANCE_WR(ctx, 0x4a980/4, 0x00000027); - INSTANCE_WR(ctx, 0x4a9e0/4, 0x00000001); - INSTANCE_WR(ctx, 0x52220/4, 0x00000001); - INSTANCE_WR(ctx, 0x52500/4, 0x08100c12); - INSTANCE_WR(ctx, 0x526a0/4, 0x04000000); - INSTANCE_WR(ctx, 0x526c0/4, 0x04000000); - INSTANCE_WR(ctx, 0x52700/4, 0x00000080); - INSTANCE_WR(ctx, 0x52780/4, 0x00000080); - INSTANCE_WR(ctx, 0x527c0/4, 0x0000003f); - INSTANCE_WR(ctx, 0x52920/4, 0x00000002); - INSTANCE_WR(ctx, 0x52940/4, 0x04000000); - INSTANCE_WR(ctx, 0x52960/4, 0x04000000); - INSTANCE_WR(ctx, 0x52a80/4, 0x00000004); - INSTANCE_WR(ctx, 0x52b00/4, 0x00000004); - INSTANCE_WR(ctx, 0x52d40/4, 0x00000001); - INSTANCE_WR(ctx, 0x52d60/4, 0x00001001); - INSTANCE_WR(ctx, 0x52d80/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x52da0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x52dc0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x52de0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x53200/4, 0x3f800000); - INSTANCE_WR(ctx, 0x53220/4, 0x3f800000); - INSTANCE_WR(ctx, 0x53240/4, 0x3f800000); - INSTANCE_WR(ctx, 0x53260/4, 0x3f800000); - INSTANCE_WR(ctx, 0x53280/4, 0x3f800000); - INSTANCE_WR(ctx, 0x532a0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x532c0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x532e0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x53300/4, 0x3f800000); - INSTANCE_WR(ctx, 0x53320/4, 0x3f800000); - INSTANCE_WR(ctx, 0x53340/4, 0x3f800000); - INSTANCE_WR(ctx, 0x53360/4, 0x3f800000); - INSTANCE_WR(ctx, 0x53380/4, 0x3f800000); - INSTANCE_WR(ctx, 0x533a0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x533c0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x533e0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x53400/4, 0x00000010); - INSTANCE_WR(ctx, 0x53460/4, 0x00000003); - INSTANCE_WR(ctx, 0x53500/4, 0x08100c12); - INSTANCE_WR(ctx, 0x53524/4, 0x00000080); - INSTANCE_WR(ctx, 0x53540/4, 0x00000080); - INSTANCE_WR(ctx, 0x53544/4, 0x80007004); - INSTANCE_WR(ctx, 0x53560/4, 0x80007004); - INSTANCE_WR(ctx, 0x53564/4, 0x04000400); - INSTANCE_WR(ctx, 0x53580/4, 0x04000400); - INSTANCE_WR(ctx, 0x53584/4, 0x00001000); - INSTANCE_WR(ctx, 0x535a0/4, 0x00001000); - INSTANCE_WR(ctx, 0x535e4/4, 0x00000001); - INSTANCE_WR(ctx, 0x53600/4, 0x00000001); - INSTANCE_WR(ctx, 0x53644/4, 0x00000001); - INSTANCE_WR(ctx, 0x53660/4, 0x00000001); - INSTANCE_WR(ctx, 0x53684/4, 0x00000004); - INSTANCE_WR(ctx, 0x536a0/4, 0x00000004); - INSTANCE_WR(ctx, 0x536a4/4, 0x00000002); - INSTANCE_WR(ctx, 0x536c0/4, 0x00000002); - INSTANCE_WR(ctx, 0x53824/4, 0x00000080); - INSTANCE_WR(ctx, 0x53840/4, 0x00000080); - INSTANCE_WR(ctx, 0x53844/4, 0x80007004); - INSTANCE_WR(ctx, 0x53860/4, 0x80007004); - INSTANCE_WR(ctx, 0x53864/4, 0x04000400); - INSTANCE_WR(ctx, 0x53880/4, 0x04000400); - INSTANCE_WR(ctx, 0x53884/4, 0x00001000); - INSTANCE_WR(ctx, 0x538a0/4, 0x00001000); - INSTANCE_WR(ctx, 0x538e4/4, 0x00000001); - INSTANCE_WR(ctx, 0x53900/4, 0x00000001); - INSTANCE_WR(ctx, 0x53944/4, 0x00000001); - INSTANCE_WR(ctx, 0x53960/4, 0x00000001); - INSTANCE_WR(ctx, 0x53984/4, 0x00000004); - INSTANCE_WR(ctx, 0x539a0/4, 0x00000004); - INSTANCE_WR(ctx, 0x539a4/4, 0x00000002); - INSTANCE_WR(ctx, 0x539c0/4, 0x00000002); - INSTANCE_WR(ctx, 0x53b04/4, 0x08100c12); - INSTANCE_WR(ctx, 0x53b20/4, 0x08100c12); - INSTANCE_WR(ctx, 0x53be4/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x53c00/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x53c04/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x53c20/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x53c24/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x53c40/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x53c44/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x53c60/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x53c64/4, 0x00000001); - INSTANCE_WR(ctx, 0x53c80/4, 0x00000001); - INSTANCE_WR(ctx, 0x53c84/4, 0x00010001); - INSTANCE_WR(ctx, 0x53ca0/4, 0x00010001); - INSTANCE_WR(ctx, 0x53ca4/4, 0x00010001); - INSTANCE_WR(ctx, 0x53cc0/4, 0x00010001); - INSTANCE_WR(ctx, 0x53cc4/4, 0x00000001); - INSTANCE_WR(ctx, 0x53ce0/4, 0x00000001); - INSTANCE_WR(ctx, 0x53d04/4, 0x0001fe21); - INSTANCE_WR(ctx, 0x53d20/4, 0x0001fe21); - INSTANCE_WR(ctx, 0x53dc4/4, 0x08100c12); - INSTANCE_WR(ctx, 0x53de0/4, 0x08100c12); - INSTANCE_WR(ctx, 0x53de4/4, 0x00000004); - INSTANCE_WR(ctx, 0x53e00/4, 0x00000004); - INSTANCE_WR(ctx, 0x53e24/4, 0x00000002); - INSTANCE_WR(ctx, 0x53e40/4, 0x00000002); - INSTANCE_WR(ctx, 0x53e44/4, 0x00000011); - INSTANCE_WR(ctx, 0x53e60/4, 0x00000011); - INSTANCE_WR(ctx, 0x53f64/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x53f80/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x54004/4, 0x00000004); - INSTANCE_WR(ctx, 0x54020/4, 0x00000004); - INSTANCE_WR(ctx, 0x54144/4, 0x00000002); - INSTANCE_WR(ctx, 0x54160/4, 0x00000002); - INSTANCE_WR(ctx, 0x54164/4, 0x00000001); - INSTANCE_WR(ctx, 0x54180/4, 0x00000001); - INSTANCE_WR(ctx, 0x54184/4, 0x00000001); - INSTANCE_WR(ctx, 0x541a0/4, 0x00000001); - INSTANCE_WR(ctx, 0x541a4/4, 0x00000002); - INSTANCE_WR(ctx, 0x541c0/4, 0x00000002); - INSTANCE_WR(ctx, 0x541c4/4, 0x00000001); - INSTANCE_WR(ctx, 0x541e0/4, 0x00000001); - INSTANCE_WR(ctx, 0x541e4/4, 0x00000001); - INSTANCE_WR(ctx, 0x54200/4, 0x00000001); - INSTANCE_WR(ctx, 0x54204/4, 0x00000001); - INSTANCE_WR(ctx, 0x54220/4, 0x00000001); - INSTANCE_WR(ctx, 0x54244/4, 0x00000004); - INSTANCE_WR(ctx, 0x54260/4, 0x00000004); - INSTANCE_WR(ctx, 0x5b6a4/4, 0x00000011); - INSTANCE_WR(ctx, 0x5b6c0/4, 0x00000011); - INSTANCE_WR(ctx, 0x5b6e4/4, 0x00000001); - INSTANCE_WR(ctx, 0x5b700/4, 0x00000001); -} - -static void -nv86_graph_init_ctxvals(struct drm_device *dev, struct nouveau_gpuobj_ref *ref) -{ - struct drm_nouveau_private *dev_priv = dev->dev_private; - struct nouveau_gpuobj *ctx = ref->gpuobj; - - INSTANCE_WR(ctx, 0x10C/4, 0x30); - INSTANCE_WR(ctx, 0x1D4/4, 0x3); - INSTANCE_WR(ctx, 0x1D8/4, 0x1000); - INSTANCE_WR(ctx, 0x218/4, 0xFE0C); - INSTANCE_WR(ctx, 0x22C/4, 0x1000); - INSTANCE_WR(ctx, 0x258/4, 0x187); - INSTANCE_WR(ctx, 0x26C/4, 0x1018); - INSTANCE_WR(ctx, 0x270/4, 0xFF); - INSTANCE_WR(ctx, 0x2AC/4, 0x4); - INSTANCE_WR(ctx, 0x2B0/4, 0x44D00DF); - INSTANCE_WR(ctx, 0x2B8/4, 0x600); - INSTANCE_WR(ctx, 0x2D0/4, 0x1000000); - INSTANCE_WR(ctx, 0x2D4/4, 0xFF); - INSTANCE_WR(ctx, 0x2DC/4, 0x400); - INSTANCE_WR(ctx, 0x2F4/4, 0x1); - INSTANCE_WR(ctx, 0x2F8/4, 0x80); - INSTANCE_WR(ctx, 0x2FC/4, 0x4); - INSTANCE_WR(ctx, 0x318/4, 0x2); - INSTANCE_WR(ctx, 0x31C/4, 0x1); - INSTANCE_WR(ctx, 0x328/4, 0x1); - INSTANCE_WR(ctx, 0x32C/4, 0x100); - INSTANCE_WR(ctx, 0x344/4, 0x2); - INSTANCE_WR(ctx, 0x348/4, 0x1); - INSTANCE_WR(ctx, 0x34C/4, 0x1); - INSTANCE_WR(ctx, 0x35C/4, 0x1); - INSTANCE_WR(ctx, 0x360/4, 0x3FFFFF); - INSTANCE_WR(ctx, 0x364/4, 0x1FFF); - INSTANCE_WR(ctx, 0x36C/4, 0x1); - INSTANCE_WR(ctx, 0x370/4, 0x1); - INSTANCE_WR(ctx, 0x378/4, 0x1); - INSTANCE_WR(ctx, 0x37C/4, 0x1); - INSTANCE_WR(ctx, 0x380/4, 0x1); - INSTANCE_WR(ctx, 0x384/4, 0x4); - INSTANCE_WR(ctx, 0x388/4, 0x1); - INSTANCE_WR(ctx, 0x38C/4, 0x1); - INSTANCE_WR(ctx, 0x390/4, 0x1); - INSTANCE_WR(ctx, 0x394/4, 0x7); - INSTANCE_WR(ctx, 0x398/4, 0x1); - INSTANCE_WR(ctx, 0x39C/4, 0x7); - INSTANCE_WR(ctx, 0x3A0/4, 0x1); - INSTANCE_WR(ctx, 0x3A4/4, 0x1); - INSTANCE_WR(ctx, 0x3A8/4, 0x1); - INSTANCE_WR(ctx, 0x3BC/4, 0x1); - INSTANCE_WR(ctx, 0x3C0/4, 0x100); - INSTANCE_WR(ctx, 0x3C8/4, 0x1); - INSTANCE_WR(ctx, 0x3D4/4, 0x100); - INSTANCE_WR(ctx, 0x3D8/4, 0x1); - INSTANCE_WR(ctx, 0x3DC/4, 0x100); - INSTANCE_WR(ctx, 0x3E4/4, 0x1); - INSTANCE_WR(ctx, 0x3F0/4, 0x100); - INSTANCE_WR(ctx, 0x404/4, 0x4); - INSTANCE_WR(ctx, 0x408/4, 0x70); - INSTANCE_WR(ctx, 0x40C/4, 0x80); - INSTANCE_WR(ctx, 0x420/4, 0xC); - INSTANCE_WR(ctx, 0x428/4, 0x8); - INSTANCE_WR(ctx, 0x42C/4, 0x14); - INSTANCE_WR(ctx, 0x434/4, 0x29); - INSTANCE_WR(ctx, 0x438/4, 0x27); - INSTANCE_WR(ctx, 0x43C/4, 0x26); - INSTANCE_WR(ctx, 0x440/4, 0x8); - INSTANCE_WR(ctx, 0x444/4, 0x4); - INSTANCE_WR(ctx, 0x448/4, 0x27); - INSTANCE_WR(ctx, 0x454/4, 0x1); - INSTANCE_WR(ctx, 0x458/4, 0x2); - INSTANCE_WR(ctx, 0x45C/4, 0x3); - INSTANCE_WR(ctx, 0x460/4, 0x4); - INSTANCE_WR(ctx, 0x464/4, 0x5); - INSTANCE_WR(ctx, 0x468/4, 0x6); - INSTANCE_WR(ctx, 0x46C/4, 0x7); - INSTANCE_WR(ctx, 0x470/4, 0x1); - INSTANCE_WR(ctx, 0x4B4/4, 0xCF); - INSTANCE_WR(ctx, 0x4E4/4, 0x80); - INSTANCE_WR(ctx, 0x4E8/4, 0x4); - INSTANCE_WR(ctx, 0x4EC/4, 0x4); - INSTANCE_WR(ctx, 0x4F0/4, 0x3); - INSTANCE_WR(ctx, 0x4F4/4, 0x1); - INSTANCE_WR(ctx, 0x500/4, 0x12); - INSTANCE_WR(ctx, 0x504/4, 0x10); - INSTANCE_WR(ctx, 0x508/4, 0xC); - INSTANCE_WR(ctx, 0x50C/4, 0x1); - INSTANCE_WR(ctx, 0x51C/4, 0x4); - INSTANCE_WR(ctx, 0x520/4, 0x2); - INSTANCE_WR(ctx, 0x524/4, 0x4); - INSTANCE_WR(ctx, 0x530/4, 0x3FFFFF); - INSTANCE_WR(ctx, 0x534/4, 0x1FFF); - INSTANCE_WR(ctx, 0x55C/4, 0x4); - INSTANCE_WR(ctx, 0x560/4, 0x14); - INSTANCE_WR(ctx, 0x564/4, 0x1); - INSTANCE_WR(ctx, 0x570/4, 0x2); - INSTANCE_WR(ctx, 0x57C/4, 0x1); - INSTANCE_WR(ctx, 0x584/4, 0x2); - INSTANCE_WR(ctx, 0x588/4, 0x1000); - INSTANCE_WR(ctx, 0x58C/4, 0xE00); - INSTANCE_WR(ctx, 0x590/4, 0x1000); - INSTANCE_WR(ctx, 0x594/4, 0x1E00); - INSTANCE_WR(ctx, 0x59C/4, 0x1); - INSTANCE_WR(ctx, 0x5A0/4, 0x1); - INSTANCE_WR(ctx, 0x5A4/4, 0x1); - INSTANCE_WR(ctx, 0x5A8/4, 0x1); - INSTANCE_WR(ctx, 0x5AC/4, 0x1); - INSTANCE_WR(ctx, 0x5BC/4, 0x200); - INSTANCE_WR(ctx, 0x5C4/4, 0x1); - INSTANCE_WR(ctx, 0x5C8/4, 0x70); - INSTANCE_WR(ctx, 0x5CC/4, 0x80); - INSTANCE_WR(ctx, 0x5D8/4, 0x1); - INSTANCE_WR(ctx, 0x5DC/4, 0x70); - INSTANCE_WR(ctx, 0x5E0/4, 0x80); - INSTANCE_WR(ctx, 0x5F0/4, 0x1); - INSTANCE_WR(ctx, 0x5F4/4, 0xCF); - INSTANCE_WR(ctx, 0x5FC/4, 0x1); - INSTANCE_WR(ctx, 0x60C/4, 0xCF); - INSTANCE_WR(ctx, 0x614/4, 0x2); - INSTANCE_WR(ctx, 0x61C/4, 0x1); - INSTANCE_WR(ctx, 0x624/4, 0x1); - INSTANCE_WR(ctx, 0x62C/4, 0xCF); - INSTANCE_WR(ctx, 0x630/4, 0xCF); - INSTANCE_WR(ctx, 0x634/4, 0x1); - INSTANCE_WR(ctx, 0x63C/4, 0xF80); - INSTANCE_WR(ctx, 0x684/4, 0x7F0080); - INSTANCE_WR(ctx, 0x6C0/4, 0x7F0080); - INSTANCE_WR(ctx, 0x6E4/4, 0x3B74F821); - INSTANCE_WR(ctx, 0x6E8/4, 0x89058001); - INSTANCE_WR(ctx, 0x6F0/4, 0x1000); - INSTANCE_WR(ctx, 0x6F4/4, 0x1F); - INSTANCE_WR(ctx, 0x6F8/4, 0x27C10FA); - INSTANCE_WR(ctx, 0x6FC/4, 0x400000C0); - INSTANCE_WR(ctx, 0x700/4, 0xB7892080); - INSTANCE_WR(ctx, 0x70C/4, 0x3B74F821); - INSTANCE_WR(ctx, 0x710/4, 0x89058001); - INSTANCE_WR(ctx, 0x718/4, 0x1000); - INSTANCE_WR(ctx, 0x71C/4, 0x1F); - INSTANCE_WR(ctx, 0x720/4, 0x27C10FA); - INSTANCE_WR(ctx, 0x724/4, 0x400000C0); - INSTANCE_WR(ctx, 0x728/4, 0xB7892080); - INSTANCE_WR(ctx, 0x734/4, 0x10040); - INSTANCE_WR(ctx, 0x73C/4, 0x22); - INSTANCE_WR(ctx, 0x748/4, 0x10040); - INSTANCE_WR(ctx, 0x74C/4, 0x22); - INSTANCE_WR(ctx, 0x764/4, 0x1800000); - INSTANCE_WR(ctx, 0x768/4, 0x160000); - INSTANCE_WR(ctx, 0x76C/4, 0x1800000); - INSTANCE_WR(ctx, 0x77C/4, 0x3FFFF); - INSTANCE_WR(ctx, 0x780/4, 0x8C0000); - INSTANCE_WR(ctx, 0x7A4/4, 0x10401); - INSTANCE_WR(ctx, 0x7AC/4, 0x78); - INSTANCE_WR(ctx, 0x7B4/4, 0xBF); - INSTANCE_WR(ctx, 0x7BC/4, 0x1210); - INSTANCE_WR(ctx, 0x7C0/4, 0x8000080); - INSTANCE_WR(ctx, 0x7E4/4, 0x1800000); - INSTANCE_WR(ctx, 0x7E8/4, 0x160000); - INSTANCE_WR(ctx, 0x7EC/4, 0x1800000); - INSTANCE_WR(ctx, 0x7FC/4, 0x3FFFF); - INSTANCE_WR(ctx, 0x800/4, 0x8C0000); - INSTANCE_WR(ctx, 0x824/4, 0x10401); - INSTANCE_WR(ctx, 0x82C/4, 0x78); - INSTANCE_WR(ctx, 0x834/4, 0xBF); - INSTANCE_WR(ctx, 0x83C/4, 0x1210); - INSTANCE_WR(ctx, 0x840/4, 0x8000080); - INSTANCE_WR(ctx, 0x868/4, 0x27070); - INSTANCE_WR(ctx, 0x874/4, 0x3FFFFFF); - INSTANCE_WR(ctx, 0x88C/4, 0x120407); - INSTANCE_WR(ctx, 0x890/4, 0x5091507); - INSTANCE_WR(ctx, 0x894/4, 0x5010202); - INSTANCE_WR(ctx, 0x898/4, 0x30201); - INSTANCE_WR(ctx, 0x8B4/4, 0x40); - INSTANCE_WR(ctx, 0x8B8/4, 0xD0C0B0A); - INSTANCE_WR(ctx, 0x8BC/4, 0x141210); - INSTANCE_WR(ctx, 0x8C0/4, 0x1F0); - INSTANCE_WR(ctx, 0x8C4/4, 0x1); - INSTANCE_WR(ctx, 0x8C8/4, 0x3); - INSTANCE_WR(ctx, 0x8D4/4, 0x39E00); - INSTANCE_WR(ctx, 0x8D8/4, 0x100); - INSTANCE_WR(ctx, 0x8DC/4, 0x3800); - INSTANCE_WR(ctx, 0x8E0/4, 0x404040); - INSTANCE_WR(ctx, 0x8E4/4, 0xFF0A); - INSTANCE_WR(ctx, 0x8EC/4, 0x77F005); - INSTANCE_WR(ctx, 0x8F0/4, 0x3F7FFF); - INSTANCE_WR(ctx, 0x7BA0/4, 0x21); - INSTANCE_WR(ctx, 0x7BC0/4, 0x1); - INSTANCE_WR(ctx, 0x7BE0/4, 0x2); - INSTANCE_WR(ctx, 0x7C00/4, 0x100); - INSTANCE_WR(ctx, 0x7C20/4, 0x100); - INSTANCE_WR(ctx, 0x7C40/4, 0x1); - INSTANCE_WR(ctx, 0x7CA0/4, 0x1); - INSTANCE_WR(ctx, 0x7CC0/4, 0x2); - INSTANCE_WR(ctx, 0x7CE0/4, 0x100); - INSTANCE_WR(ctx, 0x7D00/4, 0x100); - INSTANCE_WR(ctx, 0x7D20/4, 0x1); - INSTANCE_WR(ctx, 0x11640/4, 0x4); - INSTANCE_WR(ctx, 0x11660/4, 0x4); - INSTANCE_WR(ctx, 0x49FE0/4, 0x4); - INSTANCE_WR(ctx, 0x4A000/4, 0x4); - INSTANCE_WR(ctx, 0x4A020/4, 0x8100C12); - INSTANCE_WR(ctx, 0x4A040/4, 0x3); - INSTANCE_WR(ctx, 0x4A080/4, 0x8100C12); - INSTANCE_WR(ctx, 0x4A0C0/4, 0x80C14); - INSTANCE_WR(ctx, 0x4A0E0/4, 0x1); - INSTANCE_WR(ctx, 0x4A100/4, 0x80C14); - INSTANCE_WR(ctx, 0x4A160/4, 0x8100C12); - INSTANCE_WR(ctx, 0x4A180/4, 0x27); - INSTANCE_WR(ctx, 0x4A1E0/4, 0x1); - INSTANCE_WR(ctx, 0x51A20/4, 0x1); - INSTANCE_WR(ctx, 0x51D00/4, 0x8100C12); - INSTANCE_WR(ctx, 0x51EA0/4, 0x4000000); - INSTANCE_WR(ctx, 0x51EC0/4, 0x4000000); - INSTANCE_WR(ctx, 0x51F00/4, 0x80); - INSTANCE_WR(ctx, 0x51F80/4, 0x80); - INSTANCE_WR(ctx, 0x51FC0/4, 0x3F); - INSTANCE_WR(ctx, 0x52120/4, 0x2); - INSTANCE_WR(ctx, 0x52140/4, 0x4000000); - INSTANCE_WR(ctx, 0x52160/4, 0x4000000); - INSTANCE_WR(ctx, 0x52280/4, 0x4); - INSTANCE_WR(ctx, 0x52300/4, 0x4); - INSTANCE_WR(ctx, 0x52540/4, 0x1); - INSTANCE_WR(ctx, 0x52560/4, 0x1001); - INSTANCE_WR(ctx, 0x52580/4, 0xFFFF); - INSTANCE_WR(ctx, 0x525A0/4, 0xFFFF); - INSTANCE_WR(ctx, 0x525C0/4, 0xFFFF); - INSTANCE_WR(ctx, 0x525E0/4, 0xFFFF); - INSTANCE_WR(ctx, 0x52A00/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52A20/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52A40/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52A60/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52A80/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52AA0/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52AC0/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52AE0/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52B00/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52B20/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52B40/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52B60/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52B80/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52BA0/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52BC0/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52BE0/4, 0x3F800000); - INSTANCE_WR(ctx, 0x52C00/4, 0x10); - INSTANCE_WR(ctx, 0x52C60/4, 0x3); - INSTANCE_WR(ctx, 0xA84/4, 0xF); - INSTANCE_WR(ctx, 0xB24/4, 0x20); - INSTANCE_WR(ctx, 0xD04/4, 0x1A); - INSTANCE_WR(ctx, 0xEC4/4, 0x4); - INSTANCE_WR(ctx, 0xEE4/4, 0x4); - INSTANCE_WR(ctx, 0xF24/4, 0x4); - INSTANCE_WR(ctx, 0xF44/4, 0x8); - INSTANCE_WR(ctx, 0xF84/4, 0x7FF); - INSTANCE_WR(ctx, 0x1124/4, 0xF); - INSTANCE_WR(ctx, 0x3604/4, 0xF); - INSTANCE_WR(ctx, 0x3644/4, 0x1); - INSTANCE_WR(ctx, 0x41A4/4, 0xF); - INSTANCE_WR(ctx, 0x14844/4, 0xF); - INSTANCE_WR(ctx, 0x14AE4/4, 0x1); - INSTANCE_WR(ctx, 0x14B04/4, 0x100); - INSTANCE_WR(ctx, 0x14B24/4, 0x100); - INSTANCE_WR(ctx, 0x14B44/4, 0x11); - INSTANCE_WR(ctx, 0x14B84/4, 0x8); - INSTANCE_WR(ctx, 0x14C44/4, 0x1); - INSTANCE_WR(ctx, 0x14C84/4, 0x1); - INSTANCE_WR(ctx, 0x14CA4/4, 0x1); - INSTANCE_WR(ctx, 0x14CC4/4, 0x1); - INSTANCE_WR(ctx, 0x14CE4/4, 0xCF); - INSTANCE_WR(ctx, 0x14D04/4, 0x2); - INSTANCE_WR(ctx, 0x14DE4/4, 0x1); - INSTANCE_WR(ctx, 0x14E24/4, 0x1); - INSTANCE_WR(ctx, 0x14E44/4, 0x1); - INSTANCE_WR(ctx, 0x14E64/4, 0x1); - INSTANCE_WR(ctx, 0x14F04/4, 0x4); - INSTANCE_WR(ctx, 0x14F44/4, 0x1); - INSTANCE_WR(ctx, 0x14F64/4, 0x15); - INSTANCE_WR(ctx, 0x14FE4/4, 0x4444480); - INSTANCE_WR(ctx, 0x15764/4, 0x8100C12); - INSTANCE_WR(ctx, 0x15804/4, 0x100); - INSTANCE_WR(ctx, 0x15864/4, 0x10001); - INSTANCE_WR(ctx, 0x158A4/4, 0x10001); - INSTANCE_WR(ctx, 0x158C4/4, 0x1); - INSTANCE_WR(ctx, 0x158E4/4, 0x10001); - INSTANCE_WR(ctx, 0x15904/4, 0x1); - INSTANCE_WR(ctx, 0x15924/4, 0x4); - INSTANCE_WR(ctx, 0x15944/4, 0x2); - INSTANCE_WR(ctx, 0x166C4/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x166E4/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x16784/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x16904/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x16924/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x15948/4, 0x3FFFFF); - INSTANCE_WR(ctx, 0x159A8/4, 0x1FFF); - INSTANCE_WR(ctx, 0x15B88/4, 0x3F800000); - INSTANCE_WR(ctx, 0x15C68/4, 0x4); - INSTANCE_WR(ctx, 0x15C88/4, 0x1A); - INSTANCE_WR(ctx, 0x15CE8/4, 0x1); - INSTANCE_WR(ctx, 0x15F48/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x16028/4, 0xF); - INSTANCE_WR(ctx, 0x16128/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x16148/4, 0x11); - INSTANCE_WR(ctx, 0x16348/4, 0x4); - INSTANCE_WR(ctx, 0x163E8/4, 0x2); - INSTANCE_WR(ctx, 0x16408/4, 0x4000000); - INSTANCE_WR(ctx, 0x16428/4, 0x4000000); - INSTANCE_WR(ctx, 0x164A8/4, 0x5); - INSTANCE_WR(ctx, 0x164C8/4, 0x52); - INSTANCE_WR(ctx, 0x16568/4, 0x1); - INSTANCE_WR(ctx, 0x16788/4, 0x3F800000); - INSTANCE_WR(ctx, 0x167A8/4, 0x3F800000); - INSTANCE_WR(ctx, 0x167C8/4, 0x3F800000); - INSTANCE_WR(ctx, 0x167E8/4, 0x3F800000); - INSTANCE_WR(ctx, 0x16808/4, 0x3F800000); - INSTANCE_WR(ctx, 0x16828/4, 0x3F800000); - INSTANCE_WR(ctx, 0x16848/4, 0x3F800000); - INSTANCE_WR(ctx, 0x16868/4, 0x3F800000); - INSTANCE_WR(ctx, 0x16888/4, 0x3F800000); - INSTANCE_WR(ctx, 0x168A8/4, 0x3F800000); - INSTANCE_WR(ctx, 0x168C8/4, 0x3F800000); - INSTANCE_WR(ctx, 0x168E8/4, 0x3F800000); - INSTANCE_WR(ctx, 0x16908/4, 0x3F800000); - INSTANCE_WR(ctx, 0x16928/4, 0x3F800000); - INSTANCE_WR(ctx, 0x16948/4, 0x3F800000); - INSTANCE_WR(ctx, 0x16968/4, 0x3F800000); - INSTANCE_WR(ctx, 0x16988/4, 0x10); - INSTANCE_WR(ctx, 0x16E68/4, 0x8100C12); - INSTANCE_WR(ctx, 0x16E88/4, 0x5); - INSTANCE_WR(ctx, 0x16EE8/4, 0x1); - INSTANCE_WR(ctx, 0x16F28/4, 0xFFFF); - INSTANCE_WR(ctx, 0x16F48/4, 0xFFFF); - INSTANCE_WR(ctx, 0x16F68/4, 0xFFFF); - INSTANCE_WR(ctx, 0x16F88/4, 0xFFFF); - INSTANCE_WR(ctx, 0x16FA8/4, 0x3); - INSTANCE_WR(ctx, 0x173A8/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x173C8/4, 0x1A); - INSTANCE_WR(ctx, 0x17408/4, 0x3); - INSTANCE_WR(ctx, 0x178E8/4, 0x102); - INSTANCE_WR(ctx, 0x17928/4, 0x4); - INSTANCE_WR(ctx, 0x17948/4, 0x4); - INSTANCE_WR(ctx, 0x17968/4, 0x4); - INSTANCE_WR(ctx, 0x17988/4, 0x4); - INSTANCE_WR(ctx, 0x179A8/4, 0x4); - INSTANCE_WR(ctx, 0x179C8/4, 0x4); - INSTANCE_WR(ctx, 0x17A08/4, 0x7FF); - INSTANCE_WR(ctx, 0x17A48/4, 0x102); - INSTANCE_WR(ctx, 0x17B88/4, 0x4); - INSTANCE_WR(ctx, 0x17BA8/4, 0x4); - INSTANCE_WR(ctx, 0x17BC8/4, 0x4); - INSTANCE_WR(ctx, 0x17BE8/4, 0x4); - INSTANCE_WR(ctx, 0x18228/4, 0x80C14); - INSTANCE_WR(ctx, 0x18288/4, 0x804); - INSTANCE_WR(ctx, 0x182C8/4, 0x4); - INSTANCE_WR(ctx, 0x182E8/4, 0x4); - INSTANCE_WR(ctx, 0x18308/4, 0x8100C12); - INSTANCE_WR(ctx, 0x18348/4, 0x4); - INSTANCE_WR(ctx, 0x18368/4, 0x4); - INSTANCE_WR(ctx, 0x183A8/4, 0x10); - INSTANCE_WR(ctx, 0x18448/4, 0x804); - INSTANCE_WR(ctx, 0x18468/4, 0x1); - INSTANCE_WR(ctx, 0x18488/4, 0x1A); - INSTANCE_WR(ctx, 0x184A8/4, 0x7F); - INSTANCE_WR(ctx, 0x184E8/4, 0x1); - INSTANCE_WR(ctx, 0x18508/4, 0x80C14); - INSTANCE_WR(ctx, 0x18548/4, 0x8100C12); - INSTANCE_WR(ctx, 0x18568/4, 0x4); - INSTANCE_WR(ctx, 0x18588/4, 0x4); - INSTANCE_WR(ctx, 0x185C8/4, 0x10); - INSTANCE_WR(ctx, 0x18648/4, 0x1); - INSTANCE_WR(ctx, 0x18668/4, 0x8100C12); - INSTANCE_WR(ctx, 0x18748/4, 0x7FF); - INSTANCE_WR(ctx, 0x18768/4, 0x80C14); - INSTANCE_WR(ctx, 0x18E88/4, 0x1); - INSTANCE_WR(ctx, 0x18EE8/4, 0x10); - INSTANCE_WR(ctx, 0x19608/4, 0x88); - INSTANCE_WR(ctx, 0x19628/4, 0x88); - INSTANCE_WR(ctx, 0x19688/4, 0x4); - INSTANCE_WR(ctx, 0x19968/4, 0x26); - INSTANCE_WR(ctx, 0x199C8/4, 0x3F800000); - INSTANCE_WR(ctx, 0x19A48/4, 0x1A); - INSTANCE_WR(ctx, 0x19A68/4, 0x10); - INSTANCE_WR(ctx, 0x19F88/4, 0x52); - INSTANCE_WR(ctx, 0x19FC8/4, 0x26); - INSTANCE_WR(ctx, 0x1A008/4, 0x4); - INSTANCE_WR(ctx, 0x1A028/4, 0x4); - INSTANCE_WR(ctx, 0x1A068/4, 0x1A); - INSTANCE_WR(ctx, 0x1A0C8/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x1A108/4, 0x4); - INSTANCE_WR(ctx, 0x1A128/4, 0x4); - INSTANCE_WR(ctx, 0x1A168/4, 0x80); - INSTANCE_WR(ctx, 0x1A188/4, 0x4); - INSTANCE_WR(ctx, 0x1A1A8/4, 0x80C14); - INSTANCE_WR(ctx, 0x1A1E8/4, 0x7FF); - INSTANCE_WR(ctx, 0x24A48/4, 0x4); - INSTANCE_WR(ctx, 0x24A68/4, 0x4); - INSTANCE_WR(ctx, 0x24AA8/4, 0x80); - INSTANCE_WR(ctx, 0x24AC8/4, 0x4); - INSTANCE_WR(ctx, 0x24AE8/4, 0x1); - INSTANCE_WR(ctx, 0x24B28/4, 0x27); - INSTANCE_WR(ctx, 0x24B68/4, 0x26); - INSTANCE_WR(ctx, 0x24BE8/4, 0x4000000); - INSTANCE_WR(ctx, 0x24C08/4, 0x4000000); - INSTANCE_WR(ctx, 0x24C28/4, 0x4000000); - INSTANCE_WR(ctx, 0x24C48/4, 0x4000000); - INSTANCE_WR(ctx, 0x24C68/4, 0x4000000); - INSTANCE_WR(ctx, 0x24C88/4, 0x4000000); - INSTANCE_WR(ctx, 0x24CA8/4, 0x4000000); - INSTANCE_WR(ctx, 0x24CC8/4, 0x4000000); - INSTANCE_WR(ctx, 0x24CE8/4, 0x4000000); - INSTANCE_WR(ctx, 0x24D08/4, 0x4000000); - INSTANCE_WR(ctx, 0x24D28/4, 0x4000000); - INSTANCE_WR(ctx, 0x24D48/4, 0x4000000); - INSTANCE_WR(ctx, 0x24D68/4, 0x4000000); - INSTANCE_WR(ctx, 0x24D88/4, 0x4000000); - INSTANCE_WR(ctx, 0x24DA8/4, 0x4000000); - INSTANCE_WR(ctx, 0x24DC8/4, 0x4000000); - INSTANCE_WR(ctx, 0x25268/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x25288/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x252E8/4, 0x1FE21); - INSTANCE_WR(ctx, 0xB0C/4, 0x2); - INSTANCE_WR(ctx, 0xB4C/4, 0x1FFE67); - INSTANCE_WR(ctx, 0xCEC/4, 0x1); - INSTANCE_WR(ctx, 0xD0C/4, 0x10); - INSTANCE_WR(ctx, 0xD6C/4, 0x1); - INSTANCE_WR(ctx, 0xE0C/4, 0x4); - INSTANCE_WR(ctx, 0xE2C/4, 0x400); - INSTANCE_WR(ctx, 0xE4C/4, 0x300); - INSTANCE_WR(ctx, 0xE6C/4, 0x1001); - INSTANCE_WR(ctx, 0xE8C/4, 0x15); - INSTANCE_WR(ctx, 0xF4C/4, 0x2); - INSTANCE_WR(ctx, 0x106C/4, 0x1); - INSTANCE_WR(ctx, 0x108C/4, 0x10); - INSTANCE_WR(ctx, 0x10CC/4, 0x1); - INSTANCE_WR(ctx, 0x134C/4, 0x10); - INSTANCE_WR(ctx, 0x156C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x158C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x15AC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x15CC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x15EC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x160C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x162C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x164C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x166C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x168C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x16AC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x16CC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x16EC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x170C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x172C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x174C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x1A8C/4, 0x10); - INSTANCE_WR(ctx, 0x1ACC/4, 0x3F); - INSTANCE_WR(ctx, 0x1BAC/4, 0x1); - INSTANCE_WR(ctx, 0x1BEC/4, 0x1); - INSTANCE_WR(ctx, 0x1C2C/4, 0x1); - INSTANCE_WR(ctx, 0x1DCC/4, 0x11); - INSTANCE_WR(ctx, 0x1ECC/4, 0xF); - INSTANCE_WR(ctx, 0x1FCC/4, 0x11); - INSTANCE_WR(ctx, 0x20AC/4, 0x1); - INSTANCE_WR(ctx, 0x20CC/4, 0x1); - INSTANCE_WR(ctx, 0x20EC/4, 0x1); - INSTANCE_WR(ctx, 0x210C/4, 0x2); - INSTANCE_WR(ctx, 0x212C/4, 0x1); - INSTANCE_WR(ctx, 0x214C/4, 0x2); - INSTANCE_WR(ctx, 0x216C/4, 0x1); - INSTANCE_WR(ctx, 0x21AC/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x21EC/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x24AC/4, 0x1); - INSTANCE_WR(ctx, 0x24CC/4, 0x2); - INSTANCE_WR(ctx, 0x24EC/4, 0x1); - INSTANCE_WR(ctx, 0x250C/4, 0x1); - INSTANCE_WR(ctx, 0x252C/4, 0x2); - INSTANCE_WR(ctx, 0x254C/4, 0x1); - INSTANCE_WR(ctx, 0x256C/4, 0x1); - INSTANCE_WR(ctx, 0x25EC/4, 0x11); - INSTANCE_WR(ctx, 0x260C/4, 0x1); - INSTANCE_WR(ctx, 0x328C/4, 0x2); - INSTANCE_WR(ctx, 0x32CC/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x346C/4, 0x1); - INSTANCE_WR(ctx, 0x348C/4, 0x10); - INSTANCE_WR(ctx, 0x34EC/4, 0x1); - INSTANCE_WR(ctx, 0x358C/4, 0x4); - INSTANCE_WR(ctx, 0x35AC/4, 0x400); - INSTANCE_WR(ctx, 0x35CC/4, 0x300); - INSTANCE_WR(ctx, 0x35EC/4, 0x1001); - INSTANCE_WR(ctx, 0x360C/4, 0x15); - INSTANCE_WR(ctx, 0x36CC/4, 0x2); - INSTANCE_WR(ctx, 0x37EC/4, 0x1); - INSTANCE_WR(ctx, 0x380C/4, 0x10); - INSTANCE_WR(ctx, 0x384C/4, 0x1); - INSTANCE_WR(ctx, 0x3ACC/4, 0x10); - INSTANCE_WR(ctx, 0x3CEC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x3D0C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x3D2C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x3D4C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x3D6C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x3D8C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x3DAC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x3DCC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x3DEC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x3E0C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x3E2C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x3E4C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x3E6C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x3E8C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x3EAC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x3ECC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x420C/4, 0x10); - INSTANCE_WR(ctx, 0x424C/4, 0x3F); - INSTANCE_WR(ctx, 0x432C/4, 0x1); - INSTANCE_WR(ctx, 0x436C/4, 0x1); - INSTANCE_WR(ctx, 0x43AC/4, 0x1); - INSTANCE_WR(ctx, 0x454C/4, 0x11); - INSTANCE_WR(ctx, 0x464C/4, 0xF); - INSTANCE_WR(ctx, 0x474C/4, 0x11); - INSTANCE_WR(ctx, 0x482C/4, 0x1); - INSTANCE_WR(ctx, 0x484C/4, 0x1); - INSTANCE_WR(ctx, 0x486C/4, 0x1); - INSTANCE_WR(ctx, 0x488C/4, 0x2); - INSTANCE_WR(ctx, 0x48AC/4, 0x1); - INSTANCE_WR(ctx, 0x48CC/4, 0x2); - INSTANCE_WR(ctx, 0x48EC/4, 0x1); - INSTANCE_WR(ctx, 0x492C/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x496C/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x4C2C/4, 0x1); - INSTANCE_WR(ctx, 0x4C4C/4, 0x2); - INSTANCE_WR(ctx, 0x4C6C/4, 0x1); - INSTANCE_WR(ctx, 0x4C8C/4, 0x1); - INSTANCE_WR(ctx, 0x4CAC/4, 0x2); - INSTANCE_WR(ctx, 0x4CCC/4, 0x1); - INSTANCE_WR(ctx, 0x4CEC/4, 0x1); - INSTANCE_WR(ctx, 0x4D6C/4, 0x11); - INSTANCE_WR(ctx, 0x4D8C/4, 0x1); - INSTANCE_WR(ctx, 0xA30/4, 0x4); - INSTANCE_WR(ctx, 0xCF0/4, 0x4); - INSTANCE_WR(ctx, 0xD10/4, 0x4); - INSTANCE_WR(ctx, 0xD30/4, 0x608080); - INSTANCE_WR(ctx, 0xDD0/4, 0x4); - INSTANCE_WR(ctx, 0xE30/4, 0x4); - INSTANCE_WR(ctx, 0xE50/4, 0x4); - INSTANCE_WR(ctx, 0xE70/4, 0x80); - INSTANCE_WR(ctx, 0xE90/4, 0x1E00); - INSTANCE_WR(ctx, 0xEB0/4, 0x4); - INSTANCE_WR(ctx, 0x1350/4, 0x4); - INSTANCE_WR(ctx, 0x1370/4, 0x80); - INSTANCE_WR(ctx, 0x1390/4, 0x4); - INSTANCE_WR(ctx, 0x13B0/4, 0x3020100); - INSTANCE_WR(ctx, 0x13D0/4, 0x3); - INSTANCE_WR(ctx, 0x13F0/4, 0x1E00); - INSTANCE_WR(ctx, 0x1410/4, 0x4); - INSTANCE_WR(ctx, 0x14B0/4, 0x4); - INSTANCE_WR(ctx, 0x14D0/4, 0x3); - INSTANCE_WR(ctx, 0x1550/4, 0x4); - INSTANCE_WR(ctx, 0x159F0/4, 0x4); - INSTANCE_WR(ctx, 0x15A10/4, 0x3); - INSTANCE_WR(ctx, 0x15C50/4, 0xF); - INSTANCE_WR(ctx, 0x15DD0/4, 0x4); - INSTANCE_WR(ctx, 0x15DF0/4, 0xFFFF); - INSTANCE_WR(ctx, 0x15E10/4, 0xFFFF); - INSTANCE_WR(ctx, 0x15E30/4, 0xFFFF); - INSTANCE_WR(ctx, 0x15E50/4, 0xFFFF); - INSTANCE_WR(ctx, 0x15F70/4, 0x1); - INSTANCE_WR(ctx, 0x15FF0/4, 0x1); - INSTANCE_WR(ctx, 0x160B0/4, 0x1); - INSTANCE_WR(ctx, 0x16250/4, 0x1); - INSTANCE_WR(ctx, 0x16270/4, 0x1); - INSTANCE_WR(ctx, 0x16290/4, 0x2); - INSTANCE_WR(ctx, 0x162B0/4, 0x1); - INSTANCE_WR(ctx, 0x162D0/4, 0x1); - INSTANCE_WR(ctx, 0x162F0/4, 0x2); - INSTANCE_WR(ctx, 0x16310/4, 0x1); - INSTANCE_WR(ctx, 0x16350/4, 0x11); - INSTANCE_WR(ctx, 0x16450/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x164B0/4, 0x4); - INSTANCE_WR(ctx, 0x16530/4, 0x11); - INSTANCE_WR(ctx, 0x16550/4, 0x1); - INSTANCE_WR(ctx, 0x16590/4, 0xCF); - INSTANCE_WR(ctx, 0x165B0/4, 0xCF); - INSTANCE_WR(ctx, 0x165D0/4, 0xCF); - INSTANCE_WR(ctx, 0x16730/4, 0x1); - INSTANCE_WR(ctx, 0x16750/4, 0x1); - INSTANCE_WR(ctx, 0x16770/4, 0x2); - INSTANCE_WR(ctx, 0x16790/4, 0x1); - INSTANCE_WR(ctx, 0x167B0/4, 0x1); - INSTANCE_WR(ctx, 0x167D0/4, 0x2); - INSTANCE_WR(ctx, 0x167F0/4, 0x1); - INSTANCE_WR(ctx, 0x16830/4, 0x1); - INSTANCE_WR(ctx, 0x16850/4, 0x1); - INSTANCE_WR(ctx, 0x16870/4, 0x1); - INSTANCE_WR(ctx, 0x16890/4, 0x1); - INSTANCE_WR(ctx, 0x168B0/4, 0x1); - INSTANCE_WR(ctx, 0x168D0/4, 0x1); - INSTANCE_WR(ctx, 0x168F0/4, 0x1); - INSTANCE_WR(ctx, 0x16910/4, 0x1); - INSTANCE_WR(ctx, 0x16930/4, 0x11); - INSTANCE_WR(ctx, 0x16A30/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x16A50/4, 0xF); - INSTANCE_WR(ctx, 0x16B50/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x16BB0/4, 0x11); - INSTANCE_WR(ctx, 0x16BD0/4, 0x1); - INSTANCE_WR(ctx, 0x16C50/4, 0x4); - INSTANCE_WR(ctx, 0x16D10/4, 0x1); - INSTANCE_WR(ctx, 0x16DB0/4, 0x11); - INSTANCE_WR(ctx, 0x16EB0/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x16F30/4, 0x11); - INSTANCE_WR(ctx, 0x16F50/4, 0x1); - INSTANCE_WR(ctx, 0x16F90/4, 0x1); - INSTANCE_WR(ctx, 0x16FD0/4, 0x1); - INSTANCE_WR(ctx, 0x17010/4, 0x7FF); - INSTANCE_WR(ctx, 0x17050/4, 0x1); - INSTANCE_WR(ctx, 0x17090/4, 0x1); - INSTANCE_WR(ctx, 0x175F0/4, 0x8); - INSTANCE_WR(ctx, 0x17610/4, 0x8); - INSTANCE_WR(ctx, 0x17630/4, 0x8); - INSTANCE_WR(ctx, 0x17650/4, 0x8); - INSTANCE_WR(ctx, 0x17670/4, 0x8); - INSTANCE_WR(ctx, 0x17690/4, 0x8); - INSTANCE_WR(ctx, 0x176B0/4, 0x8); - INSTANCE_WR(ctx, 0x176D0/4, 0x8); - INSTANCE_WR(ctx, 0x176F0/4, 0x11); - INSTANCE_WR(ctx, 0x177F0/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x17810/4, 0x400); - INSTANCE_WR(ctx, 0x17830/4, 0x400); - INSTANCE_WR(ctx, 0x17850/4, 0x400); - INSTANCE_WR(ctx, 0x17870/4, 0x400); - INSTANCE_WR(ctx, 0x17890/4, 0x400); - INSTANCE_WR(ctx, 0x178B0/4, 0x400); - INSTANCE_WR(ctx, 0x178D0/4, 0x400); - INSTANCE_WR(ctx, 0x178F0/4, 0x400); - INSTANCE_WR(ctx, 0x17910/4, 0x300); - INSTANCE_WR(ctx, 0x17930/4, 0x300); - INSTANCE_WR(ctx, 0x17950/4, 0x300); - INSTANCE_WR(ctx, 0x17970/4, 0x300); - INSTANCE_WR(ctx, 0x17990/4, 0x300); - INSTANCE_WR(ctx, 0x179B0/4, 0x300); - INSTANCE_WR(ctx, 0x179D0/4, 0x300); - INSTANCE_WR(ctx, 0x179F0/4, 0x300); - INSTANCE_WR(ctx, 0x17A10/4, 0x1); - INSTANCE_WR(ctx, 0x17A30/4, 0xF); - INSTANCE_WR(ctx, 0x17B30/4, 0x20); - INSTANCE_WR(ctx, 0x17B50/4, 0x11); - INSTANCE_WR(ctx, 0x17B70/4, 0x100); - INSTANCE_WR(ctx, 0x17BB0/4, 0x1); - INSTANCE_WR(ctx, 0x17C10/4, 0x40); - INSTANCE_WR(ctx, 0x17C30/4, 0x100); - INSTANCE_WR(ctx, 0x17C70/4, 0x3); - INSTANCE_WR(ctx, 0x17D10/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x17D90/4, 0x2); - INSTANCE_WR(ctx, 0x17DB0/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x17EF0/4, 0x1); - INSTANCE_WR(ctx, 0x17F90/4, 0x4); - INSTANCE_WR(ctx, 0x17FD0/4, 0x1); - INSTANCE_WR(ctx, 0x17FF0/4, 0x400); - INSTANCE_WR(ctx, 0x18010/4, 0x300); - INSTANCE_WR(ctx, 0x18030/4, 0x1001); - INSTANCE_WR(ctx, 0x180B0/4, 0x11); - INSTANCE_WR(ctx, 0x181B0/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x181D0/4, 0xF); - INSTANCE_WR(ctx, 0x184D0/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x18550/4, 0x11); - INSTANCE_WR(ctx, 0x185B0/4, 0x4); - INSTANCE_WR(ctx, 0x185F0/4, 0x1); - INSTANCE_WR(ctx, 0x18610/4, 0x1); - INSTANCE_WR(ctx, 0x18690/4, 0x1); - INSTANCE_WR(ctx, 0x18730/4, 0x1); - INSTANCE_WR(ctx, 0x18770/4, 0x1); - INSTANCE_WR(ctx, 0x187F0/4, 0x2A712488); - INSTANCE_WR(ctx, 0x18830/4, 0x4085C000); - INSTANCE_WR(ctx, 0x18850/4, 0x40); - INSTANCE_WR(ctx, 0x18870/4, 0x100); - INSTANCE_WR(ctx, 0x18890/4, 0x10100); - INSTANCE_WR(ctx, 0x188B0/4, 0x2800000); - INSTANCE_WR(ctx, 0x18B10/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x18B30/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x18B50/4, 0x1); - INSTANCE_WR(ctx, 0x18B90/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x18BB0/4, 0x1); - INSTANCE_WR(ctx, 0x18C10/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x18D30/4, 0x1); - INSTANCE_WR(ctx, 0x18D70/4, 0x1); - INSTANCE_WR(ctx, 0x18D90/4, 0x30201000); - INSTANCE_WR(ctx, 0x18DB0/4, 0x70605040); - INSTANCE_WR(ctx, 0x18DD0/4, 0xB8A89888); - INSTANCE_WR(ctx, 0x18DF0/4, 0xF8E8D8C8); - INSTANCE_WR(ctx, 0x18E30/4, 0x1A); -} - -static void -nv92_graph_init_ctxvals(struct drm_device *dev, struct nouveau_gpuobj_ref *ref) -{ - struct drm_nouveau_private *dev_priv = dev->dev_private; - struct nouveau_gpuobj *ctx = ref->gpuobj; - - INSTANCE_WR(ctx, 0x10C/4, 0x30); - INSTANCE_WR(ctx, 0x1D4/4, 0x3); - INSTANCE_WR(ctx, 0x1D8/4, 0x1000); - INSTANCE_WR(ctx, 0x218/4, 0xFE0C); - INSTANCE_WR(ctx, 0x22C/4, 0x1000); - INSTANCE_WR(ctx, 0x258/4, 0x187); - INSTANCE_WR(ctx, 0x26C/4, 0x1018); - INSTANCE_WR(ctx, 0x270/4, 0xFF); - INSTANCE_WR(ctx, 0x2AC/4, 0x4); - INSTANCE_WR(ctx, 0x2B0/4, 0x42500DF); - INSTANCE_WR(ctx, 0x2B8/4, 0x600); - INSTANCE_WR(ctx, 0x2D0/4, 0x1000000); - INSTANCE_WR(ctx, 0x2D4/4, 0xFF); - INSTANCE_WR(ctx, 0x2DC/4, 0x400); - INSTANCE_WR(ctx, 0x2F4/4, 0x1); - INSTANCE_WR(ctx, 0x2F8/4, 0x80); - INSTANCE_WR(ctx, 0x2FC/4, 0x4); - INSTANCE_WR(ctx, 0x318/4, 0x2); - INSTANCE_WR(ctx, 0x31C/4, 0x1); - INSTANCE_WR(ctx, 0x328/4, 0x1); - INSTANCE_WR(ctx, 0x32C/4, 0x100); - INSTANCE_WR(ctx, 0x344/4, 0x2); - INSTANCE_WR(ctx, 0x348/4, 0x1); - INSTANCE_WR(ctx, 0x34C/4, 0x1); - INSTANCE_WR(ctx, 0x35C/4, 0x1); - INSTANCE_WR(ctx, 0x360/4, 0x3FFFFF); - INSTANCE_WR(ctx, 0x364/4, 0x1FFF); - INSTANCE_WR(ctx, 0x36C/4, 0x1); - INSTANCE_WR(ctx, 0x370/4, 0x1); - INSTANCE_WR(ctx, 0x378/4, 0x1); - INSTANCE_WR(ctx, 0x37C/4, 0x1); - INSTANCE_WR(ctx, 0x380/4, 0x1); - INSTANCE_WR(ctx, 0x384/4, 0x4); - INSTANCE_WR(ctx, 0x388/4, 0x1); - INSTANCE_WR(ctx, 0x38C/4, 0x1); - INSTANCE_WR(ctx, 0x390/4, 0x1); - INSTANCE_WR(ctx, 0x394/4, 0x7); - INSTANCE_WR(ctx, 0x398/4, 0x1); - INSTANCE_WR(ctx, 0x39C/4, 0x7); - INSTANCE_WR(ctx, 0x3A0/4, 0x1); - INSTANCE_WR(ctx, 0x3A4/4, 0x1); - INSTANCE_WR(ctx, 0x3A8/4, 0x1); - INSTANCE_WR(ctx, 0x3BC/4, 0x1); - INSTANCE_WR(ctx, 0x3C0/4, 0x100); - INSTANCE_WR(ctx, 0x3C8/4, 0x1); - INSTANCE_WR(ctx, 0x3D4/4, 0x100); - INSTANCE_WR(ctx, 0x3D8/4, 0x1); - INSTANCE_WR(ctx, 0x3DC/4, 0x100); - INSTANCE_WR(ctx, 0x3E4/4, 0x1); - INSTANCE_WR(ctx, 0x3F0/4, 0x100); - INSTANCE_WR(ctx, 0x404/4, 0x4); - INSTANCE_WR(ctx, 0x408/4, 0x70); - INSTANCE_WR(ctx, 0x40C/4, 0x80); - INSTANCE_WR(ctx, 0x420/4, 0xC); - INSTANCE_WR(ctx, 0x428/4, 0x8); - INSTANCE_WR(ctx, 0x42C/4, 0x14); - INSTANCE_WR(ctx, 0x434/4, 0x29); - INSTANCE_WR(ctx, 0x438/4, 0x27); - INSTANCE_WR(ctx, 0x43C/4, 0x26); - INSTANCE_WR(ctx, 0x440/4, 0x8); - INSTANCE_WR(ctx, 0x444/4, 0x4); - INSTANCE_WR(ctx, 0x448/4, 0x27); - INSTANCE_WR(ctx, 0x454/4, 0x1); - INSTANCE_WR(ctx, 0x458/4, 0x2); - INSTANCE_WR(ctx, 0x45C/4, 0x3); - INSTANCE_WR(ctx, 0x460/4, 0x4); - INSTANCE_WR(ctx, 0x464/4, 0x5); - INSTANCE_WR(ctx, 0x468/4, 0x6); - INSTANCE_WR(ctx, 0x46C/4, 0x7); - INSTANCE_WR(ctx, 0x470/4, 0x1); - INSTANCE_WR(ctx, 0x4B4/4, 0xCF); - INSTANCE_WR(ctx, 0x4E4/4, 0x80); - INSTANCE_WR(ctx, 0x4E8/4, 0x4); - INSTANCE_WR(ctx, 0x4EC/4, 0x4); - INSTANCE_WR(ctx, 0x4F0/4, 0x3); - INSTANCE_WR(ctx, 0x4F4/4, 0x1); - INSTANCE_WR(ctx, 0x500/4, 0x12); - INSTANCE_WR(ctx, 0x504/4, 0x10); - INSTANCE_WR(ctx, 0x508/4, 0xC); - INSTANCE_WR(ctx, 0x50C/4, 0x1); - INSTANCE_WR(ctx, 0x51C/4, 0x4); - INSTANCE_WR(ctx, 0x520/4, 0x2); - INSTANCE_WR(ctx, 0x524/4, 0x4); - INSTANCE_WR(ctx, 0x530/4, 0x3FFFFF); - INSTANCE_WR(ctx, 0x534/4, 0x1FFF); - INSTANCE_WR(ctx, 0x55C/4, 0x4); - INSTANCE_WR(ctx, 0x560/4, 0x14); - INSTANCE_WR(ctx, 0x564/4, 0x1); - INSTANCE_WR(ctx, 0x570/4, 0x2); - INSTANCE_WR(ctx, 0x57C/4, 0x1); - INSTANCE_WR(ctx, 0x584/4, 0x2); - INSTANCE_WR(ctx, 0x588/4, 0x1000); - INSTANCE_WR(ctx, 0x58C/4, 0xE00); - INSTANCE_WR(ctx, 0x590/4, 0x1000); - INSTANCE_WR(ctx, 0x594/4, 0x1E00); - INSTANCE_WR(ctx, 0x59C/4, 0x1); - INSTANCE_WR(ctx, 0x5A0/4, 0x1); - INSTANCE_WR(ctx, 0x5A4/4, 0x1); - INSTANCE_WR(ctx, 0x5A8/4, 0x1); - INSTANCE_WR(ctx, 0x5AC/4, 0x1); - INSTANCE_WR(ctx, 0x5BC/4, 0x200); - INSTANCE_WR(ctx, 0x5C4/4, 0x1); - INSTANCE_WR(ctx, 0x5C8/4, 0x70); - INSTANCE_WR(ctx, 0x5CC/4, 0x80); - INSTANCE_WR(ctx, 0x5D8/4, 0x1); - INSTANCE_WR(ctx, 0x5DC/4, 0x70); - INSTANCE_WR(ctx, 0x5E0/4, 0x80); - INSTANCE_WR(ctx, 0x5F0/4, 0x1); - INSTANCE_WR(ctx, 0x5F4/4, 0xCF); - INSTANCE_WR(ctx, 0x5FC/4, 0x1); - INSTANCE_WR(ctx, 0x60C/4, 0xCF); - INSTANCE_WR(ctx, 0x614/4, 0x2); - INSTANCE_WR(ctx, 0x61C/4, 0x1); - INSTANCE_WR(ctx, 0x624/4, 0x1); - INSTANCE_WR(ctx, 0x62C/4, 0xCF); - INSTANCE_WR(ctx, 0x630/4, 0xCF); - INSTANCE_WR(ctx, 0x634/4, 0x1); - INSTANCE_WR(ctx, 0x63C/4, 0x1F80); - INSTANCE_WR(ctx, 0x654/4, 0x3B74F821); - INSTANCE_WR(ctx, 0x658/4, 0x89058001); - INSTANCE_WR(ctx, 0x660/4, 0x1000); - INSTANCE_WR(ctx, 0x664/4, 0x1F); - INSTANCE_WR(ctx, 0x668/4, 0x27C10FA); - INSTANCE_WR(ctx, 0x66C/4, 0x400000C0); - INSTANCE_WR(ctx, 0x670/4, 0xB7892080); - INSTANCE_WR(ctx, 0x67C/4, 0x3B74F821); - INSTANCE_WR(ctx, 0x680/4, 0x89058001); - INSTANCE_WR(ctx, 0x688/4, 0x1000); - INSTANCE_WR(ctx, 0x68C/4, 0x1F); - INSTANCE_WR(ctx, 0x690/4, 0x27C10FA); - INSTANCE_WR(ctx, 0x694/4, 0x400000C0); - INSTANCE_WR(ctx, 0x698/4, 0xB7892080); - INSTANCE_WR(ctx, 0x6A4/4, 0x3B74F821); - INSTANCE_WR(ctx, 0x6A8/4, 0x89058001); - INSTANCE_WR(ctx, 0x6B0/4, 0x1000); - INSTANCE_WR(ctx, 0x6B4/4, 0x1F); - INSTANCE_WR(ctx, 0x6B8/4, 0x27C10FA); - INSTANCE_WR(ctx, 0x6BC/4, 0x400000C0); - INSTANCE_WR(ctx, 0x6C0/4, 0xB7892080); - INSTANCE_WR(ctx, 0x6CC/4, 0x3B74F821); - INSTANCE_WR(ctx, 0x6D0/4, 0x89058001); - INSTANCE_WR(ctx, 0x6D8/4, 0x1000); - INSTANCE_WR(ctx, 0x6DC/4, 0x1F); - INSTANCE_WR(ctx, 0x6E0/4, 0x27C10FA); - INSTANCE_WR(ctx, 0x6E4/4, 0x400000C0); - INSTANCE_WR(ctx, 0x6E8/4, 0xB7892080); - INSTANCE_WR(ctx, 0x6F4/4, 0x390040); - INSTANCE_WR(ctx, 0x6FC/4, 0x22); - INSTANCE_WR(ctx, 0x708/4, 0x390040); - INSTANCE_WR(ctx, 0x70C/4, 0x22); - INSTANCE_WR(ctx, 0x724/4, 0x1800000); - INSTANCE_WR(ctx, 0x728/4, 0x160000); - INSTANCE_WR(ctx, 0x72C/4, 0x1800000); - INSTANCE_WR(ctx, 0x73C/4, 0x3FFFF); - INSTANCE_WR(ctx, 0x740/4, 0x118C0000); - INSTANCE_WR(ctx, 0x764/4, 0x10401); - INSTANCE_WR(ctx, 0x76C/4, 0x78); - INSTANCE_WR(ctx, 0x774/4, 0xBF); - INSTANCE_WR(ctx, 0x77C/4, 0x1210); - INSTANCE_WR(ctx, 0x780/4, 0x8000080); - INSTANCE_WR(ctx, 0x7A4/4, 0x1800000); - INSTANCE_WR(ctx, 0x7A8/4, 0x160000); - INSTANCE_WR(ctx, 0x7AC/4, 0x1800000); - INSTANCE_WR(ctx, 0x7BC/4, 0x3FFFF); - INSTANCE_WR(ctx, 0x7C0/4, 0x118C0000); - INSTANCE_WR(ctx, 0x7E4/4, 0x10401); - INSTANCE_WR(ctx, 0x7EC/4, 0x78); - INSTANCE_WR(ctx, 0x7F4/4, 0xBF); - INSTANCE_WR(ctx, 0x7FC/4, 0x1210); - INSTANCE_WR(ctx, 0x800/4, 0x8000080); - INSTANCE_WR(ctx, 0x828/4, 0x27070); - INSTANCE_WR(ctx, 0x834/4, 0x3FFFFFF); - INSTANCE_WR(ctx, 0x84C/4, 0x120407); - INSTANCE_WR(ctx, 0x850/4, 0x5091507); - INSTANCE_WR(ctx, 0x854/4, 0x5010202); - INSTANCE_WR(ctx, 0x858/4, 0x30201); - INSTANCE_WR(ctx, 0x874/4, 0x40); - INSTANCE_WR(ctx, 0x878/4, 0xD0C0B0A); - INSTANCE_WR(ctx, 0x87C/4, 0x141210); - INSTANCE_WR(ctx, 0x880/4, 0x1F0); - INSTANCE_WR(ctx, 0x884/4, 0x1); - INSTANCE_WR(ctx, 0x888/4, 0x3); - INSTANCE_WR(ctx, 0x894/4, 0x39E00); - INSTANCE_WR(ctx, 0x898/4, 0x100); - INSTANCE_WR(ctx, 0x89C/4, 0x3800); - INSTANCE_WR(ctx, 0x8A0/4, 0x404040); - INSTANCE_WR(ctx, 0x8A4/4, 0xFF0A); - INSTANCE_WR(ctx, 0x8AC/4, 0x77F005); - INSTANCE_WR(ctx, 0x8B0/4, 0x3F7FFF); - INSTANCE_WR(ctx, 0x8C0/4, 0x1800000); - INSTANCE_WR(ctx, 0x8C4/4, 0x160000); - INSTANCE_WR(ctx, 0x8C8/4, 0x1800000); - INSTANCE_WR(ctx, 0x8D8/4, 0x3FFFF); - INSTANCE_WR(ctx, 0x8DC/4, 0x118C0000); - INSTANCE_WR(ctx, 0x900/4, 0x10401); - INSTANCE_WR(ctx, 0x908/4, 0x78); - INSTANCE_WR(ctx, 0x910/4, 0xBF); - INSTANCE_WR(ctx, 0x918/4, 0x1210); - INSTANCE_WR(ctx, 0x91C/4, 0x8000080); - INSTANCE_WR(ctx, 0x940/4, 0x1800000); - INSTANCE_WR(ctx, 0x944/4, 0x160000); - INSTANCE_WR(ctx, 0x948/4, 0x1800000); - INSTANCE_WR(ctx, 0x958/4, 0x3FFFF); - INSTANCE_WR(ctx, 0x95C/4, 0x118C0000); - INSTANCE_WR(ctx, 0x980/4, 0x10401); - INSTANCE_WR(ctx, 0x988/4, 0x78); - INSTANCE_WR(ctx, 0x990/4, 0xBF); - INSTANCE_WR(ctx, 0x998/4, 0x1210); - INSTANCE_WR(ctx, 0x99C/4, 0x8000080); - INSTANCE_WR(ctx, 0x9C4/4, 0x27070); - INSTANCE_WR(ctx, 0x9D0/4, 0x3FFFFFF); - INSTANCE_WR(ctx, 0x9E8/4, 0x120407); - INSTANCE_WR(ctx, 0x9EC/4, 0x5091507); - INSTANCE_WR(ctx, 0x9F0/4, 0x5010202); - INSTANCE_WR(ctx, 0x9F4/4, 0x30201); - INSTANCE_WR(ctx, 0xA10/4, 0x40); - INSTANCE_WR(ctx, 0xA14/4, 0xD0C0B0A); - INSTANCE_WR(ctx, 0xA18/4, 0x141210); - INSTANCE_WR(ctx, 0xA1C/4, 0x1F0); - INSTANCE_WR(ctx, 0xA20/4, 0x1); - INSTANCE_WR(ctx, 0xA24/4, 0x3); - INSTANCE_WR(ctx, 0xA30/4, 0x39E00); - INSTANCE_WR(ctx, 0xA34/4, 0x100); - INSTANCE_WR(ctx, 0xA38/4, 0x3800); - INSTANCE_WR(ctx, 0xA3C/4, 0x404040); - INSTANCE_WR(ctx, 0xA40/4, 0xFF0A); - INSTANCE_WR(ctx, 0xA48/4, 0x77F005); - INSTANCE_WR(ctx, 0xA4C/4, 0x3F7FFF); - INSTANCE_WR(ctx, 0xA5C/4, 0x1800000); - INSTANCE_WR(ctx, 0xA60/4, 0x160000); - INSTANCE_WR(ctx, 0xA64/4, 0x1800000); - INSTANCE_WR(ctx, 0xA74/4, 0x3FFFF); - INSTANCE_WR(ctx, 0xA78/4, 0x118C0000); - INSTANCE_WR(ctx, 0xA9C/4, 0x10401); - INSTANCE_WR(ctx, 0xAA4/4, 0x78); - INSTANCE_WR(ctx, 0xAAC/4, 0xBF); - INSTANCE_WR(ctx, 0xAB4/4, 0x1210); - INSTANCE_WR(ctx, 0xAB8/4, 0x8000080); - INSTANCE_WR(ctx, 0xADC/4, 0x1800000); - INSTANCE_WR(ctx, 0xAE0/4, 0x160000); - INSTANCE_WR(ctx, 0xAE4/4, 0x1800000); - INSTANCE_WR(ctx, 0xAF4/4, 0x3FFFF); - INSTANCE_WR(ctx, 0xAF8/4, 0x118C0000); - INSTANCE_WR(ctx, 0xB1C/4, 0x10401); - INSTANCE_WR(ctx, 0xB24/4, 0x78); - INSTANCE_WR(ctx, 0xB2C/4, 0xBF); - INSTANCE_WR(ctx, 0xB34/4, 0x1210); - INSTANCE_WR(ctx, 0xB38/4, 0x8000080); - INSTANCE_WR(ctx, 0xB60/4, 0x27070); - INSTANCE_WR(ctx, 0xB6C/4, 0x3FFFFFF); - INSTANCE_WR(ctx, 0xB84/4, 0x120407); - INSTANCE_WR(ctx, 0xB88/4, 0x5091507); - INSTANCE_WR(ctx, 0xB8C/4, 0x5010202); - INSTANCE_WR(ctx, 0xB90/4, 0x30201); - INSTANCE_WR(ctx, 0xBAC/4, 0x40); - INSTANCE_WR(ctx, 0xBB0/4, 0xD0C0B0A); - INSTANCE_WR(ctx, 0xBB4/4, 0x141210); - INSTANCE_WR(ctx, 0xBB8/4, 0x1F0); - INSTANCE_WR(ctx, 0xBBC/4, 0x1); - INSTANCE_WR(ctx, 0xBC0/4, 0x3); - INSTANCE_WR(ctx, 0xBCC/4, 0x39E00); - INSTANCE_WR(ctx, 0xBD0/4, 0x100); - INSTANCE_WR(ctx, 0xBD4/4, 0x3800); - INSTANCE_WR(ctx, 0xBD8/4, 0x404040); - INSTANCE_WR(ctx, 0xBDC/4, 0xFF0A); - INSTANCE_WR(ctx, 0xBE4/4, 0x77F005); - INSTANCE_WR(ctx, 0xBE8/4, 0x3F7FFF); - INSTANCE_WR(ctx, 0xBF8/4, 0x1800000); - INSTANCE_WR(ctx, 0xBFC/4, 0x160000); - INSTANCE_WR(ctx, 0xC00/4, 0x1800000); - INSTANCE_WR(ctx, 0xC10/4, 0x3FFFF); - INSTANCE_WR(ctx, 0xC14/4, 0x118C0000); - INSTANCE_WR(ctx, 0xC38/4, 0x10401); - INSTANCE_WR(ctx, 0xC40/4, 0x78); - INSTANCE_WR(ctx, 0xC48/4, 0xBF); - INSTANCE_WR(ctx, 0xC50/4, 0x1210); - INSTANCE_WR(ctx, 0xC54/4, 0x8000080); - INSTANCE_WR(ctx, 0xC78/4, 0x1800000); - INSTANCE_WR(ctx, 0xC7C/4, 0x160000); - INSTANCE_WR(ctx, 0xC80/4, 0x1800000); - INSTANCE_WR(ctx, 0xC90/4, 0x3FFFF); - INSTANCE_WR(ctx, 0xC94/4, 0x118C0000); - INSTANCE_WR(ctx, 0xCB8/4, 0x10401); - INSTANCE_WR(ctx, 0xCC0/4, 0x78); - INSTANCE_WR(ctx, 0xCC8/4, 0xBF); - INSTANCE_WR(ctx, 0xCD0/4, 0x1210); - INSTANCE_WR(ctx, 0xCD4/4, 0x8000080); - INSTANCE_WR(ctx, 0xCFC/4, 0x27070); - INSTANCE_WR(ctx, 0xD08/4, 0x3FFFFFF); - INSTANCE_WR(ctx, 0xD20/4, 0x120407); - INSTANCE_WR(ctx, 0xD24/4, 0x5091507); - INSTANCE_WR(ctx, 0xD28/4, 0x5010202); - INSTANCE_WR(ctx, 0xD2C/4, 0x30201); - INSTANCE_WR(ctx, 0xD48/4, 0x40); - INSTANCE_WR(ctx, 0xD4C/4, 0xD0C0B0A); - INSTANCE_WR(ctx, 0xD50/4, 0x141210); - INSTANCE_WR(ctx, 0xD54/4, 0x1F0); - INSTANCE_WR(ctx, 0xD58/4, 0x1); - INSTANCE_WR(ctx, 0xD5C/4, 0x3); - INSTANCE_WR(ctx, 0xD68/4, 0x39E00); - INSTANCE_WR(ctx, 0xD6C/4, 0x100); - INSTANCE_WR(ctx, 0xD70/4, 0x3800); - INSTANCE_WR(ctx, 0xD74/4, 0x404040); - INSTANCE_WR(ctx, 0xD78/4, 0xFF0A); - INSTANCE_WR(ctx, 0xD80/4, 0x77F005); - INSTANCE_WR(ctx, 0xD84/4, 0x3F7FFF); - INSTANCE_WR(ctx, 0xD94/4, 0x1800000); - INSTANCE_WR(ctx, 0xD98/4, 0x160000); - INSTANCE_WR(ctx, 0xD9C/4, 0x1800000); - INSTANCE_WR(ctx, 0xDAC/4, 0x3FFFF); - INSTANCE_WR(ctx, 0xDB0/4, 0x118C0000); - INSTANCE_WR(ctx, 0xDD4/4, 0x10401); - INSTANCE_WR(ctx, 0xDDC/4, 0x78); - INSTANCE_WR(ctx, 0xDE4/4, 0xBF); - INSTANCE_WR(ctx, 0xDEC/4, 0x1210); - INSTANCE_WR(ctx, 0xDF0/4, 0x8000080); - INSTANCE_WR(ctx, 0xE14/4, 0x1800000); - INSTANCE_WR(ctx, 0xE18/4, 0x160000); - INSTANCE_WR(ctx, 0xE1C/4, 0x1800000); - INSTANCE_WR(ctx, 0xE2C/4, 0x3FFFF); - INSTANCE_WR(ctx, 0xE30/4, 0x118C0000); - INSTANCE_WR(ctx, 0xE54/4, 0x10401); - INSTANCE_WR(ctx, 0xE5C/4, 0x78); - INSTANCE_WR(ctx, 0xE64/4, 0xBF); - INSTANCE_WR(ctx, 0xE6C/4, 0x1210); - INSTANCE_WR(ctx, 0xE70/4, 0x8000080); - INSTANCE_WR(ctx, 0xE98/4, 0x27070); - INSTANCE_WR(ctx, 0xEA4/4, 0x3FFFFFF); - INSTANCE_WR(ctx, 0xEBC/4, 0x120407); - INSTANCE_WR(ctx, 0xEC0/4, 0x5091507); - INSTANCE_WR(ctx, 0xEC4/4, 0x5010202); - INSTANCE_WR(ctx, 0xEC8/4, 0x30201); - INSTANCE_WR(ctx, 0xEE4/4, 0x40); - INSTANCE_WR(ctx, 0xEE8/4, 0xD0C0B0A); - INSTANCE_WR(ctx, 0xEEC/4, 0x141210); - INSTANCE_WR(ctx, 0xEF0/4, 0x1F0); - INSTANCE_WR(ctx, 0xEF4/4, 0x1); - INSTANCE_WR(ctx, 0xEF8/4, 0x3); - INSTANCE_WR(ctx, 0xF04/4, 0x39E00); - INSTANCE_WR(ctx, 0xF08/4, 0x100); - INSTANCE_WR(ctx, 0xF0C/4, 0x3800); - INSTANCE_WR(ctx, 0xF10/4, 0x404040); - INSTANCE_WR(ctx, 0xF14/4, 0xFF0A); - INSTANCE_WR(ctx, 0xF1C/4, 0x77F005); - INSTANCE_WR(ctx, 0xF20/4, 0x3F7FFF); - INSTANCE_WR(ctx, 0xF30/4, 0x1800000); - INSTANCE_WR(ctx, 0xF34/4, 0x160000); - INSTANCE_WR(ctx, 0xF38/4, 0x1800000); - INSTANCE_WR(ctx, 0xF48/4, 0x3FFFF); - INSTANCE_WR(ctx, 0xF4C/4, 0x118C0000); - INSTANCE_WR(ctx, 0xF70/4, 0x10401); - INSTANCE_WR(ctx, 0xF78/4, 0x78); - INSTANCE_WR(ctx, 0xF80/4, 0xBF); - INSTANCE_WR(ctx, 0xF88/4, 0x1210); - INSTANCE_WR(ctx, 0xF8C/4, 0x8000080); - INSTANCE_WR(ctx, 0xFB0/4, 0x1800000); - INSTANCE_WR(ctx, 0xFB4/4, 0x160000); - INSTANCE_WR(ctx, 0xFB8/4, 0x1800000); - INSTANCE_WR(ctx, 0xFC8/4, 0x3FFFF); - INSTANCE_WR(ctx, 0xFCC/4, 0x118C0000); - INSTANCE_WR(ctx, 0xFF0/4, 0x10401); - INSTANCE_WR(ctx, 0xFF8/4, 0x78); - INSTANCE_WR(ctx, 0x1000/4, 0xBF); - INSTANCE_WR(ctx, 0x1008/4, 0x1210); - INSTANCE_WR(ctx, 0x100C/4, 0x8000080); - INSTANCE_WR(ctx, 0x1034/4, 0x27070); - INSTANCE_WR(ctx, 0x1040/4, 0x3FFFFFF); - INSTANCE_WR(ctx, 0x1058/4, 0x120407); - INSTANCE_WR(ctx, 0x105C/4, 0x5091507); - INSTANCE_WR(ctx, 0x1060/4, 0x5010202); - INSTANCE_WR(ctx, 0x1064/4, 0x30201); - INSTANCE_WR(ctx, 0x1080/4, 0x40); - INSTANCE_WR(ctx, 0x1084/4, 0xD0C0B0A); - INSTANCE_WR(ctx, 0x1088/4, 0x141210); - INSTANCE_WR(ctx, 0x108C/4, 0x1F0); - INSTANCE_WR(ctx, 0x1090/4, 0x1); - INSTANCE_WR(ctx, 0x1094/4, 0x3); - INSTANCE_WR(ctx, 0x10A0/4, 0x39E00); - INSTANCE_WR(ctx, 0x10A4/4, 0x100); - INSTANCE_WR(ctx, 0x10A8/4, 0x3800); - INSTANCE_WR(ctx, 0x10AC/4, 0x404040); - INSTANCE_WR(ctx, 0x10B0/4, 0xFF0A); - INSTANCE_WR(ctx, 0x10B8/4, 0x77F005); - INSTANCE_WR(ctx, 0x10BC/4, 0x3F7FFF); - INSTANCE_WR(ctx, 0x10CC/4, 0x1800000); - INSTANCE_WR(ctx, 0x10D0/4, 0x160000); - INSTANCE_WR(ctx, 0x10D4/4, 0x1800000); - INSTANCE_WR(ctx, 0x10E4/4, 0x3FFFF); - INSTANCE_WR(ctx, 0x10E8/4, 0x118C0000); - INSTANCE_WR(ctx, 0x110C/4, 0x10401); - INSTANCE_WR(ctx, 0x1114/4, 0x78); - INSTANCE_WR(ctx, 0x111C/4, 0xBF); - INSTANCE_WR(ctx, 0x1124/4, 0x1210); - INSTANCE_WR(ctx, 0x1128/4, 0x8000080); - INSTANCE_WR(ctx, 0x114C/4, 0x1800000); - INSTANCE_WR(ctx, 0x1150/4, 0x160000); - INSTANCE_WR(ctx, 0x1154/4, 0x1800000); - INSTANCE_WR(ctx, 0x1164/4, 0x3FFFF); - INSTANCE_WR(ctx, 0x1168/4, 0x118C0000); - INSTANCE_WR(ctx, 0x118C/4, 0x10401); - INSTANCE_WR(ctx, 0x1194/4, 0x78); - INSTANCE_WR(ctx, 0x119C/4, 0xBF); - INSTANCE_WR(ctx, 0x11A4/4, 0x1210); - INSTANCE_WR(ctx, 0x11A8/4, 0x8000080); - INSTANCE_WR(ctx, 0x11D0/4, 0x27070); - INSTANCE_WR(ctx, 0x11DC/4, 0x3FFFFFF); - INSTANCE_WR(ctx, 0x11F4/4, 0x120407); - INSTANCE_WR(ctx, 0x11F8/4, 0x5091507); - INSTANCE_WR(ctx, 0x11FC/4, 0x5010202); - INSTANCE_WR(ctx, 0x1200/4, 0x30201); - INSTANCE_WR(ctx, 0x121C/4, 0x40); - INSTANCE_WR(ctx, 0x1220/4, 0xD0C0B0A); - INSTANCE_WR(ctx, 0x1224/4, 0x141210); - INSTANCE_WR(ctx, 0x1228/4, 0x1F0); - INSTANCE_WR(ctx, 0x122C/4, 0x1); - INSTANCE_WR(ctx, 0x1230/4, 0x3); - INSTANCE_WR(ctx, 0x123C/4, 0x39E00); - INSTANCE_WR(ctx, 0x1240/4, 0x100); - INSTANCE_WR(ctx, 0x1244/4, 0x3800); - INSTANCE_WR(ctx, 0x1248/4, 0x404040); - INSTANCE_WR(ctx, 0x124C/4, 0xFF0A); - INSTANCE_WR(ctx, 0x1254/4, 0x77F005); - INSTANCE_WR(ctx, 0x1258/4, 0x3F7FFF); - INSTANCE_WR(ctx, 0x1268/4, 0x1800000); - INSTANCE_WR(ctx, 0x126C/4, 0x160000); - INSTANCE_WR(ctx, 0x1270/4, 0x1800000); - INSTANCE_WR(ctx, 0x1280/4, 0x3FFFF); - INSTANCE_WR(ctx, 0x1284/4, 0x118C0000); - INSTANCE_WR(ctx, 0x12A8/4, 0x10401); - INSTANCE_WR(ctx, 0x12B0/4, 0x78); - INSTANCE_WR(ctx, 0x12B8/4, 0xBF); - INSTANCE_WR(ctx, 0x12C0/4, 0x1210); - INSTANCE_WR(ctx, 0x12C4/4, 0x8000080); - INSTANCE_WR(ctx, 0x12E8/4, 0x1800000); - INSTANCE_WR(ctx, 0x12EC/4, 0x160000); - INSTANCE_WR(ctx, 0x12F0/4, 0x1800000); - INSTANCE_WR(ctx, 0x1300/4, 0x3FFFF); - INSTANCE_WR(ctx, 0x1304/4, 0x118C0000); - INSTANCE_WR(ctx, 0x1328/4, 0x10401); - INSTANCE_WR(ctx, 0x1330/4, 0x78); - INSTANCE_WR(ctx, 0x1338/4, 0xBF); - INSTANCE_WR(ctx, 0x1340/4, 0x1210); - INSTANCE_WR(ctx, 0x1344/4, 0x8000080); - INSTANCE_WR(ctx, 0x136C/4, 0x27070); - INSTANCE_WR(ctx, 0x1378/4, 0x3FFFFFF); - INSTANCE_WR(ctx, 0x1390/4, 0x120407); - INSTANCE_WR(ctx, 0x1394/4, 0x5091507); - INSTANCE_WR(ctx, 0x1398/4, 0x5010202); - INSTANCE_WR(ctx, 0x139C/4, 0x30201); - INSTANCE_WR(ctx, 0x13B8/4, 0x40); - INSTANCE_WR(ctx, 0x13BC/4, 0xD0C0B0A); - INSTANCE_WR(ctx, 0x13C0/4, 0x141210); - INSTANCE_WR(ctx, 0x13C4/4, 0x1F0); - INSTANCE_WR(ctx, 0x13C8/4, 0x1); - INSTANCE_WR(ctx, 0x13CC/4, 0x3); - INSTANCE_WR(ctx, 0x13D8/4, 0x39E00); - INSTANCE_WR(ctx, 0x13DC/4, 0x100); - INSTANCE_WR(ctx, 0x13E0/4, 0x3800); - INSTANCE_WR(ctx, 0x13E4/4, 0x404040); - INSTANCE_WR(ctx, 0x13E8/4, 0xFF0A); - INSTANCE_WR(ctx, 0x13F0/4, 0x77F005); - INSTANCE_WR(ctx, 0x13F4/4, 0x3F7FFF); - INSTANCE_WR(ctx, 0x8620/4, 0x21); - INSTANCE_WR(ctx, 0x8640/4, 0x1); - INSTANCE_WR(ctx, 0x8660/4, 0x2); - INSTANCE_WR(ctx, 0x8680/4, 0x100); - INSTANCE_WR(ctx, 0x86A0/4, 0x100); - INSTANCE_WR(ctx, 0x86C0/4, 0x1); - INSTANCE_WR(ctx, 0x8720/4, 0x1); - INSTANCE_WR(ctx, 0x8740/4, 0x2); - INSTANCE_WR(ctx, 0x8760/4, 0x100); - INSTANCE_WR(ctx, 0x8780/4, 0x100); - INSTANCE_WR(ctx, 0x87A0/4, 0x1); - INSTANCE_WR(ctx, 0x1B8C0/4, 0x4); - INSTANCE_WR(ctx, 0x1B8E0/4, 0x4); - INSTANCE_WR(ctx, 0x54260/4, 0x4); - INSTANCE_WR(ctx, 0x54280/4, 0x4); - INSTANCE_WR(ctx, 0x542A0/4, 0x8100C12); - INSTANCE_WR(ctx, 0x542C0/4, 0x3); - INSTANCE_WR(ctx, 0x54300/4, 0x8100C12); - INSTANCE_WR(ctx, 0x54340/4, 0x80C14); - INSTANCE_WR(ctx, 0x54360/4, 0x1); - INSTANCE_WR(ctx, 0x54380/4, 0x80C14); - INSTANCE_WR(ctx, 0x543E0/4, 0x8100C12); - INSTANCE_WR(ctx, 0x54400/4, 0x27); - INSTANCE_WR(ctx, 0x54460/4, 0x1); - INSTANCE_WR(ctx, 0x5BCA0/4, 0x1); - INSTANCE_WR(ctx, 0x5BF80/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5C120/4, 0x4000000); - INSTANCE_WR(ctx, 0x5C140/4, 0x4000000); - INSTANCE_WR(ctx, 0x5C180/4, 0x80); - INSTANCE_WR(ctx, 0x5C200/4, 0x80); - INSTANCE_WR(ctx, 0x5C240/4, 0x3F); - INSTANCE_WR(ctx, 0x5C3A0/4, 0x2); - INSTANCE_WR(ctx, 0x5C3C0/4, 0x4000000); - INSTANCE_WR(ctx, 0x5C3E0/4, 0x4000000); - INSTANCE_WR(ctx, 0x5C500/4, 0x4); - INSTANCE_WR(ctx, 0x5C580/4, 0x4); - INSTANCE_WR(ctx, 0x5C7C0/4, 0x1); - INSTANCE_WR(ctx, 0x5C7E0/4, 0x1001); - INSTANCE_WR(ctx, 0x5C800/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5C820/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5C840/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5C860/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5CC80/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CCA0/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CCC0/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CCE0/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CD00/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CD20/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CD40/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CD60/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CD80/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CDA0/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CDC0/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CDE0/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CE00/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CE20/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CE40/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CE60/4, 0x3F800000); - INSTANCE_WR(ctx, 0x5CE80/4, 0x10); - INSTANCE_WR(ctx, 0x5CEE0/4, 0x3); - INSTANCE_WR(ctx, 0x1584/4, 0xF); - INSTANCE_WR(ctx, 0x1624/4, 0x20); - INSTANCE_WR(ctx, 0x1804/4, 0x1A); - INSTANCE_WR(ctx, 0x19C4/4, 0x4); - INSTANCE_WR(ctx, 0x19E4/4, 0x4); - INSTANCE_WR(ctx, 0x1A24/4, 0x4); - INSTANCE_WR(ctx, 0x1A44/4, 0x8); - INSTANCE_WR(ctx, 0x1A84/4, 0x7FF); - INSTANCE_WR(ctx, 0x1C24/4, 0xF); - INSTANCE_WR(ctx, 0x4104/4, 0xF); - INSTANCE_WR(ctx, 0x4144/4, 0x1); - INSTANCE_WR(ctx, 0x4CA4/4, 0xF); - INSTANCE_WR(ctx, 0x15344/4, 0xF); - INSTANCE_WR(ctx, 0x155E4/4, 0x1); - INSTANCE_WR(ctx, 0x15604/4, 0x100); - INSTANCE_WR(ctx, 0x15624/4, 0x100); - INSTANCE_WR(ctx, 0x15644/4, 0x11); - INSTANCE_WR(ctx, 0x15684/4, 0x8); - INSTANCE_WR(ctx, 0x15744/4, 0x1); - INSTANCE_WR(ctx, 0x15784/4, 0x1); - INSTANCE_WR(ctx, 0x157A4/4, 0x1); - INSTANCE_WR(ctx, 0x157C4/4, 0x1); - INSTANCE_WR(ctx, 0x157E4/4, 0xCF); - INSTANCE_WR(ctx, 0x15804/4, 0x2); - INSTANCE_WR(ctx, 0x158E4/4, 0x1); - INSTANCE_WR(ctx, 0x15924/4, 0x1); - INSTANCE_WR(ctx, 0x15944/4, 0x1); - INSTANCE_WR(ctx, 0x15964/4, 0x1); - INSTANCE_WR(ctx, 0x15A04/4, 0x4); - INSTANCE_WR(ctx, 0x15A44/4, 0x1); - INSTANCE_WR(ctx, 0x15A64/4, 0x15); - INSTANCE_WR(ctx, 0x15AE4/4, 0x4444480); - INSTANCE_WR(ctx, 0x16264/4, 0x8100C12); - INSTANCE_WR(ctx, 0x16304/4, 0x100); - INSTANCE_WR(ctx, 0x16364/4, 0x10001); - INSTANCE_WR(ctx, 0x163A4/4, 0x10001); - INSTANCE_WR(ctx, 0x163C4/4, 0x1); - INSTANCE_WR(ctx, 0x163E4/4, 0x10001); - INSTANCE_WR(ctx, 0x16404/4, 0x1); - INSTANCE_WR(ctx, 0x16424/4, 0x4); - INSTANCE_WR(ctx, 0x16444/4, 0x2); - INSTANCE_WR(ctx, 0x183C4/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x183E4/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x18484/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x18604/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x18624/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x16508/4, 0x3FFFFF); - INSTANCE_WR(ctx, 0x16568/4, 0x1FFF); - INSTANCE_WR(ctx, 0x16748/4, 0x3F800000); - INSTANCE_WR(ctx, 0x16828/4, 0x4); - INSTANCE_WR(ctx, 0x16848/4, 0x1A); - INSTANCE_WR(ctx, 0x168A8/4, 0x1); - INSTANCE_WR(ctx, 0x16B08/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x16BE8/4, 0xF); - INSTANCE_WR(ctx, 0x16CE8/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x16D08/4, 0x11); - INSTANCE_WR(ctx, 0x16F08/4, 0x4); - INSTANCE_WR(ctx, 0x16FA8/4, 0x2); - INSTANCE_WR(ctx, 0x16FC8/4, 0x4000000); - INSTANCE_WR(ctx, 0x16FE8/4, 0x4000000); - INSTANCE_WR(ctx, 0x17068/4, 0x5); - INSTANCE_WR(ctx, 0x17088/4, 0x52); - INSTANCE_WR(ctx, 0x17128/4, 0x1); - INSTANCE_WR(ctx, 0x17348/4, 0x3F800000); - INSTANCE_WR(ctx, 0x17368/4, 0x3F800000); - INSTANCE_WR(ctx, 0x17388/4, 0x3F800000); - INSTANCE_WR(ctx, 0x173A8/4, 0x3F800000); - INSTANCE_WR(ctx, 0x173C8/4, 0x3F800000); - INSTANCE_WR(ctx, 0x173E8/4, 0x3F800000); - INSTANCE_WR(ctx, 0x17408/4, 0x3F800000); - INSTANCE_WR(ctx, 0x17428/4, 0x3F800000); - INSTANCE_WR(ctx, 0x17448/4, 0x3F800000); - INSTANCE_WR(ctx, 0x17468/4, 0x3F800000); - INSTANCE_WR(ctx, 0x17488/4, 0x3F800000); - INSTANCE_WR(ctx, 0x174A8/4, 0x3F800000); - INSTANCE_WR(ctx, 0x174C8/4, 0x3F800000); - INSTANCE_WR(ctx, 0x174E8/4, 0x3F800000); - INSTANCE_WR(ctx, 0x17508/4, 0x3F800000); - INSTANCE_WR(ctx, 0x17528/4, 0x3F800000); - INSTANCE_WR(ctx, 0x17548/4, 0x10); - INSTANCE_WR(ctx, 0x17A28/4, 0x8100C12); - INSTANCE_WR(ctx, 0x17A48/4, 0x5); - INSTANCE_WR(ctx, 0x17AA8/4, 0x1); - INSTANCE_WR(ctx, 0x17AE8/4, 0xFFFF); - INSTANCE_WR(ctx, 0x17B08/4, 0xFFFF); - INSTANCE_WR(ctx, 0x17B28/4, 0xFFFF); - INSTANCE_WR(ctx, 0x17B48/4, 0xFFFF); - INSTANCE_WR(ctx, 0x17B68/4, 0x3); - INSTANCE_WR(ctx, 0x17F68/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x17F88/4, 0x1A); - INSTANCE_WR(ctx, 0x17FC8/4, 0x3); - INSTANCE_WR(ctx, 0x184A8/4, 0x102); - INSTANCE_WR(ctx, 0x184E8/4, 0x4); - INSTANCE_WR(ctx, 0x18508/4, 0x4); - INSTANCE_WR(ctx, 0x18528/4, 0x4); - INSTANCE_WR(ctx, 0x18548/4, 0x4); - INSTANCE_WR(ctx, 0x18568/4, 0x4); - INSTANCE_WR(ctx, 0x18588/4, 0x4); - INSTANCE_WR(ctx, 0x185C8/4, 0x7FF); - INSTANCE_WR(ctx, 0x18608/4, 0x102); - INSTANCE_WR(ctx, 0x18748/4, 0x4); - INSTANCE_WR(ctx, 0x18768/4, 0x4); - INSTANCE_WR(ctx, 0x18788/4, 0x4); - INSTANCE_WR(ctx, 0x187A8/4, 0x4); - INSTANCE_WR(ctx, 0x18DE8/4, 0x80C14); - INSTANCE_WR(ctx, 0x18E48/4, 0x804); - INSTANCE_WR(ctx, 0x18E88/4, 0x4); - INSTANCE_WR(ctx, 0x18EA8/4, 0x4); - INSTANCE_WR(ctx, 0x18EC8/4, 0x8100C12); - INSTANCE_WR(ctx, 0x18F08/4, 0x4); - INSTANCE_WR(ctx, 0x18F28/4, 0x4); - INSTANCE_WR(ctx, 0x18F68/4, 0x10); - INSTANCE_WR(ctx, 0x19008/4, 0x804); - INSTANCE_WR(ctx, 0x19028/4, 0x1); - INSTANCE_WR(ctx, 0x19048/4, 0x1A); - INSTANCE_WR(ctx, 0x19068/4, 0x7F); - INSTANCE_WR(ctx, 0x190A8/4, 0x1); - INSTANCE_WR(ctx, 0x190C8/4, 0x80C14); - INSTANCE_WR(ctx, 0x19108/4, 0x8100C12); - INSTANCE_WR(ctx, 0x19128/4, 0x4); - INSTANCE_WR(ctx, 0x19148/4, 0x4); - INSTANCE_WR(ctx, 0x19188/4, 0x10); - INSTANCE_WR(ctx, 0x19208/4, 0x1); - INSTANCE_WR(ctx, 0x19228/4, 0x8100C12); - INSTANCE_WR(ctx, 0x19308/4, 0x7FF); - INSTANCE_WR(ctx, 0x19328/4, 0x80C14); - INSTANCE_WR(ctx, 0x19A48/4, 0x1); - INSTANCE_WR(ctx, 0x19AA8/4, 0x10); - INSTANCE_WR(ctx, 0x1A1C8/4, 0x88); - INSTANCE_WR(ctx, 0x1A1E8/4, 0x88); - INSTANCE_WR(ctx, 0x1A248/4, 0x4); - INSTANCE_WR(ctx, 0x1A528/4, 0x26); - INSTANCE_WR(ctx, 0x1A588/4, 0x3F800000); - INSTANCE_WR(ctx, 0x1A608/4, 0x1A); - INSTANCE_WR(ctx, 0x1A628/4, 0x10); - INSTANCE_WR(ctx, 0x1AB48/4, 0x52); - INSTANCE_WR(ctx, 0x1AB88/4, 0x26); - INSTANCE_WR(ctx, 0x1ABC8/4, 0x4); - INSTANCE_WR(ctx, 0x1ABE8/4, 0x4); - INSTANCE_WR(ctx, 0x1AC28/4, 0x1A); - INSTANCE_WR(ctx, 0x1AC88/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x1ACC8/4, 0x4); - INSTANCE_WR(ctx, 0x1ACE8/4, 0x4); - INSTANCE_WR(ctx, 0x1AD28/4, 0x80); - INSTANCE_WR(ctx, 0x1AD48/4, 0x4); - INSTANCE_WR(ctx, 0x1AD68/4, 0x80C14); - INSTANCE_WR(ctx, 0x1ADA8/4, 0x7FF); - INSTANCE_WR(ctx, 0x2D608/4, 0x4); - INSTANCE_WR(ctx, 0x2D628/4, 0x4); - INSTANCE_WR(ctx, 0x2D668/4, 0x80); - INSTANCE_WR(ctx, 0x2D688/4, 0x4); - INSTANCE_WR(ctx, 0x2D6A8/4, 0x1); - INSTANCE_WR(ctx, 0x2D6E8/4, 0x27); - INSTANCE_WR(ctx, 0x2D728/4, 0x26); - INSTANCE_WR(ctx, 0x2D7A8/4, 0x4000000); - INSTANCE_WR(ctx, 0x2D7C8/4, 0x4000000); - INSTANCE_WR(ctx, 0x2D7E8/4, 0x4000000); - INSTANCE_WR(ctx, 0x2D808/4, 0x4000000); - INSTANCE_WR(ctx, 0x2D828/4, 0x4000000); - INSTANCE_WR(ctx, 0x2D848/4, 0x4000000); - INSTANCE_WR(ctx, 0x2D868/4, 0x4000000); - INSTANCE_WR(ctx, 0x2D888/4, 0x4000000); - INSTANCE_WR(ctx, 0x2D8A8/4, 0x4000000); - INSTANCE_WR(ctx, 0x2D8C8/4, 0x4000000); - INSTANCE_WR(ctx, 0x2D8E8/4, 0x4000000); - INSTANCE_WR(ctx, 0x2D908/4, 0x4000000); - INSTANCE_WR(ctx, 0x2D928/4, 0x4000000); - INSTANCE_WR(ctx, 0x2D948/4, 0x4000000); - INSTANCE_WR(ctx, 0x2D968/4, 0x4000000); - INSTANCE_WR(ctx, 0x2D988/4, 0x4000000); - INSTANCE_WR(ctx, 0x2DE28/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x2DE48/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x2DEA8/4, 0x1FE21); - INSTANCE_WR(ctx, 0x160C/4, 0x2); - INSTANCE_WR(ctx, 0x164C/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x17EC/4, 0x1); - INSTANCE_WR(ctx, 0x180C/4, 0x10); - INSTANCE_WR(ctx, 0x186C/4, 0x1); - INSTANCE_WR(ctx, 0x190C/4, 0x4); - INSTANCE_WR(ctx, 0x192C/4, 0x400); - INSTANCE_WR(ctx, 0x194C/4, 0x300); - INSTANCE_WR(ctx, 0x196C/4, 0x1001); - INSTANCE_WR(ctx, 0x198C/4, 0x15); - INSTANCE_WR(ctx, 0x1A4C/4, 0x2); - INSTANCE_WR(ctx, 0x1B6C/4, 0x1); - INSTANCE_WR(ctx, 0x1B8C/4, 0x10); - INSTANCE_WR(ctx, 0x1BCC/4, 0x1); - INSTANCE_WR(ctx, 0x1E4C/4, 0x10); - INSTANCE_WR(ctx, 0x206C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x208C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x20AC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x20CC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x20EC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x210C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x212C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x214C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x216C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x218C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x21AC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x21CC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x21EC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x220C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x222C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x224C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x258C/4, 0x10); - INSTANCE_WR(ctx, 0x25CC/4, 0x3F); - INSTANCE_WR(ctx, 0x26AC/4, 0x1); - INSTANCE_WR(ctx, 0x26EC/4, 0x1); - INSTANCE_WR(ctx, 0x272C/4, 0x1); - INSTANCE_WR(ctx, 0x28CC/4, 0x11); - INSTANCE_WR(ctx, 0x29CC/4, 0xF); - INSTANCE_WR(ctx, 0x2ACC/4, 0x11); - INSTANCE_WR(ctx, 0x2BAC/4, 0x1); - INSTANCE_WR(ctx, 0x2BCC/4, 0x1); - INSTANCE_WR(ctx, 0x2BEC/4, 0x1); - INSTANCE_WR(ctx, 0x2C0C/4, 0x2); - INSTANCE_WR(ctx, 0x2C2C/4, 0x1); - INSTANCE_WR(ctx, 0x2C4C/4, 0x2); - INSTANCE_WR(ctx, 0x2C6C/4, 0x1); - INSTANCE_WR(ctx, 0x2CAC/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x2CEC/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x2FAC/4, 0x1); - INSTANCE_WR(ctx, 0x2FCC/4, 0x2); - INSTANCE_WR(ctx, 0x2FEC/4, 0x1); - INSTANCE_WR(ctx, 0x300C/4, 0x1); - INSTANCE_WR(ctx, 0x302C/4, 0x2); - INSTANCE_WR(ctx, 0x304C/4, 0x1); - INSTANCE_WR(ctx, 0x306C/4, 0x1); - INSTANCE_WR(ctx, 0x30EC/4, 0x11); - INSTANCE_WR(ctx, 0x310C/4, 0x1); - INSTANCE_WR(ctx, 0x3D8C/4, 0x2); - INSTANCE_WR(ctx, 0x3DCC/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x3F6C/4, 0x1); - INSTANCE_WR(ctx, 0x3F8C/4, 0x10); - INSTANCE_WR(ctx, 0x3FEC/4, 0x1); - INSTANCE_WR(ctx, 0x408C/4, 0x4); - INSTANCE_WR(ctx, 0x40AC/4, 0x400); - INSTANCE_WR(ctx, 0x40CC/4, 0x300); - INSTANCE_WR(ctx, 0x40EC/4, 0x1001); - INSTANCE_WR(ctx, 0x410C/4, 0x15); - INSTANCE_WR(ctx, 0x41CC/4, 0x2); - INSTANCE_WR(ctx, 0x42EC/4, 0x1); - INSTANCE_WR(ctx, 0x430C/4, 0x10); - INSTANCE_WR(ctx, 0x434C/4, 0x1); - INSTANCE_WR(ctx, 0x45CC/4, 0x10); - INSTANCE_WR(ctx, 0x47EC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x480C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x482C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x484C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x486C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x488C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x48AC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x48CC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x48EC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x490C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x492C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x494C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x496C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x498C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x49AC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x49CC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x4D0C/4, 0x10); - INSTANCE_WR(ctx, 0x4D4C/4, 0x3F); - INSTANCE_WR(ctx, 0x4E2C/4, 0x1); - INSTANCE_WR(ctx, 0x4E6C/4, 0x1); - INSTANCE_WR(ctx, 0x4EAC/4, 0x1); - INSTANCE_WR(ctx, 0x504C/4, 0x11); - INSTANCE_WR(ctx, 0x514C/4, 0xF); - INSTANCE_WR(ctx, 0x524C/4, 0x11); - INSTANCE_WR(ctx, 0x532C/4, 0x1); - INSTANCE_WR(ctx, 0x534C/4, 0x1); - INSTANCE_WR(ctx, 0x536C/4, 0x1); - INSTANCE_WR(ctx, 0x538C/4, 0x2); - INSTANCE_WR(ctx, 0x53AC/4, 0x1); - INSTANCE_WR(ctx, 0x53CC/4, 0x2); - INSTANCE_WR(ctx, 0x53EC/4, 0x1); - INSTANCE_WR(ctx, 0x542C/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x546C/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x572C/4, 0x1); - INSTANCE_WR(ctx, 0x574C/4, 0x2); - INSTANCE_WR(ctx, 0x576C/4, 0x1); - INSTANCE_WR(ctx, 0x578C/4, 0x1); - INSTANCE_WR(ctx, 0x57AC/4, 0x2); - INSTANCE_WR(ctx, 0x57CC/4, 0x1); - INSTANCE_WR(ctx, 0x57EC/4, 0x1); - INSTANCE_WR(ctx, 0x586C/4, 0x11); - INSTANCE_WR(ctx, 0x588C/4, 0x1); - INSTANCE_WR(ctx, 0x650C/4, 0x2); - INSTANCE_WR(ctx, 0x654C/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x66EC/4, 0x1); - INSTANCE_WR(ctx, 0x670C/4, 0x10); - INSTANCE_WR(ctx, 0x676C/4, 0x1); - INSTANCE_WR(ctx, 0x680C/4, 0x4); - INSTANCE_WR(ctx, 0x682C/4, 0x400); - INSTANCE_WR(ctx, 0x684C/4, 0x300); - INSTANCE_WR(ctx, 0x686C/4, 0x1001); - INSTANCE_WR(ctx, 0x688C/4, 0x15); - INSTANCE_WR(ctx, 0x694C/4, 0x2); - INSTANCE_WR(ctx, 0x6A6C/4, 0x1); - INSTANCE_WR(ctx, 0x6A8C/4, 0x10); - INSTANCE_WR(ctx, 0x6ACC/4, 0x1); - INSTANCE_WR(ctx, 0x6D4C/4, 0x10); - INSTANCE_WR(ctx, 0x6F6C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x6F8C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x6FAC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x6FCC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x6FEC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x700C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x702C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x704C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x706C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x708C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x70AC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x70CC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x70EC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x710C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x712C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x714C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x748C/4, 0x10); - INSTANCE_WR(ctx, 0x74CC/4, 0x3F); - INSTANCE_WR(ctx, 0x75AC/4, 0x1); - INSTANCE_WR(ctx, 0x75EC/4, 0x1); - INSTANCE_WR(ctx, 0x762C/4, 0x1); - INSTANCE_WR(ctx, 0x77CC/4, 0x11); - INSTANCE_WR(ctx, 0x78CC/4, 0xF); - INSTANCE_WR(ctx, 0x79CC/4, 0x11); - INSTANCE_WR(ctx, 0x7AAC/4, 0x1); - INSTANCE_WR(ctx, 0x7ACC/4, 0x1); - INSTANCE_WR(ctx, 0x7AEC/4, 0x1); - INSTANCE_WR(ctx, 0x7B0C/4, 0x2); - INSTANCE_WR(ctx, 0x7B2C/4, 0x1); - INSTANCE_WR(ctx, 0x7B4C/4, 0x2); - INSTANCE_WR(ctx, 0x7B6C/4, 0x1); - INSTANCE_WR(ctx, 0x7BAC/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x7BEC/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x7EAC/4, 0x1); - INSTANCE_WR(ctx, 0x7ECC/4, 0x2); - INSTANCE_WR(ctx, 0x7EEC/4, 0x1); - INSTANCE_WR(ctx, 0x7F0C/4, 0x1); - INSTANCE_WR(ctx, 0x7F2C/4, 0x2); - INSTANCE_WR(ctx, 0x7F4C/4, 0x1); - INSTANCE_WR(ctx, 0x7F6C/4, 0x1); - INSTANCE_WR(ctx, 0x7FEC/4, 0x11); - INSTANCE_WR(ctx, 0x800C/4, 0x1); - INSTANCE_WR(ctx, 0x8C8C/4, 0x2); - INSTANCE_WR(ctx, 0x8CCC/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x8E6C/4, 0x1); - INSTANCE_WR(ctx, 0x8E8C/4, 0x10); - INSTANCE_WR(ctx, 0x8EEC/4, 0x1); - INSTANCE_WR(ctx, 0x8F8C/4, 0x4); - INSTANCE_WR(ctx, 0x8FAC/4, 0x400); - INSTANCE_WR(ctx, 0x8FCC/4, 0x300); - INSTANCE_WR(ctx, 0x8FEC/4, 0x1001); - INSTANCE_WR(ctx, 0x900C/4, 0x15); - INSTANCE_WR(ctx, 0x90CC/4, 0x2); - INSTANCE_WR(ctx, 0x91EC/4, 0x1); - INSTANCE_WR(ctx, 0x920C/4, 0x10); - INSTANCE_WR(ctx, 0x924C/4, 0x1); - INSTANCE_WR(ctx, 0x94CC/4, 0x10); - INSTANCE_WR(ctx, 0x96EC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x970C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x972C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x974C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x976C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x978C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x97AC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x97CC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x97EC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x980C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x982C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x984C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x986C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x988C/4, 0x3F800000); - INSTANCE_WR(ctx, 0x98AC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x98CC/4, 0x3F800000); - INSTANCE_WR(ctx, 0x9C0C/4, 0x10); - INSTANCE_WR(ctx, 0x9C4C/4, 0x3F); - INSTANCE_WR(ctx, 0x9D2C/4, 0x1); - INSTANCE_WR(ctx, 0x9D6C/4, 0x1); - INSTANCE_WR(ctx, 0x9DAC/4, 0x1); - INSTANCE_WR(ctx, 0x9F4C/4, 0x11); - INSTANCE_WR(ctx, 0xA04C/4, 0xF); - INSTANCE_WR(ctx, 0xA14C/4, 0x11); - INSTANCE_WR(ctx, 0xA22C/4, 0x1); - INSTANCE_WR(ctx, 0xA24C/4, 0x1); - INSTANCE_WR(ctx, 0xA26C/4, 0x1); - INSTANCE_WR(ctx, 0xA28C/4, 0x2); - INSTANCE_WR(ctx, 0xA2AC/4, 0x1); - INSTANCE_WR(ctx, 0xA2CC/4, 0x2); - INSTANCE_WR(ctx, 0xA2EC/4, 0x1); - INSTANCE_WR(ctx, 0xA32C/4, 0x1FFE67); - INSTANCE_WR(ctx, 0xA36C/4, 0xFAC6881); - INSTANCE_WR(ctx, 0xA62C/4, 0x1); - INSTANCE_WR(ctx, 0xA64C/4, 0x2); - INSTANCE_WR(ctx, 0xA66C/4, 0x1); - INSTANCE_WR(ctx, 0xA68C/4, 0x1); - INSTANCE_WR(ctx, 0xA6AC/4, 0x2); - INSTANCE_WR(ctx, 0xA6CC/4, 0x1); - INSTANCE_WR(ctx, 0xA6EC/4, 0x1); - INSTANCE_WR(ctx, 0xA76C/4, 0x11); - INSTANCE_WR(ctx, 0xA78C/4, 0x1); - INSTANCE_WR(ctx, 0x1530/4, 0x4); - INSTANCE_WR(ctx, 0x17F0/4, 0x4); - INSTANCE_WR(ctx, 0x1810/4, 0x4); - INSTANCE_WR(ctx, 0x1830/4, 0x608080); - INSTANCE_WR(ctx, 0x18D0/4, 0x4); - INSTANCE_WR(ctx, 0x1930/4, 0x4); - INSTANCE_WR(ctx, 0x1950/4, 0x4); - INSTANCE_WR(ctx, 0x1970/4, 0x80); - INSTANCE_WR(ctx, 0x1990/4, 0x4); - INSTANCE_WR(ctx, 0x1E30/4, 0x4); - INSTANCE_WR(ctx, 0x1E50/4, 0x80); - INSTANCE_WR(ctx, 0x1E70/4, 0x4); - INSTANCE_WR(ctx, 0x1E90/4, 0x3020100); - INSTANCE_WR(ctx, 0x1EB0/4, 0x3); - INSTANCE_WR(ctx, 0x1ED0/4, 0x4); - INSTANCE_WR(ctx, 0x1F70/4, 0x4); - INSTANCE_WR(ctx, 0x1F90/4, 0x3); - INSTANCE_WR(ctx, 0x2010/4, 0x4); - INSTANCE_WR(ctx, 0x164B0/4, 0x4); - INSTANCE_WR(ctx, 0x164D0/4, 0x3); - INSTANCE_WR(ctx, 0x16710/4, 0xF); - INSTANCE_WR(ctx, 0x16890/4, 0x4); - INSTANCE_WR(ctx, 0x168B0/4, 0xFFFF); - INSTANCE_WR(ctx, 0x168D0/4, 0xFFFF); - INSTANCE_WR(ctx, 0x168F0/4, 0xFFFF); - INSTANCE_WR(ctx, 0x16910/4, 0xFFFF); - INSTANCE_WR(ctx, 0x16A30/4, 0x1); - INSTANCE_WR(ctx, 0x16AB0/4, 0x1); - INSTANCE_WR(ctx, 0x16B70/4, 0x1); - INSTANCE_WR(ctx, 0x16D10/4, 0x1); - INSTANCE_WR(ctx, 0x16D30/4, 0x1); - INSTANCE_WR(ctx, 0x16D50/4, 0x2); - INSTANCE_WR(ctx, 0x16D70/4, 0x1); - INSTANCE_WR(ctx, 0x16D90/4, 0x1); - INSTANCE_WR(ctx, 0x16DB0/4, 0x2); - INSTANCE_WR(ctx, 0x16DD0/4, 0x1); - INSTANCE_WR(ctx, 0x16E10/4, 0x11); - INSTANCE_WR(ctx, 0x16F10/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x16F70/4, 0x4); - INSTANCE_WR(ctx, 0x16FF0/4, 0x11); - INSTANCE_WR(ctx, 0x17010/4, 0x1); - INSTANCE_WR(ctx, 0x17050/4, 0xCF); - INSTANCE_WR(ctx, 0x17070/4, 0xCF); - INSTANCE_WR(ctx, 0x17090/4, 0xCF); - INSTANCE_WR(ctx, 0x171F0/4, 0x1); - INSTANCE_WR(ctx, 0x17210/4, 0x1); - INSTANCE_WR(ctx, 0x17230/4, 0x2); - INSTANCE_WR(ctx, 0x17250/4, 0x1); - INSTANCE_WR(ctx, 0x17270/4, 0x1); - INSTANCE_WR(ctx, 0x17290/4, 0x2); - INSTANCE_WR(ctx, 0x172B0/4, 0x1); - INSTANCE_WR(ctx, 0x172F0/4, 0x1); - INSTANCE_WR(ctx, 0x17310/4, 0x1); - INSTANCE_WR(ctx, 0x17330/4, 0x1); - INSTANCE_WR(ctx, 0x17350/4, 0x1); - INSTANCE_WR(ctx, 0x17370/4, 0x1); - INSTANCE_WR(ctx, 0x17390/4, 0x1); - INSTANCE_WR(ctx, 0x173B0/4, 0x1); - INSTANCE_WR(ctx, 0x173D0/4, 0x1); - INSTANCE_WR(ctx, 0x173F0/4, 0x11); - INSTANCE_WR(ctx, 0x174F0/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x17510/4, 0xF); - INSTANCE_WR(ctx, 0x17610/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x17670/4, 0x11); - INSTANCE_WR(ctx, 0x17690/4, 0x1); - INSTANCE_WR(ctx, 0x17710/4, 0x4); - INSTANCE_WR(ctx, 0x177D0/4, 0x1); - INSTANCE_WR(ctx, 0x17870/4, 0x11); - INSTANCE_WR(ctx, 0x17970/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x179F0/4, 0x11); - INSTANCE_WR(ctx, 0x17A10/4, 0x1); - INSTANCE_WR(ctx, 0x17A50/4, 0x1); - INSTANCE_WR(ctx, 0x17A90/4, 0x1); - INSTANCE_WR(ctx, 0x17AD0/4, 0x7FF); - INSTANCE_WR(ctx, 0x17B10/4, 0x1); - INSTANCE_WR(ctx, 0x17B50/4, 0x1); - INSTANCE_WR(ctx, 0x180B0/4, 0x8); - INSTANCE_WR(ctx, 0x180D0/4, 0x8); - INSTANCE_WR(ctx, 0x180F0/4, 0x8); - INSTANCE_WR(ctx, 0x18110/4, 0x8); - INSTANCE_WR(ctx, 0x18130/4, 0x8); - INSTANCE_WR(ctx, 0x18150/4, 0x8); - INSTANCE_WR(ctx, 0x18170/4, 0x8); - INSTANCE_WR(ctx, 0x18190/4, 0x8); - INSTANCE_WR(ctx, 0x181B0/4, 0x11); - INSTANCE_WR(ctx, 0x182B0/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x182D0/4, 0x400); - INSTANCE_WR(ctx, 0x182F0/4, 0x400); - INSTANCE_WR(ctx, 0x18310/4, 0x400); - INSTANCE_WR(ctx, 0x18330/4, 0x400); - INSTANCE_WR(ctx, 0x18350/4, 0x400); - INSTANCE_WR(ctx, 0x18370/4, 0x400); - INSTANCE_WR(ctx, 0x18390/4, 0x400); - INSTANCE_WR(ctx, 0x183B0/4, 0x400); - INSTANCE_WR(ctx, 0x183D0/4, 0x300); - INSTANCE_WR(ctx, 0x183F0/4, 0x300); - INSTANCE_WR(ctx, 0x18410/4, 0x300); - INSTANCE_WR(ctx, 0x18430/4, 0x300); - INSTANCE_WR(ctx, 0x18450/4, 0x300); - INSTANCE_WR(ctx, 0x18470/4, 0x300); - INSTANCE_WR(ctx, 0x18490/4, 0x300); - INSTANCE_WR(ctx, 0x184B0/4, 0x300); - INSTANCE_WR(ctx, 0x184D0/4, 0x1); - INSTANCE_WR(ctx, 0x184F0/4, 0xF); - INSTANCE_WR(ctx, 0x185F0/4, 0x20); - INSTANCE_WR(ctx, 0x18610/4, 0x11); - INSTANCE_WR(ctx, 0x18630/4, 0x100); - INSTANCE_WR(ctx, 0x18670/4, 0x1); - INSTANCE_WR(ctx, 0x186D0/4, 0x40); - INSTANCE_WR(ctx, 0x186F0/4, 0x100); - INSTANCE_WR(ctx, 0x18730/4, 0x3); - INSTANCE_WR(ctx, 0x187D0/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x18850/4, 0x2); - INSTANCE_WR(ctx, 0x18870/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x189B0/4, 0x1); - INSTANCE_WR(ctx, 0x18A50/4, 0x4); - INSTANCE_WR(ctx, 0x18A90/4, 0x1); - INSTANCE_WR(ctx, 0x18AB0/4, 0x400); - INSTANCE_WR(ctx, 0x18AD0/4, 0x300); - INSTANCE_WR(ctx, 0x18AF0/4, 0x1001); - INSTANCE_WR(ctx, 0x18B70/4, 0x11); - INSTANCE_WR(ctx, 0x18C70/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x18C90/4, 0xF); - INSTANCE_WR(ctx, 0x18F90/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x19010/4, 0x11); - INSTANCE_WR(ctx, 0x19070/4, 0x4); - INSTANCE_WR(ctx, 0x190B0/4, 0x1); - INSTANCE_WR(ctx, 0x190D0/4, 0x1); - INSTANCE_WR(ctx, 0x19150/4, 0x1); - INSTANCE_WR(ctx, 0x191F0/4, 0x1); - INSTANCE_WR(ctx, 0x19230/4, 0x1); - INSTANCE_WR(ctx, 0x192B0/4, 0x2A712488); - INSTANCE_WR(ctx, 0x192F0/4, 0x4085C000); - INSTANCE_WR(ctx, 0x19310/4, 0x40); - INSTANCE_WR(ctx, 0x19330/4, 0x100); - INSTANCE_WR(ctx, 0x19350/4, 0x10100); - INSTANCE_WR(ctx, 0x19370/4, 0x2800000); - INSTANCE_WR(ctx, 0x195D0/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x195F0/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x19610/4, 0x1); - INSTANCE_WR(ctx, 0x19650/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x19670/4, 0x1); - INSTANCE_WR(ctx, 0x196D0/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x197F0/4, 0x1); - INSTANCE_WR(ctx, 0x19830/4, 0x1); - INSTANCE_WR(ctx, 0x19850/4, 0x30201000); - INSTANCE_WR(ctx, 0x19870/4, 0x70605040); - INSTANCE_WR(ctx, 0x19890/4, 0xB8A89888); - INSTANCE_WR(ctx, 0x198B0/4, 0xF8E8D8C8); - INSTANCE_WR(ctx, 0x198F0/4, 0x1A); - INSTANCE_WR(ctx, 0x19930/4, 0x4); - INSTANCE_WR(ctx, 0x19BF0/4, 0x4); - INSTANCE_WR(ctx, 0x19C10/4, 0x4); - INSTANCE_WR(ctx, 0x19C30/4, 0x608080); - INSTANCE_WR(ctx, 0x19CD0/4, 0x4); - INSTANCE_WR(ctx, 0x19D30/4, 0x4); - INSTANCE_WR(ctx, 0x19D50/4, 0x4); - INSTANCE_WR(ctx, 0x19D70/4, 0x80); - INSTANCE_WR(ctx, 0x19D90/4, 0x4); - INSTANCE_WR(ctx, 0x1A230/4, 0x4); - INSTANCE_WR(ctx, 0x1A250/4, 0x80); - INSTANCE_WR(ctx, 0x1A270/4, 0x4); - INSTANCE_WR(ctx, 0x1A290/4, 0x3020100); - INSTANCE_WR(ctx, 0x1A2B0/4, 0x3); - INSTANCE_WR(ctx, 0x1A2D0/4, 0x4); - INSTANCE_WR(ctx, 0x1A370/4, 0x4); - INSTANCE_WR(ctx, 0x1A390/4, 0x3); - INSTANCE_WR(ctx, 0x1A410/4, 0x4); - INSTANCE_WR(ctx, 0x2E8B0/4, 0x4); - INSTANCE_WR(ctx, 0x2E8D0/4, 0x3); - INSTANCE_WR(ctx, 0x2EB10/4, 0xF); - INSTANCE_WR(ctx, 0x2EC90/4, 0x4); - INSTANCE_WR(ctx, 0x2ECB0/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2ECD0/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2ECF0/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2ED10/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2EE30/4, 0x1); - INSTANCE_WR(ctx, 0x2EEB0/4, 0x1); - INSTANCE_WR(ctx, 0x2EF70/4, 0x1); - INSTANCE_WR(ctx, 0x2F110/4, 0x1); - INSTANCE_WR(ctx, 0x2F130/4, 0x1); - INSTANCE_WR(ctx, 0x2F150/4, 0x2); - INSTANCE_WR(ctx, 0x2F170/4, 0x1); - INSTANCE_WR(ctx, 0x2F190/4, 0x1); - INSTANCE_WR(ctx, 0x2F1B0/4, 0x2); - INSTANCE_WR(ctx, 0x2F1D0/4, 0x1); - INSTANCE_WR(ctx, 0x2F210/4, 0x11); - INSTANCE_WR(ctx, 0x2F310/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x2F370/4, 0x4); - INSTANCE_WR(ctx, 0x2F3F0/4, 0x11); - INSTANCE_WR(ctx, 0x2F410/4, 0x1); - INSTANCE_WR(ctx, 0x2F450/4, 0xCF); - INSTANCE_WR(ctx, 0x2F470/4, 0xCF); - INSTANCE_WR(ctx, 0x2F490/4, 0xCF); - INSTANCE_WR(ctx, 0x2F5F0/4, 0x1); - INSTANCE_WR(ctx, 0x2F610/4, 0x1); - INSTANCE_WR(ctx, 0x2F630/4, 0x2); - INSTANCE_WR(ctx, 0x2F650/4, 0x1); - INSTANCE_WR(ctx, 0x2F670/4, 0x1); - INSTANCE_WR(ctx, 0x2F690/4, 0x2); - INSTANCE_WR(ctx, 0x2F6B0/4, 0x1); - INSTANCE_WR(ctx, 0x2F6F0/4, 0x1); - INSTANCE_WR(ctx, 0x2F710/4, 0x1); - INSTANCE_WR(ctx, 0x2F730/4, 0x1); - INSTANCE_WR(ctx, 0x2F750/4, 0x1); - INSTANCE_WR(ctx, 0x2F770/4, 0x1); - INSTANCE_WR(ctx, 0x2F790/4, 0x1); - INSTANCE_WR(ctx, 0x2F7B0/4, 0x1); - INSTANCE_WR(ctx, 0x2F7D0/4, 0x1); - INSTANCE_WR(ctx, 0x2F7F0/4, 0x11); - INSTANCE_WR(ctx, 0x2F8F0/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x2F910/4, 0xF); - INSTANCE_WR(ctx, 0x2FA10/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x2FA70/4, 0x11); - INSTANCE_WR(ctx, 0x2FA90/4, 0x1); - INSTANCE_WR(ctx, 0x2FB10/4, 0x4); - INSTANCE_WR(ctx, 0x2FBD0/4, 0x1); - INSTANCE_WR(ctx, 0x2FC70/4, 0x11); - INSTANCE_WR(ctx, 0x2FD70/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x2FDF0/4, 0x11); - INSTANCE_WR(ctx, 0x2FE10/4, 0x1); - INSTANCE_WR(ctx, 0x2FE50/4, 0x1); - INSTANCE_WR(ctx, 0x2FE90/4, 0x1); - INSTANCE_WR(ctx, 0x2FED0/4, 0x7FF); - INSTANCE_WR(ctx, 0x2FF10/4, 0x1); - INSTANCE_WR(ctx, 0x2FF50/4, 0x1); - INSTANCE_WR(ctx, 0x304B0/4, 0x8); - INSTANCE_WR(ctx, 0x304D0/4, 0x8); - INSTANCE_WR(ctx, 0x304F0/4, 0x8); - INSTANCE_WR(ctx, 0x30510/4, 0x8); - INSTANCE_WR(ctx, 0x30530/4, 0x8); - INSTANCE_WR(ctx, 0x30550/4, 0x8); - INSTANCE_WR(ctx, 0x30570/4, 0x8); - INSTANCE_WR(ctx, 0x30590/4, 0x8); - INSTANCE_WR(ctx, 0x305B0/4, 0x11); - INSTANCE_WR(ctx, 0x306B0/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x306D0/4, 0x400); - INSTANCE_WR(ctx, 0x306F0/4, 0x400); - INSTANCE_WR(ctx, 0x30710/4, 0x400); - INSTANCE_WR(ctx, 0x30730/4, 0x400); - INSTANCE_WR(ctx, 0x30750/4, 0x400); - INSTANCE_WR(ctx, 0x30770/4, 0x400); - INSTANCE_WR(ctx, 0x30790/4, 0x400); - INSTANCE_WR(ctx, 0x307B0/4, 0x400); - INSTANCE_WR(ctx, 0x307D0/4, 0x300); - INSTANCE_WR(ctx, 0x307F0/4, 0x300); - INSTANCE_WR(ctx, 0x30810/4, 0x300); - INSTANCE_WR(ctx, 0x30830/4, 0x300); - INSTANCE_WR(ctx, 0x30850/4, 0x300); - INSTANCE_WR(ctx, 0x30870/4, 0x300); - INSTANCE_WR(ctx, 0x30890/4, 0x300); - INSTANCE_WR(ctx, 0x308B0/4, 0x300); - INSTANCE_WR(ctx, 0x308D0/4, 0x1); - INSTANCE_WR(ctx, 0x308F0/4, 0xF); - INSTANCE_WR(ctx, 0x309F0/4, 0x20); - INSTANCE_WR(ctx, 0x30A10/4, 0x11); - INSTANCE_WR(ctx, 0x30A30/4, 0x100); - INSTANCE_WR(ctx, 0x30A70/4, 0x1); - INSTANCE_WR(ctx, 0x30AD0/4, 0x40); - INSTANCE_WR(ctx, 0x30AF0/4, 0x100); - INSTANCE_WR(ctx, 0x30B30/4, 0x3); - INSTANCE_WR(ctx, 0x30BD0/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x30C50/4, 0x2); - INSTANCE_WR(ctx, 0x30C70/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x30DB0/4, 0x1); - INSTANCE_WR(ctx, 0x30E50/4, 0x4); - INSTANCE_WR(ctx, 0x30E90/4, 0x1); - INSTANCE_WR(ctx, 0x30EB0/4, 0x400); - INSTANCE_WR(ctx, 0x30ED0/4, 0x300); - INSTANCE_WR(ctx, 0x30EF0/4, 0x1001); - INSTANCE_WR(ctx, 0x30F70/4, 0x11); - INSTANCE_WR(ctx, 0x31070/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x31090/4, 0xF); - INSTANCE_WR(ctx, 0x31390/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x31410/4, 0x11); - INSTANCE_WR(ctx, 0x31470/4, 0x4); - INSTANCE_WR(ctx, 0x314B0/4, 0x1); - INSTANCE_WR(ctx, 0x314D0/4, 0x1); - INSTANCE_WR(ctx, 0x31550/4, 0x1); - INSTANCE_WR(ctx, 0x315F0/4, 0x1); - INSTANCE_WR(ctx, 0x31630/4, 0x1); - INSTANCE_WR(ctx, 0x316B0/4, 0x2A712488); - INSTANCE_WR(ctx, 0x316F0/4, 0x4085C000); - INSTANCE_WR(ctx, 0x31710/4, 0x40); - INSTANCE_WR(ctx, 0x31730/4, 0x100); - INSTANCE_WR(ctx, 0x31750/4, 0x10100); - INSTANCE_WR(ctx, 0x31770/4, 0x2800000); - INSTANCE_WR(ctx, 0x319D0/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x319F0/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x31A10/4, 0x1); - INSTANCE_WR(ctx, 0x31A50/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x31A70/4, 0x1); - INSTANCE_WR(ctx, 0x31AD0/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x31BF0/4, 0x1); - INSTANCE_WR(ctx, 0x31C30/4, 0x1); - INSTANCE_WR(ctx, 0x31C50/4, 0x30201000); - INSTANCE_WR(ctx, 0x31C70/4, 0x70605040); - INSTANCE_WR(ctx, 0x31C90/4, 0xB8A89888); - INSTANCE_WR(ctx, 0x31CB0/4, 0xF8E8D8C8); - INSTANCE_WR(ctx, 0x31CF0/4, 0x1A); - INSTANCE_WR(ctx, 0x1534/4, 0x4); - INSTANCE_WR(ctx, 0x17F4/4, 0x4); - INSTANCE_WR(ctx, 0x1814/4, 0x4); - INSTANCE_WR(ctx, 0x1834/4, 0x608080); - INSTANCE_WR(ctx, 0x18D4/4, 0x4); - INSTANCE_WR(ctx, 0x1934/4, 0x4); - INSTANCE_WR(ctx, 0x1954/4, 0x4); - INSTANCE_WR(ctx, 0x1974/4, 0x80); - INSTANCE_WR(ctx, 0x1994/4, 0x4); - INSTANCE_WR(ctx, 0x1E34/4, 0x4); - INSTANCE_WR(ctx, 0x1E54/4, 0x80); - INSTANCE_WR(ctx, 0x1E74/4, 0x4); - INSTANCE_WR(ctx, 0x1E94/4, 0x3020100); - INSTANCE_WR(ctx, 0x1EB4/4, 0x3); - INSTANCE_WR(ctx, 0x1ED4/4, 0x4); - INSTANCE_WR(ctx, 0x1F74/4, 0x4); - INSTANCE_WR(ctx, 0x1F94/4, 0x3); - INSTANCE_WR(ctx, 0x2014/4, 0x4); - INSTANCE_WR(ctx, 0x164B4/4, 0x4); - INSTANCE_WR(ctx, 0x164D4/4, 0x3); - INSTANCE_WR(ctx, 0x16714/4, 0xF); - INSTANCE_WR(ctx, 0x16894/4, 0x4); - INSTANCE_WR(ctx, 0x168B4/4, 0xFFFF); - INSTANCE_WR(ctx, 0x168D4/4, 0xFFFF); - INSTANCE_WR(ctx, 0x168F4/4, 0xFFFF); - INSTANCE_WR(ctx, 0x16914/4, 0xFFFF); - INSTANCE_WR(ctx, 0x16A34/4, 0x1); - INSTANCE_WR(ctx, 0x16AB4/4, 0x1); - INSTANCE_WR(ctx, 0x16B74/4, 0x1); - INSTANCE_WR(ctx, 0x16D14/4, 0x1); - INSTANCE_WR(ctx, 0x16D34/4, 0x1); - INSTANCE_WR(ctx, 0x16D54/4, 0x2); - INSTANCE_WR(ctx, 0x16D74/4, 0x1); - INSTANCE_WR(ctx, 0x16D94/4, 0x1); - INSTANCE_WR(ctx, 0x16DB4/4, 0x2); - INSTANCE_WR(ctx, 0x16DD4/4, 0x1); - INSTANCE_WR(ctx, 0x16E14/4, 0x11); - INSTANCE_WR(ctx, 0x16F14/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x16F74/4, 0x4); - INSTANCE_WR(ctx, 0x16FF4/4, 0x11); - INSTANCE_WR(ctx, 0x17014/4, 0x1); - INSTANCE_WR(ctx, 0x17054/4, 0xCF); - INSTANCE_WR(ctx, 0x17074/4, 0xCF); - INSTANCE_WR(ctx, 0x17094/4, 0xCF); - INSTANCE_WR(ctx, 0x171F4/4, 0x1); - INSTANCE_WR(ctx, 0x17214/4, 0x1); - INSTANCE_WR(ctx, 0x17234/4, 0x2); - INSTANCE_WR(ctx, 0x17254/4, 0x1); - INSTANCE_WR(ctx, 0x17274/4, 0x1); - INSTANCE_WR(ctx, 0x17294/4, 0x2); - INSTANCE_WR(ctx, 0x172B4/4, 0x1); - INSTANCE_WR(ctx, 0x172F4/4, 0x1); - INSTANCE_WR(ctx, 0x17314/4, 0x1); - INSTANCE_WR(ctx, 0x17334/4, 0x1); - INSTANCE_WR(ctx, 0x17354/4, 0x1); - INSTANCE_WR(ctx, 0x17374/4, 0x1); - INSTANCE_WR(ctx, 0x17394/4, 0x1); - INSTANCE_WR(ctx, 0x173B4/4, 0x1); - INSTANCE_WR(ctx, 0x173D4/4, 0x1); - INSTANCE_WR(ctx, 0x173F4/4, 0x11); - INSTANCE_WR(ctx, 0x174F4/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x17514/4, 0xF); - INSTANCE_WR(ctx, 0x17614/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x17674/4, 0x11); - INSTANCE_WR(ctx, 0x17694/4, 0x1); - INSTANCE_WR(ctx, 0x17714/4, 0x4); - INSTANCE_WR(ctx, 0x177D4/4, 0x1); - INSTANCE_WR(ctx, 0x17874/4, 0x11); - INSTANCE_WR(ctx, 0x17974/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x179F4/4, 0x11); - INSTANCE_WR(ctx, 0x17A14/4, 0x1); - INSTANCE_WR(ctx, 0x17A54/4, 0x1); - INSTANCE_WR(ctx, 0x17A94/4, 0x1); - INSTANCE_WR(ctx, 0x17AD4/4, 0x7FF); - INSTANCE_WR(ctx, 0x17B14/4, 0x1); - INSTANCE_WR(ctx, 0x17B54/4, 0x1); - INSTANCE_WR(ctx, 0x180B4/4, 0x8); - INSTANCE_WR(ctx, 0x180D4/4, 0x8); - INSTANCE_WR(ctx, 0x180F4/4, 0x8); - INSTANCE_WR(ctx, 0x18114/4, 0x8); - INSTANCE_WR(ctx, 0x18134/4, 0x8); - INSTANCE_WR(ctx, 0x18154/4, 0x8); - INSTANCE_WR(ctx, 0x18174/4, 0x8); - INSTANCE_WR(ctx, 0x18194/4, 0x8); - INSTANCE_WR(ctx, 0x181B4/4, 0x11); - INSTANCE_WR(ctx, 0x182B4/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x182D4/4, 0x400); - INSTANCE_WR(ctx, 0x182F4/4, 0x400); - INSTANCE_WR(ctx, 0x18314/4, 0x400); - INSTANCE_WR(ctx, 0x18334/4, 0x400); - INSTANCE_WR(ctx, 0x18354/4, 0x400); - INSTANCE_WR(ctx, 0x18374/4, 0x400); - INSTANCE_WR(ctx, 0x18394/4, 0x400); - INSTANCE_WR(ctx, 0x183B4/4, 0x400); - INSTANCE_WR(ctx, 0x183D4/4, 0x300); - INSTANCE_WR(ctx, 0x183F4/4, 0x300); - INSTANCE_WR(ctx, 0x18414/4, 0x300); - INSTANCE_WR(ctx, 0x18434/4, 0x300); - INSTANCE_WR(ctx, 0x18454/4, 0x300); - INSTANCE_WR(ctx, 0x18474/4, 0x300); - INSTANCE_WR(ctx, 0x18494/4, 0x300); - INSTANCE_WR(ctx, 0x184B4/4, 0x300); - INSTANCE_WR(ctx, 0x184D4/4, 0x1); - INSTANCE_WR(ctx, 0x184F4/4, 0xF); - INSTANCE_WR(ctx, 0x185F4/4, 0x20); - INSTANCE_WR(ctx, 0x18614/4, 0x11); - INSTANCE_WR(ctx, 0x18634/4, 0x100); - INSTANCE_WR(ctx, 0x18674/4, 0x1); - INSTANCE_WR(ctx, 0x186D4/4, 0x40); - INSTANCE_WR(ctx, 0x186F4/4, 0x100); - INSTANCE_WR(ctx, 0x18734/4, 0x3); - INSTANCE_WR(ctx, 0x187D4/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x18854/4, 0x2); - INSTANCE_WR(ctx, 0x18874/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x189B4/4, 0x1); - INSTANCE_WR(ctx, 0x18A54/4, 0x4); - INSTANCE_WR(ctx, 0x18A94/4, 0x1); - INSTANCE_WR(ctx, 0x18AB4/4, 0x400); - INSTANCE_WR(ctx, 0x18AD4/4, 0x300); - INSTANCE_WR(ctx, 0x18AF4/4, 0x1001); - INSTANCE_WR(ctx, 0x18B74/4, 0x11); - INSTANCE_WR(ctx, 0x18C74/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x18C94/4, 0xF); - INSTANCE_WR(ctx, 0x18F94/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x19014/4, 0x11); - INSTANCE_WR(ctx, 0x19074/4, 0x4); - INSTANCE_WR(ctx, 0x190B4/4, 0x1); - INSTANCE_WR(ctx, 0x190D4/4, 0x1); - INSTANCE_WR(ctx, 0x19154/4, 0x1); - INSTANCE_WR(ctx, 0x191F4/4, 0x1); - INSTANCE_WR(ctx, 0x19234/4, 0x1); - INSTANCE_WR(ctx, 0x192B4/4, 0x2A712488); - INSTANCE_WR(ctx, 0x192F4/4, 0x4085C000); - INSTANCE_WR(ctx, 0x19314/4, 0x40); - INSTANCE_WR(ctx, 0x19334/4, 0x100); - INSTANCE_WR(ctx, 0x19354/4, 0x10100); - INSTANCE_WR(ctx, 0x19374/4, 0x2800000); - INSTANCE_WR(ctx, 0x195D4/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x195F4/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x19614/4, 0x1); - INSTANCE_WR(ctx, 0x19654/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x19674/4, 0x1); - INSTANCE_WR(ctx, 0x196D4/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x197F4/4, 0x1); - INSTANCE_WR(ctx, 0x19834/4, 0x1); - INSTANCE_WR(ctx, 0x19854/4, 0x30201000); - INSTANCE_WR(ctx, 0x19874/4, 0x70605040); - INSTANCE_WR(ctx, 0x19894/4, 0xB8A89888); - INSTANCE_WR(ctx, 0x198B4/4, 0xF8E8D8C8); - INSTANCE_WR(ctx, 0x198F4/4, 0x1A); - INSTANCE_WR(ctx, 0x19934/4, 0x4); - INSTANCE_WR(ctx, 0x19BF4/4, 0x4); - INSTANCE_WR(ctx, 0x19C14/4, 0x4); - INSTANCE_WR(ctx, 0x19C34/4, 0x608080); - INSTANCE_WR(ctx, 0x19CD4/4, 0x4); - INSTANCE_WR(ctx, 0x19D34/4, 0x4); - INSTANCE_WR(ctx, 0x19D54/4, 0x4); - INSTANCE_WR(ctx, 0x19D74/4, 0x80); - INSTANCE_WR(ctx, 0x19D94/4, 0x4); - INSTANCE_WR(ctx, 0x1A234/4, 0x4); - INSTANCE_WR(ctx, 0x1A254/4, 0x80); - INSTANCE_WR(ctx, 0x1A274/4, 0x4); - INSTANCE_WR(ctx, 0x1A294/4, 0x3020100); - INSTANCE_WR(ctx, 0x1A2B4/4, 0x3); - INSTANCE_WR(ctx, 0x1A2D4/4, 0x4); - INSTANCE_WR(ctx, 0x1A374/4, 0x4); - INSTANCE_WR(ctx, 0x1A394/4, 0x3); - INSTANCE_WR(ctx, 0x1A414/4, 0x4); - INSTANCE_WR(ctx, 0x2E8B4/4, 0x4); - INSTANCE_WR(ctx, 0x2E8D4/4, 0x3); - INSTANCE_WR(ctx, 0x2EB14/4, 0xF); - INSTANCE_WR(ctx, 0x2EC94/4, 0x4); - INSTANCE_WR(ctx, 0x2ECB4/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2ECD4/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2ECF4/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2ED14/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2EE34/4, 0x1); - INSTANCE_WR(ctx, 0x2EEB4/4, 0x1); - INSTANCE_WR(ctx, 0x2EF74/4, 0x1); - INSTANCE_WR(ctx, 0x2F114/4, 0x1); - INSTANCE_WR(ctx, 0x2F134/4, 0x1); - INSTANCE_WR(ctx, 0x2F154/4, 0x2); - INSTANCE_WR(ctx, 0x2F174/4, 0x1); - INSTANCE_WR(ctx, 0x2F194/4, 0x1); - INSTANCE_WR(ctx, 0x2F1B4/4, 0x2); - INSTANCE_WR(ctx, 0x2F1D4/4, 0x1); - INSTANCE_WR(ctx, 0x2F214/4, 0x11); - INSTANCE_WR(ctx, 0x2F314/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x2F374/4, 0x4); - INSTANCE_WR(ctx, 0x2F3F4/4, 0x11); - INSTANCE_WR(ctx, 0x2F414/4, 0x1); - INSTANCE_WR(ctx, 0x2F454/4, 0xCF); - INSTANCE_WR(ctx, 0x2F474/4, 0xCF); - INSTANCE_WR(ctx, 0x2F494/4, 0xCF); - INSTANCE_WR(ctx, 0x2F5F4/4, 0x1); - INSTANCE_WR(ctx, 0x2F614/4, 0x1); - INSTANCE_WR(ctx, 0x2F634/4, 0x2); - INSTANCE_WR(ctx, 0x2F654/4, 0x1); - INSTANCE_WR(ctx, 0x2F674/4, 0x1); - INSTANCE_WR(ctx, 0x2F694/4, 0x2); - INSTANCE_WR(ctx, 0x2F6B4/4, 0x1); - INSTANCE_WR(ctx, 0x2F6F4/4, 0x1); - INSTANCE_WR(ctx, 0x2F714/4, 0x1); - INSTANCE_WR(ctx, 0x2F734/4, 0x1); - INSTANCE_WR(ctx, 0x2F754/4, 0x1); - INSTANCE_WR(ctx, 0x2F774/4, 0x1); - INSTANCE_WR(ctx, 0x2F794/4, 0x1); - INSTANCE_WR(ctx, 0x2F7B4/4, 0x1); - INSTANCE_WR(ctx, 0x2F7D4/4, 0x1); - INSTANCE_WR(ctx, 0x2F7F4/4, 0x11); - INSTANCE_WR(ctx, 0x2F8F4/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x2F914/4, 0xF); - INSTANCE_WR(ctx, 0x2FA14/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x2FA74/4, 0x11); - INSTANCE_WR(ctx, 0x2FA94/4, 0x1); - INSTANCE_WR(ctx, 0x2FB14/4, 0x4); - INSTANCE_WR(ctx, 0x2FBD4/4, 0x1); - INSTANCE_WR(ctx, 0x2FC74/4, 0x11); - INSTANCE_WR(ctx, 0x2FD74/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x2FDF4/4, 0x11); - INSTANCE_WR(ctx, 0x2FE14/4, 0x1); - INSTANCE_WR(ctx, 0x2FE54/4, 0x1); - INSTANCE_WR(ctx, 0x2FE94/4, 0x1); - INSTANCE_WR(ctx, 0x2FED4/4, 0x7FF); - INSTANCE_WR(ctx, 0x2FF14/4, 0x1); - INSTANCE_WR(ctx, 0x2FF54/4, 0x1); - INSTANCE_WR(ctx, 0x304B4/4, 0x8); - INSTANCE_WR(ctx, 0x304D4/4, 0x8); - INSTANCE_WR(ctx, 0x304F4/4, 0x8); - INSTANCE_WR(ctx, 0x30514/4, 0x8); - INSTANCE_WR(ctx, 0x30534/4, 0x8); - INSTANCE_WR(ctx, 0x30554/4, 0x8); - INSTANCE_WR(ctx, 0x30574/4, 0x8); - INSTANCE_WR(ctx, 0x30594/4, 0x8); - INSTANCE_WR(ctx, 0x305B4/4, 0x11); - INSTANCE_WR(ctx, 0x306B4/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x306D4/4, 0x400); - INSTANCE_WR(ctx, 0x306F4/4, 0x400); - INSTANCE_WR(ctx, 0x30714/4, 0x400); - INSTANCE_WR(ctx, 0x30734/4, 0x400); - INSTANCE_WR(ctx, 0x30754/4, 0x400); - INSTANCE_WR(ctx, 0x30774/4, 0x400); - INSTANCE_WR(ctx, 0x30794/4, 0x400); - INSTANCE_WR(ctx, 0x307B4/4, 0x400); - INSTANCE_WR(ctx, 0x307D4/4, 0x300); - INSTANCE_WR(ctx, 0x307F4/4, 0x300); - INSTANCE_WR(ctx, 0x30814/4, 0x300); - INSTANCE_WR(ctx, 0x30834/4, 0x300); - INSTANCE_WR(ctx, 0x30854/4, 0x300); - INSTANCE_WR(ctx, 0x30874/4, 0x300); - INSTANCE_WR(ctx, 0x30894/4, 0x300); - INSTANCE_WR(ctx, 0x308B4/4, 0x300); - INSTANCE_WR(ctx, 0x308D4/4, 0x1); - INSTANCE_WR(ctx, 0x308F4/4, 0xF); - INSTANCE_WR(ctx, 0x309F4/4, 0x20); - INSTANCE_WR(ctx, 0x30A14/4, 0x11); - INSTANCE_WR(ctx, 0x30A34/4, 0x100); - INSTANCE_WR(ctx, 0x30A74/4, 0x1); - INSTANCE_WR(ctx, 0x30AD4/4, 0x40); - INSTANCE_WR(ctx, 0x30AF4/4, 0x100); - INSTANCE_WR(ctx, 0x30B34/4, 0x3); - INSTANCE_WR(ctx, 0x30BD4/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x30C54/4, 0x2); - INSTANCE_WR(ctx, 0x30C74/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x30DB4/4, 0x1); - INSTANCE_WR(ctx, 0x30E54/4, 0x4); - INSTANCE_WR(ctx, 0x30E94/4, 0x1); - INSTANCE_WR(ctx, 0x30EB4/4, 0x400); - INSTANCE_WR(ctx, 0x30ED4/4, 0x300); - INSTANCE_WR(ctx, 0x30EF4/4, 0x1001); - INSTANCE_WR(ctx, 0x30F74/4, 0x11); - INSTANCE_WR(ctx, 0x31074/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x31094/4, 0xF); - INSTANCE_WR(ctx, 0x31394/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x31414/4, 0x11); - INSTANCE_WR(ctx, 0x31474/4, 0x4); - INSTANCE_WR(ctx, 0x314B4/4, 0x1); - INSTANCE_WR(ctx, 0x314D4/4, 0x1); - INSTANCE_WR(ctx, 0x31554/4, 0x1); - INSTANCE_WR(ctx, 0x315F4/4, 0x1); - INSTANCE_WR(ctx, 0x31634/4, 0x1); - INSTANCE_WR(ctx, 0x316B4/4, 0x2A712488); - INSTANCE_WR(ctx, 0x316F4/4, 0x4085C000); - INSTANCE_WR(ctx, 0x31714/4, 0x40); - INSTANCE_WR(ctx, 0x31734/4, 0x100); - INSTANCE_WR(ctx, 0x31754/4, 0x10100); - INSTANCE_WR(ctx, 0x31774/4, 0x2800000); - INSTANCE_WR(ctx, 0x319D4/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x319F4/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x31A14/4, 0x1); - INSTANCE_WR(ctx, 0x31A54/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x31A74/4, 0x1); - INSTANCE_WR(ctx, 0x31AD4/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x31BF4/4, 0x1); - INSTANCE_WR(ctx, 0x31C34/4, 0x1); - INSTANCE_WR(ctx, 0x31C54/4, 0x30201000); - INSTANCE_WR(ctx, 0x31C74/4, 0x70605040); - INSTANCE_WR(ctx, 0x31C94/4, 0xB8A89888); - INSTANCE_WR(ctx, 0x31CB4/4, 0xF8E8D8C8); - INSTANCE_WR(ctx, 0x31CF4/4, 0x1A); - INSTANCE_WR(ctx, 0x1538/4, 0x4); - INSTANCE_WR(ctx, 0x17F8/4, 0x4); - INSTANCE_WR(ctx, 0x1818/4, 0x4); - INSTANCE_WR(ctx, 0x1838/4, 0x608080); - INSTANCE_WR(ctx, 0x18D8/4, 0x4); - INSTANCE_WR(ctx, 0x1938/4, 0x4); - INSTANCE_WR(ctx, 0x1958/4, 0x4); - INSTANCE_WR(ctx, 0x1978/4, 0x80); - INSTANCE_WR(ctx, 0x1998/4, 0x4); - INSTANCE_WR(ctx, 0x1E38/4, 0x4); - INSTANCE_WR(ctx, 0x1E58/4, 0x80); - INSTANCE_WR(ctx, 0x1E78/4, 0x4); - INSTANCE_WR(ctx, 0x1E98/4, 0x3020100); - INSTANCE_WR(ctx, 0x1EB8/4, 0x3); - INSTANCE_WR(ctx, 0x1ED8/4, 0x4); - INSTANCE_WR(ctx, 0x1F78/4, 0x4); - INSTANCE_WR(ctx, 0x1F98/4, 0x3); - INSTANCE_WR(ctx, 0x2018/4, 0x4); - INSTANCE_WR(ctx, 0x164B8/4, 0x4); - INSTANCE_WR(ctx, 0x164D8/4, 0x3); - INSTANCE_WR(ctx, 0x16718/4, 0xF); - INSTANCE_WR(ctx, 0x16898/4, 0x4); - INSTANCE_WR(ctx, 0x168B8/4, 0xFFFF); - INSTANCE_WR(ctx, 0x168D8/4, 0xFFFF); - INSTANCE_WR(ctx, 0x168F8/4, 0xFFFF); - INSTANCE_WR(ctx, 0x16918/4, 0xFFFF); - INSTANCE_WR(ctx, 0x16A38/4, 0x1); - INSTANCE_WR(ctx, 0x16AB8/4, 0x1); - INSTANCE_WR(ctx, 0x16B78/4, 0x1); - INSTANCE_WR(ctx, 0x16D18/4, 0x1); - INSTANCE_WR(ctx, 0x16D38/4, 0x1); - INSTANCE_WR(ctx, 0x16D58/4, 0x2); - INSTANCE_WR(ctx, 0x16D78/4, 0x1); - INSTANCE_WR(ctx, 0x16D98/4, 0x1); - INSTANCE_WR(ctx, 0x16DB8/4, 0x2); - INSTANCE_WR(ctx, 0x16DD8/4, 0x1); - INSTANCE_WR(ctx, 0x16E18/4, 0x11); - INSTANCE_WR(ctx, 0x16F18/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x16F78/4, 0x4); - INSTANCE_WR(ctx, 0x16FF8/4, 0x11); - INSTANCE_WR(ctx, 0x17018/4, 0x1); - INSTANCE_WR(ctx, 0x17058/4, 0xCF); - INSTANCE_WR(ctx, 0x17078/4, 0xCF); - INSTANCE_WR(ctx, 0x17098/4, 0xCF); - INSTANCE_WR(ctx, 0x171F8/4, 0x1); - INSTANCE_WR(ctx, 0x17218/4, 0x1); - INSTANCE_WR(ctx, 0x17238/4, 0x2); - INSTANCE_WR(ctx, 0x17258/4, 0x1); - INSTANCE_WR(ctx, 0x17278/4, 0x1); - INSTANCE_WR(ctx, 0x17298/4, 0x2); - INSTANCE_WR(ctx, 0x172B8/4, 0x1); - INSTANCE_WR(ctx, 0x172F8/4, 0x1); - INSTANCE_WR(ctx, 0x17318/4, 0x1); - INSTANCE_WR(ctx, 0x17338/4, 0x1); - INSTANCE_WR(ctx, 0x17358/4, 0x1); - INSTANCE_WR(ctx, 0x17378/4, 0x1); - INSTANCE_WR(ctx, 0x17398/4, 0x1); - INSTANCE_WR(ctx, 0x173B8/4, 0x1); - INSTANCE_WR(ctx, 0x173D8/4, 0x1); - INSTANCE_WR(ctx, 0x173F8/4, 0x11); - INSTANCE_WR(ctx, 0x174F8/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x17518/4, 0xF); - INSTANCE_WR(ctx, 0x17618/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x17678/4, 0x11); - INSTANCE_WR(ctx, 0x17698/4, 0x1); - INSTANCE_WR(ctx, 0x17718/4, 0x4); - INSTANCE_WR(ctx, 0x177D8/4, 0x1); - INSTANCE_WR(ctx, 0x17878/4, 0x11); - INSTANCE_WR(ctx, 0x17978/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x179F8/4, 0x11); - INSTANCE_WR(ctx, 0x17A18/4, 0x1); - INSTANCE_WR(ctx, 0x17A58/4, 0x1); - INSTANCE_WR(ctx, 0x17A98/4, 0x1); - INSTANCE_WR(ctx, 0x17AD8/4, 0x7FF); - INSTANCE_WR(ctx, 0x17B18/4, 0x1); - INSTANCE_WR(ctx, 0x17B58/4, 0x1); - INSTANCE_WR(ctx, 0x180B8/4, 0x8); - INSTANCE_WR(ctx, 0x180D8/4, 0x8); - INSTANCE_WR(ctx, 0x180F8/4, 0x8); - INSTANCE_WR(ctx, 0x18118/4, 0x8); - INSTANCE_WR(ctx, 0x18138/4, 0x8); - INSTANCE_WR(ctx, 0x18158/4, 0x8); - INSTANCE_WR(ctx, 0x18178/4, 0x8); - INSTANCE_WR(ctx, 0x18198/4, 0x8); - INSTANCE_WR(ctx, 0x181B8/4, 0x11); - INSTANCE_WR(ctx, 0x182B8/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x182D8/4, 0x400); - INSTANCE_WR(ctx, 0x182F8/4, 0x400); - INSTANCE_WR(ctx, 0x18318/4, 0x400); - INSTANCE_WR(ctx, 0x18338/4, 0x400); - INSTANCE_WR(ctx, 0x18358/4, 0x400); - INSTANCE_WR(ctx, 0x18378/4, 0x400); - INSTANCE_WR(ctx, 0x18398/4, 0x400); - INSTANCE_WR(ctx, 0x183B8/4, 0x400); - INSTANCE_WR(ctx, 0x183D8/4, 0x300); - INSTANCE_WR(ctx, 0x183F8/4, 0x300); - INSTANCE_WR(ctx, 0x18418/4, 0x300); - INSTANCE_WR(ctx, 0x18438/4, 0x300); - INSTANCE_WR(ctx, 0x18458/4, 0x300); - INSTANCE_WR(ctx, 0x18478/4, 0x300); - INSTANCE_WR(ctx, 0x18498/4, 0x300); - INSTANCE_WR(ctx, 0x184B8/4, 0x300); - INSTANCE_WR(ctx, 0x184D8/4, 0x1); - INSTANCE_WR(ctx, 0x184F8/4, 0xF); - INSTANCE_WR(ctx, 0x185F8/4, 0x20); - INSTANCE_WR(ctx, 0x18618/4, 0x11); - INSTANCE_WR(ctx, 0x18638/4, 0x100); - INSTANCE_WR(ctx, 0x18678/4, 0x1); - INSTANCE_WR(ctx, 0x186D8/4, 0x40); - INSTANCE_WR(ctx, 0x186F8/4, 0x100); - INSTANCE_WR(ctx, 0x18738/4, 0x3); - INSTANCE_WR(ctx, 0x187D8/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x18858/4, 0x2); - INSTANCE_WR(ctx, 0x18878/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x189B8/4, 0x1); - INSTANCE_WR(ctx, 0x18A58/4, 0x4); - INSTANCE_WR(ctx, 0x18A98/4, 0x1); - INSTANCE_WR(ctx, 0x18AB8/4, 0x400); - INSTANCE_WR(ctx, 0x18AD8/4, 0x300); - INSTANCE_WR(ctx, 0x18AF8/4, 0x1001); - INSTANCE_WR(ctx, 0x18B78/4, 0x11); - INSTANCE_WR(ctx, 0x18C78/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x18C98/4, 0xF); - INSTANCE_WR(ctx, 0x18F98/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x19018/4, 0x11); - INSTANCE_WR(ctx, 0x19078/4, 0x4); - INSTANCE_WR(ctx, 0x190B8/4, 0x1); - INSTANCE_WR(ctx, 0x190D8/4, 0x1); - INSTANCE_WR(ctx, 0x19158/4, 0x1); - INSTANCE_WR(ctx, 0x191F8/4, 0x1); - INSTANCE_WR(ctx, 0x19238/4, 0x1); - INSTANCE_WR(ctx, 0x192B8/4, 0x2A712488); - INSTANCE_WR(ctx, 0x192F8/4, 0x4085C000); - INSTANCE_WR(ctx, 0x19318/4, 0x40); - INSTANCE_WR(ctx, 0x19338/4, 0x100); - INSTANCE_WR(ctx, 0x19358/4, 0x10100); - INSTANCE_WR(ctx, 0x19378/4, 0x2800000); - INSTANCE_WR(ctx, 0x195D8/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x195F8/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x19618/4, 0x1); - INSTANCE_WR(ctx, 0x19658/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x19678/4, 0x1); - INSTANCE_WR(ctx, 0x196D8/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x197F8/4, 0x1); - INSTANCE_WR(ctx, 0x19838/4, 0x1); - INSTANCE_WR(ctx, 0x19858/4, 0x30201000); - INSTANCE_WR(ctx, 0x19878/4, 0x70605040); - INSTANCE_WR(ctx, 0x19898/4, 0xB8A89888); - INSTANCE_WR(ctx, 0x198B8/4, 0xF8E8D8C8); - INSTANCE_WR(ctx, 0x198F8/4, 0x1A); - INSTANCE_WR(ctx, 0x19938/4, 0x4); - INSTANCE_WR(ctx, 0x19BF8/4, 0x4); - INSTANCE_WR(ctx, 0x19C18/4, 0x4); - INSTANCE_WR(ctx, 0x19C38/4, 0x608080); - INSTANCE_WR(ctx, 0x19CD8/4, 0x4); - INSTANCE_WR(ctx, 0x19D38/4, 0x4); - INSTANCE_WR(ctx, 0x19D58/4, 0x4); - INSTANCE_WR(ctx, 0x19D78/4, 0x80); - INSTANCE_WR(ctx, 0x19D98/4, 0x4); - INSTANCE_WR(ctx, 0x1A238/4, 0x4); - INSTANCE_WR(ctx, 0x1A258/4, 0x80); - INSTANCE_WR(ctx, 0x1A278/4, 0x4); - INSTANCE_WR(ctx, 0x1A298/4, 0x3020100); - INSTANCE_WR(ctx, 0x1A2B8/4, 0x3); - INSTANCE_WR(ctx, 0x1A2D8/4, 0x4); - INSTANCE_WR(ctx, 0x1A378/4, 0x4); - INSTANCE_WR(ctx, 0x1A398/4, 0x3); - INSTANCE_WR(ctx, 0x1A418/4, 0x4); - INSTANCE_WR(ctx, 0x2E8B8/4, 0x4); - INSTANCE_WR(ctx, 0x2E8D8/4, 0x3); - INSTANCE_WR(ctx, 0x2EB18/4, 0xF); - INSTANCE_WR(ctx, 0x2EC98/4, 0x4); - INSTANCE_WR(ctx, 0x2ECB8/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2ECD8/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2ECF8/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2ED18/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2EE38/4, 0x1); - INSTANCE_WR(ctx, 0x2EEB8/4, 0x1); - INSTANCE_WR(ctx, 0x2EF78/4, 0x1); - INSTANCE_WR(ctx, 0x2F118/4, 0x1); - INSTANCE_WR(ctx, 0x2F138/4, 0x1); - INSTANCE_WR(ctx, 0x2F158/4, 0x2); - INSTANCE_WR(ctx, 0x2F178/4, 0x1); - INSTANCE_WR(ctx, 0x2F198/4, 0x1); - INSTANCE_WR(ctx, 0x2F1B8/4, 0x2); - INSTANCE_WR(ctx, 0x2F1D8/4, 0x1); - INSTANCE_WR(ctx, 0x2F218/4, 0x11); - INSTANCE_WR(ctx, 0x2F318/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x2F378/4, 0x4); - INSTANCE_WR(ctx, 0x2F3F8/4, 0x11); - INSTANCE_WR(ctx, 0x2F418/4, 0x1); - INSTANCE_WR(ctx, 0x2F458/4, 0xCF); - INSTANCE_WR(ctx, 0x2F478/4, 0xCF); - INSTANCE_WR(ctx, 0x2F498/4, 0xCF); - INSTANCE_WR(ctx, 0x2F5F8/4, 0x1); - INSTANCE_WR(ctx, 0x2F618/4, 0x1); - INSTANCE_WR(ctx, 0x2F638/4, 0x2); - INSTANCE_WR(ctx, 0x2F658/4, 0x1); - INSTANCE_WR(ctx, 0x2F678/4, 0x1); - INSTANCE_WR(ctx, 0x2F698/4, 0x2); - INSTANCE_WR(ctx, 0x2F6B8/4, 0x1); - INSTANCE_WR(ctx, 0x2F6F8/4, 0x1); - INSTANCE_WR(ctx, 0x2F718/4, 0x1); - INSTANCE_WR(ctx, 0x2F738/4, 0x1); - INSTANCE_WR(ctx, 0x2F758/4, 0x1); - INSTANCE_WR(ctx, 0x2F778/4, 0x1); - INSTANCE_WR(ctx, 0x2F798/4, 0x1); - INSTANCE_WR(ctx, 0x2F7B8/4, 0x1); - INSTANCE_WR(ctx, 0x2F7D8/4, 0x1); - INSTANCE_WR(ctx, 0x2F7F8/4, 0x11); - INSTANCE_WR(ctx, 0x2F8F8/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x2F918/4, 0xF); - INSTANCE_WR(ctx, 0x2FA18/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x2FA78/4, 0x11); - INSTANCE_WR(ctx, 0x2FA98/4, 0x1); - INSTANCE_WR(ctx, 0x2FB18/4, 0x4); - INSTANCE_WR(ctx, 0x2FBD8/4, 0x1); - INSTANCE_WR(ctx, 0x2FC78/4, 0x11); - INSTANCE_WR(ctx, 0x2FD78/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x2FDF8/4, 0x11); - INSTANCE_WR(ctx, 0x2FE18/4, 0x1); - INSTANCE_WR(ctx, 0x2FE58/4, 0x1); - INSTANCE_WR(ctx, 0x2FE98/4, 0x1); - INSTANCE_WR(ctx, 0x2FED8/4, 0x7FF); - INSTANCE_WR(ctx, 0x2FF18/4, 0x1); - INSTANCE_WR(ctx, 0x2FF58/4, 0x1); - INSTANCE_WR(ctx, 0x304B8/4, 0x8); - INSTANCE_WR(ctx, 0x304D8/4, 0x8); - INSTANCE_WR(ctx, 0x304F8/4, 0x8); - INSTANCE_WR(ctx, 0x30518/4, 0x8); - INSTANCE_WR(ctx, 0x30538/4, 0x8); - INSTANCE_WR(ctx, 0x30558/4, 0x8); - INSTANCE_WR(ctx, 0x30578/4, 0x8); - INSTANCE_WR(ctx, 0x30598/4, 0x8); - INSTANCE_WR(ctx, 0x305B8/4, 0x11); - INSTANCE_WR(ctx, 0x306B8/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x306D8/4, 0x400); - INSTANCE_WR(ctx, 0x306F8/4, 0x400); - INSTANCE_WR(ctx, 0x30718/4, 0x400); - INSTANCE_WR(ctx, 0x30738/4, 0x400); - INSTANCE_WR(ctx, 0x30758/4, 0x400); - INSTANCE_WR(ctx, 0x30778/4, 0x400); - INSTANCE_WR(ctx, 0x30798/4, 0x400); - INSTANCE_WR(ctx, 0x307B8/4, 0x400); - INSTANCE_WR(ctx, 0x307D8/4, 0x300); - INSTANCE_WR(ctx, 0x307F8/4, 0x300); - INSTANCE_WR(ctx, 0x30818/4, 0x300); - INSTANCE_WR(ctx, 0x30838/4, 0x300); - INSTANCE_WR(ctx, 0x30858/4, 0x300); - INSTANCE_WR(ctx, 0x30878/4, 0x300); - INSTANCE_WR(ctx, 0x30898/4, 0x300); - INSTANCE_WR(ctx, 0x308B8/4, 0x300); - INSTANCE_WR(ctx, 0x308D8/4, 0x1); - INSTANCE_WR(ctx, 0x308F8/4, 0xF); - INSTANCE_WR(ctx, 0x309F8/4, 0x20); - INSTANCE_WR(ctx, 0x30A18/4, 0x11); - INSTANCE_WR(ctx, 0x30A38/4, 0x100); - INSTANCE_WR(ctx, 0x30A78/4, 0x1); - INSTANCE_WR(ctx, 0x30AD8/4, 0x40); - INSTANCE_WR(ctx, 0x30AF8/4, 0x100); - INSTANCE_WR(ctx, 0x30B38/4, 0x3); - INSTANCE_WR(ctx, 0x30BD8/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x30C58/4, 0x2); - INSTANCE_WR(ctx, 0x30C78/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x30DB8/4, 0x1); - INSTANCE_WR(ctx, 0x30E58/4, 0x4); - INSTANCE_WR(ctx, 0x30E98/4, 0x1); - INSTANCE_WR(ctx, 0x30EB8/4, 0x400); - INSTANCE_WR(ctx, 0x30ED8/4, 0x300); - INSTANCE_WR(ctx, 0x30EF8/4, 0x1001); - INSTANCE_WR(ctx, 0x30F78/4, 0x11); - INSTANCE_WR(ctx, 0x31078/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x31098/4, 0xF); - INSTANCE_WR(ctx, 0x31398/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x31418/4, 0x11); - INSTANCE_WR(ctx, 0x31478/4, 0x4); - INSTANCE_WR(ctx, 0x314B8/4, 0x1); - INSTANCE_WR(ctx, 0x314D8/4, 0x1); - INSTANCE_WR(ctx, 0x31558/4, 0x1); - INSTANCE_WR(ctx, 0x315F8/4, 0x1); - INSTANCE_WR(ctx, 0x31638/4, 0x1); - INSTANCE_WR(ctx, 0x316B8/4, 0x2A712488); - INSTANCE_WR(ctx, 0x316F8/4, 0x4085C000); - INSTANCE_WR(ctx, 0x31718/4, 0x40); - INSTANCE_WR(ctx, 0x31738/4, 0x100); - INSTANCE_WR(ctx, 0x31758/4, 0x10100); - INSTANCE_WR(ctx, 0x31778/4, 0x2800000); - INSTANCE_WR(ctx, 0x319D8/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x319F8/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x31A18/4, 0x1); - INSTANCE_WR(ctx, 0x31A58/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x31A78/4, 0x1); - INSTANCE_WR(ctx, 0x31AD8/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x31BF8/4, 0x1); - INSTANCE_WR(ctx, 0x31C38/4, 0x1); - INSTANCE_WR(ctx, 0x31C58/4, 0x30201000); - INSTANCE_WR(ctx, 0x31C78/4, 0x70605040); - INSTANCE_WR(ctx, 0x31C98/4, 0xB8A89888); - INSTANCE_WR(ctx, 0x31CB8/4, 0xF8E8D8C8); - INSTANCE_WR(ctx, 0x31CF8/4, 0x1A); - INSTANCE_WR(ctx, 0x153C/4, 0x4); - INSTANCE_WR(ctx, 0x17FC/4, 0x4); - INSTANCE_WR(ctx, 0x181C/4, 0x4); - INSTANCE_WR(ctx, 0x183C/4, 0x608080); - INSTANCE_WR(ctx, 0x18DC/4, 0x4); - INSTANCE_WR(ctx, 0x193C/4, 0x4); - INSTANCE_WR(ctx, 0x195C/4, 0x4); - INSTANCE_WR(ctx, 0x197C/4, 0x80); - INSTANCE_WR(ctx, 0x199C/4, 0x4); - INSTANCE_WR(ctx, 0x1E3C/4, 0x4); - INSTANCE_WR(ctx, 0x1E5C/4, 0x80); - INSTANCE_WR(ctx, 0x1E7C/4, 0x4); - INSTANCE_WR(ctx, 0x1E9C/4, 0x3020100); - INSTANCE_WR(ctx, 0x1EBC/4, 0x3); - INSTANCE_WR(ctx, 0x1EDC/4, 0x4); - INSTANCE_WR(ctx, 0x1F7C/4, 0x4); - INSTANCE_WR(ctx, 0x1F9C/4, 0x3); - INSTANCE_WR(ctx, 0x201C/4, 0x4); - INSTANCE_WR(ctx, 0x164BC/4, 0x4); - INSTANCE_WR(ctx, 0x164DC/4, 0x3); - INSTANCE_WR(ctx, 0x1671C/4, 0xF); - INSTANCE_WR(ctx, 0x1689C/4, 0x4); - INSTANCE_WR(ctx, 0x168BC/4, 0xFFFF); - INSTANCE_WR(ctx, 0x168DC/4, 0xFFFF); - INSTANCE_WR(ctx, 0x168FC/4, 0xFFFF); - INSTANCE_WR(ctx, 0x1691C/4, 0xFFFF); - INSTANCE_WR(ctx, 0x16A3C/4, 0x1); - INSTANCE_WR(ctx, 0x16ABC/4, 0x1); - INSTANCE_WR(ctx, 0x16B7C/4, 0x1); - INSTANCE_WR(ctx, 0x16D1C/4, 0x1); - INSTANCE_WR(ctx, 0x16D3C/4, 0x1); - INSTANCE_WR(ctx, 0x16D5C/4, 0x2); - INSTANCE_WR(ctx, 0x16D7C/4, 0x1); - INSTANCE_WR(ctx, 0x16D9C/4, 0x1); - INSTANCE_WR(ctx, 0x16DBC/4, 0x2); - INSTANCE_WR(ctx, 0x16DDC/4, 0x1); - INSTANCE_WR(ctx, 0x16E1C/4, 0x11); - INSTANCE_WR(ctx, 0x16F1C/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x16F7C/4, 0x4); - INSTANCE_WR(ctx, 0x16FFC/4, 0x11); - INSTANCE_WR(ctx, 0x1701C/4, 0x1); - INSTANCE_WR(ctx, 0x1705C/4, 0xCF); - INSTANCE_WR(ctx, 0x1707C/4, 0xCF); - INSTANCE_WR(ctx, 0x1709C/4, 0xCF); - INSTANCE_WR(ctx, 0x171FC/4, 0x1); - INSTANCE_WR(ctx, 0x1721C/4, 0x1); - INSTANCE_WR(ctx, 0x1723C/4, 0x2); - INSTANCE_WR(ctx, 0x1725C/4, 0x1); - INSTANCE_WR(ctx, 0x1727C/4, 0x1); - INSTANCE_WR(ctx, 0x1729C/4, 0x2); - INSTANCE_WR(ctx, 0x172BC/4, 0x1); - INSTANCE_WR(ctx, 0x172FC/4, 0x1); - INSTANCE_WR(ctx, 0x1731C/4, 0x1); - INSTANCE_WR(ctx, 0x1733C/4, 0x1); - INSTANCE_WR(ctx, 0x1735C/4, 0x1); - INSTANCE_WR(ctx, 0x1737C/4, 0x1); - INSTANCE_WR(ctx, 0x1739C/4, 0x1); - INSTANCE_WR(ctx, 0x173BC/4, 0x1); - INSTANCE_WR(ctx, 0x173DC/4, 0x1); - INSTANCE_WR(ctx, 0x173FC/4, 0x11); - INSTANCE_WR(ctx, 0x174FC/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x1751C/4, 0xF); - INSTANCE_WR(ctx, 0x1761C/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x1767C/4, 0x11); - INSTANCE_WR(ctx, 0x1769C/4, 0x1); - INSTANCE_WR(ctx, 0x1771C/4, 0x4); - INSTANCE_WR(ctx, 0x177DC/4, 0x1); - INSTANCE_WR(ctx, 0x1787C/4, 0x11); - INSTANCE_WR(ctx, 0x1797C/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x179FC/4, 0x11); - INSTANCE_WR(ctx, 0x17A1C/4, 0x1); - INSTANCE_WR(ctx, 0x17A5C/4, 0x1); - INSTANCE_WR(ctx, 0x17A9C/4, 0x1); - INSTANCE_WR(ctx, 0x17ADC/4, 0x7FF); - INSTANCE_WR(ctx, 0x17B1C/4, 0x1); - INSTANCE_WR(ctx, 0x17B5C/4, 0x1); - INSTANCE_WR(ctx, 0x180BC/4, 0x8); - INSTANCE_WR(ctx, 0x180DC/4, 0x8); - INSTANCE_WR(ctx, 0x180FC/4, 0x8); - INSTANCE_WR(ctx, 0x1811C/4, 0x8); - INSTANCE_WR(ctx, 0x1813C/4, 0x8); - INSTANCE_WR(ctx, 0x1815C/4, 0x8); - INSTANCE_WR(ctx, 0x1817C/4, 0x8); - INSTANCE_WR(ctx, 0x1819C/4, 0x8); - INSTANCE_WR(ctx, 0x181BC/4, 0x11); - INSTANCE_WR(ctx, 0x182BC/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x182DC/4, 0x400); - INSTANCE_WR(ctx, 0x182FC/4, 0x400); - INSTANCE_WR(ctx, 0x1831C/4, 0x400); - INSTANCE_WR(ctx, 0x1833C/4, 0x400); - INSTANCE_WR(ctx, 0x1835C/4, 0x400); - INSTANCE_WR(ctx, 0x1837C/4, 0x400); - INSTANCE_WR(ctx, 0x1839C/4, 0x400); - INSTANCE_WR(ctx, 0x183BC/4, 0x400); - INSTANCE_WR(ctx, 0x183DC/4, 0x300); - INSTANCE_WR(ctx, 0x183FC/4, 0x300); - INSTANCE_WR(ctx, 0x1841C/4, 0x300); - INSTANCE_WR(ctx, 0x1843C/4, 0x300); - INSTANCE_WR(ctx, 0x1845C/4, 0x300); - INSTANCE_WR(ctx, 0x1847C/4, 0x300); - INSTANCE_WR(ctx, 0x1849C/4, 0x300); - INSTANCE_WR(ctx, 0x184BC/4, 0x300); - INSTANCE_WR(ctx, 0x184DC/4, 0x1); - INSTANCE_WR(ctx, 0x184FC/4, 0xF); - INSTANCE_WR(ctx, 0x185FC/4, 0x20); - INSTANCE_WR(ctx, 0x1861C/4, 0x11); - INSTANCE_WR(ctx, 0x1863C/4, 0x100); - INSTANCE_WR(ctx, 0x1867C/4, 0x1); - INSTANCE_WR(ctx, 0x186DC/4, 0x40); - INSTANCE_WR(ctx, 0x186FC/4, 0x100); - INSTANCE_WR(ctx, 0x1873C/4, 0x3); - INSTANCE_WR(ctx, 0x187DC/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x1885C/4, 0x2); - INSTANCE_WR(ctx, 0x1887C/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x189BC/4, 0x1); - INSTANCE_WR(ctx, 0x18A5C/4, 0x4); - INSTANCE_WR(ctx, 0x18A9C/4, 0x1); - INSTANCE_WR(ctx, 0x18ABC/4, 0x400); - INSTANCE_WR(ctx, 0x18ADC/4, 0x300); - INSTANCE_WR(ctx, 0x18AFC/4, 0x1001); - INSTANCE_WR(ctx, 0x18B7C/4, 0x11); - INSTANCE_WR(ctx, 0x18C7C/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x18C9C/4, 0xF); - INSTANCE_WR(ctx, 0x18F9C/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x1901C/4, 0x11); - INSTANCE_WR(ctx, 0x1907C/4, 0x4); - INSTANCE_WR(ctx, 0x190BC/4, 0x1); - INSTANCE_WR(ctx, 0x190DC/4, 0x1); - INSTANCE_WR(ctx, 0x1915C/4, 0x1); - INSTANCE_WR(ctx, 0x191FC/4, 0x1); - INSTANCE_WR(ctx, 0x1923C/4, 0x1); - INSTANCE_WR(ctx, 0x192BC/4, 0x2A712488); - INSTANCE_WR(ctx, 0x192FC/4, 0x4085C000); - INSTANCE_WR(ctx, 0x1931C/4, 0x40); - INSTANCE_WR(ctx, 0x1933C/4, 0x100); - INSTANCE_WR(ctx, 0x1935C/4, 0x10100); - INSTANCE_WR(ctx, 0x1937C/4, 0x2800000); - INSTANCE_WR(ctx, 0x195DC/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x195FC/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x1961C/4, 0x1); - INSTANCE_WR(ctx, 0x1965C/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x1967C/4, 0x1); - INSTANCE_WR(ctx, 0x196DC/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x197FC/4, 0x1); - INSTANCE_WR(ctx, 0x1983C/4, 0x1); - INSTANCE_WR(ctx, 0x1985C/4, 0x30201000); - INSTANCE_WR(ctx, 0x1987C/4, 0x70605040); - INSTANCE_WR(ctx, 0x1989C/4, 0xB8A89888); - INSTANCE_WR(ctx, 0x198BC/4, 0xF8E8D8C8); - INSTANCE_WR(ctx, 0x198FC/4, 0x1A); - INSTANCE_WR(ctx, 0x1993C/4, 0x4); - INSTANCE_WR(ctx, 0x19BFC/4, 0x4); - INSTANCE_WR(ctx, 0x19C1C/4, 0x4); - INSTANCE_WR(ctx, 0x19C3C/4, 0x608080); - INSTANCE_WR(ctx, 0x19CDC/4, 0x4); - INSTANCE_WR(ctx, 0x19D3C/4, 0x4); - INSTANCE_WR(ctx, 0x19D5C/4, 0x4); - INSTANCE_WR(ctx, 0x19D7C/4, 0x80); - INSTANCE_WR(ctx, 0x19D9C/4, 0x4); - INSTANCE_WR(ctx, 0x1A23C/4, 0x4); - INSTANCE_WR(ctx, 0x1A25C/4, 0x80); - INSTANCE_WR(ctx, 0x1A27C/4, 0x4); - INSTANCE_WR(ctx, 0x1A29C/4, 0x3020100); - INSTANCE_WR(ctx, 0x1A2BC/4, 0x3); - INSTANCE_WR(ctx, 0x1A2DC/4, 0x4); - INSTANCE_WR(ctx, 0x1A37C/4, 0x4); - INSTANCE_WR(ctx, 0x1A39C/4, 0x3); - INSTANCE_WR(ctx, 0x1A41C/4, 0x4); - INSTANCE_WR(ctx, 0x2E8BC/4, 0x4); - INSTANCE_WR(ctx, 0x2E8DC/4, 0x3); - INSTANCE_WR(ctx, 0x2EB1C/4, 0xF); - INSTANCE_WR(ctx, 0x2EC9C/4, 0x4); - INSTANCE_WR(ctx, 0x2ECBC/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2ECDC/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2ECFC/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2ED1C/4, 0xFFFF); - INSTANCE_WR(ctx, 0x2EE3C/4, 0x1); - INSTANCE_WR(ctx, 0x2EEBC/4, 0x1); - INSTANCE_WR(ctx, 0x2EF7C/4, 0x1); - INSTANCE_WR(ctx, 0x2F11C/4, 0x1); - INSTANCE_WR(ctx, 0x2F13C/4, 0x1); - INSTANCE_WR(ctx, 0x2F15C/4, 0x2); - INSTANCE_WR(ctx, 0x2F17C/4, 0x1); - INSTANCE_WR(ctx, 0x2F19C/4, 0x1); - INSTANCE_WR(ctx, 0x2F1BC/4, 0x2); - INSTANCE_WR(ctx, 0x2F1DC/4, 0x1); - INSTANCE_WR(ctx, 0x2F21C/4, 0x11); - INSTANCE_WR(ctx, 0x2F31C/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x2F37C/4, 0x4); - INSTANCE_WR(ctx, 0x2F3FC/4, 0x11); - INSTANCE_WR(ctx, 0x2F41C/4, 0x1); - INSTANCE_WR(ctx, 0x2F45C/4, 0xCF); - INSTANCE_WR(ctx, 0x2F47C/4, 0xCF); - INSTANCE_WR(ctx, 0x2F49C/4, 0xCF); - INSTANCE_WR(ctx, 0x2F5FC/4, 0x1); - INSTANCE_WR(ctx, 0x2F61C/4, 0x1); - INSTANCE_WR(ctx, 0x2F63C/4, 0x2); - INSTANCE_WR(ctx, 0x2F65C/4, 0x1); - INSTANCE_WR(ctx, 0x2F67C/4, 0x1); - INSTANCE_WR(ctx, 0x2F69C/4, 0x2); - INSTANCE_WR(ctx, 0x2F6BC/4, 0x1); - INSTANCE_WR(ctx, 0x2F6FC/4, 0x1); - INSTANCE_WR(ctx, 0x2F71C/4, 0x1); - INSTANCE_WR(ctx, 0x2F73C/4, 0x1); - INSTANCE_WR(ctx, 0x2F75C/4, 0x1); - INSTANCE_WR(ctx, 0x2F77C/4, 0x1); - INSTANCE_WR(ctx, 0x2F79C/4, 0x1); - INSTANCE_WR(ctx, 0x2F7BC/4, 0x1); - INSTANCE_WR(ctx, 0x2F7DC/4, 0x1); - INSTANCE_WR(ctx, 0x2F7FC/4, 0x11); - INSTANCE_WR(ctx, 0x2F8FC/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x2F91C/4, 0xF); - INSTANCE_WR(ctx, 0x2FA1C/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x2FA7C/4, 0x11); - INSTANCE_WR(ctx, 0x2FA9C/4, 0x1); - INSTANCE_WR(ctx, 0x2FB1C/4, 0x4); - INSTANCE_WR(ctx, 0x2FBDC/4, 0x1); - INSTANCE_WR(ctx, 0x2FC7C/4, 0x11); - INSTANCE_WR(ctx, 0x2FD7C/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x2FDFC/4, 0x11); - INSTANCE_WR(ctx, 0x2FE1C/4, 0x1); - INSTANCE_WR(ctx, 0x2FE5C/4, 0x1); - INSTANCE_WR(ctx, 0x2FE9C/4, 0x1); - INSTANCE_WR(ctx, 0x2FEDC/4, 0x7FF); - INSTANCE_WR(ctx, 0x2FF1C/4, 0x1); - INSTANCE_WR(ctx, 0x2FF5C/4, 0x1); - INSTANCE_WR(ctx, 0x304BC/4, 0x8); - INSTANCE_WR(ctx, 0x304DC/4, 0x8); - INSTANCE_WR(ctx, 0x304FC/4, 0x8); - INSTANCE_WR(ctx, 0x3051C/4, 0x8); - INSTANCE_WR(ctx, 0x3053C/4, 0x8); - INSTANCE_WR(ctx, 0x3055C/4, 0x8); - INSTANCE_WR(ctx, 0x3057C/4, 0x8); - INSTANCE_WR(ctx, 0x3059C/4, 0x8); - INSTANCE_WR(ctx, 0x305BC/4, 0x11); - INSTANCE_WR(ctx, 0x306BC/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x306DC/4, 0x400); - INSTANCE_WR(ctx, 0x306FC/4, 0x400); - INSTANCE_WR(ctx, 0x3071C/4, 0x400); - INSTANCE_WR(ctx, 0x3073C/4, 0x400); - INSTANCE_WR(ctx, 0x3075C/4, 0x400); - INSTANCE_WR(ctx, 0x3077C/4, 0x400); - INSTANCE_WR(ctx, 0x3079C/4, 0x400); - INSTANCE_WR(ctx, 0x307BC/4, 0x400); - INSTANCE_WR(ctx, 0x307DC/4, 0x300); - INSTANCE_WR(ctx, 0x307FC/4, 0x300); - INSTANCE_WR(ctx, 0x3081C/4, 0x300); - INSTANCE_WR(ctx, 0x3083C/4, 0x300); - INSTANCE_WR(ctx, 0x3085C/4, 0x300); - INSTANCE_WR(ctx, 0x3087C/4, 0x300); - INSTANCE_WR(ctx, 0x3089C/4, 0x300); - INSTANCE_WR(ctx, 0x308BC/4, 0x300); - INSTANCE_WR(ctx, 0x308DC/4, 0x1); - INSTANCE_WR(ctx, 0x308FC/4, 0xF); - INSTANCE_WR(ctx, 0x309FC/4, 0x20); - INSTANCE_WR(ctx, 0x30A1C/4, 0x11); - INSTANCE_WR(ctx, 0x30A3C/4, 0x100); - INSTANCE_WR(ctx, 0x30A7C/4, 0x1); - INSTANCE_WR(ctx, 0x30ADC/4, 0x40); - INSTANCE_WR(ctx, 0x30AFC/4, 0x100); - INSTANCE_WR(ctx, 0x30B3C/4, 0x3); - INSTANCE_WR(ctx, 0x30BDC/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x30C5C/4, 0x2); - INSTANCE_WR(ctx, 0x30C7C/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x30DBC/4, 0x1); - INSTANCE_WR(ctx, 0x30E5C/4, 0x4); - INSTANCE_WR(ctx, 0x30E9C/4, 0x1); - INSTANCE_WR(ctx, 0x30EBC/4, 0x400); - INSTANCE_WR(ctx, 0x30EDC/4, 0x300); - INSTANCE_WR(ctx, 0x30EFC/4, 0x1001); - INSTANCE_WR(ctx, 0x30F7C/4, 0x11); - INSTANCE_WR(ctx, 0x3107C/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x3109C/4, 0xF); - INSTANCE_WR(ctx, 0x3139C/4, 0x1FFE67); - INSTANCE_WR(ctx, 0x3141C/4, 0x11); - INSTANCE_WR(ctx, 0x3147C/4, 0x4); - INSTANCE_WR(ctx, 0x314BC/4, 0x1); - INSTANCE_WR(ctx, 0x314DC/4, 0x1); - INSTANCE_WR(ctx, 0x3155C/4, 0x1); - INSTANCE_WR(ctx, 0x315FC/4, 0x1); - INSTANCE_WR(ctx, 0x3163C/4, 0x1); - INSTANCE_WR(ctx, 0x316BC/4, 0x2A712488); - INSTANCE_WR(ctx, 0x316FC/4, 0x4085C000); - INSTANCE_WR(ctx, 0x3171C/4, 0x40); - INSTANCE_WR(ctx, 0x3173C/4, 0x100); - INSTANCE_WR(ctx, 0x3175C/4, 0x10100); - INSTANCE_WR(ctx, 0x3177C/4, 0x2800000); - INSTANCE_WR(ctx, 0x319DC/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x319FC/4, 0x4E3BFDF); - INSTANCE_WR(ctx, 0x31A1C/4, 0x1); - INSTANCE_WR(ctx, 0x31A5C/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x31A7C/4, 0x1); - INSTANCE_WR(ctx, 0x31ADC/4, 0xFFFF00); - INSTANCE_WR(ctx, 0x31BFC/4, 0x1); - INSTANCE_WR(ctx, 0x31C3C/4, 0x1); - INSTANCE_WR(ctx, 0x31C5C/4, 0x30201000); - INSTANCE_WR(ctx, 0x31C7C/4, 0x70605040); - INSTANCE_WR(ctx, 0x31C9C/4, 0xB8A89888); - INSTANCE_WR(ctx, 0x31CBC/4, 0xF8E8D8C8); - INSTANCE_WR(ctx, 0x31CFC/4, 0x1A); - INSTANCE_WR(ctx, 0x5D000/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D040/4, 0x80); - INSTANCE_WR(ctx, 0x5D060/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D080/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D0A0/4, 0x1000); - INSTANCE_WR(ctx, 0x5D100/4, 0x1); - INSTANCE_WR(ctx, 0x5D160/4, 0x1); - INSTANCE_WR(ctx, 0x5D1A0/4, 0x4); - INSTANCE_WR(ctx, 0x5D1C0/4, 0x2); - INSTANCE_WR(ctx, 0x5D340/4, 0x80); - INSTANCE_WR(ctx, 0x5D360/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D380/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D3A0/4, 0x1000); - INSTANCE_WR(ctx, 0x5D400/4, 0x1); - INSTANCE_WR(ctx, 0x5D460/4, 0x1); - INSTANCE_WR(ctx, 0x5D4A0/4, 0x4); - INSTANCE_WR(ctx, 0x5D4C0/4, 0x2); - INSTANCE_WR(ctx, 0x5D620/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D700/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D720/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D740/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D760/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D780/4, 0x1); - INSTANCE_WR(ctx, 0x5D7A0/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7C0/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7E0/4, 0x1); - INSTANCE_WR(ctx, 0x5D820/4, 0x1FE21); - INSTANCE_WR(ctx, 0x5D8E0/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D900/4, 0x4); - INSTANCE_WR(ctx, 0x5D940/4, 0x2); - INSTANCE_WR(ctx, 0x5D960/4, 0x11); - INSTANCE_WR(ctx, 0x5DA80/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x5DB20/4, 0x4); - INSTANCE_WR(ctx, 0x5DC60/4, 0x2); - INSTANCE_WR(ctx, 0x5DC80/4, 0x1); - INSTANCE_WR(ctx, 0x5DCA0/4, 0x1); - INSTANCE_WR(ctx, 0x5DCC0/4, 0x2); - INSTANCE_WR(ctx, 0x5DCE0/4, 0x1); - INSTANCE_WR(ctx, 0x5DD00/4, 0x1); - INSTANCE_WR(ctx, 0x5DD20/4, 0x1); - INSTANCE_WR(ctx, 0x5DD60/4, 0x4); - INSTANCE_WR(ctx, 0x651C0/4, 0x11); - INSTANCE_WR(ctx, 0x65200/4, 0x1); - INSTANCE_WR(ctx, 0x5D024/4, 0x80); - INSTANCE_WR(ctx, 0x5D044/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D064/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D084/4, 0x1000); - INSTANCE_WR(ctx, 0x5D0E4/4, 0x1); - INSTANCE_WR(ctx, 0x5D144/4, 0x1); - INSTANCE_WR(ctx, 0x5D184/4, 0x4); - INSTANCE_WR(ctx, 0x5D1A4/4, 0x2); - INSTANCE_WR(ctx, 0x5D324/4, 0x80); - INSTANCE_WR(ctx, 0x5D344/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D364/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D384/4, 0x1000); - INSTANCE_WR(ctx, 0x5D3E4/4, 0x1); - INSTANCE_WR(ctx, 0x5D444/4, 0x1); - INSTANCE_WR(ctx, 0x5D484/4, 0x4); - INSTANCE_WR(ctx, 0x5D4A4/4, 0x2); - INSTANCE_WR(ctx, 0x5D604/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D6E4/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D704/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D724/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D744/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D764/4, 0x1); - INSTANCE_WR(ctx, 0x5D784/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7A4/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7C4/4, 0x1); - INSTANCE_WR(ctx, 0x5D804/4, 0x1FE21); - INSTANCE_WR(ctx, 0x5D8C4/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D8E4/4, 0x4); - INSTANCE_WR(ctx, 0x5D924/4, 0x2); - INSTANCE_WR(ctx, 0x5D944/4, 0x11); - INSTANCE_WR(ctx, 0x5DA64/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x5DB04/4, 0x4); - INSTANCE_WR(ctx, 0x5DC44/4, 0x2); - INSTANCE_WR(ctx, 0x5DC64/4, 0x1); - INSTANCE_WR(ctx, 0x5DC84/4, 0x1); - INSTANCE_WR(ctx, 0x5DCA4/4, 0x2); - INSTANCE_WR(ctx, 0x5DCC4/4, 0x1); - INSTANCE_WR(ctx, 0x5DCE4/4, 0x1); - INSTANCE_WR(ctx, 0x5DD04/4, 0x1); - INSTANCE_WR(ctx, 0x5DD44/4, 0x4); - INSTANCE_WR(ctx, 0x651A4/4, 0x11); - INSTANCE_WR(ctx, 0x651E4/4, 0x1); - INSTANCE_WR(ctx, 0x5D028/4, 0x80); - INSTANCE_WR(ctx, 0x5D048/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D068/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D088/4, 0x1000); - INSTANCE_WR(ctx, 0x5D0E8/4, 0x1); - INSTANCE_WR(ctx, 0x5D148/4, 0x1); - INSTANCE_WR(ctx, 0x5D188/4, 0x4); - INSTANCE_WR(ctx, 0x5D1A8/4, 0x2); - INSTANCE_WR(ctx, 0x5D328/4, 0x80); - INSTANCE_WR(ctx, 0x5D348/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D368/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D388/4, 0x1000); - INSTANCE_WR(ctx, 0x5D3E8/4, 0x1); - INSTANCE_WR(ctx, 0x5D448/4, 0x1); - INSTANCE_WR(ctx, 0x5D488/4, 0x4); - INSTANCE_WR(ctx, 0x5D4A8/4, 0x2); - INSTANCE_WR(ctx, 0x5D608/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D6E8/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D708/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D728/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D748/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D768/4, 0x1); - INSTANCE_WR(ctx, 0x5D788/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7A8/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7C8/4, 0x1); - INSTANCE_WR(ctx, 0x5D808/4, 0x1FE21); - INSTANCE_WR(ctx, 0x5D8C8/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D8E8/4, 0x4); - INSTANCE_WR(ctx, 0x5D928/4, 0x2); - INSTANCE_WR(ctx, 0x5D948/4, 0x11); - INSTANCE_WR(ctx, 0x5DA68/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x5DB08/4, 0x4); - INSTANCE_WR(ctx, 0x5DC48/4, 0x2); - INSTANCE_WR(ctx, 0x5DC68/4, 0x1); - INSTANCE_WR(ctx, 0x5DC88/4, 0x1); - INSTANCE_WR(ctx, 0x5DCA8/4, 0x2); - INSTANCE_WR(ctx, 0x5DCC8/4, 0x1); - INSTANCE_WR(ctx, 0x5DCE8/4, 0x1); - INSTANCE_WR(ctx, 0x5DD08/4, 0x1); - INSTANCE_WR(ctx, 0x5DD48/4, 0x4); - INSTANCE_WR(ctx, 0x651A8/4, 0x11); - INSTANCE_WR(ctx, 0x651E8/4, 0x1); - INSTANCE_WR(ctx, 0x5D02C/4, 0x80); - INSTANCE_WR(ctx, 0x5D04C/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D06C/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D08C/4, 0x1000); - INSTANCE_WR(ctx, 0x5D0EC/4, 0x1); - INSTANCE_WR(ctx, 0x5D14C/4, 0x1); - INSTANCE_WR(ctx, 0x5D18C/4, 0x4); - INSTANCE_WR(ctx, 0x5D1AC/4, 0x2); - INSTANCE_WR(ctx, 0x5D32C/4, 0x80); - INSTANCE_WR(ctx, 0x5D34C/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D36C/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D38C/4, 0x1000); - INSTANCE_WR(ctx, 0x5D3EC/4, 0x1); - INSTANCE_WR(ctx, 0x5D44C/4, 0x1); - INSTANCE_WR(ctx, 0x5D48C/4, 0x4); - INSTANCE_WR(ctx, 0x5D4AC/4, 0x2); - INSTANCE_WR(ctx, 0x5D60C/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D6EC/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D70C/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D72C/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D74C/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D76C/4, 0x1); - INSTANCE_WR(ctx, 0x5D78C/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7AC/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7CC/4, 0x1); - INSTANCE_WR(ctx, 0x5D80C/4, 0x1FE21); - INSTANCE_WR(ctx, 0x5D8CC/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D8EC/4, 0x4); - INSTANCE_WR(ctx, 0x5D92C/4, 0x2); - INSTANCE_WR(ctx, 0x5D94C/4, 0x11); - INSTANCE_WR(ctx, 0x5DA6C/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x5DB0C/4, 0x4); - INSTANCE_WR(ctx, 0x5DC4C/4, 0x2); - INSTANCE_WR(ctx, 0x5DC6C/4, 0x1); - INSTANCE_WR(ctx, 0x5DC8C/4, 0x1); - INSTANCE_WR(ctx, 0x5DCAC/4, 0x2); - INSTANCE_WR(ctx, 0x5DCCC/4, 0x1); - INSTANCE_WR(ctx, 0x5DCEC/4, 0x1); - INSTANCE_WR(ctx, 0x5DD0C/4, 0x1); - INSTANCE_WR(ctx, 0x5DD4C/4, 0x4); - INSTANCE_WR(ctx, 0x651AC/4, 0x11); - INSTANCE_WR(ctx, 0x651EC/4, 0x1); - INSTANCE_WR(ctx, 0x5D030/4, 0x80); - INSTANCE_WR(ctx, 0x5D050/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D070/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D090/4, 0x1000); - INSTANCE_WR(ctx, 0x5D0F0/4, 0x1); - INSTANCE_WR(ctx, 0x5D150/4, 0x1); - INSTANCE_WR(ctx, 0x5D190/4, 0x4); - INSTANCE_WR(ctx, 0x5D1B0/4, 0x2); - INSTANCE_WR(ctx, 0x5D330/4, 0x80); - INSTANCE_WR(ctx, 0x5D350/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D370/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D390/4, 0x1000); - INSTANCE_WR(ctx, 0x5D3F0/4, 0x1); - INSTANCE_WR(ctx, 0x5D450/4, 0x1); - INSTANCE_WR(ctx, 0x5D490/4, 0x4); - INSTANCE_WR(ctx, 0x5D4B0/4, 0x2); - INSTANCE_WR(ctx, 0x5D610/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D6F0/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D710/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D730/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D750/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D770/4, 0x1); - INSTANCE_WR(ctx, 0x5D790/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7B0/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7D0/4, 0x1); - INSTANCE_WR(ctx, 0x5D810/4, 0x1FE21); - INSTANCE_WR(ctx, 0x5D8D0/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D8F0/4, 0x4); - INSTANCE_WR(ctx, 0x5D930/4, 0x2); - INSTANCE_WR(ctx, 0x5D950/4, 0x11); - INSTANCE_WR(ctx, 0x5DA70/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x5DB10/4, 0x4); - INSTANCE_WR(ctx, 0x5DC50/4, 0x2); - INSTANCE_WR(ctx, 0x5DC70/4, 0x1); - INSTANCE_WR(ctx, 0x5DC90/4, 0x1); - INSTANCE_WR(ctx, 0x5DCB0/4, 0x2); - INSTANCE_WR(ctx, 0x5DCD0/4, 0x1); - INSTANCE_WR(ctx, 0x5DCF0/4, 0x1); - INSTANCE_WR(ctx, 0x5DD10/4, 0x1); - INSTANCE_WR(ctx, 0x5DD50/4, 0x4); - INSTANCE_WR(ctx, 0x651B0/4, 0x11); - INSTANCE_WR(ctx, 0x651F0/4, 0x1); - INSTANCE_WR(ctx, 0x5D034/4, 0x80); - INSTANCE_WR(ctx, 0x5D054/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D074/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D094/4, 0x1000); - INSTANCE_WR(ctx, 0x5D0F4/4, 0x1); - INSTANCE_WR(ctx, 0x5D154/4, 0x1); - INSTANCE_WR(ctx, 0x5D194/4, 0x4); - INSTANCE_WR(ctx, 0x5D1B4/4, 0x2); - INSTANCE_WR(ctx, 0x5D334/4, 0x80); - INSTANCE_WR(ctx, 0x5D354/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D374/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D394/4, 0x1000); - INSTANCE_WR(ctx, 0x5D3F4/4, 0x1); - INSTANCE_WR(ctx, 0x5D454/4, 0x1); - INSTANCE_WR(ctx, 0x5D494/4, 0x4); - INSTANCE_WR(ctx, 0x5D4B4/4, 0x2); - INSTANCE_WR(ctx, 0x5D614/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D6F4/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D714/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D734/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D754/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D774/4, 0x1); - INSTANCE_WR(ctx, 0x5D794/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7B4/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7D4/4, 0x1); - INSTANCE_WR(ctx, 0x5D814/4, 0x1FE21); - INSTANCE_WR(ctx, 0x5D8D4/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D8F4/4, 0x4); - INSTANCE_WR(ctx, 0x5D934/4, 0x2); - INSTANCE_WR(ctx, 0x5D954/4, 0x11); - INSTANCE_WR(ctx, 0x5DA74/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x5DB14/4, 0x4); - INSTANCE_WR(ctx, 0x5DC54/4, 0x2); - INSTANCE_WR(ctx, 0x5DC74/4, 0x1); - INSTANCE_WR(ctx, 0x5DC94/4, 0x1); - INSTANCE_WR(ctx, 0x5DCB4/4, 0x2); - INSTANCE_WR(ctx, 0x5DCD4/4, 0x1); - INSTANCE_WR(ctx, 0x5DCF4/4, 0x1); - INSTANCE_WR(ctx, 0x5DD14/4, 0x1); - INSTANCE_WR(ctx, 0x5DD54/4, 0x4); - INSTANCE_WR(ctx, 0x651B4/4, 0x11); - INSTANCE_WR(ctx, 0x651F4/4, 0x1); - INSTANCE_WR(ctx, 0x5D038/4, 0x80); - INSTANCE_WR(ctx, 0x5D058/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D078/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D098/4, 0x1000); - INSTANCE_WR(ctx, 0x5D0F8/4, 0x1); - INSTANCE_WR(ctx, 0x5D158/4, 0x1); - INSTANCE_WR(ctx, 0x5D198/4, 0x4); - INSTANCE_WR(ctx, 0x5D1B8/4, 0x2); - INSTANCE_WR(ctx, 0x5D338/4, 0x80); - INSTANCE_WR(ctx, 0x5D358/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D378/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D398/4, 0x1000); - INSTANCE_WR(ctx, 0x5D3F8/4, 0x1); - INSTANCE_WR(ctx, 0x5D458/4, 0x1); - INSTANCE_WR(ctx, 0x5D498/4, 0x4); - INSTANCE_WR(ctx, 0x5D4B8/4, 0x2); - INSTANCE_WR(ctx, 0x5D618/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D6F8/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D718/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D738/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D758/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D778/4, 0x1); - INSTANCE_WR(ctx, 0x5D798/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7B8/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7D8/4, 0x1); - INSTANCE_WR(ctx, 0x5D818/4, 0x1FE21); - INSTANCE_WR(ctx, 0x5D8D8/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D8F8/4, 0x4); - INSTANCE_WR(ctx, 0x5D938/4, 0x2); - INSTANCE_WR(ctx, 0x5D958/4, 0x11); - INSTANCE_WR(ctx, 0x5DA78/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x5DB18/4, 0x4); - INSTANCE_WR(ctx, 0x5DC58/4, 0x2); - INSTANCE_WR(ctx, 0x5DC78/4, 0x1); - INSTANCE_WR(ctx, 0x5DC98/4, 0x1); - INSTANCE_WR(ctx, 0x5DCB8/4, 0x2); - INSTANCE_WR(ctx, 0x5DCD8/4, 0x1); - INSTANCE_WR(ctx, 0x5DCF8/4, 0x1); - INSTANCE_WR(ctx, 0x5DD18/4, 0x1); - INSTANCE_WR(ctx, 0x5DD58/4, 0x4); - INSTANCE_WR(ctx, 0x651B8/4, 0x11); - INSTANCE_WR(ctx, 0x651F8/4, 0x1); - INSTANCE_WR(ctx, 0x5D03C/4, 0x80); - INSTANCE_WR(ctx, 0x5D05C/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D07C/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D09C/4, 0x1000); - INSTANCE_WR(ctx, 0x5D0FC/4, 0x1); - INSTANCE_WR(ctx, 0x5D15C/4, 0x1); - INSTANCE_WR(ctx, 0x5D19C/4, 0x4); - INSTANCE_WR(ctx, 0x5D1BC/4, 0x2); - INSTANCE_WR(ctx, 0x5D33C/4, 0x80); - INSTANCE_WR(ctx, 0x5D35C/4, 0x80007004); - INSTANCE_WR(ctx, 0x5D37C/4, 0x4000400); - INSTANCE_WR(ctx, 0x5D39C/4, 0x1000); - INSTANCE_WR(ctx, 0x5D3FC/4, 0x1); - INSTANCE_WR(ctx, 0x5D45C/4, 0x1); - INSTANCE_WR(ctx, 0x5D49C/4, 0x4); - INSTANCE_WR(ctx, 0x5D4BC/4, 0x2); - INSTANCE_WR(ctx, 0x5D61C/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D6FC/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D71C/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D73C/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D75C/4, 0xFFFF); - INSTANCE_WR(ctx, 0x5D77C/4, 0x1); - INSTANCE_WR(ctx, 0x5D79C/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7BC/4, 0x10001); - INSTANCE_WR(ctx, 0x5D7DC/4, 0x1); - INSTANCE_WR(ctx, 0x5D81C/4, 0x1FE21); - INSTANCE_WR(ctx, 0x5D8DC/4, 0x8100C12); - INSTANCE_WR(ctx, 0x5D8FC/4, 0x4); - INSTANCE_WR(ctx, 0x5D93C/4, 0x2); - INSTANCE_WR(ctx, 0x5D95C/4, 0x11); - INSTANCE_WR(ctx, 0x5DA7C/4, 0xFAC6881); - INSTANCE_WR(ctx, 0x5DB1C/4, 0x4); - INSTANCE_WR(ctx, 0x5DC5C/4, 0x2); - INSTANCE_WR(ctx, 0x5DC7C/4, 0x1); - INSTANCE_WR(ctx, 0x5DC9C/4, 0x1); - INSTANCE_WR(ctx, 0x5DCBC/4, 0x2); - INSTANCE_WR(ctx, 0x5DCDC/4, 0x1); - INSTANCE_WR(ctx, 0x5DCFC/4, 0x1); - INSTANCE_WR(ctx, 0x5DD1C/4, 0x1); - INSTANCE_WR(ctx, 0x5DD5C/4, 0x4); - INSTANCE_WR(ctx, 0x651BC/4, 0x11); - INSTANCE_WR(ctx, 0x651FC/4, 0x1); -} - -static void -nvaa_graph_init_ctxvals(struct drm_device *dev, struct nouveau_gpuobj_ref *ref) -{ - struct drm_nouveau_private *dev_priv = dev->dev_private; - struct nouveau_gpuobj *ctx = ref->gpuobj; - - INSTANCE_WR(ctx, 0x0010c/4, 0x00000030); - INSTANCE_WR(ctx, 0x001d0/4, 0x00000003); - INSTANCE_WR(ctx, 0x001d4/4, 0x00001000); - INSTANCE_WR(ctx, 0x00220/4, 0x0000fe0c); - INSTANCE_WR(ctx, 0x00238/4, 0x00001000); - INSTANCE_WR(ctx, 0x00264/4, 0x00000187); - INSTANCE_WR(ctx, 0x00278/4, 0x00001018); - INSTANCE_WR(ctx, 0x0027c/4, 0x000000ff); - INSTANCE_WR(ctx, 0x002c8/4, 0x00000004); - INSTANCE_WR(ctx, 0x002cc/4, 0x042500df); - INSTANCE_WR(ctx, 0x002d4/4, 0x00000600); - INSTANCE_WR(ctx, 0x002ec/4, 0x01000000); - INSTANCE_WR(ctx, 0x002f0/4, 0x000000ff); - INSTANCE_WR(ctx, 0x002f8/4, 0x00000800); - INSTANCE_WR(ctx, 0x00310/4, 0x00000001); - INSTANCE_WR(ctx, 0x00310/4, 0x00000001); - INSTANCE_WR(ctx, 0x00310/4, 0x000e0080); - INSTANCE_WR(ctx, 0x00310/4, 0x00000004); - INSTANCE_WR(ctx, 0x00338/4, 0x00000002); - INSTANCE_WR(ctx, 0x0033c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0034c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00350/4, 0x00000100); - INSTANCE_WR(ctx, 0x00368/4, 0x00000002); - INSTANCE_WR(ctx, 0x0036c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00370/4, 0x00000001); - INSTANCE_WR(ctx, 0x00380/4, 0x00000001); - INSTANCE_WR(ctx, 0x00384/4, 0x003fffff); - INSTANCE_WR(ctx, 0x00388/4, 0x00001fff); - INSTANCE_WR(ctx, 0x00390/4, 0x00000001); - INSTANCE_WR(ctx, 0x00394/4, 0x00000001); - INSTANCE_WR(ctx, 0x0039c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0039c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0039c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0039c/4, 0x00000004); - INSTANCE_WR(ctx, 0x0039c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0039c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0039c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0039c/4, 0x00000007); - INSTANCE_WR(ctx, 0x003bc/4, 0x00000001); - INSTANCE_WR(ctx, 0x003bc/4, 0x00000007); - INSTANCE_WR(ctx, 0x003bc/4, 0x00000001); - INSTANCE_WR(ctx, 0x003bc/4, 0x00000001); - INSTANCE_WR(ctx, 0x003bc/4, 0x00000001); - INSTANCE_WR(ctx, 0x003e0/4, 0x00000001); - INSTANCE_WR(ctx, 0x003e4/4, 0x00000100); - INSTANCE_WR(ctx, 0x003ec/4, 0x00000001); - INSTANCE_WR(ctx, 0x003f8/4, 0x00000100); - INSTANCE_WR(ctx, 0x003fc/4, 0x00000001); - INSTANCE_WR(ctx, 0x00400/4, 0x00000100); - INSTANCE_WR(ctx, 0x00408/4, 0x00000001); - INSTANCE_WR(ctx, 0x00414/4, 0x00000100); - INSTANCE_WR(ctx, 0x00428/4, 0x00000004); - INSTANCE_WR(ctx, 0x0042c/4, 0x00000070); - INSTANCE_WR(ctx, 0x00430/4, 0x00000080); - INSTANCE_WR(ctx, 0x00444/4, 0x0000000c); - INSTANCE_WR(ctx, 0x0044c/4, 0x00000008); - INSTANCE_WR(ctx, 0x00450/4, 0x00000014); - INSTANCE_WR(ctx, 0x00458/4, 0x00000029); - INSTANCE_WR(ctx, 0x00458/4, 0x00000027); - INSTANCE_WR(ctx, 0x00458/4, 0x00000026); - INSTANCE_WR(ctx, 0x00458/4, 0x00000008); - INSTANCE_WR(ctx, 0x00458/4, 0x00000004); - INSTANCE_WR(ctx, 0x00458/4, 0x00000027); - INSTANCE_WR(ctx, 0x00478/4, 0x00000001); - INSTANCE_WR(ctx, 0x00478/4, 0x00000002); - INSTANCE_WR(ctx, 0x00478/4, 0x00000003); - INSTANCE_WR(ctx, 0x00478/4, 0x00000004); - INSTANCE_WR(ctx, 0x00478/4, 0x00000005); - INSTANCE_WR(ctx, 0x00478/4, 0x00000006); - INSTANCE_WR(ctx, 0x00478/4, 0x00000007); - INSTANCE_WR(ctx, 0x00478/4, 0x00000001); - INSTANCE_WR(ctx, 0x004d8/4, 0x000000cf); - INSTANCE_WR(ctx, 0x00508/4, 0x00000080); - INSTANCE_WR(ctx, 0x00508/4, 0x00000004); - INSTANCE_WR(ctx, 0x00508/4, 0x00000004); - INSTANCE_WR(ctx, 0x00508/4, 0x00000003); - INSTANCE_WR(ctx, 0x00508/4, 0x00000001); - INSTANCE_WR(ctx, 0x00524/4, 0x00000012); - INSTANCE_WR(ctx, 0x00524/4, 0x00000010); - INSTANCE_WR(ctx, 0x00524/4, 0x0000000c); - INSTANCE_WR(ctx, 0x00524/4, 0x00000001); - INSTANCE_WR(ctx, 0x00540/4, 0x00000004); - INSTANCE_WR(ctx, 0x00544/4, 0x00000002); - INSTANCE_WR(ctx, 0x00548/4, 0x00000004); - INSTANCE_WR(ctx, 0x00558/4, 0x003fffff); - INSTANCE_WR(ctx, 0x0055c/4, 0x00001fff); - INSTANCE_WR(ctx, 0x00584/4, 0x00000001); - INSTANCE_WR(ctx, 0x00588/4, 0x00000001); - INSTANCE_WR(ctx, 0x0058c/4, 0x00000002); - INSTANCE_WR(ctx, 0x00594/4, 0x00000004); - INSTANCE_WR(ctx, 0x00598/4, 0x00000014); - INSTANCE_WR(ctx, 0x0059c/4, 0x00000001); - INSTANCE_WR(ctx, 0x005a8/4, 0x00000002); - INSTANCE_WR(ctx, 0x005bc/4, 0x00000001); - INSTANCE_WR(ctx, 0x005c4/4, 0x00000002); - INSTANCE_WR(ctx, 0x005c4/4, 0x00001000); - INSTANCE_WR(ctx, 0x005c4/4, 0x00000e00); - INSTANCE_WR(ctx, 0x005c4/4, 0x00001000); - INSTANCE_WR(ctx, 0x005c4/4, 0x00001e00); - INSTANCE_WR(ctx, 0x005dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x005dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x005dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x005dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x005dc/4, 0x00000001); - INSTANCE_WR(ctx, 0x005fc/4, 0x00000200); - INSTANCE_WR(ctx, 0x00604/4, 0x00000001); - INSTANCE_WR(ctx, 0x00608/4, 0x000000f0); - INSTANCE_WR(ctx, 0x0060c/4, 0x000000ff); - INSTANCE_WR(ctx, 0x00618/4, 0x00000001); - INSTANCE_WR(ctx, 0x0061c/4, 0x000000f0); - INSTANCE_WR(ctx, 0x00620/4, 0x000000ff); - INSTANCE_WR(ctx, 0x00628/4, 0x00000009); - INSTANCE_WR(ctx, 0x00634/4, 0x00000001); - INSTANCE_WR(ctx, 0x00638/4, 0x000000cf); - INSTANCE_WR(ctx, 0x00640/4, 0x00000001); - INSTANCE_WR(ctx, 0x00650/4, 0x000000cf); - INSTANCE_WR(ctx, 0x00658/4, 0x00000002); - INSTANCE_WR(ctx, 0x00660/4, 0x00000001); - INSTANCE_WR(ctx, 0x00668/4, 0x00000001); - INSTANCE_WR(ctx, 0x00670/4, 0x000000cf); - INSTANCE_WR(ctx, 0x00674/4, 0x000000cf); - INSTANCE_WR(ctx, 0x00678/4, 0x00000001); - INSTANCE_WR(ctx, 0x00680/4, 0x00001f80); - INSTANCE_WR(ctx, 0x00698/4, 0x3b74f821); - INSTANCE_WR(ctx, 0x0069c/4, 0x89058001); - INSTANCE_WR(ctx, 0x006a4/4, 0x00001000); - INSTANCE_WR(ctx, 0x006a8/4, 0x000000ff); - INSTANCE_WR(ctx, 0x006b0/4, 0x027c10fa); - INSTANCE_WR(ctx, 0x006b4/4, 0x400000c0); - INSTANCE_WR(ctx, 0x006b8/4, 0xb7892080); - INSTANCE_WR(ctx, 0x006cc/4, 0x003d0040); - INSTANCE_WR(ctx, 0x006d4/4, 0x00000022); - INSTANCE_WR(ctx, 0x006f4/4, 0x003d0040); - INSTANCE_WR(ctx, 0x006f8/4, 0x00000022); - INSTANCE_WR(ctx, 0x00740/4, 0x0000ff0a); - INSTANCE_WR(ctx, 0x00748/4, 0x01800000); - INSTANCE_WR(ctx, 0x0074c/4, 0x00160000); - INSTANCE_WR(ctx, 0x00750/4, 0x01800000); - INSTANCE_WR(ctx, 0x00760/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00764/4, 0x300c0000); - INSTANCE_WR(ctx, 0x00788/4, 0x00010401); - INSTANCE_WR(ctx, 0x00790/4, 0x00000078); - INSTANCE_WR(ctx, 0x00798/4, 0x000000bf); - INSTANCE_WR(ctx, 0x007a0/4, 0x00001210); - INSTANCE_WR(ctx, 0x007a4/4, 0x08000080); - INSTANCE_WR(ctx, 0x007b0/4, 0x0000003e); - INSTANCE_WR(ctx, 0x007c8/4, 0x01800000); - INSTANCE_WR(ctx, 0x007cc/4, 0x00160000); - INSTANCE_WR(ctx, 0x007d0/4, 0x01800000); - INSTANCE_WR(ctx, 0x007e0/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x007e4/4, 0x300c0000); - INSTANCE_WR(ctx, 0x00808/4, 0x00010401); - INSTANCE_WR(ctx, 0x00810/4, 0x00000078); - INSTANCE_WR(ctx, 0x00818/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00820/4, 0x00001210); - INSTANCE_WR(ctx, 0x00824/4, 0x08000080); - INSTANCE_WR(ctx, 0x00830/4, 0x0000003e); - INSTANCE_WR(ctx, 0x00848/4, 0x01800000); - INSTANCE_WR(ctx, 0x0084c/4, 0x00160000); - INSTANCE_WR(ctx, 0x00850/4, 0x01800000); - INSTANCE_WR(ctx, 0x00860/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x00864/4, 0x300c0000); - INSTANCE_WR(ctx, 0x00888/4, 0x00010401); - INSTANCE_WR(ctx, 0x00890/4, 0x00000078); - INSTANCE_WR(ctx, 0x00898/4, 0x000000bf); - INSTANCE_WR(ctx, 0x008a0/4, 0x00001210); - INSTANCE_WR(ctx, 0x008a4/4, 0x08000080); - INSTANCE_WR(ctx, 0x008b0/4, 0x0000003e); - INSTANCE_WR(ctx, 0x008c8/4, 0x01800000); - INSTANCE_WR(ctx, 0x008cc/4, 0x00160000); - INSTANCE_WR(ctx, 0x008d0/4, 0x01800000); - INSTANCE_WR(ctx, 0x008e0/4, 0x0003ffff); - INSTANCE_WR(ctx, 0x008e4/4, 0x300c0000); - INSTANCE_WR(ctx, 0x00908/4, 0x00010401); - INSTANCE_WR(ctx, 0x00910/4, 0x00000078); - INSTANCE_WR(ctx, 0x00918/4, 0x000000bf); - INSTANCE_WR(ctx, 0x00920/4, 0x00001210); - INSTANCE_WR(ctx, 0x00924/4, 0x08000080); - INSTANCE_WR(ctx, 0x00930/4, 0x0000003e); - INSTANCE_WR(ctx, 0x0094c/4, 0x01127070); - INSTANCE_WR(ctx, 0x0095c/4, 0x07ffffff); - INSTANCE_WR(ctx, 0x00978/4, 0x00120407); - INSTANCE_WR(ctx, 0x00978/4, 0x05091507); - INSTANCE_WR(ctx, 0x00978/4, 0x05010202); - INSTANCE_WR(ctx, 0x00978/4, 0x00030201); - INSTANCE_WR(ctx, 0x009a0/4, 0x00000040); - INSTANCE_WR(ctx, 0x009a0/4, 0x0d0c0b0a); - INSTANCE_WR(ctx, 0x009a0/4, 0x00141210); - INSTANCE_WR(ctx, 0x009a0/4, 0x000001f0); - INSTANCE_WR(ctx, 0x009a0/4, 0x00000001); - INSTANCE_WR(ctx, 0x009a0/4, 0x00000003); - INSTANCE_WR(ctx, 0x009a0/4, 0x00008000); - INSTANCE_WR(ctx, 0x009c0/4, 0x00039e00); - INSTANCE_WR(ctx, 0x009c0/4, 0x00000100); - INSTANCE_WR(ctx, 0x009c0/4, 0x00003800); - INSTANCE_WR(ctx, 0x009c0/4, 0x003fe006); - INSTANCE_WR(ctx, 0x009c0/4, 0x003fe000); - INSTANCE_WR(ctx, 0x009c0/4, 0x00404040); - INSTANCE_WR(ctx, 0x009c0/4, 0x0cf7f007); - INSTANCE_WR(ctx, 0x009c0/4, 0x02bf7fff); - INSTANCE_WR(ctx, 0x07ba0/4, 0x00000021); - INSTANCE_WR(ctx, 0x07bc0/4, 0x00000001); - INSTANCE_WR(ctx, 0x07be0/4, 0x00000002); - INSTANCE_WR(ctx, 0x07c00/4, 0x00000100); - INSTANCE_WR(ctx, 0x07c20/4, 0x00000100); - INSTANCE_WR(ctx, 0x07c40/4, 0x00000001); - INSTANCE_WR(ctx, 0x07ca0/4, 0x00000001); - INSTANCE_WR(ctx, 0x07cc0/4, 0x00000002); - INSTANCE_WR(ctx, 0x07ce0/4, 0x00000100); - INSTANCE_WR(ctx, 0x07d00/4, 0x00000100); - INSTANCE_WR(ctx, 0x07d20/4, 0x00000001); - INSTANCE_WR(ctx, 0x1a7c0/4, 0x04000000); - INSTANCE_WR(ctx, 0x1a7e0/4, 0x04000000); - INSTANCE_WR(ctx, 0x1a800/4, 0x04000000); - INSTANCE_WR(ctx, 0x1a820/4, 0x04000000); - INSTANCE_WR(ctx, 0x1a840/4, 0x04000000); - INSTANCE_WR(ctx, 0x1a860/4, 0x04000000); - INSTANCE_WR(ctx, 0x1a880/4, 0x04000000); - INSTANCE_WR(ctx, 0x1a8a0/4, 0x04000000); - INSTANCE_WR(ctx, 0x1a8c0/4, 0x04000000); - INSTANCE_WR(ctx, 0x1a8e0/4, 0x04000000); - INSTANCE_WR(ctx, 0x1a900/4, 0x04000000); - INSTANCE_WR(ctx, 0x1a920/4, 0x04000000); - INSTANCE_WR(ctx, 0x1a940/4, 0x04000000); - INSTANCE_WR(ctx, 0x1a960/4, 0x04000000); - INSTANCE_WR(ctx, 0x1a980/4, 0x04000000); - INSTANCE_WR(ctx, 0x1a9a0/4, 0x04000000); - INSTANCE_WR(ctx, 0x1ae40/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x1ae60/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x1aec0/4, 0x0001fe21); - INSTANCE_WR(ctx, 0x1aee0/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x1af80/4, 0x08100c12); - INSTANCE_WR(ctx, 0x1b020/4, 0x00000100); - INSTANCE_WR(ctx, 0x1b080/4, 0x00010001); - INSTANCE_WR(ctx, 0x1b0c0/4, 0x00010001); - INSTANCE_WR(ctx, 0x1b0e0/4, 0x00000001); - INSTANCE_WR(ctx, 0x1b100/4, 0x00010001); - INSTANCE_WR(ctx, 0x1b120/4, 0x00000001); - INSTANCE_WR(ctx, 0x1b140/4, 0x00000004); - INSTANCE_WR(ctx, 0x1b160/4, 0x00000002); - INSTANCE_WR(ctx, 0x1be20/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1bf00/4, 0x00000004); - INSTANCE_WR(ctx, 0x1bf20/4, 0x0000001a); - INSTANCE_WR(ctx, 0x1bf80/4, 0x00000001); - INSTANCE_WR(ctx, 0x1c1e0/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x1c2c0/4, 0x0000000f); - INSTANCE_WR(ctx, 0x1c3c0/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x1c3e0/4, 0x00000011); - INSTANCE_WR(ctx, 0x1c5e0/4, 0x00000004); - INSTANCE_WR(ctx, 0x1c640/4, 0x00000001); - INSTANCE_WR(ctx, 0x1c6a0/4, 0x00000002); - INSTANCE_WR(ctx, 0x1c6c0/4, 0x04000000); - INSTANCE_WR(ctx, 0x1c6e0/4, 0x04000000); - INSTANCE_WR(ctx, 0x1c760/4, 0x00000005); - INSTANCE_WR(ctx, 0x1c780/4, 0x00000052); - INSTANCE_WR(ctx, 0x1c820/4, 0x00000001); - INSTANCE_WR(ctx, 0x1ca40/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1ca60/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1ca80/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1caa0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1cac0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1cae0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1cb00/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1cb20/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1cb40/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1cb60/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1cb80/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1cba0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1cbc0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1cbe0/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1cc00/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1cc20/4, 0x3f800000); - INSTANCE_WR(ctx, 0x1cc40/4, 0x00000010); - INSTANCE_WR(ctx, 0x1d120/4, 0x08100c12); - INSTANCE_WR(ctx, 0x1d140/4, 0x00000005); - INSTANCE_WR(ctx, 0x1d1a0/4, 0x00000001); - INSTANCE_WR(ctx, 0x1d1e0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x1d200/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x1d220/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x1d240/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x1d260/4, 0x00000003); - INSTANCE_WR(ctx, 0x1d2e0/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x1d300/4, 0x0000001a); - INSTANCE_WR(ctx, 0x1d340/4, 0x00000003); - INSTANCE_WR(ctx, 0x1dae0/4, 0x00000102); - INSTANCE_WR(ctx, 0x1db20/4, 0x00000004); - INSTANCE_WR(ctx, 0x1db40/4, 0x00000004); - INSTANCE_WR(ctx, 0x1db60/4, 0x00000004); - INSTANCE_WR(ctx, 0x1db80/4, 0x00000004); - INSTANCE_WR(ctx, 0x1dca0/4, 0x00000004); - INSTANCE_WR(ctx, 0x1dcc0/4, 0x00000004); - INSTANCE_WR(ctx, 0x1dd00/4, 0x000007ff); - INSTANCE_WR(ctx, 0x1dd40/4, 0x00000102); - INSTANCE_WR(ctx, 0x1de80/4, 0x00000004); - INSTANCE_WR(ctx, 0x1dea0/4, 0x00000004); - INSTANCE_WR(ctx, 0x1dec0/4, 0x00000004); - INSTANCE_WR(ctx, 0x1dee0/4, 0x00000004); - INSTANCE_WR(ctx, 0x00a04/4, 0x00000004); - INSTANCE_WR(ctx, 0x00a24/4, 0x00000004); - INSTANCE_WR(ctx, 0x00a64/4, 0x00000080); - INSTANCE_WR(ctx, 0x00a84/4, 0x00000004); - INSTANCE_WR(ctx, 0x00aa4/4, 0x00080c14); - INSTANCE_WR(ctx, 0x00ae4/4, 0x000007ff); - INSTANCE_WR(ctx, 0x0b344/4, 0x00000004); - INSTANCE_WR(ctx, 0x0b364/4, 0x00000004); - INSTANCE_WR(ctx, 0x0b3a4/4, 0x00000080); - INSTANCE_WR(ctx, 0x0b3c4/4, 0x00000004); - INSTANCE_WR(ctx, 0x0b3e4/4, 0x00000001); - INSTANCE_WR(ctx, 0x0b424/4, 0x00000027); - INSTANCE_WR(ctx, 0x0b464/4, 0x00000026); - INSTANCE_WR(ctx, 0x010c8/4, 0x00000004); - INSTANCE_WR(ctx, 0x010e8/4, 0x00000004); - INSTANCE_WR(ctx, 0x39a68/4, 0x00000004); - INSTANCE_WR(ctx, 0x39a88/4, 0x00000004); - INSTANCE_WR(ctx, 0x39aa8/4, 0x08100c12); - INSTANCE_WR(ctx, 0x39ac8/4, 0x00000003); - INSTANCE_WR(ctx, 0x39b08/4, 0x08100c12); - INSTANCE_WR(ctx, 0x39b48/4, 0x00080c14); - INSTANCE_WR(ctx, 0x39b68/4, 0x00000001); - INSTANCE_WR(ctx, 0x39b88/4, 0x00000004); - INSTANCE_WR(ctx, 0x39ba8/4, 0x00000004); - INSTANCE_WR(ctx, 0x39bc8/4, 0x00080c14); - INSTANCE_WR(ctx, 0x39c28/4, 0x08100c12); - INSTANCE_WR(ctx, 0x39c48/4, 0x00000027); - INSTANCE_WR(ctx, 0x39ca8/4, 0x00000001); - INSTANCE_WR(ctx, 0x414e8/4, 0x00000001); - INSTANCE_WR(ctx, 0x417c8/4, 0x08100c12); - INSTANCE_WR(ctx, 0x00a2c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00acc/4, 0x0000000f); - INSTANCE_WR(ctx, 0x00b6c/4, 0x00000020); - INSTANCE_WR(ctx, 0x00d6c/4, 0x0000001a); - INSTANCE_WR(ctx, 0x00f2c/4, 0x00000004); - INSTANCE_WR(ctx, 0x00f4c/4, 0x00000004); - INSTANCE_WR(ctx, 0x00f8c/4, 0x00000004); - INSTANCE_WR(ctx, 0x00fac/4, 0x00000008); - INSTANCE_WR(ctx, 0x00fec/4, 0x000007ff); - INSTANCE_WR(ctx, 0x0118c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x0362c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x0366c/4, 0x00000001); - INSTANCE_WR(ctx, 0x041cc/4, 0x0000000f); - INSTANCE_WR(ctx, 0x1484c/4, 0x0000000f); - INSTANCE_WR(ctx, 0x15950/4, 0x003fffff); - INSTANCE_WR(ctx, 0x159b0/4, 0x00001fff); - INSTANCE_WR(ctx, 0x00a34/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x00bb4/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x00bd4/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x00c74/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x00c94/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x00e14/4, 0x00000002); - INSTANCE_WR(ctx, 0x00e54/4, 0x001ffe67); - INSTANCE_WR(ctx, 0x00ff4/4, 0x00000001); - INSTANCE_WR(ctx, 0x01014/4, 0x00000010); - INSTANCE_WR(ctx, 0x01074/4, 0x00000001); - INSTANCE_WR(ctx, 0x01114/4, 0x00000004); - INSTANCE_WR(ctx, 0x01134/4, 0x00000400); - INSTANCE_WR(ctx, 0x01154/4, 0x00000300); - INSTANCE_WR(ctx, 0x01174/4, 0x00001001); - INSTANCE_WR(ctx, 0x01194/4, 0x00000015); - INSTANCE_WR(ctx, 0x01254/4, 0x00000002); - INSTANCE_WR(ctx, 0x01374/4, 0x00000001); - INSTANCE_WR(ctx, 0x01394/4, 0x00000010); - INSTANCE_WR(ctx, 0x013d4/4, 0x00000001); - INSTANCE_WR(ctx, 0x01654/4, 0x00000010); - INSTANCE_WR(ctx, 0x01874/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01894/4, 0x3f800000); - INSTANCE_WR(ctx, 0x018b4/4, 0x3f800000); - INSTANCE_WR(ctx, 0x018d4/4, 0x3f800000); - INSTANCE_WR(ctx, 0x018f4/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01914/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01934/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01954/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01974/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01994/4, 0x3f800000); - INSTANCE_WR(ctx, 0x019b4/4, 0x3f800000); - INSTANCE_WR(ctx, 0x019d4/4, 0x3f800000); - INSTANCE_WR(ctx, 0x019f4/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01a14/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01a34/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01a54/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01d94/4, 0x00000010); - INSTANCE_WR(ctx, 0x01dd4/4, 0x0000003f); - INSTANCE_WR(ctx, 0x01eb4/4, 0x00000001); - INSTANCE_WR(ctx, 0x01ef4/4, 0x00000001); - INSTANCE_WR(ctx, 0x01f34/4, 0x00000001); - INSTANCE_WR(ctx, 0x01f94/4, 0x00001001); - INSTANCE_WR(ctx, 0x02114/4, 0x00000011); - INSTANCE_WR(ctx, 0x02214/4, 0x0000000f); - INSTANCE_WR(ctx, 0x02314/4, 0x00000011); - INSTANCE_WR(ctx, 0x023f4/4, 0x00000001); - INSTANCE_WR(ctx, 0x02414/4, 0x00000001); - INSTANCE_WR(ctx, 0x02434/4, 0x00000001); - INSTANCE_WR(ctx, 0x02454/4, 0x00000002); - INSTANCE_WR(ctx, 0x02474/4, 0x00000001); - INSTANCE_WR(ctx, 0x02494/4, 0x00000002); - INSTANCE_WR(ctx, 0x024b4/4, 0x00000001); - INSTANCE_WR(ctx, 0x024f4/4, 0x001ffe67); - INSTANCE_WR(ctx, 0x02534/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x028b4/4, 0x00000001); - INSTANCE_WR(ctx, 0x028d4/4, 0x00000002); - INSTANCE_WR(ctx, 0x028f4/4, 0x00000001); - INSTANCE_WR(ctx, 0x02914/4, 0x00000001); - INSTANCE_WR(ctx, 0x02934/4, 0x00000002); - INSTANCE_WR(ctx, 0x02954/4, 0x00000001); - INSTANCE_WR(ctx, 0x02974/4, 0x00000001); - INSTANCE_WR(ctx, 0x02a14/4, 0x00000011); - INSTANCE_WR(ctx, 0x02a34/4, 0x00000001); - INSTANCE_WR(ctx, 0x00a18/4, 0x0000003f); - INSTANCE_WR(ctx, 0x00b78/4, 0x00000002); - INSTANCE_WR(ctx, 0x00b98/4, 0x04000000); - INSTANCE_WR(ctx, 0x00bb8/4, 0x04000000); - INSTANCE_WR(ctx, 0x00cd8/4, 0x00000004); - INSTANCE_WR(ctx, 0x00d58/4, 0x00000004); - INSTANCE_WR(ctx, 0x00f98/4, 0x00000001); - INSTANCE_WR(ctx, 0x00fb8/4, 0x00001001); - INSTANCE_WR(ctx, 0x00fd8/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x00ff8/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x01018/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x01038/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x01458/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01478/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01498/4, 0x3f800000); - INSTANCE_WR(ctx, 0x014b8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x014d8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x014f8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01518/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01538/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01558/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01578/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01598/4, 0x3f800000); - INSTANCE_WR(ctx, 0x015b8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x015d8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x015f8/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01618/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01638/4, 0x3f800000); - INSTANCE_WR(ctx, 0x01658/4, 0x00000010); - INSTANCE_WR(ctx, 0x016b8/4, 0x00000003); - INSTANCE_WR(ctx, 0x01878/4, 0x04000000); - INSTANCE_WR(ctx, 0x01898/4, 0x04000000); - INSTANCE_WR(ctx, 0x018d8/4, 0x00000080); - INSTANCE_WR(ctx, 0x01958/4, 0x00000080); - INSTANCE_WR(ctx, 0x01a38/4, 0x00000001); - INSTANCE_WR(ctx, 0x01a58/4, 0x00000100); - INSTANCE_WR(ctx, 0x01a78/4, 0x00000100); - INSTANCE_WR(ctx, 0x01a98/4, 0x00000011); - INSTANCE_WR(ctx, 0x01ad8/4, 0x00000008); - INSTANCE_WR(ctx, 0x01b98/4, 0x00000001); - INSTANCE_WR(ctx, 0x01bd8/4, 0x00000001); - INSTANCE_WR(ctx, 0x01bf8/4, 0x00000001); - INSTANCE_WR(ctx, 0x01c18/4, 0x00000001); - INSTANCE_WR(ctx, 0x01c38/4, 0x000000cf); - INSTANCE_WR(ctx, 0x01c58/4, 0x00000002); - INSTANCE_WR(ctx, 0x01d38/4, 0x00000001); - INSTANCE_WR(ctx, 0x01d78/4, 0x00000001); - INSTANCE_WR(ctx, 0x01d98/4, 0x00000001); - INSTANCE_WR(ctx, 0x01db8/4, 0x00000001); - INSTANCE_WR(ctx, 0x01e58/4, 0x00000004); - INSTANCE_WR(ctx, 0x01e98/4, 0x00000001); - INSTANCE_WR(ctx, 0x01eb8/4, 0x00000015); - INSTANCE_WR(ctx, 0x01f38/4, 0x04444480); - INSTANCE_WR(ctx, 0x02698/4, 0x00000001); - INSTANCE_WR(ctx, 0x026d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x02758/4, 0x2a712488); - INSTANCE_WR(ctx, 0x02798/4, 0x4085c000); - INSTANCE_WR(ctx, 0x027b8/4, 0x00000040); - INSTANCE_WR(ctx, 0x027d8/4, 0x00000100); - INSTANCE_WR(ctx, 0x027f8/4, 0x00010100); - INSTANCE_WR(ctx, 0x02818/4, 0x02800000); - INSTANCE_WR(ctx, 0x02b58/4, 0x0000000f); - INSTANCE_WR(ctx, 0x02cd8/4, 0x00000004); - INSTANCE_WR(ctx, 0x02cf8/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x02d18/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x02d38/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x02d58/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x02e78/4, 0x00000001); - INSTANCE_WR(ctx, 0x02ef8/4, 0x00000001); - INSTANCE_WR(ctx, 0x02fb8/4, 0x00000001); - INSTANCE_WR(ctx, 0x03018/4, 0x00000001); - INSTANCE_WR(ctx, 0x03178/4, 0x00000001); - INSTANCE_WR(ctx, 0x03198/4, 0x00000001); - INSTANCE_WR(ctx, 0x031b8/4, 0x00000002); - INSTANCE_WR(ctx, 0x031d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x031f8/4, 0x00000001); - INSTANCE_WR(ctx, 0x03218/4, 0x00000002); - INSTANCE_WR(ctx, 0x03238/4, 0x00000001); - INSTANCE_WR(ctx, 0x03278/4, 0x00000011); - INSTANCE_WR(ctx, 0x03378/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x033d8/4, 0x00000004); - INSTANCE_WR(ctx, 0x03458/4, 0x00000011); - INSTANCE_WR(ctx, 0x03478/4, 0x00000001); - INSTANCE_WR(ctx, 0x034b8/4, 0x000000cf); - INSTANCE_WR(ctx, 0x034d8/4, 0x000000cf); - INSTANCE_WR(ctx, 0x034f8/4, 0x000000cf); - INSTANCE_WR(ctx, 0x03658/4, 0x00000001); - INSTANCE_WR(ctx, 0x03678/4, 0x00000001); - INSTANCE_WR(ctx, 0x03698/4, 0x00000002); - INSTANCE_WR(ctx, 0x036b8/4, 0x00000001); - INSTANCE_WR(ctx, 0x036d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x036f8/4, 0x00000002); - INSTANCE_WR(ctx, 0x03718/4, 0x00000001); - INSTANCE_WR(ctx, 0x03758/4, 0x00000001); - INSTANCE_WR(ctx, 0x03778/4, 0x00000001); - INSTANCE_WR(ctx, 0x03798/4, 0x00000001); - INSTANCE_WR(ctx, 0x037b8/4, 0x00000001); - INSTANCE_WR(ctx, 0x037d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x037f8/4, 0x00000001); - INSTANCE_WR(ctx, 0x03818/4, 0x00000001); - INSTANCE_WR(ctx, 0x03838/4, 0x00000001); - INSTANCE_WR(ctx, 0x03858/4, 0x00000011); - INSTANCE_WR(ctx, 0x03958/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x03978/4, 0x0000000f); - INSTANCE_WR(ctx, 0x03a78/4, 0x001ffe67); - INSTANCE_WR(ctx, 0x03ad8/4, 0x00000011); - INSTANCE_WR(ctx, 0x03af8/4, 0x00000001); - INSTANCE_WR(ctx, 0x03b78/4, 0x00000004); - INSTANCE_WR(ctx, 0x03c38/4, 0x00000001); - INSTANCE_WR(ctx, 0x03cd8/4, 0x00000011); - INSTANCE_WR(ctx, 0x03dd8/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x03e58/4, 0x00000011); - INSTANCE_WR(ctx, 0x03e78/4, 0x00000001); - INSTANCE_WR(ctx, 0x03eb8/4, 0x00000001); - INSTANCE_WR(ctx, 0x03ef8/4, 0x00000001); - INSTANCE_WR(ctx, 0x03f38/4, 0x000007ff); - INSTANCE_WR(ctx, 0x03f78/4, 0x00000001); - INSTANCE_WR(ctx, 0x03fb8/4, 0x00000001); - INSTANCE_WR(ctx, 0x04518/4, 0x00000008); - INSTANCE_WR(ctx, 0x04538/4, 0x00000008); - INSTANCE_WR(ctx, 0x04558/4, 0x00000008); - INSTANCE_WR(ctx, 0x04578/4, 0x00000008); - INSTANCE_WR(ctx, 0x04598/4, 0x00000008); - INSTANCE_WR(ctx, 0x045b8/4, 0x00000008); - INSTANCE_WR(ctx, 0x045d8/4, 0x00000008); - INSTANCE_WR(ctx, 0x045f8/4, 0x00000008); - INSTANCE_WR(ctx, 0x04618/4, 0x00000011); - INSTANCE_WR(ctx, 0x04718/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x04738/4, 0x00000400); - INSTANCE_WR(ctx, 0x04758/4, 0x00000400); - INSTANCE_WR(ctx, 0x04778/4, 0x00000400); - INSTANCE_WR(ctx, 0x04798/4, 0x00000400); - INSTANCE_WR(ctx, 0x047b8/4, 0x00000400); - INSTANCE_WR(ctx, 0x047d8/4, 0x00000400); - INSTANCE_WR(ctx, 0x047f8/4, 0x00000400); - INSTANCE_WR(ctx, 0x04818/4, 0x00000400); - INSTANCE_WR(ctx, 0x04838/4, 0x00000300); - INSTANCE_WR(ctx, 0x04858/4, 0x00000300); - INSTANCE_WR(ctx, 0x04878/4, 0x00000300); - INSTANCE_WR(ctx, 0x04898/4, 0x00000300); - INSTANCE_WR(ctx, 0x048b8/4, 0x00000300); - INSTANCE_WR(ctx, 0x048d8/4, 0x00000300); - INSTANCE_WR(ctx, 0x048f8/4, 0x00000300); - INSTANCE_WR(ctx, 0x04918/4, 0x00000300); - INSTANCE_WR(ctx, 0x04938/4, 0x00000001); - INSTANCE_WR(ctx, 0x04958/4, 0x0000000f); - INSTANCE_WR(ctx, 0x04a58/4, 0x00000020); - INSTANCE_WR(ctx, 0x04a78/4, 0x00000011); - INSTANCE_WR(ctx, 0x04a98/4, 0x00000100); - INSTANCE_WR(ctx, 0x04ad8/4, 0x00000001); - INSTANCE_WR(ctx, 0x04b38/4, 0x00000040); - INSTANCE_WR(ctx, 0x04b58/4, 0x00000100); - INSTANCE_WR(ctx, 0x04b98/4, 0x00000003); - INSTANCE_WR(ctx, 0x04c38/4, 0x001ffe67); - INSTANCE_WR(ctx, 0x04cb8/4, 0x00000002); - INSTANCE_WR(ctx, 0x04cd8/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x04e18/4, 0x00000001); - INSTANCE_WR(ctx, 0x04eb8/4, 0x00000004); - INSTANCE_WR(ctx, 0x04ef8/4, 0x00000001); - INSTANCE_WR(ctx, 0x04f18/4, 0x00000400); - INSTANCE_WR(ctx, 0x04f38/4, 0x00000300); - INSTANCE_WR(ctx, 0x04f58/4, 0x00001001); - INSTANCE_WR(ctx, 0x04fd8/4, 0x00000011); - INSTANCE_WR(ctx, 0x050d8/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x050f8/4, 0x0000000f); - INSTANCE_WR(ctx, 0x053f8/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x05418/4, 0x001ffe67); - INSTANCE_WR(ctx, 0x05498/4, 0x00000011); - INSTANCE_WR(ctx, 0x054f8/4, 0x00000004); - INSTANCE_WR(ctx, 0x05538/4, 0x00000001); - INSTANCE_WR(ctx, 0x05558/4, 0x00000001); - INSTANCE_WR(ctx, 0x055d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x05678/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x05718/4, 0x00000004); - INSTANCE_WR(ctx, 0x05758/4, 0x00000001); - INSTANCE_WR(ctx, 0x05778/4, 0x00000001); - INSTANCE_WR(ctx, 0x057d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x05938/4, 0x00000001); - INSTANCE_WR(ctx, 0x05958/4, 0x00000001); - INSTANCE_WR(ctx, 0x05978/4, 0x00000001); - INSTANCE_WR(ctx, 0x05998/4, 0x00000001); - INSTANCE_WR(ctx, 0x059b8/4, 0x00000001); - INSTANCE_WR(ctx, 0x059d8/4, 0x00000001); - INSTANCE_WR(ctx, 0x059f8/4, 0x00000001); - INSTANCE_WR(ctx, 0x05a18/4, 0x00000001); - INSTANCE_WR(ctx, 0x05a38/4, 0x00000011); - INSTANCE_WR(ctx, 0x05b38/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x05b58/4, 0x0000000f); - INSTANCE_WR(ctx, 0x05c58/4, 0x00000011); - INSTANCE_WR(ctx, 0x05c78/4, 0x00000001); - INSTANCE_WR(ctx, 0x05df8/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x05e18/4, 0x04e3bfdf); - INSTANCE_WR(ctx, 0x05e38/4, 0x00000001); - INSTANCE_WR(ctx, 0x05e78/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x05e98/4, 0x00000001); - INSTANCE_WR(ctx, 0x05ef8/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x06018/4, 0x00000001); - INSTANCE_WR(ctx, 0x06058/4, 0x00000001); - INSTANCE_WR(ctx, 0x06078/4, 0x30201000); - INSTANCE_WR(ctx, 0x06098/4, 0x70605040); - INSTANCE_WR(ctx, 0x060b8/4, 0xb8a89888); - INSTANCE_WR(ctx, 0x060d8/4, 0xf8e8d8c8); - INSTANCE_WR(ctx, 0x06118/4, 0x0000001a); - INSTANCE_WR(ctx, 0x06158/4, 0x00000004); - INSTANCE_WR(ctx, 0x063f8/4, 0x00000004); - INSTANCE_WR(ctx, 0x06418/4, 0x00000004); - INSTANCE_WR(ctx, 0x06438/4, 0x03020100); - INSTANCE_WR(ctx, 0x064d8/4, 0x00000004); - INSTANCE_WR(ctx, 0x06538/4, 0x00000004); - INSTANCE_WR(ctx, 0x06558/4, 0x00000004); - INSTANCE_WR(ctx, 0x06578/4, 0x00000080); - INSTANCE_WR(ctx, 0x06598/4, 0x00001e00); - INSTANCE_WR(ctx, 0x065b8/4, 0x00000004); - INSTANCE_WR(ctx, 0x06a58/4, 0x00000004); - INSTANCE_WR(ctx, 0x06a78/4, 0x00000080); - INSTANCE_WR(ctx, 0x06a98/4, 0x00000004); - INSTANCE_WR(ctx, 0x06ab8/4, 0x03020100); - INSTANCE_WR(ctx, 0x06ad8/4, 0x00000003); - INSTANCE_WR(ctx, 0x06af8/4, 0x00001e00); - INSTANCE_WR(ctx, 0x06b18/4, 0x00000004); - INSTANCE_WR(ctx, 0x06bb8/4, 0x00000004); - INSTANCE_WR(ctx, 0x06bd8/4, 0x00000003); - INSTANCE_WR(ctx, 0x06c58/4, 0x00000004); - INSTANCE_WR(ctx, 0x0aef8/4, 0x00000004); - INSTANCE_WR(ctx, 0x0af18/4, 0x00000003); - INSTANCE_WR(ctx, 0x00abc/4, 0x00080c14); - INSTANCE_WR(ctx, 0x00b1c/4, 0x00000804); - INSTANCE_WR(ctx, 0x00b5c/4, 0x00000004); - INSTANCE_WR(ctx, 0x00b7c/4, 0x00000004); - INSTANCE_WR(ctx, 0x00b9c/4, 0x08100c12); - INSTANCE_WR(ctx, 0x00bdc/4, 0x00000004); - INSTANCE_WR(ctx, 0x00bfc/4, 0x00000004); - INSTANCE_WR(ctx, 0x00c3c/4, 0x00000010); - INSTANCE_WR(ctx, 0x00cdc/4, 0x00000804); - INSTANCE_WR(ctx, 0x00cfc/4, 0x00000001); - INSTANCE_WR(ctx, 0x00d1c/4, 0x0000001a); - INSTANCE_WR(ctx, 0x00d3c/4, 0x0000007f); - INSTANCE_WR(ctx, 0x00d7c/4, 0x00000001); - INSTANCE_WR(ctx, 0x00d9c/4, 0x00080c14); - INSTANCE_WR(ctx, 0x00ddc/4, 0x08100c12); - INSTANCE_WR(ctx, 0x00dfc/4, 0x00000004); - INSTANCE_WR(ctx, 0x00e1c/4, 0x00000004); - INSTANCE_WR(ctx, 0x00e5c/4, 0x00000010); - INSTANCE_WR(ctx, 0x00edc/4, 0x00000001); - INSTANCE_WR(ctx, 0x00efc/4, 0x08100c12); - INSTANCE_WR(ctx, 0x00fdc/4, 0x000007ff); - INSTANCE_WR(ctx, 0x00ffc/4, 0x00080c14); - INSTANCE_WR(ctx, 0x0171c/4, 0x00000001); - INSTANCE_WR(ctx, 0x0177c/4, 0x00000010); - INSTANCE_WR(ctx, 0x01e9c/4, 0x00000088); - INSTANCE_WR(ctx, 0x01ebc/4, 0x00000088); - INSTANCE_WR(ctx, 0x01f1c/4, 0x00000004); - INSTANCE_WR(ctx, 0x021fc/4, 0x00000026); - INSTANCE_WR(ctx, 0x0225c/4, 0x3f800000); - INSTANCE_WR(ctx, 0x022dc/4, 0x0000001a); - INSTANCE_WR(ctx, 0x022fc/4, 0x00000010); - INSTANCE_WR(ctx, 0x0281c/4, 0x00000052); - INSTANCE_WR(ctx, 0x0285c/4, 0x00000026); - INSTANCE_WR(ctx, 0x0289c/4, 0x00000004); - INSTANCE_WR(ctx, 0x028bc/4, 0x00000004); - INSTANCE_WR(ctx, 0x028fc/4, 0x0000001a); - INSTANCE_WR(ctx, 0x0295c/4, 0x00ffff00); - INSTANCE_WR(ctx, 0x41800/4, 0x08100c12); - INSTANCE_WR(ctx, 0x41840/4, 0x00000080); - INSTANCE_WR(ctx, 0x41860/4, 0x80007004); - INSTANCE_WR(ctx, 0x41880/4, 0x04000400); - INSTANCE_WR(ctx, 0x418a0/4, 0x000000c0); - INSTANCE_WR(ctx, 0x418c0/4, 0x00001000); - INSTANCE_WR(ctx, 0x41920/4, 0x00000e00); - INSTANCE_WR(ctx, 0x41940/4, 0x00001e00); - INSTANCE_WR(ctx, 0x41960/4, 0x00000001); - INSTANCE_WR(ctx, 0x419c0/4, 0x00000001); - INSTANCE_WR(ctx, 0x41a00/4, 0x00000004); - INSTANCE_WR(ctx, 0x41a20/4, 0x00000002); - INSTANCE_WR(ctx, 0x41ba0/4, 0x08100c12); - INSTANCE_WR(ctx, 0x41be0/4, 0x0001fe21); - INSTANCE_WR(ctx, 0x41ca0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x41cc0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x41ce0/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x41d00/4, 0x0000ffff); - INSTANCE_WR(ctx, 0x41d20/4, 0x00000001); - INSTANCE_WR(ctx, 0x41d40/4, 0x00010001); - INSTANCE_WR(ctx, 0x41d60/4, 0x00010001); - INSTANCE_WR(ctx, 0x41d80/4, 0x00000001); - INSTANCE_WR(ctx, 0x41dc0/4, 0x0001fe21); - INSTANCE_WR(ctx, 0x41e80/4, 0x08100c12); - INSTANCE_WR(ctx, 0x41ea0/4, 0x00000004); - INSTANCE_WR(ctx, 0x41ee0/4, 0x00000002); - INSTANCE_WR(ctx, 0x41f00/4, 0x00000011); - INSTANCE_WR(ctx, 0x42020/4, 0x0fac6881); - INSTANCE_WR(ctx, 0x420c0/4, 0x00000004); - INSTANCE_WR(ctx, 0x42200/4, 0x00000002); - INSTANCE_WR(ctx, 0x42220/4, 0x00000001); - INSTANCE_WR(ctx, 0x42240/4, 0x00000001); - INSTANCE_WR(ctx, 0x42260/4, 0x00000002); - INSTANCE_WR(ctx, 0x42280/4, 0x00000001); - INSTANCE_WR(ctx, 0x422a0/4, 0x00000001); - INSTANCE_WR(ctx, 0x422c0/4, 0x00000001); - INSTANCE_WR(ctx, 0x42300/4, 0x00000004); - INSTANCE_WR(ctx, 0x49700/4, 0x00000011); - INSTANCE_WR(ctx, 0x49740/4, 0x00000001); - INSTANCE_WR(ctx, 0x0012c/4, 0x00000002); -} - int nv50_graph_create_context(struct nouveau_channel *chan) { struct drm_device *dev = chan->dev; struct drm_nouveau_private *dev_priv = dev->dev_private; struct nouveau_gpuobj *ramin = chan->ramin->gpuobj; + struct nouveau_gpuobj *ctx; struct nouveau_engine *engine = &dev_priv->Engine; + uint32_t *ctxvals = NULL; int grctx_size = 0x70000, hdr; int ret; @@ -8154,6 +170,7 @@ nv50_graph_create_context(struct nouveau_channel *chan) NVOBJ_FLAG_ZERO_FREE, &chan->ramin_grctx); if (ret) return ret; + ctx = chan->ramin_grctx->gpuobj; hdr = IS_G80 ? 0x200 : 0x20; INSTANCE_WR(ramin, (hdr + 0x00)/4, 0x00190002); @@ -8164,30 +181,37 @@ nv50_graph_create_context(struct nouveau_channel *chan) INSTANCE_WR(ramin, (hdr + 0x10)/4, 0); INSTANCE_WR(ramin, (hdr + 0x14)/4, 0x00010000); - INSTANCE_WR(chan->ramin_grctx->gpuobj, 0x00000/4, - chan->ramin->instance >> 12); - if (dev_priv->chipset == 0xaa) - INSTANCE_WR(chan->ramin_grctx->gpuobj, 0x00004/4, 0x00000002); - else - INSTANCE_WR(chan->ramin_grctx->gpuobj, 0x0011c/4, 0x00000002); - switch (dev_priv->chipset) { case 0x50: - nv50_graph_init_ctxvals(dev, chan->ramin_grctx); + ctxvals = nv50_ctxvals; break; case 0x84: - nv84_graph_init_ctxvals(dev, chan->ramin_grctx); + ctxvals = nv84_ctxvals; break; case 0x86: - nv86_graph_init_ctxvals(dev, chan->ramin_grctx); + ctxvals = nv86_ctxvals; break; case 0x92: - nv92_graph_init_ctxvals(dev, chan->ramin_grctx); + ctxvals = nv92_ctxvals; break; case 0xaa: - nvaa_graph_init_ctxvals(dev, chan->ramin_grctx); + ctxvals = nvaa_ctxvals; break; default: + break; + } + + if (ctxvals) { + int pos = 0; + + while (*ctxvals) { + int cnt = *ctxvals++; + + while (cnt--) + INSTANCE_WR(ctx, pos++, *ctxvals); + ctxvals++; + } + } else { /* This is complete crack, it accidently used to make at * least some G8x cards work partially somehow, though there's * no good reason why - and it stopped working as the rest @@ -8198,9 +222,14 @@ nv50_graph_create_context(struct nouveau_channel *chan) DRM_ERROR("Error hacking up context: %d\n", ret); return ret; } - break; } + INSTANCE_WR(ctx, 0x00000/4, chan->ramin->instance >> 12); + if (dev_priv->chipset == 0xaa) + INSTANCE_WR(ctx, 0x00004/4, 0x00000002); + else + INSTANCE_WR(ctx, 0x0011c/4, 0x00000002); + return 0; } diff --git a/shared-core/nv50_grctx.h b/shared-core/nv50_grctx.h new file mode 100644 index 00000000..b45e79d8 --- /dev/null +++ b/shared-core/nv50_grctx.h @@ -0,0 +1,9232 @@ +#ifndef __NV50_GRCTX_H__ +#define __NV50_GRCTX_H__ + +static uint32_t nv50_ctxprog[] = { + 0x0070008e, 0x0070009c, 0x00200020, 0x00600008, 0x0050004c, 0x00400e89, + 0x00200000, 0x00600007, 0x00300000, 0x00c000ff, 0x00200000, 0x008000ff, + 0x00700009, 0x00417e4d, 0x00401e44, 0x00401e05, 0x00401e0d, 0x00415a06, + 0x00600005, 0x004015c5, 0x00600011, 0x00401c0b, 0x0090ffff, 0x0091ffff, + 0x00200020, 0x00600008, 0x0050004c, 0x00600009, 0x00415a45, 0x0041754d, + 0x0070009d, 0x004022cf, 0x0070009f, 0x0050009f, 0x00401fc0, 0x00200080, + 0x00600008, 0x00401f4f, 0x00401fc0, 0x004025cc, 0x00700081, 0x00200000, + 0x00600006, 0x00700000, 0x00111bfc, 0x00700080, 0x00700083, 0x00200047, + 0x00600006, 0x0011020a, 0x002005c0, 0x00600007, 0x00300000, 0x00c000ff, + 0x00c800ff, 0x00416507, 0x00202627, 0x008000ff, 0x00403c8c, 0x005000cb, + 0x00a0023f, 0x00200040, 0x00600006, 0x0070000f, 0x00170202, 0x0011020a, + 0x00200032, 0x0010020d, 0x001b0242, 0x00120302, 0x00140402, 0x00180500, + 0x00130509, 0x00150550, 0x00110605, 0x001e0607, 0x00110700, 0x00110900, + 0x00110902, 0x00110a00, 0x00160b02, 0x00110b28, 0x00140b2b, 0x00110c01, + 0x00111400, 0x00111405, 0x00111407, 0x00111409, 0x0011140b, 0x002000ea, + 0x00101500, 0x0040640f, 0x0040644b, 0x00213700, 0x00600007, 0x00200440, + 0x008800ff, 0x0070008f, 0x0040648c, 0x005000cb, 0x00000000, 0x001118f8, + 0x0020002b, 0x00101a05, 0x00131c00, 0x00111c04, 0x00141c20, 0x00111c25, + 0x00131c40, 0x00111c44, 0x00141c60, 0x00111c65, 0x00131c80, 0x00111c84, + 0x00141ca0, 0x00111ca5, 0x00131cc0, 0x00111cc4, 0x00141ce0, 0x00111ce5, + 0x00131d00, 0x00111d04, 0x00141d20, 0x00111d25, 0x00131d40, 0x00111d44, + 0x00141d60, 0x00111d65, 0x00131f00, 0x00191f40, 0x00409ee0, 0x00200217, + 0x00600006, 0x00200044, 0x00102080, 0x001120c6, 0x001520c9, 0x001920d0, + 0x00122100, 0x00122103, 0x00162200, 0x0040960f, 0x0040964b, 0x00213700, + 0x00600007, 0x00200440, 0x008800ff, 0x0070008f, 0x0040968c, 0x005000cb, + 0x00000000, 0x00122207, 0x00112280, 0x00112300, 0x00112302, 0x00122380, + 0x0011238b, 0x00192394, 0x0040b0e1, 0x00200285, 0x00600006, 0x00200044, + 0x00102480, 0x001124c6, 0x001524c9, 0x001924d0, 0x00122500, 0x00122503, + 0x00162600, 0x00122607, 0x00112680, 0x00112700, 0x00112702, 0x00122780, + 0x0011278b, 0x00192794, 0x0040cce2, 0x002002f3, 0x00600006, 0x00200044, + 0x00102880, 0x001128c6, 0x001528c9, 0x0040c00f, 0x0040c04b, 0x00213700, + 0x00600007, 0x00200440, 0x008800ff, 0x0070008f, 0x0040c08c, 0x005000cb, + 0x00000000, 0x001928d0, 0x00122900, 0x00122903, 0x00162a00, 0x00122a07, + 0x00112a80, 0x00112b00, 0x00112b02, 0x00122b80, 0x00112b8b, 0x00192b94, + 0x0040dee3, 0x00200361, 0x00600006, 0x00200044, 0x00102c80, 0x00112cc6, + 0x00152cc9, 0x00192cd0, 0x00122d00, 0x00122d03, 0x00162e00, 0x00122e07, + 0x00112e80, 0x00112f00, 0x00112f02, 0x00122f80, 0x00112f8b, 0x00192f94, + 0x0040fae4, 0x002003cf, 0x00600006, 0x00200044, 0x00103080, 0x0040ec0f, + 0x0040ec4b, 0x00213700, 0x00600007, 0x00200440, 0x008800ff, 0x0070008f, + 0x0040ec8c, 0x005000cb, 0x00000000, 0x001130c6, 0x001530c9, 0x001930d0, + 0x00123100, 0x00123103, 0x00163200, 0x00123207, 0x00113280, 0x00113300, + 0x00113302, 0x00123380, 0x0011338b, 0x00193394, 0x00410ce5, 0x0020043d, + 0x00600006, 0x00200044, 0x00103480, 0x001134c6, 0x001534c9, 0x001934d0, + 0x00123500, 0x00123503, 0x00163600, 0x00123607, 0x00113680, 0x00113700, + 0x00113702, 0x00123780, 0x0011378b, 0x00193794, 0x004128e6, 0x002004ab, + 0x00600006, 0x00200044, 0x00103880, 0x00411a0f, 0x00411a4b, 0x00213700, + 0x00600007, 0x00200440, 0x008800ff, 0x0070008f, 0x00411a8c, 0x005000cb, + 0x00000000, 0x001138c6, 0x001538c9, 0x001938d0, 0x00123900, 0x00123903, + 0x00163a00, 0x00123a07, 0x00113a80, 0x00113b00, 0x00113b02, 0x00123b80, + 0x00113b8b, 0x00193b94, 0x00413ae7, 0x00200519, 0x00600006, 0x00200044, + 0x00103c80, 0x00113cc6, 0x00153cc9, 0x00193cd0, 0x00123d00, 0x00123d03, + 0x00163e00, 0x00123e07, 0x00113e80, 0x00113f00, 0x00113f02, 0x00123f80, + 0x00113f8b, 0x00193f94, 0x00000000, 0x0041410f, 0x005000cb, 0x00213700, + 0x00600007, 0x00200440, 0x008800ff, 0x005000cb, 0x00414487, 0x0060000a, + 0x00000000, 0x00415300, 0x007000a0, 0x00700080, 0x002005c0, 0x00600007, + 0x00200004, 0x00c000ff, 0x008000ff, 0x005000cb, 0x00700000, 0x00200000, + 0x00600006, 0x00111bfe, 0x0041754d, 0x00700000, 0x00200000, 0x00600006, + 0x00111bfe, 0x00700080, 0x0070001d, 0x0040114d, 0x00700081, 0x00600004, + 0x0050004a, 0x00415f88, 0x0060000b, 0x00200000, 0x00600006, 0x00700000, + 0x0041750b, 0x00111bfd, 0x00402e4d, 0x00202627, 0x008000fd, 0x005000cb, + 0x00c00002, 0x002005c0, 0x00600007, 0x0020015f, 0x00800002, 0x005000cb, + 0x00c01802, 0x002024c8, 0x00800002, 0x005000cb, 0x00403a4d, 0x0060000b, + 0x0041734d, 0x00700001, 0x00700003, 0x00417906, 0x00417a05, 0x0060000d, + 0x00700005, 0x0070000d, 0x00700006, 0x0070000b, 0x0070000e, 0x0070001c, + 0x0060000c, ~0 +}; + +static uint32_t nv50_ctxvals[] = { + 0x0043, 0x00000000, + 0x0001, 0x00000030, + 0x0004, 0x00000000, + 0x0001, 0xff400040, + 0x0001, 0xfff00080, + 0x0001, 0xfff70090, + 0x0001, 0xffe806a8, + 0x0001, 0x00000002, + 0x0028, 0x00000000, + 0x0001, 0x00000003, + 0x0001, 0x00001000, + 0x000e, 0x00000000, + 0x0001, 0x0000fe0c, + 0x0004, 0x00000000, + 0x0001, 0x00001000, + 0x000a, 0x00000000, + 0x0001, 0x0001fd87, + 0x0004, 0x00000000, + 0x0001, 0x00001018, + 0x0001, 0x000000ff, + 0x000d, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x0001005f, + 0x0001, 0x00000000, + 0x0001, 0x00000600, + 0x0001, 0x00000006, + 0x0004, 0x00000000, + 0x0001, 0x000000ff, + 0x0001, 0x00000000, + 0x0001, 0x00000400, + 0x0004, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00300080, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000100, + 0x0005, 0x00000000, + 0x0001, 0x00000002, + 0x0002, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x003fffff, + 0x0001, 0x00001fff, + 0x0001, 0x00000000, + 0x0002, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000007, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0008, 0x00000000, + 0x0002, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x0000000a, + 0x0003, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x00000100, + 0x0009, 0x00000000, + 0x0001, 0x00000001, + 0x0008, 0x00000000, + 0x0001, 0x00000004, + 0x0005, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000100, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000100, + 0x0001, 0x00000001, + 0x0001, 0x00000100, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000100, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0004, 0x00000000, + 0x0001, 0x00000003, + 0x0006, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000070, + 0x0001, 0x00000080, + 0x0004, 0x00000000, + 0x0001, 0x00000026, + 0x0005, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x000000cf, + 0x000a, 0x00000000, + 0x0001, 0x00000001, + 0x0004, 0x00000000, + 0x0001, 0x00000001, + 0x0006, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000002, + 0x0001, 0x00000004, + 0x0002, 0x00000000, + 0x0001, 0x003fffff, + 0x0001, 0x00001fff, + 0x0001, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000014, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000002, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00001000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000200, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000070, + 0x0001, 0x00000080, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000070, + 0x0001, 0x00000080, + 0x0003, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x000000cf, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x000000cf, + 0x0001, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0002, 0x000000cf, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000f80, + 0x0011, 0x00000000, + 0x0001, 0x007f0080, + 0x000e, 0x00000000, + 0x0001, 0x007f0080, + 0x0008, 0x00000000, + 0x0001, 0x1b74f820, + 0x0001, 0x89058001, + 0x0007, 0x00000000, + 0x0001, 0x1b74f820, + 0x0001, 0x89058001, + 0x0007, 0x00000000, + 0x0001, 0x1b74f820, + 0x0001, 0x89058001, + 0x0007, 0x00000000, + 0x0001, 0x1b74f820, + 0x0001, 0x89058001, + 0x0007, 0x00000000, + 0x0001, 0x1b74f820, + 0x0001, 0x89058001, + 0x0007, 0x00000000, + 0x0001, 0x1b74f820, + 0x0001, 0x89058001, + 0x0007, 0x00000000, + 0x0001, 0x00010040, + 0x0001, 0x00000000, + 0x0001, 0x00000022, + 0x0002, 0x00000000, + 0x0001, 0x00010040, + 0x0001, 0x00000022, + 0x0005, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0009, 0x00000000, + 0x0001, 0x00007070, + 0x0002, 0x00000000, + 0x0001, 0x0003ffff, + 0x0005, 0x00000000, + 0x0001, 0x00030201, + 0x0009, 0x00000000, + 0x0001, 0x00008000, + 0x0007, 0x00000000, + 0x0001, 0x0000ff0a, + 0x0005, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x00007fff, + 0x0002, 0x00000000, + 0x0001, 0x0000000f, + 0x0007, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0009, 0x00000000, + 0x0001, 0x00007070, + 0x0002, 0x00000000, + 0x0001, 0x0003ffff, + 0x0005, 0x00000000, + 0x0001, 0x00030201, + 0x0009, 0x00000000, + 0x0001, 0x00008000, + 0x0007, 0x00000000, + 0x0001, 0x0000ff0a, + 0x0005, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x00007fff, + 0x0002, 0x00000000, + 0x0001, 0x0000000f, + 0x0007, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0009, 0x00000000, + 0x0001, 0x00007070, + 0x0002, 0x00000000, + 0x0001, 0x0003ffff, + 0x0005, 0x00000000, + 0x0001, 0x00030201, + 0x0009, 0x00000000, + 0x0001, 0x00008000, + 0x0007, 0x00000000, + 0x0001, 0x0000ff0a, + 0x0005, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x00007fff, + 0x0002, 0x00000000, + 0x0001, 0x0000000f, + 0x0007, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0009, 0x00000000, + 0x0001, 0x00007070, + 0x0002, 0x00000000, + 0x0001, 0x0003ffff, + 0x0005, 0x00000000, + 0x0001, 0x00030201, + 0x0009, 0x00000000, + 0x0001, 0x00008000, + 0x0007, 0x00000000, + 0x0001, 0x0000ff0a, + 0x0005, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x00007fff, + 0x0002, 0x00000000, + 0x0001, 0x0000000f, + 0x0007, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0009, 0x00000000, + 0x0001, 0x00007070, + 0x0002, 0x00000000, + 0x0001, 0x0003ffff, + 0x0005, 0x00000000, + 0x0001, 0x00030201, + 0x0009, 0x00000000, + 0x0001, 0x00008000, + 0x0007, 0x00000000, + 0x0001, 0x0000ff0a, + 0x0005, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x00007fff, + 0x0002, 0x00000000, + 0x0001, 0x0000000f, + 0x0007, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0009, 0x00000000, + 0x0001, 0x00007070, + 0x0002, 0x00000000, + 0x0001, 0x0003ffff, + 0x0005, 0x00000000, + 0x0001, 0x00030201, + 0x0009, 0x00000000, + 0x0001, 0x00008000, + 0x0007, 0x00000000, + 0x0001, 0x0000ff0a, + 0x0005, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x00007fff, + 0x0002, 0x00000000, + 0x0001, 0x0000000f, + 0x0007, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0009, 0x00000000, + 0x0001, 0x00007070, + 0x0002, 0x00000000, + 0x0001, 0x0003ffff, + 0x0005, 0x00000000, + 0x0001, 0x00030201, + 0x0009, 0x00000000, + 0x0001, 0x00008000, + 0x0007, 0x00000000, + 0x0001, 0x0000ff0a, + 0x0005, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x00007fff, + 0x0002, 0x00000000, + 0x0001, 0x0000000f, + 0x0007, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x000c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x00000080, + 0x0009, 0x00000000, + 0x0001, 0x00007070, + 0x0002, 0x00000000, + 0x0001, 0x0003ffff, + 0x0005, 0x00000000, + 0x0001, 0x00030201, + 0x0009, 0x00000000, + 0x0001, 0x00008000, + 0x0007, 0x00000000, + 0x0001, 0x0000ff0a, + 0x0005, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x00007fff, + 0x0002, 0x00000000, + 0x0001, 0x0000000f, + 0x004c, 0x00000000, + 0x0004, 0x00000004, + 0x0011, 0x00000000, + 0x0001, 0x0000000f, + 0x0021, 0x00000000, + 0x0001, 0x00000002, + 0x0005, 0x00000000, + 0x0001, 0x00000020, + 0x0009, 0x00000000, + 0x0001, 0x00003e60, + 0x0067, 0x00000000, + 0x0001, 0x00000001, + 0x0004, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x0000001a, + 0x0001, 0x00000000, + 0x0001, 0x00000010, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00608080, + 0x000b, 0x00000000, + 0x0001, 0x00000001, + 0x0018, 0x00000000, + 0x0004, 0x00000004, + 0x0014, 0x00000000, + 0x0004, 0x00000004, + 0x0003, 0x00000000, + 0x0001, 0x00000002, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00000080, + 0x0004, 0x00000000, + 0x0004, 0x00001000, + 0x0004, 0x00000000, + 0x0004, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0009, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x000003ff, + 0x0001, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0055, 0x00000000, + 0x0001, 0x0000000f, + 0x0049, 0x00000000, + 0x0001, 0x00000010, + 0x0040, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00000080, + 0x0004, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x03020100, + 0x0004, 0x00000000, + 0x0004, 0x00000003, + 0x0004, 0x00000000, + 0x0004, 0x00001000, + 0x0004, 0x00000000, + 0x0004, 0x00000004, + 0x0013, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0004, 0x00000004, + 0x0003, 0x00000000, + 0x0001, 0x3f800000, + 0x0004, 0x00000003, + 0x0003, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0004, 0x00000004, + 0x0003, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x00cf, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0067, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0000000f, + 0x001c, 0x00000000, + 0x0001, 0x00000021, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0002, 0x00000000, + 0x0001, 0x00000011, + 0x0004, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0004, 0x00000000, + 0x0001, 0x00000100, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0004, 0x00000000, + 0x0001, 0x00000100, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0004, 0x00000000, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00003e60, + 0x000f, 0x00000000, + 0x0001, 0x0fac6881, + 0x00af, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x031f, 0x00000000, + 0x0001, 0x00000002, + 0x000f, 0x00000000, + 0x0001, 0x00003e60, + 0x0067, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0037, 0x00000000, + 0x0001, 0x00000002, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0005, 0x00000000, + 0x0001, 0x0000000f, + 0x0009, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x00000001, + 0x0099, 0x00000000, + 0x0001, 0x00000010, + 0x0087, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x00cf, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x0000000f, + 0x0061, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000011, + 0x0027, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00003e60, + 0x000f, 0x00000000, + 0x0001, 0x0fac6881, + 0x00af, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x031f, 0x00000000, + 0x0001, 0x00000002, + 0x000f, 0x00000000, + 0x0001, 0x00003e60, + 0x0067, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0037, 0x00000000, + 0x0001, 0x00000002, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x009f, 0x00000000, + 0x0001, 0x00000010, + 0x0087, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x00cf, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0067, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000011, + 0x0027, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00003e60, + 0x000f, 0x00000000, + 0x0001, 0x0fac6881, + 0x00af, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x031f, 0x00000000, + 0x0001, 0x00000002, + 0x000f, 0x00000000, + 0x0001, 0x00003e60, + 0x0067, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0037, 0x00000000, + 0x0001, 0x00000002, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x009f, 0x00000000, + 0x0001, 0x00000010, + 0x0087, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x00cf, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0067, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000011, + 0x0027, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00003e60, + 0x000f, 0x00000000, + 0x0001, 0x0fac6881, + 0x00af, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x031f, 0x00000000, + 0x0001, 0x00000002, + 0x000f, 0x00000000, + 0x0001, 0x00003e60, + 0x0067, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0037, 0x00000000, + 0x0001, 0x00000002, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x009f, 0x00000000, + 0x0001, 0x00000010, + 0x0087, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x00cf, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0067, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000011, + 0x0027, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0004, 0x00000000, + 0x0001, 0x00000004, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0004, 0x00000000, + 0x0001, 0x00000004, + 0x0002, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00003e60, + 0x000f, 0x00000000, + 0x0001, 0x0fac6881, + 0x00af, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x031f, 0x00000000, + 0x0001, 0x00000002, + 0x000f, 0x00000000, + 0x0001, 0x00003e60, + 0x0067, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0037, 0x00000000, + 0x0001, 0x00000002, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x009f, 0x00000000, + 0x0001, 0x00000010, + 0x0087, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x00cf, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0067, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000011, + 0x0027, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00003e60, + 0x000f, 0x00000000, + 0x0001, 0x0fac6881, + 0x00af, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x1905, 0x00000000, + 0x0001, 0x0000000f, + 0x008f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x000f, 0x00000000, + 0x0001, 0x00000008, + 0x002f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x000000cf, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000015, + 0x001f, 0x00000000, + 0x0001, 0x04444480, + 0x01df, 0x00000000, + 0x0001, 0x08100c12, + 0x0027, 0x00000000, + 0x0001, 0x00000100, + 0x0017, 0x00000000, + 0x0001, 0x00010001, + 0x000f, 0x00000000, + 0x0001, 0x00010001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00010001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0032, 0x00000000, + 0x0004, 0x00000004, + 0x0002, 0x00000000, + 0x0001, 0x003fffff, + 0x0001, 0x00000000, + 0x0004, 0x00000003, + 0x0012, 0x00000000, + 0x0001, 0x00001fff, + 0x0077, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x0000000f, + 0x0032, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x0000001a, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0009, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x0000ffff, + 0x0004, 0x00000000, + 0x0004, 0x0000ffff, + 0x0004, 0x00000000, + 0x0004, 0x0000ffff, + 0x0004, 0x00000000, + 0x0004, 0x0000ffff, + 0x0044, 0x00000000, + 0x0004, 0x00000001, + 0x001c, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00ffff00, + 0x0029, 0x00000000, + 0x0004, 0x00000001, + 0x000a, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x0011, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000011, + 0x002a, 0x00000000, + 0x0001, 0x00000004, + 0x0011, 0x00000000, + 0x0004, 0x0fac6881, + 0x0012, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000000, + 0x0004, 0x00000004, + 0x0002, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0011, 0x00000000, + 0x0004, 0x00000011, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000005, + 0x0007, 0x00000000, + 0x0001, 0x00000052, + 0x0001, 0x00000000, + 0x0004, 0x000000cf, + 0x0004, 0x00000000, + 0x0004, 0x000000cf, + 0x0004, 0x00000000, + 0x0004, 0x000000cf, + 0x0054, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000011, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0009, 0x00000000, + 0x0004, 0x0fac6881, + 0x0004, 0x00000000, + 0x0004, 0x0000000f, + 0x003c, 0x00000000, + 0x0004, 0x00003e60, + 0x0014, 0x00000000, + 0x0004, 0x00000011, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000004, + 0x002c, 0x00000000, + 0x0004, 0x00000001, + 0x0024, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x001a, 0x00000000, + 0x0001, 0x08100c12, + 0x0001, 0x00000000, + 0x0004, 0x00000011, + 0x0002, 0x00000000, + 0x0001, 0x00000005, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0009, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0001, 0x00000000, + 0x0004, 0x000003ff, + 0x0002, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x00ea, 0x00000000, + 0x0001, 0x00ffff00, + 0x0007, 0x00000000, + 0x0001, 0x0000001a, + 0x0061, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0001, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0002, 0x00000000, + 0x0004, 0x00000400, + 0x0001, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0002, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0002, 0x00000000, + 0x0001, 0x00000102, + 0x0001, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0002, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0004, 0x00000300, + 0x0001, 0x00000000, + 0x0001, 0x0fac6881, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0004, 0x00000300, + 0x0002, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0004, 0x00000300, + 0x0002, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0004, 0x00000300, + 0x0002, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0004, 0x0000000f, + 0x000a, 0x00000000, + 0x0001, 0x000003ff, + 0x000f, 0x00000000, + 0x0001, 0x00000102, + 0x001e, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0002, 0x00000000, + 0x0004, 0x00000020, + 0x0001, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0002, 0x00000000, + 0x0004, 0x00000011, + 0x0004, 0x00000000, + 0x0004, 0x00000100, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x000a, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0004, 0x00000040, + 0x0002, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0004, 0x00000100, + 0x0002, 0x00000000, + 0x0001, 0x00000004, + 0x0009, 0x00000000, + 0x0004, 0x00000003, + 0x0024, 0x00000000, + 0x0004, 0x00003e60, + 0x001c, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x0fac6881, + 0x004c, 0x00000000, + 0x0004, 0x00000001, + 0x0024, 0x00000000, + 0x0004, 0x00000004, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00001001, + 0x001c, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x0004, 0x00000000, + 0x0004, 0x0000000f, + 0x000a, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000010, + 0x001f, 0x00000000, + 0x0001, 0x00000804, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x0000001a, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x000f, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000010, + 0x001f, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0004, 0x00003e60, + 0x0002, 0x00000000, + 0x0001, 0x08100c12, + 0x0019, 0x00000000, + 0x0004, 0x00000011, + 0x0014, 0x00000000, + 0x0004, 0x00000004, + 0x0002, 0x00000000, + 0x0001, 0x000003ff, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x001c, 0x00000000, + 0x0004, 0x00000001, + 0x001c, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0014, 0x00000000, + 0x0004, 0x2a712488, + 0x000c, 0x00000000, + 0x0004, 0x4085c000, + 0x0004, 0x00000000, + 0x0004, 0x00000040, + 0x0004, 0x00000000, + 0x0004, 0x00000100, + 0x0004, 0x00000000, + 0x0004, 0x00010100, + 0x0004, 0x00000000, + 0x0004, 0x02800000, + 0x007c, 0x00000000, + 0x0004, 0x04e3bfdf, + 0x0004, 0x00000000, + 0x0004, 0x04e3bfdf, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00ffff00, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0014, 0x00000000, + 0x0004, 0x00ffff00, + 0x0044, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x30201000, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0004, 0x70605040, + 0x0004, 0x00000000, + 0x0004, 0xb8a89888, + 0x0004, 0x00000000, + 0x0004, 0xf8e8d8c8, + 0x0002, 0x00000000, + 0x0001, 0x00000010, + 0x0009, 0x00000000, + 0x0004, 0x0000001a, + 0x000c, 0x00000000, + 0x0004, 0x00000004, + 0x00ac, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00608080, + 0x0024, 0x00000000, + 0x0004, 0x00000004, + 0x0014, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00000080, + 0x0004, 0x00000000, + 0x0004, 0x00001000, + 0x0004, 0x00000000, + 0x0004, 0x00000004, + 0x008a, 0x00000000, + 0x0001, 0x00000088, + 0x0007, 0x00000000, + 0x0001, 0x00000088, + 0x0017, 0x00000000, + 0x0001, 0x00000004, + 0x0079, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00000080, + 0x0004, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x03020100, + 0x0004, 0x00000000, + 0x0004, 0x00000003, + 0x0004, 0x00000000, + 0x0004, 0x00001000, + 0x0004, 0x00000000, + 0x0004, 0x00000004, + 0x000a, 0x00000000, + 0x0001, 0x00000026, + 0x0017, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00000003, + 0x0012, 0x00000000, + 0x0001, 0x0000001a, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0001, 0x00000000, + 0x0004, 0x00000004, + 0x012a, 0x00000000, + 0x0001, 0x00000052, + 0x000f, 0x00000000, + 0x0001, 0x00000026, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x0000001a, + 0x0017, 0x00000000, + 0x0001, 0x00ffff00, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x000f, 0x00000000, + 0x0001, 0x000003ff, + 0x2a17, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000027, + 0x000f, 0x00000000, + 0x0001, 0x00000026, + 0x001f, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0127, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0017, 0x00000000, + 0x0001, 0x0001fe21, + 0x2321, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00000003, + 0x008c, 0x00000000, + 0x0004, 0x0000000f, + 0x005c, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x0000ffff, + 0x0004, 0x00000000, + 0x0004, 0x0000ffff, + 0x0004, 0x00000000, + 0x0004, 0x0000ffff, + 0x0004, 0x00000000, + 0x0004, 0x0000ffff, + 0x0044, 0x00000000, + 0x0004, 0x00000001, + 0x001c, 0x00000000, + 0x0004, 0x00000001, + 0x002c, 0x00000000, + 0x0004, 0x00000001, + 0x0064, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x0014, 0x00000000, + 0x0004, 0x00000004, + 0x001c, 0x00000000, + 0x0004, 0x00000011, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x000000cf, + 0x0004, 0x00000000, + 0x0004, 0x000000cf, + 0x0004, 0x00000000, + 0x0004, 0x000000cf, + 0x0054, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x0004, 0x00000000, + 0x0004, 0x0000000f, + 0x003c, 0x00000000, + 0x0004, 0x00003e60, + 0x0014, 0x00000000, + 0x0004, 0x00000011, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000004, + 0x002c, 0x00000000, + 0x0004, 0x00000001, + 0x0024, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x001c, 0x00000000, + 0x0004, 0x00000011, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x000003ff, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0154, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x0000000f, + 0x003c, 0x00000000, + 0x0004, 0x00000020, + 0x0004, 0x00000000, + 0x0004, 0x00000011, + 0x0004, 0x00000000, + 0x0004, 0x00000100, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0014, 0x00000000, + 0x0004, 0x00000040, + 0x0004, 0x00000000, + 0x0004, 0x00000100, + 0x000c, 0x00000000, + 0x0004, 0x00000003, + 0x0024, 0x00000000, + 0x0004, 0x00003e60, + 0x001c, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x0fac6881, + 0x004c, 0x00000000, + 0x0004, 0x00000001, + 0x0024, 0x00000000, + 0x0004, 0x00000004, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00001001, + 0x001c, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x0004, 0x00000000, + 0x0004, 0x0000000f, + 0x00bc, 0x00000000, + 0x0004, 0x00003e60, + 0x001c, 0x00000000, + 0x0004, 0x00000011, + 0x0014, 0x00000000, + 0x0004, 0x00000004, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x001c, 0x00000000, + 0x0004, 0x00000001, + 0x001c, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0014, 0x00000000, + 0x0004, 0x2a712488, + 0x000c, 0x00000000, + 0x0004, 0x4085c000, + 0x0004, 0x00000000, + 0x0004, 0x00000040, + 0x0004, 0x00000000, + 0x0004, 0x00000100, + 0x0004, 0x00000000, + 0x0004, 0x00010100, + 0x0004, 0x00000000, + 0x0004, 0x02800000, + 0x007c, 0x00000000, + 0x0004, 0x04e3bfdf, + 0x0004, 0x00000000, + 0x0004, 0x04e3bfdf, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00ffff00, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0014, 0x00000000, + 0x0004, 0x00ffff00, + 0x0044, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x30201000, + 0x0004, 0x00000000, + 0x0004, 0x70605040, + 0x0004, 0x00000000, + 0x0004, 0xb8a89888, + 0x0004, 0x00000000, + 0x0004, 0xf8e8d8c8, + 0x000c, 0x00000000, + 0x0004, 0x0000001a, + 0x4c70, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x08100c12, + 0x000f, 0x00000000, + 0x0001, 0x08100c12, + 0x000f, 0x00000000, + 0x0001, 0x00080c14, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x0017, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000027, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x1e0f, 0x00000000, + 0x0001, 0x00000001, + 0x00b7, 0x00000000, + 0x0001, 0x08100c12, + 0x005f, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x000f, 0x00000000, + 0x0001, 0x00000080, + 0x001f, 0x00000000, + 0x0001, 0x00000080, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0057, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0047, 0x00000000, + 0x0001, 0x00000004, + 0x001f, 0x00000000, + 0x0001, 0x00000004, + 0x0087, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00001001, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0107, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x00000003, + 0x001f, 0x00000000, + 0x0001, 0x08100c12, + 0x0008, 0x00000000, + 0x0008, 0x00000080, + 0x0008, 0x80007004, + 0x0008, 0x04000400, + 0x0008, 0x00001000, + 0x0010, 0x00000000, + 0x0008, 0x00000001, + 0x0010, 0x00000000, + 0x0010, 0x00001000, + 0x0008, 0x00000001, + 0x0008, 0x00000000, + 0x0008, 0x00000004, + 0x0008, 0x00000002, + 0x0058, 0x00000000, + 0x0008, 0x00000080, + 0x0008, 0x80007004, + 0x0008, 0x04000400, + 0x0008, 0x00001000, + 0x0010, 0x00000000, + 0x0008, 0x00000001, + 0x0010, 0x00000000, + 0x0010, 0x00001000, + 0x0008, 0x00000001, + 0x0008, 0x00000000, + 0x0008, 0x00000004, + 0x0008, 0x00000002, + 0x0050, 0x00000000, + 0x0008, 0x08100c12, + 0x0030, 0x00000000, + 0x0020, 0x0000ffff, + 0x0008, 0x00000001, + 0x0010, 0x00010001, + 0x0008, 0x00000001, + 0x0008, 0x00000000, + 0x0008, 0x0001fe21, + 0x0028, 0x00000000, + 0x0008, 0x08100c12, + 0x0008, 0x00000004, + 0x0008, 0x00000000, + 0x0008, 0x00000002, + 0x0008, 0x00000011, + 0x0040, 0x00000000, + 0x0008, 0x0fac6881, + 0x0020, 0x00000000, + 0x0008, 0x00000004, + 0x0048, 0x00000000, + 0x0008, 0x00000002, + 0x0010, 0x00000001, + 0x0008, 0x00000002, + 0x0018, 0x00000001, + 0x0008, 0x00000000, + 0x0008, 0x00000004, + 0x1d00, 0x00000000, + 0x0008, 0x00000011, + 0x0008, 0x00000000, + 0x0008, 0x00000001, + 0x0000 +}; + +static uint32_t nv84_ctxprog[] = { + 0x0070008e, 0x0070009c, 0x00200020, 0x00600008, 0x0050004c, 0x00400e89, + 0x00200000, 0x00600007, 0x00300000, 0x00c000ff, 0x00200000, 0x008000ff, + 0x00700009, 0x0041634d, 0x00402944, 0x00402905, 0x0040290d, 0x00413e06, + 0x00600005, 0x004015c5, 0x00600011, 0x0040270b, 0x004021c5, 0x00700000, + 0x00700081, 0x00600004, 0x0050004a, 0x00216f40, 0x00600007, 0x00c02801, + 0x0020002e, 0x00800001, 0x005000cb, 0x0090ffff, 0x0091ffff, 0x00200020, + 0x00600008, 0x0050004c, 0x00600009, 0x00413e45, 0x0041594d, 0x0070009d, + 0x00402dcf, 0x0070009f, 0x0050009f, 0x00402ac0, 0x00200200, 0x00600008, + 0x00402a4f, 0x00402ac0, 0x004030cc, 0x00700081, 0x00200000, 0x00600006, + 0x00700000, 0x00111bfc, 0x00700083, 0x00300000, 0x00216f40, 0x00600007, + 0x00c00b01, 0x0020001e, 0x00800001, 0x005000cb, 0x00c000ff, 0x00700080, + 0x00700083, 0x00200047, 0x00600006, 0x0011020a, 0x00200480, 0x00600007, + 0x00300000, 0x00c000ff, 0x00c800ff, 0x00414907, 0x00202916, 0x008000ff, + 0x0040508c, 0x005000cb, 0x00a0023f, 0x00200040, 0x00600006, 0x0070000f, + 0x00170202, 0x0011020a, 0x00200032, 0x0010020d, 0x001c0242, 0x00120302, + 0x00140402, 0x00180500, 0x00130509, 0x00150550, 0x00110605, 0x0020000f, + 0x00100607, 0x00110700, 0x00110900, 0x00120902, 0x00110a00, 0x00160b02, + 0x00120b28, 0x00140b2b, 0x00110c01, 0x00111400, 0x00111405, 0x00111407, + 0x00111409, 0x0011140b, 0x002000cb, 0x00101500, 0x0040790f, 0x0040794b, + 0x00214d40, 0x00600007, 0x0020043e, 0x008800ff, 0x0070008f, 0x0040798c, + 0x005000cb, 0x00000000, 0x0020002b, 0x00101a05, 0x00131c00, 0x00121c04, + 0x00141c20, 0x00111c25, 0x00131c40, 0x00121c44, 0x00141c60, 0x00111c65, + 0x00131c80, 0x00121c84, 0x00141ca0, 0x00111ca5, 0x00131cc0, 0x00121cc4, + 0x00141ce0, 0x00111ce5, 0x00131f00, 0x00191f40, 0x0040a1e0, 0x002001ed, + 0x00600006, 0x00200044, 0x00102080, 0x001120c6, 0x001520c9, 0x001920d0, + 0x00122100, 0x00122103, 0x00162200, 0x00122207, 0x00112280, 0x00112300, + 0x00112302, 0x00122380, 0x0011238b, 0x00112394, 0x0011239c, 0x0040bee1, + 0x00200254, 0x00600006, 0x00200044, 0x00102480, 0x0040af0f, 0x0040af4b, + 0x00214d40, 0x00600007, 0x0020043e, 0x008800ff, 0x0070008f, 0x0040af8c, + 0x005000cb, 0x00000000, 0x001124c6, 0x001524c9, 0x001924d0, 0x00122500, + 0x00122503, 0x00162600, 0x00122607, 0x00112680, 0x00112700, 0x00112702, + 0x00122780, 0x0011278b, 0x00112794, 0x0011279c, 0x0040d1e2, 0x002002bb, + 0x00600006, 0x00200044, 0x00102880, 0x001128c6, 0x001528c9, 0x001928d0, + 0x00122900, 0x00122903, 0x00162a00, 0x00122a07, 0x00112a80, 0x00112b00, + 0x00112b02, 0x00122b80, 0x00112b8b, 0x00112b94, 0x00112b9c, 0x0040eee3, + 0x00200322, 0x00600006, 0x00200044, 0x00102c80, 0x0040df0f, 0x0040df4b, + 0x00214d40, 0x00600007, 0x0020043e, 0x008800ff, 0x0070008f, 0x0040df8c, + 0x005000cb, 0x00000000, 0x00112cc6, 0x00152cc9, 0x00192cd0, 0x00122d00, + 0x00122d03, 0x00162e00, 0x00122e07, 0x00112e80, 0x00112f00, 0x00112f02, + 0x00122f80, 0x00112f8b, 0x00112f94, 0x00112f9c, 0x004101e4, 0x00200389, + 0x00600006, 0x00200044, 0x00103080, 0x001130c6, 0x001530c9, 0x001930d0, + 0x00123100, 0x00123103, 0x00163200, 0x00123207, 0x00113280, 0x00113300, + 0x00113302, 0x00123380, 0x0011338b, 0x00113394, 0x0011339c, 0x00411ee5, + 0x002003f0, 0x00600006, 0x00200044, 0x00103480, 0x00410f0f, 0x00410f4b, + 0x00214d40, 0x00600007, 0x0020043e, 0x008800ff, 0x0070008f, 0x00410f8c, + 0x005000cb, 0x00000000, 0x001134c6, 0x001534c9, 0x001934d0, 0x00123500, + 0x00123503, 0x00163600, 0x00123607, 0x00113680, 0x00113700, 0x00113702, + 0x00123780, 0x0011378b, 0x00113794, 0x0011379c, 0x00000000, 0x0041250f, + 0x005000cb, 0x00214d40, 0x00600007, 0x0020043e, 0x008800ff, 0x005000cb, + 0x00412887, 0x0060000a, 0x00000000, 0x00413700, 0x007000a0, 0x00700080, + 0x00200480, 0x00600007, 0x00200004, 0x00c000ff, 0x008000ff, 0x005000cb, + 0x00700000, 0x00200000, 0x00600006, 0x00111bfe, 0x0041594d, 0x00700000, + 0x00200000, 0x00600006, 0x00111bfe, 0x00700080, 0x0070001d, 0x0040114d, + 0x00700081, 0x00600004, 0x0050004a, 0x00414388, 0x0060000b, 0x00200000, + 0x00600006, 0x00700000, 0x0041590b, 0x00111bfd, 0x0040424d, 0x00202916, + 0x008000fd, 0x005000cb, 0x00c00002, 0x00200480, 0x00600007, 0x00200160, + 0x00800002, 0x005000cb, 0x00c01802, 0x002027b6, 0x00800002, 0x005000cb, + 0x00404e4d, 0x0060000b, 0x0041574d, 0x00700001, 0x005000cf, 0x00700003, + 0x00415e06, 0x00415f05, 0x0060000d, 0x00700005, 0x0070000d, 0x00700006, + 0x0070000b, 0x0070000e, 0x0070001c, 0x0060000c, ~0 +}; + +static uint32_t nv84_ctxvals[] = { + 0x0043, 0x00000000, + 0x0001, 0x00000030, + 0x0008, 0x00000000, + 0x0001, 0x00000002, + 0x0028, 0x00000000, + 0x0001, 0x00000003, + 0x0001, 0x00001000, + 0x000f, 0x00000000, + 0x0001, 0x0000fe0c, + 0x0004, 0x00000000, + 0x0001, 0x00001000, + 0x000a, 0x00000000, + 0x0001, 0x00000187, + 0x0004, 0x00000000, + 0x0001, 0x00001018, + 0x0001, 0x000000ff, + 0x000e, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x044d00df, + 0x0001, 0x00000000, + 0x0001, 0x00000600, + 0x0005, 0x00000000, + 0x0001, 0x01000000, + 0x0001, 0x000000ff, + 0x0001, 0x00000000, + 0x0001, 0x00000400, + 0x0005, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x000e0080, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000100, + 0x0005, 0x00000000, + 0x0001, 0x00000002, + 0x0002, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x003fffff, + 0x0001, 0x00001fff, + 0x0001, 0x00000000, + 0x0002, 0x00000001, + 0x0001, 0x00000000, + 0x0003, 0x00000001, + 0x0001, 0x00000004, + 0x0003, 0x00000001, + 0x0001, 0x00000007, + 0x0001, 0x00000001, + 0x0001, 0x00000007, + 0x0003, 0x00000001, + 0x0004, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000100, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000100, + 0x0001, 0x00000001, + 0x0001, 0x00000100, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000100, + 0x0004, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000070, + 0x0001, 0x00000080, + 0x0004, 0x00000000, + 0x0001, 0x0000000c, + 0x0001, 0x00000000, + 0x0001, 0x00000008, + 0x0001, 0x00000014, + 0x0001, 0x00000000, + 0x0001, 0x00000029, + 0x0001, 0x00000027, + 0x0001, 0x00000026, + 0x0001, 0x00000008, + 0x0001, 0x00000004, + 0x0001, 0x00000027, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000002, + 0x0001, 0x00000003, + 0x0001, 0x00000004, + 0x0001, 0x00000005, + 0x0001, 0x00000006, + 0x0001, 0x00000007, + 0x0001, 0x00000001, + 0x0010, 0x00000000, + 0x0001, 0x000000cf, + 0x000b, 0x00000000, + 0x0001, 0x00000080, + 0x0002, 0x00000004, + 0x0001, 0x00000003, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000012, + 0x0001, 0x00000010, + 0x0001, 0x0000000c, + 0x0001, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000002, + 0x0001, 0x00000004, + 0x0002, 0x00000000, + 0x0001, 0x003fffff, + 0x0001, 0x00001fff, + 0x0009, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000014, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000002, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00001000, + 0x0001, 0x00000e00, + 0x0001, 0x00001000, + 0x0001, 0x00001e00, + 0x0001, 0x00000000, + 0x0005, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x00000200, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000070, + 0x0001, 0x00000080, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000070, + 0x0001, 0x00000080, + 0x0003, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x000000cf, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x000000cf, + 0x0001, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0002, 0x000000cf, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000f80, + 0x0011, 0x00000000, + 0x0001, 0x007f0080, + 0x000e, 0x00000000, + 0x0001, 0x007f0080, + 0x0008, 0x00000000, + 0x0001, 0x3b74f821, + 0x0001, 0x89058001, + 0x0001, 0x00000000, + 0x0001, 0x00001000, + 0x0001, 0x0000001f, + 0x0001, 0x027c10fa, + 0x0001, 0x400000c0, + 0x0001, 0xb7892080, + 0x0002, 0x00000000, + 0x0001, 0x3b74f821, + 0x0001, 0x89058001, + 0x0001, 0x00000000, + 0x0001, 0x00001000, + 0x0001, 0x0000001f, + 0x0001, 0x027c10fa, + 0x0001, 0x400000c0, + 0x0001, 0xb7892080, + 0x0002, 0x00000000, + 0x0001, 0x3b74f821, + 0x0001, 0x89058001, + 0x0001, 0x00000000, + 0x0001, 0x00001000, + 0x0001, 0x0000001f, + 0x0001, 0x027c10fa, + 0x0001, 0x400000c0, + 0x0001, 0xb7892080, + 0x0002, 0x00000000, + 0x0001, 0x3b74f821, + 0x0001, 0x89058001, + 0x0001, 0x00000000, + 0x0001, 0x00001000, + 0x0001, 0x0000001f, + 0x0001, 0x027c10fa, + 0x0001, 0x400000c0, + 0x0001, 0xb7892080, + 0x0002, 0x00000000, + 0x0001, 0x00010040, + 0x0001, 0x00000000, + 0x0001, 0x00000022, + 0x0002, 0x00000000, + 0x0001, 0x00010040, + 0x0001, 0x00000022, + 0x0005, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x00880000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x00880000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0009, 0x00000000, + 0x0001, 0x00027070, + 0x0002, 0x00000000, + 0x0001, 0x03ffffff, + 0x0005, 0x00000000, + 0x0001, 0x00120407, + 0x0001, 0x05091507, + 0x0001, 0x05100202, + 0x0001, 0x00030201, + 0x0006, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x0d0c0b0a, + 0x0001, 0x00141210, + 0x0001, 0x000001f0, + 0x0001, 0x00000001, + 0x0001, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00039e00, + 0x0001, 0x00000100, + 0x0001, 0x00003800, + 0x0001, 0x00404040, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x003f7fff, + 0x0003, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x00880000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x00880000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0009, 0x00000000, + 0x0001, 0x00027070, + 0x0002, 0x00000000, + 0x0001, 0x03ffffff, + 0x0005, 0x00000000, + 0x0001, 0x00120407, + 0x0001, 0x05091507, + 0x0001, 0x05100202, + 0x0001, 0x00030201, + 0x0006, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x0d0c0b0a, + 0x0001, 0x00141210, + 0x0001, 0x000001f0, + 0x0001, 0x00000001, + 0x0001, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00039e00, + 0x0001, 0x00000100, + 0x0001, 0x00003800, + 0x0001, 0x00404040, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x003f7fff, + 0x0003, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x00880000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x00880000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0009, 0x00000000, + 0x0001, 0x00027070, + 0x0002, 0x00000000, + 0x0001, 0x03ffffff, + 0x0005, 0x00000000, + 0x0001, 0x00120407, + 0x0001, 0x05091507, + 0x0001, 0x05100202, + 0x0001, 0x00030201, + 0x0006, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x0d0c0b0a, + 0x0001, 0x00141210, + 0x0001, 0x000001f0, + 0x0001, 0x00000001, + 0x0001, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00039e00, + 0x0001, 0x00000100, + 0x0001, 0x00003800, + 0x0001, 0x00404040, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x003f7fff, + 0x0003, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x00880000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x00880000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0009, 0x00000000, + 0x0001, 0x00027070, + 0x0002, 0x00000000, + 0x0001, 0x03ffffff, + 0x0005, 0x00000000, + 0x0001, 0x00120407, + 0x0001, 0x05091507, + 0x0001, 0x05100202, + 0x0001, 0x00030201, + 0x0006, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x0d0c0b0a, + 0x0001, 0x00141210, + 0x0001, 0x000001f0, + 0x0001, 0x00000001, + 0x0001, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00039e00, + 0x0001, 0x00000100, + 0x0001, 0x00003800, + 0x0001, 0x00404040, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x003f7fff, + 0x0003, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x00880000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x00880000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0009, 0x00000000, + 0x0001, 0x00027070, + 0x0002, 0x00000000, + 0x0001, 0x03ffffff, + 0x0005, 0x00000000, + 0x0001, 0x00120407, + 0x0001, 0x05091507, + 0x0001, 0x05100202, + 0x0001, 0x00030201, + 0x0006, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x0d0c0b0a, + 0x0001, 0x00141210, + 0x0001, 0x000001f0, + 0x0001, 0x00000001, + 0x0001, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00039e00, + 0x0001, 0x00000100, + 0x0001, 0x00003800, + 0x0001, 0x00404040, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x003f7fff, + 0x0003, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x00880000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x00880000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0009, 0x00000000, + 0x0001, 0x00027070, + 0x0002, 0x00000000, + 0x0001, 0x03ffffff, + 0x0005, 0x00000000, + 0x0001, 0x00120407, + 0x0001, 0x05091507, + 0x0001, 0x05100202, + 0x0001, 0x00030201, + 0x0006, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x0d0c0b0a, + 0x0001, 0x00141210, + 0x0001, 0x000001f0, + 0x0001, 0x00000001, + 0x0001, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00039e00, + 0x0001, 0x00000100, + 0x0001, 0x00003800, + 0x0001, 0x00404040, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x003f7fff, + 0x0038, 0x00000000, + 0x0001, 0x00000004, + 0x0014, 0x00000000, + 0x0001, 0x0000000f, + 0x0021, 0x00000000, + 0x0001, 0x00000002, + 0x0005, 0x00000000, + 0x0001, 0x00000020, + 0x0009, 0x00000000, + 0x0001, 0x001ffe67, + 0x0067, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000004, + 0x0004, 0x00000000, + 0x0001, 0x0000001a, + 0x0001, 0x00000000, + 0x0001, 0x00000010, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00608080, + 0x000e, 0x00000000, + 0x0001, 0x00000001, + 0x0018, 0x00000000, + 0x0001, 0x00000004, + 0x0017, 0x00000000, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000c, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0009, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x000007ff, + 0x0001, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0055, 0x00000000, + 0x0001, 0x0000000f, + 0x0049, 0x00000000, + 0x0001, 0x00000010, + 0x0038, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x03020100, + 0x0007, 0x00000000, + 0x0001, 0x00000003, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0026, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000003, + 0x0006, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x00cf, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0067, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000011, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x001ffe67, + 0x000f, 0x00000000, + 0x0001, 0x0fac6881, + 0x00af, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x031f, 0x00000000, + 0x0001, 0x00000002, + 0x000f, 0x00000000, + 0x0001, 0x001ffe67, + 0x0067, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0037, 0x00000000, + 0x0001, 0x00000002, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x0000000f, + 0x0001, 0x00000000, + 0x0001, 0x00000010, + 0x000d, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x009f, 0x00000000, + 0x0001, 0x00000010, + 0x0087, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x00cf, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000d, 0x00000000, + 0x0001, 0x0000000f, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0067, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000011, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x001ffe67, + 0x000f, 0x00000000, + 0x0001, 0x0fac6881, + 0x00af, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0c04, 0x00000000, + 0x0001, 0x00000021, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x2647, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0c78, 0x00000000, + 0x0001, 0x0000000f, + 0x00a7, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x000f, 0x00000000, + 0x0001, 0x00000008, + 0x002f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x000000cf, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000015, + 0x001f, 0x00000000, + 0x0001, 0x04444480, + 0x01df, 0x00000000, + 0x0001, 0x08100c12, + 0x0027, 0x00000000, + 0x0001, 0x00000100, + 0x0017, 0x00000000, + 0x0001, 0x00010001, + 0x000f, 0x00000000, + 0x0001, 0x00010001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00010001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x001a, 0x00000000, + 0x0001, 0x00000004, + 0x0005, 0x00000000, + 0x0001, 0x003fffff, + 0x0001, 0x00000000, + 0x0001, 0x00000003, + 0x0015, 0x00000000, + 0x0001, 0x00001fff, + 0x0077, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x0000000f, + 0x0035, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x0000001a, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0009, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x00ffff00, + 0x0029, 0x00000000, + 0x0001, 0x00000001, + 0x000d, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x0011, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000011, + 0x002d, 0x00000000, + 0x0001, 0x00000004, + 0x0011, 0x00000000, + 0x0001, 0x0fac6881, + 0x0015, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000000, + 0x0001, 0x00000004, + 0x0005, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0011, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x00000005, + 0x0007, 0x00000000, + 0x0001, 0x00000052, + 0x0001, 0x00000000, + 0x0001, 0x000000cf, + 0x0007, 0x00000000, + 0x0001, 0x000000cf, + 0x0007, 0x00000000, + 0x0001, 0x000000cf, + 0x0015, 0x00000000, + 0x0001, 0x00000001, + 0x0041, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000011, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x0fac6881, + 0x0005, 0x00000000, + 0x0001, 0x00000010, + 0x0001, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x001ffe67, + 0x0017, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000004, + 0x002f, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x001d, 0x00000000, + 0x0001, 0x08100c12, + 0x0001, 0x00000000, + 0x0001, 0x00000011, + 0x0005, 0x00000000, + 0x0001, 0x00000005, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x00000001, + 0x0009, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0001, 0x00000000, + 0x0001, 0x000007ff, + 0x0005, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x00000003, + 0x0009, 0x00000000, + 0x0001, 0x00000001, + 0x00dc, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0010, 0x00000000, + 0x0001, 0x00ffff00, + 0x0007, 0x00000000, + 0x0001, 0x0000001a, + 0x000e, 0x00000000, + 0x0001, 0x0fac6881, + 0x0001, 0x00000003, + 0x0049, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0004, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0002, 0x00000000, + 0x0001, 0x00000008, + 0x0004, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0002, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0005, 0x00000000, + 0x0001, 0x00000102, + 0x0001, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x00000300, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x0000000f, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x000007ff, + 0x000f, 0x00000000, + 0x0001, 0x00000102, + 0x0009, 0x00000000, + 0x0001, 0x00000020, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000040, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x00000003, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0019, 0x00000000, + 0x0001, 0x001ffe67, + 0x001f, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x0fac6881, + 0x004f, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00001001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x0000000f, + 0x0045, 0x00000000, + 0x0001, 0x00080c14, + 0x0017, 0x00000000, + 0x0001, 0x00000804, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x08100c12, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000010, + 0x0019, 0x00000000, + 0x0001, 0x001ffe67, + 0x000d, 0x00000000, + 0x0001, 0x00000804, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x0000001a, + 0x0001, 0x00000000, + 0x0001, 0x00000011, + 0x0005, 0x00000000, + 0x0001, 0x0000007f, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000004, + 0x0005, 0x00000000, + 0x0001, 0x00080c14, + 0x0009, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x08100c12, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000010, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x001d, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x08100c12, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x2a712488, + 0x0005, 0x00000000, + 0x0001, 0x000007ff, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x0001, 0x00000000, + 0x0001, 0x4085c000, + 0x0007, 0x00000000, + 0x0001, 0x00000040, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00010100, + 0x0007, 0x00000000, + 0x0001, 0x02800000, + 0x0097, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00ffff00, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00ffff00, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x30201000, + 0x0007, 0x00000000, + 0x0001, 0x70605040, + 0x0007, 0x00000000, + 0x0001, 0xb8a89888, + 0x0007, 0x00000000, + 0x0001, 0xf8e8d8c8, + 0x000f, 0x00000000, + 0x0001, 0x0000001a, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0035, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000010, + 0x0061, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00608080, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x0017, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x00fd, 0x00000000, + 0x0001, 0x00000088, + 0x0007, 0x00000000, + 0x0001, 0x00000088, + 0x0017, 0x00000000, + 0x0001, 0x00000004, + 0x0009, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x03020100, + 0x0007, 0x00000000, + 0x0001, 0x00000003, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000003, + 0x001f, 0x00000000, + 0x0001, 0x00000004, + 0x0035, 0x00000000, + 0x0001, 0x00000026, + 0x0017, 0x00000000, + 0x0001, 0x3f800000, + 0x001f, 0x00000000, + 0x0001, 0x0000001a, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0147, 0x00000000, + 0x0001, 0x00000052, + 0x000f, 0x00000000, + 0x0001, 0x00000026, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x0000001a, + 0x0017, 0x00000000, + 0x0001, 0x00ffff00, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x000f, 0x00000000, + 0x0001, 0x000007ff, + 0x4a17, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000027, + 0x000f, 0x00000000, + 0x0001, 0x00000026, + 0x001f, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0127, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0017, 0x00000000, + 0x0001, 0x0001fe21, + 0x0291, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000003, + 0x008f, 0x00000000, + 0x0001, 0x0000000f, + 0x005f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000001, + 0x002f, 0x00000000, + 0x0001, 0x00000001, + 0x0067, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0017, 0x00000000, + 0x0001, 0x00000004, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x000000cf, + 0x0007, 0x00000000, + 0x0001, 0x000000cf, + 0x0007, 0x00000000, + 0x0001, 0x000000cf, + 0x0057, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x001ffe67, + 0x0017, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000004, + 0x002f, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x000007ff, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0157, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000020, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000040, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x000f, 0x00000000, + 0x0001, 0x00000003, + 0x0027, 0x00000000, + 0x0001, 0x001ffe67, + 0x001f, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x0fac6881, + 0x004f, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00001001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x0000000f, + 0x00bf, 0x00000000, + 0x0001, 0x001ffe67, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0017, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x2a712488, + 0x000f, 0x00000000, + 0x0001, 0x4085c000, + 0x0007, 0x00000000, + 0x0001, 0x00000040, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00010100, + 0x0007, 0x00000000, + 0x0001, 0x02800000, + 0x0097, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00ffff00, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00ffff00, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x30201000, + 0x0007, 0x00000000, + 0x0001, 0x70605040, + 0x0007, 0x00000000, + 0x0001, 0xb8a89888, + 0x0007, 0x00000000, + 0x0001, 0xf8e8d8c8, + 0x000f, 0x00000000, + 0x0001, 0x0000001a, + 0x637b, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000003, + 0x000f, 0x00000000, + 0x0001, 0x08100c12, + 0x000f, 0x00000000, + 0x0001, 0x00080c14, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x0017, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000027, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x1e0f, 0x00000000, + 0x0001, 0x00000001, + 0x00b7, 0x00000000, + 0x0001, 0x08100c12, + 0x0067, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x000f, 0x00000000, + 0x0001, 0x00000080, + 0x001f, 0x00000000, + 0x0001, 0x00000080, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0057, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0047, 0x00000000, + 0x0001, 0x00000004, + 0x001f, 0x00000000, + 0x0001, 0x00000004, + 0x008f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00001001, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0107, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0017, 0x00000000, + 0x0001, 0x00000003, + 0x0027, 0x00000000, + 0x0001, 0x08100c12, + 0x0008, 0x00000000, + 0x0001, 0x00000080, + 0x0006, 0x00000000, + 0x0001, 0x00000080, + 0x0001, 0x80007004, + 0x0006, 0x00000000, + 0x0001, 0x80007004, + 0x0001, 0x04000400, + 0x0006, 0x00000000, + 0x0001, 0x04000400, + 0x0001, 0x00001000, + 0x0006, 0x00000000, + 0x0001, 0x00001000, + 0x0010, 0x00000000, + 0x0001, 0x00000001, + 0x0006, 0x00000000, + 0x0001, 0x00000001, + 0x0010, 0x00000000, + 0x0001, 0x00000001, + 0x0006, 0x00000000, + 0x0001, 0x00000001, + 0x0008, 0x00000000, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000002, + 0x0006, 0x00000000, + 0x0001, 0x00000002, + 0x0058, 0x00000000, + 0x0001, 0x00000080, + 0x0006, 0x00000000, + 0x0001, 0x00000080, + 0x0001, 0x80007004, + 0x0006, 0x00000000, + 0x0001, 0x80007004, + 0x0001, 0x04000400, + 0x0006, 0x00000000, + 0x0001, 0x04000400, + 0x0001, 0x00001000, + 0x0006, 0x00000000, + 0x0001, 0x00001000, + 0x0010, 0x00000000, + 0x0001, 0x00000001, + 0x0006, 0x00000000, + 0x0001, 0x00000001, + 0x0010, 0x00000000, + 0x0001, 0x00000001, + 0x0006, 0x00000000, + 0x0001, 0x00000001, + 0x0008, 0x00000000, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000002, + 0x0006, 0x00000000, + 0x0001, 0x00000002, + 0x0050, 0x00000000, + 0x0001, 0x08100c12, + 0x0006, 0x00000000, + 0x0001, 0x08100c12, + 0x0030, 0x00000000, + 0x0001, 0x0000ffff, + 0x0006, 0x00000000, + 0x0002, 0x0000ffff, + 0x0006, 0x00000000, + 0x0002, 0x0000ffff, + 0x0006, 0x00000000, + 0x0002, 0x0000ffff, + 0x0006, 0x00000000, + 0x0001, 0x0000ffff, + 0x0001, 0x00000001, + 0x0006, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00010001, + 0x0006, 0x00000000, + 0x0002, 0x00010001, + 0x0006, 0x00000000, + 0x0001, 0x00010001, + 0x0001, 0x00000001, + 0x0006, 0x00000000, + 0x0001, 0x00000001, + 0x0008, 0x00000000, + 0x0001, 0x0001fe21, + 0x0006, 0x00000000, + 0x0001, 0x0001fe21, + 0x0028, 0x00000000, + 0x0001, 0x08100c12, + 0x0006, 0x00000000, + 0x0001, 0x08100c12, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x00000004, + 0x0008, 0x00000000, + 0x0001, 0x00000002, + 0x0006, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000011, + 0x0006, 0x00000000, + 0x0001, 0x00000011, + 0x0040, 0x00000000, + 0x0001, 0x0fac6881, + 0x0006, 0x00000000, + 0x0001, 0x0fac6881, + 0x0020, 0x00000000, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x00000004, + 0x0048, 0x00000000, + 0x0001, 0x00000002, + 0x0006, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000001, + 0x0006, 0x00000000, + 0x0002, 0x00000001, + 0x0006, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000002, + 0x0006, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000001, + 0x0006, 0x00000000, + 0x0002, 0x00000001, + 0x0006, 0x00000000, + 0x0002, 0x00000001, + 0x0006, 0x00000000, + 0x0001, 0x00000001, + 0x0008, 0x00000000, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x00000004, + 0x1d10, 0x00000000, + 0x0001, 0x00000011, + 0x0006, 0x00000000, + 0x0001, 0x00000011, + 0x0008, 0x00000000, + 0x0001, 0x00000001, + 0x0006, 0x00000000, + 0x0001, 0x00000001, + 0x0000 +}; + +static uint32_t nv86_ctxprog[] = { + 0x0070008e, 0x0070009c, 0x00200020, 0x00600008, 0x0050004c, 0x00400e89, + 0x00200000, 0x00600007, 0x00300000, 0x00c000ff, 0x00200000, 0x008000ff, + 0x00700009, 0x0040dd4d, 0x00402944, 0x00402905, 0x0040290d, 0x0040b906, + 0x00600005, 0x004015c5, 0x00600011, 0x0040270b, 0x004021c5, 0x00700000, + 0x00700081, 0x00600004, 0x0050004a, 0x00216d80, 0x00600007, 0x00c02801, + 0x0020002e, 0x00800001, 0x005000cb, 0x0090ffff, 0x0091ffff, 0x00200020, + 0x00600008, 0x0050004c, 0x00600009, 0x0040b945, 0x0040d44d, 0x0070009d, + 0x00402dcf, 0x0070009f, 0x0050009f, 0x00402ac0, 0x00200200, 0x00600008, + 0x00402a4f, 0x00402ac0, 0x004030cc, 0x00700081, 0x00200000, 0x00600006, + 0x00700000, 0x00111bfc, 0x00700083, 0x00300000, 0x00216d80, 0x00600007, + 0x00c00b01, 0x0020001e, 0x00800001, 0x005000cb, 0x00c000ff, 0x00700080, + 0x00700083, 0x00200047, 0x00600006, 0x0011020a, 0x00200280, 0x00600007, + 0x00300000, 0x00c000ff, 0x00c800ff, 0x0040c407, 0x00202916, 0x008000ff, + 0x0040508c, 0x005000cb, 0x00a0023f, 0x00200040, 0x00600006, 0x0070000f, + 0x00170202, 0x0011020a, 0x00200032, 0x0010020d, 0x001c0242, 0x00120302, + 0x00140402, 0x00180500, 0x00130509, 0x00150550, 0x00110605, 0x0020000f, + 0x00100607, 0x00110700, 0x00110900, 0x00120902, 0x00110a00, 0x00160b02, + 0x00120b28, 0x00140b2b, 0x00110c01, 0x00111400, 0x00111405, 0x00111407, + 0x00111409, 0x0011140b, 0x002000cb, 0x00101500, 0x0040790f, 0x0040794b, + 0x00214b40, 0x00600007, 0x00200442, 0x008800ff, 0x0070008f, 0x0040798c, + 0x005000cb, 0x00000000, 0x0020002b, 0x00101a05, 0x00131c00, 0x00121c04, + 0x00141c20, 0x00111c25, 0x00131c40, 0x00121c44, 0x00141c60, 0x00111c65, + 0x00131f00, 0x00191f40, 0x004099e0, 0x002001d9, 0x00600006, 0x00200044, + 0x00102080, 0x001120c6, 0x001520c9, 0x001920d0, 0x00122100, 0x00122103, + 0x00162200, 0x00122207, 0x00112280, 0x00112300, 0x00112302, 0x00122380, + 0x0011238b, 0x00112394, 0x0011239c, 0x00000000, 0x0040a00f, 0x005000cb, + 0x00214b40, 0x00600007, 0x00200442, 0x008800ff, 0x005000cb, 0x0040a387, + 0x0060000a, 0x00000000, 0x0040b200, 0x007000a0, 0x00700080, 0x00200280, + 0x00600007, 0x00200004, 0x00c000ff, 0x008000ff, 0x005000cb, 0x00700000, + 0x00200000, 0x00600006, 0x00111bfe, 0x0040d44d, 0x00700000, 0x00200000, + 0x00600006, 0x00111bfe, 0x00700080, 0x0070001d, 0x0040114d, 0x00700081, + 0x00600004, 0x0050004a, 0x0040be88, 0x0060000b, 0x00200000, 0x00600006, + 0x00700000, 0x0040d40b, 0x00111bfd, 0x0040424d, 0x00202916, 0x008000fd, + 0x005000cb, 0x00c00002, 0x00200280, 0x00600007, 0x00200160, 0x00800002, + 0x005000cb, 0x00c01802, 0x002027b6, 0x00800002, 0x005000cb, 0x00404e4d, + 0x0060000b, 0x0040d24d, 0x00700001, 0x00700003, 0x0040d806, 0x0040d905, + 0x0060000d, 0x00700005, 0x0070000d, 0x00700006, 0x0070000b, 0x0070000e, + 0x0060000c, ~0 +}; + +static uint32_t nv86_ctxvals[] = { + 0x0043, 0x00000000, + 0x0001, 0x00000030, + 0x0031, 0x00000000, + 0x0001, 0x00000003, + 0x0001, 0x00001000, + 0x000f, 0x00000000, + 0x0001, 0x0000fe0c, + 0x0004, 0x00000000, + 0x0001, 0x00001000, + 0x000a, 0x00000000, + 0x0001, 0x00000187, + 0x0004, 0x00000000, + 0x0001, 0x00001018, + 0x0001, 0x000000ff, + 0x000e, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x044d00df, + 0x0001, 0x00000000, + 0x0001, 0x00000600, + 0x0005, 0x00000000, + 0x0001, 0x01000000, + 0x0001, 0x000000ff, + 0x0001, 0x00000000, + 0x0001, 0x00000400, + 0x0005, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000080, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000100, + 0x0005, 0x00000000, + 0x0001, 0x00000002, + 0x0002, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x003fffff, + 0x0001, 0x00001fff, + 0x0001, 0x00000000, + 0x0002, 0x00000001, + 0x0001, 0x00000000, + 0x0003, 0x00000001, + 0x0001, 0x00000004, + 0x0003, 0x00000001, + 0x0001, 0x00000007, + 0x0001, 0x00000001, + 0x0001, 0x00000007, + 0x0003, 0x00000001, + 0x0004, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000100, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000100, + 0x0001, 0x00000001, + 0x0001, 0x00000100, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000100, + 0x0004, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000070, + 0x0001, 0x00000080, + 0x0004, 0x00000000, + 0x0001, 0x0000000c, + 0x0001, 0x00000000, + 0x0001, 0x00000008, + 0x0001, 0x00000014, + 0x0001, 0x00000000, + 0x0001, 0x00000029, + 0x0001, 0x00000027, + 0x0001, 0x00000026, + 0x0001, 0x00000008, + 0x0001, 0x00000004, + 0x0001, 0x00000027, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000002, + 0x0001, 0x00000003, + 0x0001, 0x00000004, + 0x0001, 0x00000005, + 0x0001, 0x00000006, + 0x0001, 0x00000007, + 0x0001, 0x00000001, + 0x0010, 0x00000000, + 0x0001, 0x000000cf, + 0x000b, 0x00000000, + 0x0001, 0x00000080, + 0x0002, 0x00000004, + 0x0001, 0x00000003, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000012, + 0x0001, 0x00000010, + 0x0001, 0x0000000c, + 0x0001, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000002, + 0x0001, 0x00000004, + 0x0002, 0x00000000, + 0x0001, 0x003fffff, + 0x0001, 0x00001fff, + 0x0009, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000014, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000002, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00001000, + 0x0001, 0x00000e00, + 0x0001, 0x00001000, + 0x0001, 0x00001e00, + 0x0001, 0x00000000, + 0x0005, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x00000200, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000070, + 0x0001, 0x00000080, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000070, + 0x0001, 0x00000080, + 0x0003, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x000000cf, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x000000cf, + 0x0001, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0002, 0x000000cf, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000f80, + 0x0011, 0x00000000, + 0x0001, 0x007f0080, + 0x000e, 0x00000000, + 0x0001, 0x007f0080, + 0x0008, 0x00000000, + 0x0001, 0x3b74f821, + 0x0001, 0x89058001, + 0x0001, 0x00000000, + 0x0001, 0x00001000, + 0x0001, 0x0000001f, + 0x0001, 0x027c10fa, + 0x0001, 0x400000c0, + 0x0001, 0xb7892080, + 0x0002, 0x00000000, + 0x0001, 0x3b74f821, + 0x0001, 0x89058001, + 0x0001, 0x00000000, + 0x0001, 0x00001000, + 0x0001, 0x0000001f, + 0x0001, 0x027c10fa, + 0x0001, 0x400000c0, + 0x0001, 0xb7892080, + 0x0002, 0x00000000, + 0x0001, 0x00010040, + 0x0001, 0x00000000, + 0x0001, 0x00000022, + 0x0002, 0x00000000, + 0x0001, 0x00010040, + 0x0001, 0x00000022, + 0x0005, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x008c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x008c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0009, 0x00000000, + 0x0001, 0x00027070, + 0x0002, 0x00000000, + 0x0001, 0x03ffffff, + 0x0005, 0x00000000, + 0x0001, 0x00120407, + 0x0001, 0x05091507, + 0x0001, 0x05010202, + 0x0001, 0x00030201, + 0x0006, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x0d0c0b0a, + 0x0001, 0x00141210, + 0x0001, 0x000001f0, + 0x0001, 0x00000001, + 0x0001, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00039e00, + 0x0001, 0x00000100, + 0x0001, 0x00003800, + 0x0001, 0x00404040, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x003f7fff, + 0x004f, 0x00000000, + 0x0001, 0x00000004, + 0x0014, 0x00000000, + 0x0001, 0x0000000f, + 0x0021, 0x00000000, + 0x0001, 0x00000002, + 0x0005, 0x00000000, + 0x0001, 0x00000020, + 0x0009, 0x00000000, + 0x0001, 0x001ffe67, + 0x0067, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000004, + 0x0004, 0x00000000, + 0x0001, 0x0000001a, + 0x0001, 0x00000000, + 0x0001, 0x00000010, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00608080, + 0x000e, 0x00000000, + 0x0001, 0x00000001, + 0x0018, 0x00000000, + 0x0001, 0x00000004, + 0x000e, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x00000300, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x00001001, + 0x0001, 0x00000080, + 0x0006, 0x00000000, + 0x0001, 0x00000015, + 0x0001, 0x00001e00, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0004, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0001, 0x00000000, + 0x0001, 0x00000002, + 0x000d, 0x00000000, + 0x0001, 0x000007ff, + 0x0039, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0015, 0x00000000, + 0x0001, 0x0000000f, + 0x0089, 0x00000000, + 0x0001, 0x00000010, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x03020100, + 0x0007, 0x00000000, + 0x0001, 0x00000003, + 0x0007, 0x00000000, + 0x0001, 0x00001e00, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000003, + 0x001f, 0x00000000, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x00cf, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0067, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000011, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x001ffe67, + 0x000f, 0x00000000, + 0x0001, 0x0fac6881, + 0x00af, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x031f, 0x00000000, + 0x0001, 0x00000002, + 0x000f, 0x00000000, + 0x0001, 0x001ffe67, + 0x0067, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00001001, + 0x0005, 0x00000000, + 0x0001, 0x0000000f, + 0x0001, 0x00000000, + 0x0001, 0x00000015, + 0x000d, 0x00000000, + 0x0001, 0x00000001, + 0x0021, 0x00000000, + 0x0001, 0x00000002, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x009f, 0x00000000, + 0x0001, 0x00000010, + 0x0087, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x00b5, 0x00000000, + 0x0001, 0x0000000f, + 0x0019, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0067, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000011, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x001ffe67, + 0x000f, 0x00000000, + 0x0001, 0x0fac6881, + 0x00af, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0b84, 0x00000000, + 0x0001, 0x00000021, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x2647, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0c78, 0x00000000, + 0x0001, 0x0000000f, + 0x00a7, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x000f, 0x00000000, + 0x0001, 0x00000008, + 0x002f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x000000cf, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000015, + 0x001f, 0x00000000, + 0x0001, 0x04444480, + 0x01df, 0x00000000, + 0x0001, 0x08100c12, + 0x0027, 0x00000000, + 0x0001, 0x00000100, + 0x0017, 0x00000000, + 0x0001, 0x00010001, + 0x000f, 0x00000000, + 0x0001, 0x00010001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00010001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x003fffff, + 0x0017, 0x00000000, + 0x0001, 0x00001fff, + 0x0011, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000003, + 0x005d, 0x00000000, + 0x0001, 0x3f800000, + 0x0031, 0x00000000, + 0x0001, 0x0000000f, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x0000001a, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0039, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x003d, 0x00000000, + 0x0001, 0x00ffff00, + 0x0009, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000001, + 0x000d, 0x00000000, + 0x0001, 0x0000000f, + 0x0021, 0x00000000, + 0x0001, 0x00000001, + 0x001d, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x0041, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000d, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x00000011, + 0x0025, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0009, 0x00000000, + 0x0001, 0x0fac6881, + 0x0015, 0x00000000, + 0x0001, 0x00000005, + 0x0001, 0x00000000, + 0x0001, 0x00000004, + 0x0005, 0x00000000, + 0x0001, 0x00000052, + 0x0019, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x00000001, + 0x0009, 0x00000000, + 0x0001, 0x000000cf, + 0x0007, 0x00000000, + 0x0001, 0x000000cf, + 0x0007, 0x00000000, + 0x0001, 0x000000cf, + 0x003c, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0012, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0004, 0x00000000, + 0x0001, 0x0fac6881, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000002, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0004, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0004, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0001, 0x00000011, + 0x0005, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0029, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x001ffe67, + 0x0017, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000004, + 0x002f, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000011, + 0x002d, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000005, + 0x0009, 0x00000000, + 0x0001, 0x0fac6881, + 0x000d, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x0000ffff, + 0x0001, 0x00000000, + 0x0001, 0x00000011, + 0x0005, 0x00000000, + 0x0001, 0x0000ffff, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x00000003, + 0x0009, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x000007ff, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x00c5, 0x00000000, + 0x0001, 0x00ffff00, + 0x0007, 0x00000000, + 0x0001, 0x0000001a, + 0x000f, 0x00000000, + 0x0001, 0x00000003, + 0x0079, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0005, 0x00000000, + 0x0001, 0x00000102, + 0x0001, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x00000300, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x00000300, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x00000300, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x00000300, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x00000300, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0005, 0x00000000, + 0x0001, 0x000007ff, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x0000000f, + 0x0005, 0x00000000, + 0x0001, 0x00000102, + 0x0039, 0x00000000, + 0x0001, 0x00000020, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0009, 0x00000000, + 0x0001, 0x00000040, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x000f, 0x00000000, + 0x0001, 0x00000003, + 0x0027, 0x00000000, + 0x0001, 0x001ffe67, + 0x001f, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x0fac6881, + 0x004f, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00001001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x0000000f, + 0x0015, 0x00000000, + 0x0001, 0x00080c14, + 0x0017, 0x00000000, + 0x0001, 0x00000804, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x08100c12, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000010, + 0x0027, 0x00000000, + 0x0001, 0x00000804, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x0000001a, + 0x0007, 0x00000000, + 0x0001, 0x0000007f, + 0x0009, 0x00000000, + 0x0001, 0x001ffe67, + 0x0005, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x000f, 0x00000000, + 0x0001, 0x08100c12, + 0x0001, 0x00000000, + 0x0001, 0x00000011, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0009, 0x00000000, + 0x0001, 0x00000004, + 0x0005, 0x00000000, + 0x0001, 0x00000010, + 0x0009, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000d, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x08100c12, + 0x0009, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000001, + 0x0005, 0x00000000, + 0x0001, 0x000007ff, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x2a712488, + 0x000f, 0x00000000, + 0x0001, 0x4085c000, + 0x0007, 0x00000000, + 0x0001, 0x00000040, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00010100, + 0x0007, 0x00000000, + 0x0001, 0x02800000, + 0x0097, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00ffff00, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00ffff00, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x30201000, + 0x0007, 0x00000000, + 0x0001, 0x70605040, + 0x0007, 0x00000000, + 0x0001, 0xb8a89888, + 0x0007, 0x00000000, + 0x0001, 0xf8e8d8c8, + 0x000f, 0x00000000, + 0x0001, 0x0000001a, + 0x0015, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000010, + 0x01c7, 0x00000000, + 0x0001, 0x00000088, + 0x0007, 0x00000000, + 0x0001, 0x00000088, + 0x0017, 0x00000000, + 0x0001, 0x00000004, + 0x00b7, 0x00000000, + 0x0001, 0x00000026, + 0x0017, 0x00000000, + 0x0001, 0x3f800000, + 0x001f, 0x00000000, + 0x0001, 0x0000001a, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0147, 0x00000000, + 0x0001, 0x00000052, + 0x000f, 0x00000000, + 0x0001, 0x00000026, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x0000001a, + 0x0017, 0x00000000, + 0x0001, 0x00ffff00, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x000f, 0x00000000, + 0x0001, 0x000007ff, + 0x2a17, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000027, + 0x000f, 0x00000000, + 0x0001, 0x00000026, + 0x001f, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0127, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0017, 0x00000000, + 0x0001, 0x0001fe21, + 0x933d, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000003, + 0x000f, 0x00000000, + 0x0001, 0x08100c12, + 0x000f, 0x00000000, + 0x0001, 0x00080c14, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x0017, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000027, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x1e0f, 0x00000000, + 0x0001, 0x00000001, + 0x00b7, 0x00000000, + 0x0001, 0x08100c12, + 0x0067, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x000f, 0x00000000, + 0x0001, 0x00000080, + 0x001f, 0x00000000, + 0x0001, 0x00000080, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0057, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0047, 0x00000000, + 0x0001, 0x00000004, + 0x001f, 0x00000000, + 0x0001, 0x00000004, + 0x008f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00001001, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0107, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0017, 0x00000000, + 0x0001, 0x00000003, + 0x0000 +}; + +static uint32_t nv92_ctxprog[] = { + 0x0070008E, 0x0070009C, 0x00200020, 0x00600008, 0x0050004C, 0x00400E89, + 0x00200000, 0x00600007, 0x00300000, 0x00C000FF, 0x00200000, 0x008000FF, + 0x00700009, 0x0041924D, 0x00402944, 0x00402905, 0x0040290D, 0x00416E06, + 0x00600005, 0x004015C5, 0x00600011, 0x0040270B, 0x004021C5, 0x00700000, + 0x00700081, 0x00600004, 0x0050004A, 0x00219600, 0x00600007, 0x00C02701, + 0x0020002E, 0x00800001, 0x005000CB, 0x0090FFFF, 0x0091FFFF, 0x00200020, + 0x00600008, 0x0050004C, 0x00600009, 0x00416E45, 0x0041894D, 0x0070009D, + 0x00402DCF, 0x0070009F, 0x0050009F, 0x00402AC0, 0x00200080, 0x00600008, + 0x00402A4F, 0x00402AC0, 0x004030CC, 0x00700081, 0x00200000, 0x00600006, + 0x00700000, 0x00111BFC, 0x00700083, 0x00300000, 0x00219600, 0x00600007, + 0x00C00A01, 0x0020001E, 0x00800001, 0x005000CB, 0x00C000FF, 0x00700080, + 0x00700083, 0x00200047, 0x00600006, 0x0011020A, 0x00200540, 0x00600007, + 0x00300000, 0x00C000FF, 0x00C800FF, 0x00417907, 0x00202DD2, 0x008000FF, + 0x0040508C, 0x005000CB, 0x00A0023F, 0x00200040, 0x00600006, 0x0070000F, + 0x00170202, 0x0011020A, 0x00200032, 0x0010020D, 0x001C0242, 0x00120302, + 0x00140402, 0x00180500, 0x00130509, 0x00150550, 0x00110605, 0x0020000F, + 0x00100607, 0x00110700, 0x00110900, 0x00120902, 0x00110A00, 0x00160B02, + 0x00120B28, 0x00140B2B, 0x00110C01, 0x00111400, 0x00111405, 0x00111407, + 0x00111409, 0x0011140B, 0x002000CB, 0x00101500, 0x0040790F, 0x0040794B, + 0x00217400, 0x00600007, 0x0020043E, 0x008800FF, 0x0070008F, 0x0040798C, + 0x005000CB, 0x00000000, 0x00141A05, 0x00131A0C, 0x00131C00, 0x00121C04, + 0x00141C20, 0x00111C25, 0x00131C40, 0x00121C44, 0x00141C60, 0x00111C65, + 0x00131C80, 0x00121C84, 0x00141CA0, 0x00111CA5, 0x00131CC0, 0x00121CC4, + 0x00141CE0, 0x00111CE5, 0x00131F00, 0x00191F40, 0x0040A1E0, 0x002001C9, + 0x00600006, 0x00200044, 0x00102080, 0x001120C6, 0x001520C9, 0x001920D0, + 0x00122100, 0x00122103, 0x00162200, 0x00122207, 0x00112280, 0x00112300, + 0x00112302, 0x00122380, 0x0011238B, 0x00112394, 0x0011239C, 0x0040BEE1, + 0x00200230, 0x00600006, 0x00200044, 0x00102480, 0x0040AF0F, 0x0040AF4B, + 0x00217400, 0x00600007, 0x0020043E, 0x008800FF, 0x0070008F, 0x0040AF8C, + 0x005000CB, 0x00000000, 0x001124C6, 0x001524C9, 0x001924D0, 0x00122500, + 0x00122503, 0x00162600, 0x00122607, 0x00112680, 0x00112700, 0x00112702, + 0x00122780, 0x0011278B, 0x00112794, 0x0011279C, 0x0040D1E2, 0x00200297, + 0x00600006, 0x00200044, 0x00102880, 0x001128C6, 0x001528C9, 0x001928D0, + 0x00122900, 0x00122903, 0x00162A00, 0x00122A07, 0x00112A80, 0x00112B00, + 0x00112B02, 0x00122B80, 0x00112B8B, 0x00112B94, 0x00112B9C, 0x0040EEE3, + 0x002002FE, 0x00600006, 0x00200044, 0x00102C80, 0x0040DF0F, 0x0040DF4B, + 0x00217400, 0x00600007, 0x0020043E, 0x008800FF, 0x0070008F, 0x0040DF8C, + 0x005000CB, 0x00000000, 0x00112CC6, 0x00152CC9, 0x00192CD0, 0x00122D00, + 0x00122D03, 0x00162E00, 0x00122E07, 0x00112E80, 0x00112F00, 0x00112F02, + 0x00122F80, 0x00112F8B, 0x00112F94, 0x00112F9C, 0x004101E4, 0x00200365, + 0x00600006, 0x00200044, 0x00103080, 0x001130C6, 0x001530C9, 0x001930D0, + 0x00123100, 0x00123103, 0x00163200, 0x00123207, 0x00113280, 0x00113300, + 0x00113302, 0x00123380, 0x0011338B, 0x00113394, 0x0011339C, 0x00411EE5, + 0x002003CC, 0x00600006, 0x00200044, 0x00103480, 0x00410F0F, 0x00410F4B, + 0x00217400, 0x00600007, 0x0020043E, 0x008800FF, 0x0070008F, 0x00410F8C, + 0x005000CB, 0x00000000, 0x001134C6, 0x001534C9, 0x001934D0, 0x00123500, + 0x00123503, 0x00163600, 0x00123607, 0x00113680, 0x00113700, 0x00113702, + 0x00123780, 0x0011378B, 0x00113794, 0x0011379C, 0x004131E6, 0x00200433, + 0x00600006, 0x00200044, 0x00103880, 0x001138C6, 0x001538C9, 0x001938D0, + 0x00123900, 0x00123903, 0x00163A00, 0x00123A07, 0x00113A80, 0x00113B00, + 0x00113B02, 0x00123B80, 0x00113B8B, 0x00113B94, 0x00113B9C, 0x00414EE7, + 0x0020049A, 0x00600006, 0x00200044, 0x00103C80, 0x00413F0F, 0x00413F4B, + 0x00217400, 0x00600007, 0x0020043E, 0x008800FF, 0x0070008F, 0x00413F8C, + 0x005000CB, 0x00000000, 0x00113CC6, 0x00153CC9, 0x00193CD0, 0x00123D00, + 0x00123D03, 0x00163E00, 0x00123E07, 0x00113E80, 0x00113F00, 0x00113F02, + 0x00123F80, 0x00113F8B, 0x00113F94, 0x00113F9C, 0x00000000, 0x0041550F, + 0x005000CB, 0x00217400, 0x00600007, 0x0020043E, 0x008800FF, 0x005000CB, + 0x00415887, 0x0060000A, 0x00000000, 0x00416700, 0x007000A0, 0x00700080, + 0x00200540, 0x00600007, 0x00200004, 0x00C000FF, 0x008000FF, 0x005000CB, + 0x00700000, 0x00200000, 0x00600006, 0x00111BFE, 0x0041894D, 0x00700000, + 0x00200000, 0x00600006, 0x00111BFE, 0x00700080, 0x0070001D, 0x0040114D, + 0x00700081, 0x00600004, 0x0050004A, 0x00417388, 0x0060000B, 0x00200000, + 0x00600006, 0x00700000, 0x0041890B, 0x00111BFD, 0x0040424D, 0x00202DD2, + 0x008000FD, 0x005000CB, 0x00C00002, 0x00200540, 0x00600007, 0x00200160, + 0x00800002, 0x005000CB, 0x00C01802, 0x00202C72, 0x00800002, 0x005000CB, + 0x00404E4D, 0x0060000B, 0x0041874D, 0x00700001, 0x00700003, 0x00418D06, + 0x00418E05, 0x0060000D, 0x00700005, 0x0070000D, 0x00700006, 0x0070000B, + 0x0070000E, 0x0070001C, 0x0060000C, ~0 +}; + +static uint32_t nv92_ctxvals[] = { + 0x0043, 0x00000000, + 0x0001, 0x00000030, + 0x0031, 0x00000000, + 0x0001, 0x00000003, + 0x0001, 0x00001000, + 0x000f, 0x00000000, + 0x0001, 0x0000fe0c, + 0x0004, 0x00000000, + 0x0001, 0x00001000, + 0x000a, 0x00000000, + 0x0001, 0x00000187, + 0x0004, 0x00000000, + 0x0001, 0x00001018, + 0x0001, 0x000000ff, + 0x000e, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x042500df, + 0x0001, 0x00000000, + 0x0001, 0x00000600, + 0x0005, 0x00000000, + 0x0001, 0x01000000, + 0x0001, 0x000000ff, + 0x0001, 0x00000000, + 0x0001, 0x00000400, + 0x0005, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000080, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000100, + 0x0005, 0x00000000, + 0x0001, 0x00000002, + 0x0002, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x003fffff, + 0x0001, 0x00001fff, + 0x0001, 0x00000000, + 0x0002, 0x00000001, + 0x0001, 0x00000000, + 0x0003, 0x00000001, + 0x0001, 0x00000004, + 0x0003, 0x00000001, + 0x0001, 0x00000007, + 0x0001, 0x00000001, + 0x0001, 0x00000007, + 0x0003, 0x00000001, + 0x0004, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000100, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000100, + 0x0001, 0x00000001, + 0x0001, 0x00000100, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000100, + 0x0004, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000070, + 0x0001, 0x00000080, + 0x0004, 0x00000000, + 0x0001, 0x0000000c, + 0x0001, 0x00000000, + 0x0001, 0x00000008, + 0x0001, 0x00000014, + 0x0001, 0x00000000, + 0x0001, 0x00000029, + 0x0001, 0x00000027, + 0x0001, 0x00000026, + 0x0001, 0x00000008, + 0x0001, 0x00000004, + 0x0001, 0x00000027, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000002, + 0x0001, 0x00000003, + 0x0001, 0x00000004, + 0x0001, 0x00000005, + 0x0001, 0x00000006, + 0x0001, 0x00000007, + 0x0001, 0x00000001, + 0x0010, 0x00000000, + 0x0001, 0x000000cf, + 0x000b, 0x00000000, + 0x0001, 0x00000080, + 0x0002, 0x00000004, + 0x0001, 0x00000003, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000012, + 0x0001, 0x00000010, + 0x0001, 0x0000000c, + 0x0001, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000002, + 0x0001, 0x00000004, + 0x0002, 0x00000000, + 0x0001, 0x003fffff, + 0x0001, 0x00001fff, + 0x0009, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000014, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000002, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00001000, + 0x0001, 0x00000e00, + 0x0001, 0x00001000, + 0x0001, 0x00001e00, + 0x0001, 0x00000000, + 0x0005, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x00000200, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000070, + 0x0001, 0x00000080, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000070, + 0x0001, 0x00000080, + 0x0003, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x000000cf, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x000000cf, + 0x0001, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0002, 0x000000cf, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00001f80, + 0x0005, 0x00000000, + 0x0001, 0x3b74f821, + 0x0001, 0x89058001, + 0x0001, 0x00000000, + 0x0001, 0x00001000, + 0x0001, 0x0000001f, + 0x0001, 0x027c10fa, + 0x0001, 0x400000c0, + 0x0001, 0xb7892080, + 0x0002, 0x00000000, + 0x0001, 0x3b74f821, + 0x0001, 0x89058001, + 0x0001, 0x00000000, + 0x0001, 0x00001000, + 0x0001, 0x0000001f, + 0x0001, 0x027c10fa, + 0x0001, 0x400000c0, + 0x0001, 0xb7892080, + 0x0002, 0x00000000, + 0x0001, 0x3b74f821, + 0x0001, 0x89058001, + 0x0001, 0x00000000, + 0x0001, 0x00001000, + 0x0001, 0x0000001f, + 0x0001, 0x027c10fa, + 0x0001, 0x400000c0, + 0x0001, 0xb7892080, + 0x0002, 0x00000000, + 0x0001, 0x3b74f821, + 0x0001, 0x89058001, + 0x0001, 0x00000000, + 0x0001, 0x00001000, + 0x0001, 0x0000001f, + 0x0001, 0x027c10fa, + 0x0001, 0x400000c0, + 0x0001, 0xb7892080, + 0x0002, 0x00000000, + 0x0001, 0x00390040, + 0x0001, 0x00000000, + 0x0001, 0x00000022, + 0x0002, 0x00000000, + 0x0001, 0x00390040, + 0x0001, 0x00000022, + 0x0005, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0009, 0x00000000, + 0x0001, 0x00027070, + 0x0002, 0x00000000, + 0x0001, 0x03ffffff, + 0x0005, 0x00000000, + 0x0001, 0x00120407, + 0x0001, 0x05091507, + 0x0001, 0x05010202, + 0x0001, 0x00030201, + 0x0006, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x0d0c0b0a, + 0x0001, 0x00141210, + 0x0001, 0x000001f0, + 0x0001, 0x00000001, + 0x0001, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00039e00, + 0x0001, 0x00000100, + 0x0001, 0x00003800, + 0x0001, 0x00404040, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x003f7fff, + 0x0003, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0009, 0x00000000, + 0x0001, 0x00027070, + 0x0002, 0x00000000, + 0x0001, 0x03ffffff, + 0x0005, 0x00000000, + 0x0001, 0x00120407, + 0x0001, 0x05091507, + 0x0001, 0x05010202, + 0x0001, 0x00030201, + 0x0006, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x0d0c0b0a, + 0x0001, 0x00141210, + 0x0001, 0x000001f0, + 0x0001, 0x00000001, + 0x0001, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00039e00, + 0x0001, 0x00000100, + 0x0001, 0x00003800, + 0x0001, 0x00404040, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x003f7fff, + 0x0003, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0009, 0x00000000, + 0x0001, 0x00027070, + 0x0002, 0x00000000, + 0x0001, 0x03ffffff, + 0x0005, 0x00000000, + 0x0001, 0x00120407, + 0x0001, 0x05091507, + 0x0001, 0x05010202, + 0x0001, 0x00030201, + 0x0006, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x0d0c0b0a, + 0x0001, 0x00141210, + 0x0001, 0x000001f0, + 0x0001, 0x00000001, + 0x0001, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00039e00, + 0x0001, 0x00000100, + 0x0001, 0x00003800, + 0x0001, 0x00404040, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x003f7fff, + 0x0003, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0009, 0x00000000, + 0x0001, 0x00027070, + 0x0002, 0x00000000, + 0x0001, 0x03ffffff, + 0x0005, 0x00000000, + 0x0001, 0x00120407, + 0x0001, 0x05091507, + 0x0001, 0x05010202, + 0x0001, 0x00030201, + 0x0006, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x0d0c0b0a, + 0x0001, 0x00141210, + 0x0001, 0x000001f0, + 0x0001, 0x00000001, + 0x0001, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00039e00, + 0x0001, 0x00000100, + 0x0001, 0x00003800, + 0x0001, 0x00404040, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x003f7fff, + 0x0003, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0009, 0x00000000, + 0x0001, 0x00027070, + 0x0002, 0x00000000, + 0x0001, 0x03ffffff, + 0x0005, 0x00000000, + 0x0001, 0x00120407, + 0x0001, 0x05091507, + 0x0001, 0x05010202, + 0x0001, 0x00030201, + 0x0006, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x0d0c0b0a, + 0x0001, 0x00141210, + 0x0001, 0x000001f0, + 0x0001, 0x00000001, + 0x0001, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00039e00, + 0x0001, 0x00000100, + 0x0001, 0x00003800, + 0x0001, 0x00404040, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x003f7fff, + 0x0003, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0009, 0x00000000, + 0x0001, 0x00027070, + 0x0002, 0x00000000, + 0x0001, 0x03ffffff, + 0x0005, 0x00000000, + 0x0001, 0x00120407, + 0x0001, 0x05091507, + 0x0001, 0x05010202, + 0x0001, 0x00030201, + 0x0006, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x0d0c0b0a, + 0x0001, 0x00141210, + 0x0001, 0x000001f0, + 0x0001, 0x00000001, + 0x0001, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00039e00, + 0x0001, 0x00000100, + 0x0001, 0x00003800, + 0x0001, 0x00404040, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x003f7fff, + 0x0003, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0009, 0x00000000, + 0x0001, 0x00027070, + 0x0002, 0x00000000, + 0x0001, 0x03ffffff, + 0x0005, 0x00000000, + 0x0001, 0x00120407, + 0x0001, 0x05091507, + 0x0001, 0x05010202, + 0x0001, 0x00030201, + 0x0006, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x0d0c0b0a, + 0x0001, 0x00141210, + 0x0001, 0x000001f0, + 0x0001, 0x00000001, + 0x0001, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00039e00, + 0x0001, 0x00000100, + 0x0001, 0x00003800, + 0x0001, 0x00404040, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x003f7fff, + 0x0003, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0008, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x118c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0009, 0x00000000, + 0x0001, 0x00027070, + 0x0002, 0x00000000, + 0x0001, 0x03ffffff, + 0x0005, 0x00000000, + 0x0001, 0x00120407, + 0x0001, 0x05091507, + 0x0001, 0x05010202, + 0x0001, 0x00030201, + 0x0006, 0x00000000, + 0x0001, 0x00000040, + 0x0001, 0x0d0c0b0a, + 0x0001, 0x00141210, + 0x0001, 0x000001f0, + 0x0001, 0x00000001, + 0x0001, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00039e00, + 0x0001, 0x00000100, + 0x0001, 0x00003800, + 0x0001, 0x00404040, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x0077f005, + 0x0001, 0x003f7fff, + 0x004e, 0x00000000, + 0x0004, 0x00000004, + 0x0011, 0x00000000, + 0x0001, 0x0000000f, + 0x0021, 0x00000000, + 0x0001, 0x00000002, + 0x0005, 0x00000000, + 0x0001, 0x00000020, + 0x0009, 0x00000000, + 0x0001, 0x001ffe67, + 0x0067, 0x00000000, + 0x0001, 0x00000001, + 0x0004, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x0000001a, + 0x0001, 0x00000000, + 0x0001, 0x00000010, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00608080, + 0x000b, 0x00000000, + 0x0001, 0x00000001, + 0x0018, 0x00000000, + 0x0004, 0x00000004, + 0x000b, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0004, 0x00000004, + 0x0003, 0x00000000, + 0x0001, 0x00000300, + 0x0004, 0x00000004, + 0x0003, 0x00000000, + 0x0001, 0x00001001, + 0x0004, 0x00000080, + 0x0003, 0x00000000, + 0x0001, 0x00000015, + 0x0004, 0x00000004, + 0x0009, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0001, 0x00000000, + 0x0001, 0x00000002, + 0x000d, 0x00000000, + 0x0001, 0x000007ff, + 0x0039, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0015, 0x00000000, + 0x0001, 0x0000000f, + 0x0082, 0x00000000, + 0x0004, 0x00000004, + 0x0003, 0x00000000, + 0x0001, 0x00000010, + 0x0004, 0x00000080, + 0x0004, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x03020100, + 0x0004, 0x00000000, + 0x0004, 0x00000003, + 0x0004, 0x00000000, + 0x0004, 0x00000004, + 0x0024, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00000003, + 0x001c, 0x00000000, + 0x0004, 0x00000004, + 0x0013, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x00cf, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0067, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000011, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x001ffe67, + 0x000f, 0x00000000, + 0x0001, 0x0fac6881, + 0x00af, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x031f, 0x00000000, + 0x0001, 0x00000002, + 0x000f, 0x00000000, + 0x0001, 0x001ffe67, + 0x0067, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00001001, + 0x0005, 0x00000000, + 0x0001, 0x0000000f, + 0x0001, 0x00000000, + 0x0001, 0x00000015, + 0x000d, 0x00000000, + 0x0001, 0x00000001, + 0x0021, 0x00000000, + 0x0001, 0x00000002, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x009f, 0x00000000, + 0x0001, 0x00000010, + 0x0087, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x00b5, 0x00000000, + 0x0001, 0x0000000f, + 0x0019, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0067, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000011, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x001ffe67, + 0x000f, 0x00000000, + 0x0001, 0x0fac6881, + 0x00af, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x031f, 0x00000000, + 0x0001, 0x00000002, + 0x000f, 0x00000000, + 0x0001, 0x001ffe67, + 0x0067, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00001001, + 0x0007, 0x00000000, + 0x0001, 0x00000015, + 0x002f, 0x00000000, + 0x0001, 0x00000002, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x009f, 0x00000000, + 0x0001, 0x00000010, + 0x0087, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x00cf, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0067, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000011, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x001ffe67, + 0x000f, 0x00000000, + 0x0001, 0x0fac6881, + 0x00af, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0184, 0x00000000, + 0x0001, 0x00000021, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x013a, 0x00000000, + 0x0001, 0x00000002, + 0x000f, 0x00000000, + 0x0001, 0x001ffe67, + 0x0067, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00001001, + 0x0007, 0x00000000, + 0x0001, 0x00000015, + 0x002f, 0x00000000, + 0x0001, 0x00000002, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x009f, 0x00000000, + 0x0001, 0x00000010, + 0x0087, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x00cf, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0067, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000011, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x001ffe67, + 0x000f, 0x00000000, + 0x0001, 0x0fac6881, + 0x00af, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x2aed, 0x00000000, + 0x0001, 0x0000000f, + 0x00a7, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x000f, 0x00000000, + 0x0001, 0x00000008, + 0x002f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x000000cf, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000015, + 0x001f, 0x00000000, + 0x0001, 0x04444480, + 0x01df, 0x00000000, + 0x0001, 0x08100c12, + 0x0027, 0x00000000, + 0x0001, 0x00000100, + 0x0017, 0x00000000, + 0x0001, 0x00010001, + 0x000f, 0x00000000, + 0x0001, 0x00010001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00010001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x001a, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00000003, + 0x000a, 0x00000000, + 0x0001, 0x003fffff, + 0x0017, 0x00000000, + 0x0001, 0x00001fff, + 0x0069, 0x00000000, + 0x0004, 0x0000000f, + 0x000a, 0x00000000, + 0x0001, 0x3f800000, + 0x0037, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x0000001a, + 0x0011, 0x00000000, + 0x0004, 0x00000004, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0004, 0x0000ffff, + 0x0004, 0x00000000, + 0x0004, 0x0000ffff, + 0x0004, 0x00000000, + 0x0004, 0x0000ffff, + 0x0004, 0x00000000, + 0x0004, 0x0000ffff, + 0x0044, 0x00000000, + 0x0004, 0x00000001, + 0x001c, 0x00000000, + 0x0004, 0x00000001, + 0x0012, 0x00000000, + 0x0001, 0x00ffff00, + 0x0019, 0x00000000, + 0x0004, 0x00000001, + 0x001a, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000011, + 0x003a, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0004, 0x0fac6881, + 0x0014, 0x00000000, + 0x0004, 0x00000004, + 0x000a, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0001, 0x00000000, + 0x0004, 0x00000011, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x000000cf, + 0x0002, 0x00000000, + 0x0001, 0x00000005, + 0x0001, 0x00000000, + 0x0004, 0x000000cf, + 0x0002, 0x00000000, + 0x0001, 0x00000052, + 0x0001, 0x00000000, + 0x0004, 0x000000cf, + 0x0022, 0x00000000, + 0x0001, 0x00000001, + 0x0031, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x00000011, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x0fac6881, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000000, + 0x0004, 0x0000000f, + 0x0002, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0031, 0x00000000, + 0x0004, 0x001ffe67, + 0x0014, 0x00000000, + 0x0004, 0x00000011, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x001c, 0x00000000, + 0x0004, 0x00000004, + 0x002c, 0x00000000, + 0x0004, 0x00000001, + 0x0024, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x001c, 0x00000000, + 0x0004, 0x00000011, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000005, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0009, 0x00000000, + 0x0004, 0x000007ff, + 0x0002, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000003, + 0x00ff, 0x00000000, + 0x0001, 0x00ffff00, + 0x0007, 0x00000000, + 0x0001, 0x0000001a, + 0x000f, 0x00000000, + 0x0001, 0x00000003, + 0x0039, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0001, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0002, 0x00000000, + 0x0004, 0x00000300, + 0x0001, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0002, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0001, 0x00000000, + 0x0001, 0x0fac6881, + 0x0002, 0x00000000, + 0x0004, 0x00000300, + 0x0002, 0x00000000, + 0x0001, 0x00000102, + 0x0001, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0004, 0x0000000f, + 0x0002, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x000007ff, + 0x0009, 0x00000000, + 0x0004, 0x00000020, + 0x0001, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0001, 0x00000102, + 0x0001, 0x00000000, + 0x0004, 0x00000011, + 0x0001, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0002, 0x00000000, + 0x0004, 0x00000100, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0014, 0x00000000, + 0x0004, 0x00000040, + 0x0004, 0x00000000, + 0x0004, 0x00000100, + 0x000c, 0x00000000, + 0x0004, 0x00000003, + 0x0002, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0009, 0x00000000, + 0x0004, 0x001ffe67, + 0x001c, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x0fac6881, + 0x004c, 0x00000000, + 0x0004, 0x00000001, + 0x0024, 0x00000000, + 0x0004, 0x00000004, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00001001, + 0x001c, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x0004, 0x00000000, + 0x0004, 0x0000000f, + 0x0052, 0x00000000, + 0x0001, 0x00080c14, + 0x0017, 0x00000000, + 0x0001, 0x00000804, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x08100c12, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000010, + 0x0009, 0x00000000, + 0x0004, 0x001ffe67, + 0x001a, 0x00000000, + 0x0001, 0x00000804, + 0x0001, 0x00000000, + 0x0004, 0x00000011, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x0000001a, + 0x0007, 0x00000000, + 0x0001, 0x0000007f, + 0x0001, 0x00000000, + 0x0004, 0x00000004, + 0x000a, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00080c14, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x000a, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x000a, 0x00000000, + 0x0001, 0x00000010, + 0x0019, 0x00000000, + 0x0004, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x08100c12, + 0x0001, 0x00000000, + 0x0004, 0x00000001, + 0x001c, 0x00000000, + 0x0004, 0x2a712488, + 0x000c, 0x00000000, + 0x0004, 0x4085c000, + 0x0002, 0x00000000, + 0x0001, 0x000007ff, + 0x0001, 0x00000000, + 0x0004, 0x00000040, + 0x0002, 0x00000000, + 0x0001, 0x00080c14, + 0x0001, 0x00000000, + 0x0004, 0x00000100, + 0x0004, 0x00000000, + 0x0004, 0x00010100, + 0x0004, 0x00000000, + 0x0004, 0x02800000, + 0x0094, 0x00000000, + 0x0004, 0x04e3bfdf, + 0x0004, 0x00000000, + 0x0004, 0x04e3bfdf, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00ffff00, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0014, 0x00000000, + 0x0004, 0x00ffff00, + 0x0044, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x30201000, + 0x0004, 0x00000000, + 0x0004, 0x70605040, + 0x0004, 0x00000000, + 0x0004, 0xb8a89888, + 0x0004, 0x00000000, + 0x0004, 0xf8e8d8c8, + 0x000c, 0x00000000, + 0x0004, 0x0000001a, + 0x000c, 0x00000000, + 0x0004, 0x00000004, + 0x0042, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000010, + 0x0051, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00608080, + 0x0024, 0x00000000, + 0x0004, 0x00000004, + 0x0014, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00000080, + 0x0004, 0x00000000, + 0x0004, 0x00000004, + 0x010a, 0x00000000, + 0x0001, 0x00000088, + 0x0007, 0x00000000, + 0x0001, 0x00000088, + 0x0011, 0x00000000, + 0x0004, 0x00000004, + 0x0002, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0004, 0x00000080, + 0x0004, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x03020100, + 0x0004, 0x00000000, + 0x0004, 0x00000003, + 0x0004, 0x00000000, + 0x0004, 0x00000004, + 0x0024, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00000003, + 0x001c, 0x00000000, + 0x0004, 0x00000004, + 0x0042, 0x00000000, + 0x0001, 0x00000026, + 0x0017, 0x00000000, + 0x0001, 0x3f800000, + 0x001f, 0x00000000, + 0x0001, 0x0000001a, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0147, 0x00000000, + 0x0001, 0x00000052, + 0x000f, 0x00000000, + 0x0001, 0x00000026, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x0000001a, + 0x0017, 0x00000000, + 0x0001, 0x00ffff00, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x000f, 0x00000000, + 0x0001, 0x000007ff, + 0x02c5, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x4749, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000027, + 0x000f, 0x00000000, + 0x0001, 0x00000026, + 0x001f, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0127, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0017, 0x00000000, + 0x0001, 0x0001fe21, + 0x0281, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x00000003, + 0x008c, 0x00000000, + 0x0004, 0x0000000f, + 0x005c, 0x00000000, + 0x0004, 0x00000004, + 0x0004, 0x00000000, + 0x0004, 0x0000ffff, + 0x0004, 0x00000000, + 0x0004, 0x0000ffff, + 0x0004, 0x00000000, + 0x0004, 0x0000ffff, + 0x0004, 0x00000000, + 0x0004, 0x0000ffff, + 0x0044, 0x00000000, + 0x0004, 0x00000001, + 0x001c, 0x00000000, + 0x0004, 0x00000001, + 0x002c, 0x00000000, + 0x0004, 0x00000001, + 0x0064, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x0014, 0x00000000, + 0x0004, 0x00000004, + 0x001c, 0x00000000, + 0x0004, 0x00000011, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x000000cf, + 0x0004, 0x00000000, + 0x0004, 0x000000cf, + 0x0004, 0x00000000, + 0x0004, 0x000000cf, + 0x0054, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x0004, 0x00000000, + 0x0004, 0x0000000f, + 0x003c, 0x00000000, + 0x0004, 0x001ffe67, + 0x0014, 0x00000000, + 0x0004, 0x00000011, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x001c, 0x00000000, + 0x0004, 0x00000004, + 0x002c, 0x00000000, + 0x0004, 0x00000001, + 0x0024, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x001c, 0x00000000, + 0x0004, 0x00000011, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x000007ff, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0154, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000008, + 0x0004, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x0000000f, + 0x003c, 0x00000000, + 0x0004, 0x00000020, + 0x0004, 0x00000000, + 0x0004, 0x00000011, + 0x0004, 0x00000000, + 0x0004, 0x00000100, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0014, 0x00000000, + 0x0004, 0x00000040, + 0x0004, 0x00000000, + 0x0004, 0x00000100, + 0x000c, 0x00000000, + 0x0004, 0x00000003, + 0x0024, 0x00000000, + 0x0004, 0x001ffe67, + 0x001c, 0x00000000, + 0x0004, 0x00000002, + 0x0004, 0x00000000, + 0x0004, 0x0fac6881, + 0x004c, 0x00000000, + 0x0004, 0x00000001, + 0x0024, 0x00000000, + 0x0004, 0x00000004, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000400, + 0x0004, 0x00000000, + 0x0004, 0x00000300, + 0x0004, 0x00000000, + 0x0004, 0x00001001, + 0x001c, 0x00000000, + 0x0004, 0x00000011, + 0x003c, 0x00000000, + 0x0004, 0x0fac6881, + 0x0004, 0x00000000, + 0x0004, 0x0000000f, + 0x00bc, 0x00000000, + 0x0004, 0x001ffe67, + 0x001c, 0x00000000, + 0x0004, 0x00000011, + 0x0014, 0x00000000, + 0x0004, 0x00000004, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x001c, 0x00000000, + 0x0004, 0x00000001, + 0x0024, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x001c, 0x00000000, + 0x0004, 0x2a712488, + 0x000c, 0x00000000, + 0x0004, 0x4085c000, + 0x0004, 0x00000000, + 0x0004, 0x00000040, + 0x0004, 0x00000000, + 0x0004, 0x00000100, + 0x0004, 0x00000000, + 0x0004, 0x00010100, + 0x0004, 0x00000000, + 0x0004, 0x02800000, + 0x0094, 0x00000000, + 0x0004, 0x04e3bfdf, + 0x0004, 0x00000000, + 0x0004, 0x04e3bfdf, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00ffff00, + 0x0004, 0x00000000, + 0x0004, 0x00000001, + 0x0014, 0x00000000, + 0x0004, 0x00ffff00, + 0x0044, 0x00000000, + 0x0004, 0x00000001, + 0x000c, 0x00000000, + 0x0004, 0x00000001, + 0x0004, 0x00000000, + 0x0004, 0x30201000, + 0x0004, 0x00000000, + 0x0004, 0x70605040, + 0x0004, 0x00000000, + 0x0004, 0xb8a89888, + 0x0004, 0x00000000, + 0x0004, 0xf8e8d8c8, + 0x000c, 0x00000000, + 0x0004, 0x0000001a, + 0x8958, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000003, + 0x000f, 0x00000000, + 0x0001, 0x08100c12, + 0x000f, 0x00000000, + 0x0001, 0x00080c14, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x0017, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000027, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x1e0f, 0x00000000, + 0x0001, 0x00000001, + 0x00b7, 0x00000000, + 0x0001, 0x08100c12, + 0x0067, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x000f, 0x00000000, + 0x0001, 0x00000080, + 0x001f, 0x00000000, + 0x0001, 0x00000080, + 0x000f, 0x00000000, + 0x0001, 0x0000003f, + 0x0057, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0047, 0x00000000, + 0x0001, 0x00000004, + 0x001f, 0x00000000, + 0x0001, 0x00000004, + 0x008f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00001001, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0107, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0017, 0x00000000, + 0x0001, 0x00000003, + 0x0047, 0x00000000, + 0x0001, 0x08100c12, + 0x0008, 0x00000000, + 0x0008, 0x00000080, + 0x0008, 0x80007004, + 0x0008, 0x04000400, + 0x0008, 0x00001000, + 0x0010, 0x00000000, + 0x0008, 0x00000001, + 0x0010, 0x00000000, + 0x0008, 0x00000001, + 0x0008, 0x00000000, + 0x0008, 0x00000004, + 0x0008, 0x00000002, + 0x0058, 0x00000000, + 0x0008, 0x00000080, + 0x0008, 0x80007004, + 0x0008, 0x04000400, + 0x0008, 0x00001000, + 0x0010, 0x00000000, + 0x0008, 0x00000001, + 0x0010, 0x00000000, + 0x0008, 0x00000001, + 0x0008, 0x00000000, + 0x0008, 0x00000004, + 0x0008, 0x00000002, + 0x0050, 0x00000000, + 0x0008, 0x08100c12, + 0x0030, 0x00000000, + 0x0020, 0x0000ffff, + 0x0008, 0x00000001, + 0x0010, 0x00010001, + 0x0008, 0x00000001, + 0x0008, 0x00000000, + 0x0008, 0x0001fe21, + 0x0028, 0x00000000, + 0x0008, 0x08100c12, + 0x0008, 0x00000004, + 0x0008, 0x00000000, + 0x0008, 0x00000002, + 0x0008, 0x00000011, + 0x0040, 0x00000000, + 0x0008, 0x0fac6881, + 0x0020, 0x00000000, + 0x0008, 0x00000004, + 0x0048, 0x00000000, + 0x0008, 0x00000002, + 0x0010, 0x00000001, + 0x0008, 0x00000002, + 0x0018, 0x00000001, + 0x0008, 0x00000000, + 0x0008, 0x00000004, + 0x1d10, 0x00000000, + 0x0008, 0x00000011, + 0x0008, 0x00000000, + 0x0008, 0x00000001, + 0x0000 +}; + +static uint32_t nvaa_ctxprog[] = { + 0x0070009c, 0x00300000, 0x0044f109, 0x00402d09, 0x0040e551, 0x00400a44, + 0x00400a05, 0x00400a0d, 0x0070008e, 0x0040124d, 0x0070009d, 0x0045004d, + 0x00700097, 0x00450121, 0x004446a1, 0x0044764d, 0x0044824d, 0x0070001d, + 0x00401806, 0x00600005, 0x00444445, 0x0044308b, 0x00401845, 0x0040234d, + 0x00700081, 0x00401ccf, 0x0070009f, 0x0050009f, 0x0044dc4d, 0x00700017, + 0x0040230b, 0x00447d4d, 0x00450221, 0x004456a1, 0x007000a0, 0x00700001, + 0x00700003, 0x00402706, 0x00402805, 0x0060000d, 0x00700005, 0x0070000d, + 0x00700006, 0x00700002, 0x0070000b, 0x0070000e, 0x0070001c, 0x0060000c, + 0x00000000, 0x0090ffff, 0x0091ffff, 0x0044d44d, 0x00600009, 0x0048004d, + 0x00700096, 0x00403acf, 0x0070009f, 0x0050009f, 0x0040e551, 0x004036c0, + 0x00200080, 0x00600008, 0x0040364f, 0x004036c0, 0x00403ecc, 0x00403651, + 0x00700016, 0x0048004d, 0x00600011, 0x0048004d, 0x0044364d, 0x0070008e, + 0x00700081, 0x0044704d, 0x00447d4d, 0x00700083, 0x00300000, 0x00212740, + 0x00600007, 0x00c00b01, 0x00200022, 0x00800001, 0x005000cb, 0x00c000ff, + 0x00445e4d, 0x0048004d, 0x0044ce08, 0x0044734d, 0x00448b4d, 0x00445e4d, + 0x0044e24d, 0x0044764d, 0x0044824d, 0x0048004d, 0x00700083, 0x0045034d, + 0x00a0023f, 0x00200040, 0x00600006, 0x0044fc4d, 0x00448d4d, 0x002001d0, + 0x0044b860, 0x00200280, 0x0038ffff, 0x0044cc4d, 0x00300000, 0x005000cb, + 0x00451c4d, 0x005000cb, 0x0044d007, 0x0048004d, 0x0044794d, 0x00111bfc, + 0x0048004d, 0x0044794d, 0x00111bfd, 0x0048004d, 0x0044794d, 0x00111bfe, + 0x0048004d, 0x00200000, 0x00700000, 0x00600006, 0x0048004d, 0x00200001, + 0x00600006, 0x0044fc4d, 0x0011020a, 0x0048004d, 0x00300000, 0x00c3ffff, + 0x00200000, 0x00600007, 0x00700000, 0x00200008, 0x008000ff, 0x005000cb, + 0x0048004d, 0x00000000, 0x0048004d, 0x00000000, 0x00170202, 0x00200032, + 0x0010020d, 0x001e0242, 0x001102c0, 0x00120302, 0x00150402, 0x00180500, + 0x00130509, 0x00150550, 0x00110605, 0x00200013, 0x00100607, 0x00110700, + 0x00110900, 0x00120902, 0x00110a00, 0x00160b02, 0x00120b28, 0x00140b2b, + 0x00110c01, 0x00110d01, 0x00111400, 0x00111405, 0x00111407, 0x00111409, + 0x0011140b, 0x002000d4, 0x00101500, 0x00141a05, 0x00131a0c, 0x00131c00, + 0x00131c04, 0x00141c20, 0x00131c25, 0x00131f00, 0x00131f04, 0x00111f08, + 0x00111f0b, 0x00200015, 0x00101f40, 0x0048004d, 0x00600006, 0x00451c4d, + 0x00112020, 0x00112022, 0x00200085, 0x00102040, 0x001120c8, 0x001420ca, + 0x001b20cf, 0x00122100, 0x00122103, 0x00162140, 0x00122147, 0x00122153, + 0x001121a0, 0x001221c0, 0x001121cb, 0x001121d4, 0x001521d8, 0x0048004d, + 0x00000000, 0x0048004d, 0x0060000b, 0x0048004d, 0x0060000a, 0x0048004d, + 0x0060000b, 0x0040d24d, 0x00200020, 0x00600008, 0x0050004c, 0x0048004d, + 0x002003e8, 0x00600008, 0x0050004c, 0x0048004d, 0x00600004, 0x0050004a, + 0x0048004d, 0x00c000ff, 0x00c800ff, 0x0048004d, 0x00c000ff, 0x00c800ff, + 0x0048004d, 0x00700016, 0x0070008e, 0x00700082, 0x00500041, 0x0044d84d, + 0x00700095, 0x005000d1, 0x00600016, 0x00500052, 0x00700002, 0x00700015, + 0x0040284d, 0x0070008e, 0x0044d44d, 0x00200000, 0x00600007, 0x00300000, + 0x00c000ff, 0x00200000, 0x008000ff, 0x00700009, 0x0070000e, 0x0048004d, + 0x00700080, 0x00480017, 0x00700000, 0x0048004d, 0x0048004d, 0x0048004d, + 0x0048004d, 0x0070008e, 0x0044d44d, 0x00700083, 0x0044df4d, 0x00450c4d, + 0x0070000f, 0x00410b8c, 0x005000cb, 0x0048004d, 0x00200280, 0x00600007, + 0x00452307, 0x00451187, 0x0048004d, 0x00000000, 0x00202070, 0x0044fc4d, + 0x008000ff, 0x0048004d, 0x00210600, 0x00600007, 0x00200428, 0x0044fc4d, + 0x008800ff, 0x0048004d, 0x0048000f, 0x0048004b, 0x0045164d, 0x0070008f, + 0x0048008c, 0x005000cb, 0x0048004d, 0x00202070, 0x0044fc4d, 0x008000fd, + 0x005000cb, 0x00c00002, 0x00200280, 0x00600007, 0x00200161, 0x0044fc4d, + 0x00800002, 0x005000cb, 0x00c00002, 0x00201f0e, 0x0044fc4d, 0x00800002, + 0x005000cb, 0x0048004d, ~0 +}; + +static uint32_t nvaa_ctxvals[] = { + 0x0043, 0x00000000, + 0x0001, 0x00000030, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0028, 0x00000000, + 0x0001, 0x00000003, + 0x0001, 0x00001000, + 0x0012, 0x00000000, + 0x0001, 0x0000fe0c, + 0x0005, 0x00000000, + 0x0001, 0x00001000, + 0x000a, 0x00000000, + 0x0001, 0x00000187, + 0x0004, 0x00000000, + 0x0001, 0x00001018, + 0x0001, 0x000000ff, + 0x0012, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x042500df, + 0x0001, 0x00000000, + 0x0001, 0x00000600, + 0x0005, 0x00000000, + 0x0001, 0x01000000, + 0x0001, 0x000000ff, + 0x0001, 0x00000000, + 0x0001, 0x00000800, + 0x0005, 0x00000000, + 0x0001, 0x00000004, + 0x0009, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000100, + 0x0005, 0x00000000, + 0x0001, 0x00000002, + 0x0002, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x003fffff, + 0x0001, 0x00001fff, + 0x0001, 0x00000000, + 0x0002, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000007, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0008, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000100, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000100, + 0x0001, 0x00000001, + 0x0001, 0x00000100, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000100, + 0x0004, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000070, + 0x0001, 0x00000080, + 0x0004, 0x00000000, + 0x0001, 0x0000000c, + 0x0001, 0x00000000, + 0x0001, 0x00000008, + 0x0001, 0x00000014, + 0x0001, 0x00000000, + 0x0001, 0x00000027, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x000000cf, + 0x000b, 0x00000000, + 0x0001, 0x00000001, + 0x0006, 0x00000000, + 0x0001, 0x00000001, + 0x0006, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000002, + 0x0001, 0x00000004, + 0x0003, 0x00000000, + 0x0001, 0x003fffff, + 0x0001, 0x00001fff, + 0x0009, 0x00000000, + 0x0002, 0x00000001, + 0x0001, 0x00000002, + 0x0001, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000014, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000002, + 0x0004, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00001e00, + 0x0005, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000200, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x000000f0, + 0x0001, 0x000000ff, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x000000f0, + 0x0001, 0x000000ff, + 0x0001, 0x00000000, + 0x0001, 0x00000009, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x000000cf, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0003, 0x00000000, + 0x0001, 0x000000cf, + 0x0001, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0002, 0x000000cf, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00001f80, + 0x0005, 0x00000000, + 0x0001, 0x3b74f821, + 0x0001, 0x89058001, + 0x0001, 0x00000000, + 0x0001, 0x00001000, + 0x0001, 0x000000ff, + 0x0001, 0x00000000, + 0x0001, 0x027c10fa, + 0x0001, 0x400000c0, + 0x0001, 0xb7892080, + 0x0004, 0x00000000, + 0x0001, 0x003d0040, + 0x0001, 0x00000000, + 0x0001, 0x00000022, + 0x0007, 0x00000000, + 0x0001, 0x003d0040, + 0x0001, 0x00000022, + 0x0011, 0x00000000, + 0x0001, 0x0000ff0a, + 0x0001, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x300c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0002, 0x00000000, + 0x0001, 0x0000003e, + 0x0005, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x300c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0002, 0x00000000, + 0x0001, 0x0000003e, + 0x0005, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x300c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0002, 0x00000000, + 0x0001, 0x0000003e, + 0x0005, 0x00000000, + 0x0001, 0x01800000, + 0x0001, 0x00160000, + 0x0001, 0x01800000, + 0x0003, 0x00000000, + 0x0001, 0x0003ffff, + 0x0001, 0x300c0000, + 0x0008, 0x00000000, + 0x0001, 0x00010401, + 0x0001, 0x00000000, + 0x0001, 0x00000078, + 0x0001, 0x00000000, + 0x0001, 0x000000bf, + 0x0001, 0x00000000, + 0x0001, 0x00001210, + 0x0001, 0x08000080, + 0x0002, 0x00000000, + 0x0001, 0x0000003e, + 0x0006, 0x00000000, + 0x0001, 0x01127070, + 0x0003, 0x00000000, + 0x0001, 0x07ffffff, + 0x0006, 0x00000000, + 0x0001, 0x00030201, + 0x0009, 0x00000000, + 0x0001, 0x00008000, + 0x0007, 0x00000000, + 0x0001, 0x02bf7fff, + 0x0010, 0x00000000, + 0x0001, 0x00000004, + 0x0004, 0x00000000, + 0x0001, 0x0000003f, + 0x0002, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x0fac6881, + 0x000b, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x0005, 0x00000000, + 0x0001, 0x00080c14, + 0x0003, 0x00000000, + 0x0001, 0x0000000f, + 0x0005, 0x00000000, + 0x0001, 0x000007ff, + 0x000d, 0x00000000, + 0x0001, 0x00000804, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0003, 0x00000000, + 0x0001, 0x00000020, + 0x0002, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000004, + 0x0006, 0x00000000, + 0x0001, 0x04000000, + 0x0001, 0x08100c12, + 0x0005, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0001, 0x04000000, + 0x0006, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0001, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000010, + 0x000d, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0010, 0x00000000, + 0x0001, 0x00000004, + 0x0001, 0x00000804, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x0000001a, + 0x0007, 0x00000000, + 0x0001, 0x0000007f, + 0x0006, 0x00000000, + 0x0001, 0x00000004, + 0x0004, 0x00000000, + 0x0001, 0x0000001a, + 0x0003, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x000f, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0005, 0x00000000, + 0x0001, 0x00000002, + 0x0001, 0x00000000, + 0x0001, 0x00000004, + 0x000d, 0x00000000, + 0x0001, 0x001ffe67, + 0x0001, 0x00000000, + 0x0001, 0x00000010, + 0x001f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x08100c12, + 0x000b, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0004, 0x00000000, + 0x0001, 0x00000008, + 0x0002, 0x00000000, + 0x0001, 0x00001001, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0001, 0x000007ff, + 0x0003, 0x00000000, + 0x0001, 0x000007ff, + 0x0001, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x0000ffff, + 0x0001, 0x00080c14, + 0x0005, 0x00000000, + 0x0001, 0x00000010, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x000e, 0x00000000, + 0x0001, 0x00000001, + 0x0014, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000a, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00001001, + 0x0005, 0x00000000, + 0x0001, 0x0000000f, + 0x0001, 0x00000000, + 0x0001, 0x00000015, + 0x002f, 0x00000000, + 0x0001, 0x00000002, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0020, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0006, 0x00000000, + 0x0002, 0x00000010, + 0x0017, 0x00000000, + 0x0001, 0x00000003, + 0x0018, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000010, + 0x003d, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x04000000, + 0x0006, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x04000000, + 0x0006, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000080, + 0x0006, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000080, + 0x0006, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000001, + 0x0006, 0x00000000, + 0x0001, 0x3f800000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x000f, 0x00000000, + 0x0001, 0x00000008, + 0x002f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x000000cf, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0006, 0x00000000, + 0x0001, 0x00000010, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0006, 0x00000000, + 0x0001, 0x0000003f, + 0x0020, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000088, + 0x0005, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000015, + 0x0001, 0x00000088, + 0x000d, 0x00000000, + 0x0001, 0x00000001, + 0x0009, 0x00000000, + 0x0001, 0x00000004, + 0x0005, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x04444480, + 0x0016, 0x00000000, + 0x0001, 0x00001001, + 0x005f, 0x00000000, + 0x0001, 0x00000011, + 0x0039, 0x00000000, + 0x0001, 0x00000026, + 0x0005, 0x00000000, + 0x0001, 0x0000000f, + 0x0011, 0x00000000, + 0x0001, 0x3f800000, + 0x001f, 0x00000000, + 0x0001, 0x0000001a, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0005, 0x00000000, + 0x0001, 0x00000011, + 0x0037, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x001ffe67, + 0x000f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0058, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x2a712488, + 0x000f, 0x00000000, + 0x0001, 0x4085c000, + 0x0007, 0x00000000, + 0x0001, 0x00000040, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00010100, + 0x0007, 0x00000000, + 0x0001, 0x02800000, + 0x0001, 0x00000052, + 0x000f, 0x00000000, + 0x0001, 0x00000026, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0005, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00000004, + 0x0005, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x0000001a, + 0x0005, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0001, 0x00000000, + 0x0001, 0x00ffff00, + 0x0005, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0048, 0x00000000, + 0x0001, 0x0000000f, + 0x005f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000001, + 0x002f, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0057, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0017, 0x00000000, + 0x0001, 0x00000004, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x000000cf, + 0x0007, 0x00000000, + 0x0001, 0x000000cf, + 0x0007, 0x00000000, + 0x0001, 0x000000cf, + 0x004c, 0x00000000, + 0x0001, 0x0000000f, + 0x000a, 0x00000000, + 0x0001, 0x00000001, + 0x0004, 0x00000000, + 0x0001, 0x00000001, + 0x0002, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x001ffe67, + 0x0017, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000004, + 0x002f, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x000007ff, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0084, 0x00000000, + 0x0001, 0x0000000f, + 0x00d2, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000008, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000020, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000040, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x000f, 0x00000000, + 0x0001, 0x00000003, + 0x0027, 0x00000000, + 0x0001, 0x001ffe67, + 0x001f, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x0fac6881, + 0x004f, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000400, + 0x0007, 0x00000000, + 0x0001, 0x00000300, + 0x0007, 0x00000000, + 0x0001, 0x00001001, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x0000000f, + 0x00bf, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x001ffe67, + 0x001f, 0x00000000, + 0x0001, 0x00000011, + 0x0017, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x001f, 0x00000000, + 0x0001, 0x00000001, + 0x0027, 0x00000000, + 0x0001, 0x0fac6881, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0057, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x00000011, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x005f, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00ffff00, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00ffff00, + 0x0047, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x30201000, + 0x0007, 0x00000000, + 0x0001, 0x70605040, + 0x0007, 0x00000000, + 0x0001, 0xb8a89888, + 0x0007, 0x00000000, + 0x0001, 0xf8e8d8c8, + 0x000f, 0x00000000, + 0x0001, 0x0000001a, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x00a7, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x03020100, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x0017, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00001e00, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0127, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x03020100, + 0x0007, 0x00000000, + 0x0001, 0x00000003, + 0x0007, 0x00000000, + 0x0001, 0x00001e00, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000003, + 0x001f, 0x00000000, + 0x0001, 0x00000004, + 0x03d1, 0x00000000, + 0x0001, 0x00000021, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000100, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0c75, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000003, + 0x010a, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000027, + 0x000f, 0x00000000, + 0x0001, 0x00000026, + 0x24f9, 0x00000000, + 0x0001, 0x0000000f, + 0x0440, 0x00000000, + 0x0001, 0x003fffff, + 0x0017, 0x00000000, + 0x0001, 0x00001fff, + 0x1383, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0127, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0007, 0x00000000, + 0x0001, 0x04e3bfdf, + 0x0017, 0x00000000, + 0x0001, 0x0001fe21, + 0x0007, 0x00000000, + 0x0001, 0x0fac6881, + 0x0027, 0x00000000, + 0x0001, 0x08100c12, + 0x0027, 0x00000000, + 0x0001, 0x00000100, + 0x0017, 0x00000000, + 0x0001, 0x00010001, + 0x000f, 0x00000000, + 0x0001, 0x00010001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00010001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x032f, 0x00000000, + 0x0001, 0x3f800000, + 0x0037, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x0000001a, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0097, 0x00000000, + 0x0001, 0x00ffff00, + 0x0037, 0x00000000, + 0x0001, 0x0000000f, + 0x003f, 0x00000000, + 0x0001, 0x0fac6881, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x007f, 0x00000000, + 0x0001, 0x00000004, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x0007, 0x00000000, + 0x0001, 0x04000000, + 0x001f, 0x00000000, + 0x0001, 0x00000005, + 0x0007, 0x00000000, + 0x0001, 0x00000052, + 0x0027, 0x00000000, + 0x0001, 0x00000001, + 0x0087, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x3f800000, + 0x0007, 0x00000000, + 0x0001, 0x00000010, + 0x0137, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000005, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x00000003, + 0x001f, 0x00000000, + 0x0001, 0x00ffff00, + 0x0007, 0x00000000, + 0x0001, 0x0000001a, + 0x000f, 0x00000000, + 0x0001, 0x00000003, + 0x01e7, 0x00000000, + 0x0001, 0x00000102, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0047, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x000007ff, + 0x000f, 0x00000000, + 0x0001, 0x00000102, + 0x004f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x6ee1, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000003, + 0x000f, 0x00000000, + 0x0001, 0x08100c12, + 0x000f, 0x00000000, + 0x0001, 0x00080c14, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00080c14, + 0x0017, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000027, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x1e0f, 0x00000000, + 0x0001, 0x00000001, + 0x00b7, 0x00000000, + 0x0001, 0x08100c12, + 0x000d, 0x00000000, + 0x0001, 0x08100c12, + 0x000f, 0x00000000, + 0x0001, 0x00000080, + 0x0007, 0x00000000, + 0x0001, 0x80007004, + 0x0007, 0x00000000, + 0x0001, 0x04000400, + 0x0007, 0x00000000, + 0x0001, 0x000000c0, + 0x0007, 0x00000000, + 0x0001, 0x00001000, + 0x0017, 0x00000000, + 0x0001, 0x00000e00, + 0x0007, 0x00000000, + 0x0001, 0x00001e00, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0017, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x005f, 0x00000000, + 0x0001, 0x08100c12, + 0x000f, 0x00000000, + 0x0001, 0x0001fe21, + 0x002f, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x0000ffff, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00010001, + 0x0007, 0x00000000, + 0x0001, 0x00010001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x0001fe21, + 0x002f, 0x00000000, + 0x0001, 0x08100c12, + 0x0007, 0x00000000, + 0x0001, 0x00000004, + 0x000f, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000011, + 0x0047, 0x00000000, + 0x0001, 0x0fac6881, + 0x0027, 0x00000000, + 0x0001, 0x00000004, + 0x004f, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000002, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x0007, 0x00000000, + 0x0001, 0x00000001, + 0x000f, 0x00000000, + 0x0001, 0x00000004, + 0x1cff, 0x00000000, + 0x0001, 0x00000011, + 0x000f, 0x00000000, + 0x0001, 0x00000001, + 0x0000 +}; + +#endif -- cgit v1.2.3 From e47ab7a5081e178bad385ce2e75b01474ea7aa4c Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Tue, 28 Oct 2008 12:00:08 +1100 Subject: nv50: symlink nv50_grctx.h to linux-core... --- linux-core/nv50_grctx.h | 1 + 1 file changed, 1 insertion(+) create mode 120000 linux-core/nv50_grctx.h diff --git a/linux-core/nv50_grctx.h b/linux-core/nv50_grctx.h new file mode 120000 index 00000000..d40b9a86 --- /dev/null +++ b/linux-core/nv50_grctx.h @@ -0,0 +1 @@ +../shared-core/nv50_grctx.h \ No newline at end of file -- cgit v1.2.3 From 0e867312323fa51af324228b98bff4f49a813481 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 21 Oct 2008 00:10:54 -0700 Subject: intel: Add dri_bufmgr_check_aperture support for bufmgr_gem. This relies on a new kernel ioctl to get the available aperture size. In order to provide reasonable performance from dri_bufmgr_check_aperture, we now require that once a buffer has been used as the target of a relocation, it gets no further relocations added to it. This cuts the cost of check_aperture from 10% to 1% in the 3D driver with no code changes, but slightly complicates our plans for the 2D driver. --- libdrm/intel/intel_bufmgr_gem.c | 137 +++++++++++++++++++++++++++++++++++++++- shared-core/i915_drm.h | 13 ++++ 2 files changed, 147 insertions(+), 3 deletions(-) diff --git a/libdrm/intel/intel_bufmgr_gem.c b/libdrm/intel/intel_bufmgr_gem.c index 081eb2ad..dd74659a 100644 --- a/libdrm/intel/intel_bufmgr_gem.c +++ b/libdrm/intel/intel_bufmgr_gem.c @@ -94,6 +94,8 @@ typedef struct _dri_bufmgr_gem { /** Array of lists of cached gem objects of power-of-two sizes */ struct dri_gem_bo_bucket cache_bucket[INTEL_GEM_BO_BUCKETS]; + + uint64_t gtt_size; } dri_bufmgr_gem; struct _dri_bo_gem { @@ -134,6 +136,27 @@ struct _dri_bo_gem { /** free list */ dri_bo_gem *next; + + /** + * Boolean of whether this BO and its children have been included in + * the current dri_bufmgr_check_aperture_space() total. + */ + char included_in_check_aperture; + + /** + * Boolean of whether this buffer has been used as a relocation + * target and had its size accounted for, and thus can't have any + * further relocations added to it. + */ + char used_as_reloc_target; + + /** + * Size in bytes of this buffer and its relocation descendents. + * + * Used to avoid costly tree walking in dri_bufmgr_check_aperture in + * the common case. + */ + int reloc_tree_size; }; static void dri_gem_bo_reference_locked(dri_bo *bo); @@ -333,6 +356,8 @@ dri_gem_bo_alloc(dri_bufmgr *bufmgr, const char *name, bo_gem->name = name; bo_gem->refcount = 1; bo_gem->validate_index = -1; + bo_gem->reloc_tree_size = bo_gem->bo.size; + bo_gem->used_as_reloc_target = 0; DBG("bo_create: buf %d (%s) %ldb\n", bo_gem->gem_handle, bo_gem->name, size); @@ -699,6 +724,15 @@ dri_gem_bo_emit_reloc(dri_bo *bo, uint32_t read_domains, uint32_t write_domain, assert (offset <= bo->size - 4); assert ((write_domain & (write_domain-1)) == 0); + /* Make sure that we're not adding a reloc to something whose size has + * already been accounted for. + */ + assert(!bo_gem->used_as_reloc_target); + bo_gem->reloc_tree_size += target_bo_gem->reloc_tree_size; + + /* Flag the target to disallow further relocations in it. */ + target_bo_gem->used_as_reloc_target = 1; + bo_gem->relocs[bo_gem->reloc_count].offset = offset; bo_gem->relocs[bo_gem->reloc_count].delta = delta; bo_gem->relocs[bo_gem->reloc_count].target_handle = @@ -933,13 +967,96 @@ intel_bufmgr_gem_enable_reuse(dri_bufmgr *bufmgr) } } -/* +/** + * Return the additional aperture space required by the tree of buffer objects + * rooted at bo. + */ +static int +dri_gem_bo_get_aperture_space(dri_bo *bo) +{ + dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + int i; + int total = 0; + + if (bo == NULL || bo_gem->included_in_check_aperture) + return 0; + + total += bo->size; + bo_gem->included_in_check_aperture = 1; + + for (i = 0; i < bo_gem->reloc_count; i++) + total += dri_gem_bo_get_aperture_space(bo_gem->reloc_target_bo[i]); + + return total; +} + +/** + * Clear the flag set by dri_gem_bo_get_aperture_space() so we're ready for + * the next dri_bufmgr_check_aperture_space() call. + */ +static void +dri_gem_bo_clear_aperture_space_flag(dri_bo *bo) +{ + dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + int i; + + if (bo == NULL || !bo_gem->included_in_check_aperture) + return; + + bo_gem->included_in_check_aperture = 0; + + for (i = 0; i < bo_gem->reloc_count; i++) + dri_gem_bo_clear_aperture_space_flag(bo_gem->reloc_target_bo[i]); +} + +/** + * Return -1 if the batchbuffer should be flushed before attempting to + * emit rendering referencing the buffers pointed to by bo_array. + * + * This is required because if we try to emit a batchbuffer with relocations + * to a tree of buffers that won't simultaneously fit in the aperture, + * the rendering will return an error at a point where the software is not + * prepared to recover from it. * + * However, we also want to emit the batchbuffer significantly before we reach + * the limit, as a series of batchbuffers each of which references buffers + * covering almost all of the aperture means that at each emit we end up + * waiting to evict a buffer from the last rendering, and we get synchronous + * performance. By emitting smaller batchbuffers, we eat some CPU overhead to + * get better parallelism. */ static int dri_gem_check_aperture_space(dri_bo **bo_array, int count) { - return 0; + dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo_array[0]->bufmgr; + unsigned int total = 0; + unsigned int threshold = bufmgr_gem->gtt_size * 3 / 4; + int i; + + for (i = 0; i < count; i++) { + dri_bo_gem *bo_gem = (dri_bo_gem *)bo_array[i]; + if (bo_gem != NULL) + total += bo_gem->reloc_tree_size; + } + + if (total > threshold) { + total = 0; + for (i = 0; i < count; i++) + total += dri_gem_bo_get_aperture_space(bo_array[i]); + + for (i = 0; i < count; i++) + dri_gem_bo_clear_aperture_space_flag(bo_array[i]); + } + + if (total > bufmgr_gem->gtt_size * 3 / 4) { + DBG("check_space: overflowed available aperture, %dkb vs %dkb\n", + total / 1024, (int)bufmgr_gem->gtt_size / 1024); + return -1; + } else { + DBG("drm_check_space: total %dkb vs bufgr %dkb\n", total / 1024 , + (int)bufmgr_gem->gtt_size / 1024); + return 0; + } } /** @@ -952,7 +1069,8 @@ dri_bufmgr * intel_bufmgr_gem_init(int fd, int batch_size) { dri_bufmgr_gem *bufmgr_gem; - int i; + struct drm_i915_gem_get_aperture aperture; + int ret, i; bufmgr_gem = calloc(1, sizeof(*bufmgr_gem)); bufmgr_gem->fd = fd; @@ -962,6 +1080,19 @@ intel_bufmgr_gem_init(int fd, int batch_size) return NULL; } + ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_GET_APERTURE, &aperture); + + if (ret == 0) + bufmgr_gem->gtt_size = aperture.aper_available_size; + else { + fprintf(stderr, "DRM_IOCTL_I915_GEM_APERTURE failed: %s\n", + strerror(errno)); + bufmgr_gem->gtt_size = 128 * 1024 * 1024; + fprintf(stderr, "Assuming %dkB available aperture size.\n" + "May lead to reduced performance or incorrect rendering.\n", + (int)bufmgr_gem->gtt_size / 1024); + } + /* Let's go with one relocation per every 2 dwords (but round down a bit * since a power of two will mean an extra page allocation for the reloc * buffer). diff --git a/shared-core/i915_drm.h b/shared-core/i915_drm.h index 2801687c..9211b390 100644 --- a/shared-core/i915_drm.h +++ b/shared-core/i915_drm.h @@ -192,6 +192,7 @@ typedef struct drm_i915_sarea { #define DRM_I915_GEM_SW_FINISH 0x20 #define DRM_I915_GEM_SET_TILING 0x21 #define DRM_I915_GEM_GET_TILING 0x22 +#define DRM_I915_GEM_GET_APERTURE 0x23 #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) @@ -227,6 +228,7 @@ typedef struct drm_i915_sarea { #define DRM_IOCTL_I915_GEM_SW_FINISH DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_SW_FINISH, struct drm_i915_gem_sw_finish) #define DRM_IOCTL_I915_GEM_SET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_SET_TILING, struct drm_i915_gem_set_tiling) #define DRM_IOCTL_I915_GEM_GET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_TILING, struct drm_i915_gem_get_tiling) +#define DRM_IOCTL_I915_GEM_GET_APERTURE DRM_IOR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_APERTURE, struct drm_i915_gem_get_aperture) /* Asynchronous page flipping: */ @@ -716,4 +718,15 @@ struct drm_i915_gem_get_tiling { uint32_t swizzle_mode; }; +struct drm_i915_gem_get_aperture { + /** Total size of the aperture used by i915_gem_execbuffer, in bytes */ + uint64_t aper_size; + + /** + * Available space in the aperture used by i915_gem_execbuffer, in + * bytes + */ + uint64_t aper_available_size; +}; + #endif /* _I915_DRM_H_ */ -- cgit v1.2.3 From 4b9826408f65976a1a13387beda748b65e03ec52 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 30 Oct 2008 09:33:07 -0700 Subject: intel: Rename dri_ and intel_ symbols to drm_intel_. I wanted to avoid doing this, as it's a bunch of churn, but there was a conflict between the dri_ symbols in libdrm and the symbols that were in Mesa in 7.2, which broke Mesa 7.2 AIGLX when the 2D driver had loaded new libdrm symbols. The new naming was recommended by cworth for giving the code a unique prefix identifying where the code lives. Additionally, take the opportunity to fix up two API mistakes: emit_reloc's arguments were in a nonsensical order, and set_tiling lacked the stride argument that the kernel will want to use soon. API compatibility with released code is maintained using #defines. --- libdrm/intel/intel_bufmgr.c | 73 ++++---- libdrm/intel/intel_bufmgr.h | 179 ++++++++++++------- libdrm/intel/intel_bufmgr_fake.c | 369 +++++++++++++++++++-------------------- libdrm/intel/intel_bufmgr_gem.c | 336 ++++++++++++++++++----------------- libdrm/intel/intel_bufmgr_priv.h | 65 +++---- 5 files changed, 538 insertions(+), 484 deletions(-) diff --git a/libdrm/intel/intel_bufmgr.c b/libdrm/intel/intel_bufmgr.c index 92b60467..188eac22 100644 --- a/libdrm/intel/intel_bufmgr.c +++ b/libdrm/intel/intel_bufmgr.c @@ -39,26 +39,26 @@ #include "intel_bufmgr.h" #include "intel_bufmgr_priv.h" -/** @file dri_bufmgr.c +/** @file intel_bufmgr.c * * Convenience functions for buffer management methods. */ -dri_bo * -dri_bo_alloc(dri_bufmgr *bufmgr, const char *name, unsigned long size, - unsigned int alignment) +drm_intel_bo * +drm_intel_bo_alloc(drm_intel_bufmgr *bufmgr, const char *name, + unsigned long size, unsigned int alignment) { return bufmgr->bo_alloc(bufmgr, name, size, alignment); } void -dri_bo_reference(dri_bo *bo) +drm_intel_bo_reference(drm_intel_bo *bo) { bo->bufmgr->bo_reference(bo); } void -dri_bo_unreference(dri_bo *bo) +drm_intel_bo_unreference(drm_intel_bo *bo) { if (bo == NULL) return; @@ -67,38 +67,39 @@ dri_bo_unreference(dri_bo *bo) } int -dri_bo_map(dri_bo *buf, int write_enable) +drm_intel_bo_map(drm_intel_bo *buf, int write_enable) { return buf->bufmgr->bo_map(buf, write_enable); } int -dri_bo_unmap(dri_bo *buf) +drm_intel_bo_unmap(drm_intel_bo *buf) { return buf->bufmgr->bo_unmap(buf); } int -dri_bo_subdata(dri_bo *bo, unsigned long offset, - unsigned long size, const void *data) +drm_intel_bo_subdata(drm_intel_bo *bo, unsigned long offset, + unsigned long size, const void *data) { int ret; + if (bo->bufmgr->bo_subdata) return bo->bufmgr->bo_subdata(bo, offset, size, data); if (size == 0 || data == NULL) return 0; - ret = dri_bo_map(bo, 1); + ret = drm_intel_bo_map(bo, 1); if (ret) return ret; memcpy((unsigned char *)bo->virtual + offset, data, size); - dri_bo_unmap(bo); + drm_intel_bo_unmap(bo); return 0; } int -dri_bo_get_subdata(dri_bo *bo, unsigned long offset, - unsigned long size, void *data) +drm_intel_bo_get_subdata(drm_intel_bo *bo, unsigned long offset, + unsigned long size, void *data) { int ret; if (bo->bufmgr->bo_subdata) @@ -107,48 +108,48 @@ dri_bo_get_subdata(dri_bo *bo, unsigned long offset, if (size == 0 || data == NULL) return 0; - ret = dri_bo_map(bo, 0); + ret = drm_intel_bo_map(bo, 0); if (ret) return ret; memcpy(data, (unsigned char *)bo->virtual + offset, size); - dri_bo_unmap(bo); + drm_intel_bo_unmap(bo); return 0; } void -dri_bo_wait_rendering(dri_bo *bo) +drm_intel_bo_wait_rendering(drm_intel_bo *bo) { bo->bufmgr->bo_wait_rendering(bo); } void -dri_bufmgr_destroy(dri_bufmgr *bufmgr) +drm_intel_bufmgr_destroy(drm_intel_bufmgr *bufmgr) { bufmgr->destroy(bufmgr); } int -dri_bo_exec(dri_bo *bo, int used, - drm_clip_rect_t *cliprects, int num_cliprects, - int DR4) +drm_intel_bo_exec(drm_intel_bo *bo, int used, + drm_clip_rect_t *cliprects, int num_cliprects, + int DR4) { return bo->bufmgr->bo_exec(bo, used, cliprects, num_cliprects, DR4); } void -dri_bufmgr_set_debug(dri_bufmgr *bufmgr, int enable_debug) +drm_intel_bufmgr_set_debug(drm_intel_bufmgr *bufmgr, int enable_debug) { bufmgr->debug = enable_debug; } int -dri_bufmgr_check_aperture_space(dri_bo **bo_array, int count) +drm_intel_bufmgr_check_aperture_space(drm_intel_bo **bo_array, int count) { return bo_array[0]->bufmgr->check_aperture_space(bo_array, count); } int -dri_bo_flink(dri_bo *bo, uint32_t *name) +drm_intel_bo_flink(drm_intel_bo *bo, uint32_t *name) { if (bo->bufmgr->bo_flink) return bo->bufmgr->bo_flink(bo, name); @@ -157,17 +158,17 @@ dri_bo_flink(dri_bo *bo, uint32_t *name) } int -dri_bo_emit_reloc(dri_bo *reloc_buf, - uint32_t read_domains, uint32_t write_domain, - uint32_t delta, uint32_t offset, dri_bo *target_buf) +drm_intel_bo_emit_reloc(drm_intel_bo *bo, uint32_t offset, + drm_intel_bo *target_bo, uint32_t target_offset, + uint32_t read_domains, uint32_t write_domain) { - return reloc_buf->bufmgr->bo_emit_reloc(reloc_buf, - read_domains, write_domain, - delta, offset, target_buf); + return bo->bufmgr->bo_emit_reloc(bo, offset, + target_bo, target_offset, + read_domains, write_domain); } int -dri_bo_pin(dri_bo *bo, uint32_t alignment) +drm_intel_bo_pin(drm_intel_bo *bo, uint32_t alignment) { if (bo->bufmgr->bo_pin) return bo->bufmgr->bo_pin(bo, alignment); @@ -176,7 +177,7 @@ dri_bo_pin(dri_bo *bo, uint32_t alignment) } int -dri_bo_unpin(dri_bo *bo) +drm_intel_bo_unpin(drm_intel_bo *bo) { if (bo->bufmgr->bo_unpin) return bo->bufmgr->bo_unpin(bo); @@ -184,16 +185,18 @@ dri_bo_unpin(dri_bo *bo) return -ENODEV; } -int dri_bo_set_tiling(dri_bo *bo, uint32_t *tiling_mode) +int drm_intel_bo_set_tiling(drm_intel_bo *bo, uint32_t *tiling_mode, + uint32_t stride) { if (bo->bufmgr->bo_set_tiling) - return bo->bufmgr->bo_set_tiling(bo, tiling_mode); + return bo->bufmgr->bo_set_tiling(bo, tiling_mode, stride); *tiling_mode = I915_TILING_NONE; return 0; } -int dri_bo_get_tiling(dri_bo *bo, uint32_t *tiling_mode, uint32_t *swizzle_mode) +int drm_intel_bo_get_tiling(drm_intel_bo *bo, uint32_t *tiling_mode, + uint32_t *swizzle_mode) { if (bo->bufmgr->bo_get_tiling) return bo->bufmgr->bo_get_tiling(bo, tiling_mode, swizzle_mode); diff --git a/libdrm/intel/intel_bufmgr.h b/libdrm/intel/intel_bufmgr.h index 0c7b0e47..e3af886b 100644 --- a/libdrm/intel/intel_bufmgr.h +++ b/libdrm/intel/intel_bufmgr.h @@ -36,10 +36,10 @@ #include -typedef struct _dri_bufmgr dri_bufmgr; -typedef struct _dri_bo dri_bo; +typedef struct _drm_intel_bufmgr drm_intel_bufmgr; +typedef struct _drm_intel_bo drm_intel_bo; -struct _dri_bo { +struct _drm_intel_bo { /** * Size in bytes of the buffer object. * @@ -58,72 +58,117 @@ struct _dri_bo { void *virtual; /** Buffer manager context associated with this buffer object */ - dri_bufmgr *bufmgr; + drm_intel_bufmgr *bufmgr; }; -dri_bo *dri_bo_alloc(dri_bufmgr *bufmgr, const char *name, unsigned long size, - unsigned int alignment); -void dri_bo_reference(dri_bo *bo); -void dri_bo_unreference(dri_bo *bo); -int dri_bo_map(dri_bo *buf, int write_enable); -int dri_bo_unmap(dri_bo *buf); - -int dri_bo_subdata(dri_bo *bo, unsigned long offset, - unsigned long size, const void *data); -int dri_bo_get_subdata(dri_bo *bo, unsigned long offset, - unsigned long size, void *data); -void dri_bo_wait_rendering(dri_bo *bo); - -void dri_bufmgr_set_debug(dri_bufmgr *bufmgr, int enable_debug); -void dri_bufmgr_destroy(dri_bufmgr *bufmgr); -int dri_bo_exec(dri_bo *bo, int used, - drm_clip_rect_t *cliprects, int num_cliprects, - int DR4); -int dri_bufmgr_check_aperture_space(dri_bo **bo_array, int count); - -int dri_bo_emit_reloc(dri_bo *reloc_buf, - uint32_t read_domains, uint32_t write_domain, - uint32_t delta, uint32_t offset, dri_bo *target_buf); -int dri_bo_pin(dri_bo *buf, uint32_t alignment); -int dri_bo_unpin(dri_bo *buf); -int dri_bo_set_tiling(dri_bo *buf, uint32_t *tiling_mode); -int dri_bo_get_tiling(dri_bo *buf, uint32_t *tiling_mode, - uint32_t *swizzle_mode); -int dri_bo_flink(dri_bo *buf, uint32_t *name); - -/* intel_bufmgr_gem.c */ -dri_bufmgr *intel_bufmgr_gem_init(int fd, int batch_size); -dri_bo *intel_bo_gem_create_from_name(dri_bufmgr *bufmgr, const char *name, - unsigned int handle); -void intel_bufmgr_gem_enable_reuse(dri_bufmgr *bufmgr); - -/* intel_bufmgr_fake.c */ -dri_bufmgr *intel_bufmgr_fake_init(int fd, - unsigned long low_offset, void *low_virtual, - unsigned long size, - volatile unsigned int *last_dispatch); -void intel_bufmgr_fake_set_last_dispatch(dri_bufmgr *bufmgr, - volatile unsigned int *last_dispatch); -void intel_bufmgr_fake_set_exec_callback(dri_bufmgr *bufmgr, - int (*exec)(dri_bo *bo, - unsigned int used, - void *priv), - void *priv); -void intel_bufmgr_fake_set_fence_callback(dri_bufmgr *bufmgr, - unsigned int (*emit)(void *priv), - void (*wait)(unsigned int fence, - void *priv), - void *priv); -dri_bo *intel_bo_fake_alloc_static(dri_bufmgr *bufmgr, const char *name, - unsigned long offset, unsigned long size, - void *virtual); -void intel_bo_fake_disable_backing_store(dri_bo *bo, - void (*invalidate_cb)(dri_bo *bo, - void *ptr), - void *ptr); - -void intel_bufmgr_fake_contended_lock_take(dri_bufmgr *bufmgr); -void intel_bufmgr_fake_evict_all(dri_bufmgr *bufmgr); +drm_intel_bo *drm_intel_bo_alloc(drm_intel_bufmgr *bufmgr, const char *name, + unsigned long size, unsigned int alignment); +void drm_intel_bo_reference(drm_intel_bo *bo); +void drm_intel_bo_unreference(drm_intel_bo *bo); +int drm_intel_bo_map(drm_intel_bo *bo, int write_enable); +int drm_intel_bo_unmap(drm_intel_bo *bo); + +int drm_intel_bo_subdata(drm_intel_bo *bo, unsigned long offset, + unsigned long size, const void *data); +int drm_intel_bo_get_subdata(drm_intel_bo *bo, unsigned long offset, + unsigned long size, void *data); +void drm_intel_bo_wait_rendering(drm_intel_bo *bo); + +void drm_intel_bufmgr_set_debug(drm_intel_bufmgr *bufmgr, int enable_debug); +void drm_intel_bufmgr_destroy(drm_intel_bufmgr *bufmgr); +int drm_intel_bo_exec(drm_intel_bo *bo, int used, + drm_clip_rect_t *cliprects, int num_cliprects, + int DR4); +int drm_intel_bufmgr_check_aperture_space(drm_intel_bo **bo_array, int count); + +int drm_intel_bo_emit_reloc(drm_intel_bo *bo, uint32_t offset, + drm_intel_bo *target_bo, uint32_t target_offset, + uint32_t read_domains, uint32_t write_domain); +int drm_intel_bo_pin(drm_intel_bo *bo, uint32_t alignment); +int drm_intel_bo_unpin(drm_intel_bo *bo); +int drm_intel_bo_set_tiling(drm_intel_bo *bo, uint32_t *tiling_mode, + uint32_t stride); +int drm_intel_bo_get_tiling(drm_intel_bo *bo, uint32_t *tiling_mode, + uint32_t *swizzle_mode); +int drm_intel_bo_flink(drm_intel_bo *bo, uint32_t *name); + +/* drm_intel_bufmgr_gem.c */ +drm_intel_bufmgr *drm_intel_bufmgr_gem_init(int fd, int batch_size); +drm_intel_bo *drm_intel_bo_gem_create_from_name(drm_intel_bufmgr *bufmgr, + const char *name, + unsigned int handle); +void drm_intel_bufmgr_gem_enable_reuse(drm_intel_bufmgr *bufmgr); + +/* drm_intel_bufmgr_fake.c */ +drm_intel_bufmgr *drm_intel_bufmgr_fake_init(int fd, + unsigned long low_offset, + void *low_virtual, + unsigned long size, + volatile unsigned int *last_dispatch); +void drm_intel_bufmgr_fake_set_last_dispatch(drm_intel_bufmgr *bufmgr, + volatile unsigned int *last_dispatch); +void drm_intel_bufmgr_fake_set_exec_callback(drm_intel_bufmgr *bufmgr, + int (*exec)(drm_intel_bo *bo, + unsigned int used, + void *priv), + void *priv); +void drm_intel_bufmgr_fake_set_fence_callback(drm_intel_bufmgr *bufmgr, + unsigned int (*emit)(void *priv), + void (*wait)(unsigned int fence, + void *priv), + void *priv); +drm_intel_bo *drm_intel_bo_fake_alloc_static(drm_intel_bufmgr *bufmgr, + const char *name, + unsigned long offset, unsigned long size, + void *virtual); +void drm_intel_bo_fake_disable_backing_store(drm_intel_bo *bo, + void (*invalidate_cb)(drm_intel_bo *bo, + void *ptr), + void *ptr); + +void drm_intel_bufmgr_fake_contended_lock_take(drm_intel_bufmgr *bufmgr); +void drm_intel_bufmgr_fake_evict_all(drm_intel_bufmgr *bufmgr); + +/** @{ Compatibility defines to keep old code building despite the symbol rename + * from dri_* to drm_intel_* + */ +#define dri_bo drm_intel_bo +#define dri_bufmgr drm_intel_bufmgr +#define dri_bo_alloc drm_intel_bo_alloc +#define dri_bo_reference drm_intel_bo_reference +#define dri_bo_unreference drm_intel_bo_unreference +#define dri_bo_map drm_intel_bo_map +#define dri_bo_unmap drm_intel_bo_unmap +#define dri_bo_subdata drm_intel_bo_subdata +#define dri_bo_get_subdata drm_intel_bo_get_subdata +#define dri_bo_wait_rendering drm_intel_bo_wait_rendering +#define dri_bufmgr_set_debug drm_intel_bufmgr_set_debug +#define dri_bufmgr_destroy drm_intel_bufmgr_destroy +#define dri_bo_exec drm_intel_bo_exec +#define dri_bufmgr_check_aperture_space drm_intel_bufmgr_check_aperture_space +#define dri_bo_emit_reloc(reloc_bo, read, write, target_offset, \ + reloc_offset, target_bo) \ + drm_intel_bo_emit_reloc(reloc_bo, reloc_offset, \ + target_bo, target_offset, \ + read, write); +#define dri_bo_pin drm_intel_bo_pin +#define dri_bo_unpin drm_intel_bo_unpin +#define dri_bo_get_tiling drm_intel_bo_get_tiling +#define dri_bo_set_tiling(bo, mode) drm_intel_bo_set_tiling(bo, mode, 0) +#define dri_bo_flink drm_intel_bo_flink +#define intel_bufmgr_gem_init drm_intel_bufmgr_gem_init +#define intel_bo_gem_create_from_name drm_intel_bo_gem_create_from_name +#define intel_bufmgr_gem_enable_reuse drm_intel_bufmgr_gem_enable_reuse +#define intel_bufmgr_fake_init drm_intel_bufmgr_fake_init +#define intel_bufmgr_fake_set_last_dispatch drm_intel_bufmgr_fake_set_last_dispatch +#define intel_bufmgr_fake_set_exec_callback drm_intel_bufmgr_fake_set_exec_callback +#define intel_bufmgr_fake_set_fence_callback drm_intel_bufmgr_fake_set_fence_callback +#define intel_bo_fake_alloc_static drm_intel_bo_fake_alloc_static +#define intel_bo_fake_disable_backing_store drm_intel_bo_fake_disable_backing_store +#define intel_bufmgr_fake_contended_lock_take drm_intel_bufmgr_fake_contended_lock_take +#define intel_bufmgr_fake_evict_all drm_intel_bufmgr_fake_evict_all + +/** @{ */ #endif /* INTEL_BUFMGR_H */ diff --git a/libdrm/intel/intel_bufmgr_fake.c b/libdrm/intel/intel_bufmgr_fake.c index c9545b35..6d8ee85a 100644 --- a/libdrm/intel/intel_bufmgr_fake.c +++ b/libdrm/intel/intel_bufmgr_fake.c @@ -75,7 +75,7 @@ struct fake_buffer_reloc { /** Buffer object that the relocation points at. */ - dri_bo *target_buf; + drm_intel_bo *target_buf; /** Offset of the relocation entry within reloc_buf. */ uint32_t offset; /** Cached value of the offset when we last performed this relocation. */ @@ -106,12 +106,12 @@ struct block { /** Fence cookie for the block. */ unsigned fence; /* Split to read_fence, write_fence */ - dri_bo *bo; + drm_intel_bo *bo; void *virtual; }; typedef struct _bufmgr_fake { - dri_bufmgr bufmgr; + drm_intel_bufmgr bufmgr; pthread_mutex_t lock; @@ -163,7 +163,7 @@ typedef struct _bufmgr_fake { * This allows the driver to hook in a replacement for the DRM usage in * bufmgr_fake. */ - int (*exec)(dri_bo *bo, unsigned int used, void *priv); + int (*exec)(drm_intel_bo *bo, unsigned int used, void *priv); void *exec_priv; /** Driver-supplied argument to driver callbacks */ @@ -176,10 +176,10 @@ typedef struct _bufmgr_fake { int debug; int performed_rendering; -} dri_bufmgr_fake; +} drm_intel_bufmgr_fake; -typedef struct _dri_bo_fake { - dri_bo bo; +typedef struct _drm_intel_bo_fake { + drm_intel_bo bo; unsigned id; /* debug only */ const char *name; @@ -214,11 +214,11 @@ typedef struct _dri_bo_fake { struct block *block; void *backing_store; - void (*invalidate_cb)(dri_bo *bo, void *ptr); + void (*invalidate_cb)(drm_intel_bo *bo, void *ptr); void *invalidate_ptr; -} dri_bo_fake; +} drm_intel_bo_fake; -static int clear_fenced(dri_bufmgr_fake *bufmgr_fake, +static int clear_fenced(drm_intel_bufmgr_fake *bufmgr_fake, unsigned int fence_cookie); #define MAXFENCE 0x7fffffff @@ -237,13 +237,13 @@ static int FENCE_LTE( unsigned a, unsigned b ) return 0; } -void intel_bufmgr_fake_set_fence_callback(dri_bufmgr *bufmgr, - unsigned int (*emit)(void *priv), - void (*wait)(unsigned int fence, - void *priv), - void *priv) +void drm_intel_bufmgr_fake_set_fence_callback(drm_intel_bufmgr *bufmgr, + unsigned int (*emit)(void *priv), + void (*wait)(unsigned int fence, + void *priv), + void *priv) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bufmgr; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bufmgr; bufmgr_fake->fence_emit = emit; bufmgr_fake->fence_wait = wait; @@ -251,7 +251,7 @@ void intel_bufmgr_fake_set_fence_callback(dri_bufmgr *bufmgr, } static unsigned int -_fence_emit_internal(dri_bufmgr_fake *bufmgr_fake) +_fence_emit_internal(drm_intel_bufmgr_fake *bufmgr_fake) { struct drm_i915_irq_emit ie; int ret, seq = 1; @@ -274,7 +274,7 @@ _fence_emit_internal(dri_bufmgr_fake *bufmgr_fake) } static void -_fence_wait_internal(dri_bufmgr_fake *bufmgr_fake, int seq) +_fence_wait_internal(drm_intel_bufmgr_fake *bufmgr_fake, int seq) { struct drm_i915_irq_wait iw; int hw_seq, busy_count = 0; @@ -397,7 +397,7 @@ _fence_wait_internal(dri_bufmgr_fake *bufmgr_fake, int seq) } static int -_fence_test(dri_bufmgr_fake *bufmgr_fake, unsigned fence) +_fence_test(drm_intel_bufmgr_fake *bufmgr_fake, unsigned fence) { /* Slight problem with wrap-around: */ @@ -408,10 +408,10 @@ _fence_test(dri_bufmgr_fake *bufmgr_fake, unsigned fence) * Allocate a memory manager block for the buffer. */ static int -alloc_block(dri_bo *bo) +alloc_block(drm_intel_bo *bo) { - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; - dri_bufmgr_fake *bufmgr_fake= (dri_bufmgr_fake *)bo->bufmgr; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; + drm_intel_bufmgr_fake *bufmgr_fake= (drm_intel_bufmgr_fake *)bo->bufmgr; struct block *block = (struct block *)calloc(sizeof *block, 1); unsigned int align_log2 = ffs(bo_fake->alignment) - 1; unsigned int sz; @@ -444,15 +444,15 @@ alloc_block(dri_bo *bo) /* Release the card storage associated with buf: */ -static void free_block(dri_bufmgr_fake *bufmgr_fake, struct block *block) +static void free_block(drm_intel_bufmgr_fake *bufmgr_fake, struct block *block) { - dri_bo_fake *bo_fake; + drm_intel_bo_fake *bo_fake; DBG("free block %p %08x %d %d\n", block, block->mem->ofs, block->on_hardware, block->fenced); if (!block) return; - bo_fake = (dri_bo_fake *)block->bo; + bo_fake = (drm_intel_bo_fake *)block->bo; if (!(bo_fake->flags & (BM_PINNED | BM_NO_BACKING_STORE)) && (bo_fake->card_dirty == 1)) { memcpy(bo_fake->backing_store, block->virtual, block->bo->size); bo_fake->card_dirty = 0; @@ -475,10 +475,10 @@ static void free_block(dri_bufmgr_fake *bufmgr_fake, struct block *block) } static void -alloc_backing_store(dri_bo *bo) +alloc_backing_store(drm_intel_bo *bo) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; assert(!bo_fake->backing_store); assert(!(bo_fake->flags & (BM_PINNED|BM_NO_BACKING_STORE))); @@ -489,9 +489,9 @@ alloc_backing_store(dri_bo *bo) } static void -free_backing_store(dri_bo *bo) +free_backing_store(drm_intel_bo *bo) { - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; if (bo_fake->backing_store) { assert(!(bo_fake->flags & (BM_PINNED|BM_NO_BACKING_STORE))); @@ -501,10 +501,10 @@ free_backing_store(dri_bo *bo) } static void -set_dirty(dri_bo *bo) +set_dirty(drm_intel_bo *bo) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; if (bo_fake->flags & BM_NO_BACKING_STORE && bo_fake->invalidate_cb != NULL) bo_fake->invalidate_cb(bo, bo_fake->invalidate_ptr); @@ -516,14 +516,14 @@ set_dirty(dri_bo *bo) } static int -evict_lru(dri_bufmgr_fake *bufmgr_fake, unsigned int max_fence) +evict_lru(drm_intel_bufmgr_fake *bufmgr_fake, unsigned int max_fence) { struct block *block, *tmp; DBG("%s\n", __FUNCTION__); DRMLISTFOREACHSAFE(block, tmp, &bufmgr_fake->lru) { - dri_bo_fake *bo_fake = (dri_bo_fake *)block->bo; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)block->bo; if (bo_fake != NULL && (bo_fake->flags & BM_NO_FENCE_SUBDATA)) continue; @@ -542,14 +542,14 @@ evict_lru(dri_bufmgr_fake *bufmgr_fake, unsigned int max_fence) } static int -evict_mru(dri_bufmgr_fake *bufmgr_fake) +evict_mru(drm_intel_bufmgr_fake *bufmgr_fake) { struct block *block, *tmp; DBG("%s\n", __FUNCTION__); DRMLISTFOREACHSAFEREVERSE(block, tmp, &bufmgr_fake->lru) { - dri_bo_fake *bo_fake = (dri_bo_fake *)block->bo; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)block->bo; if (bo_fake && (bo_fake->flags & BM_NO_FENCE_SUBDATA)) continue; @@ -567,7 +567,7 @@ evict_mru(dri_bufmgr_fake *bufmgr_fake) /** * Removes all objects from the fenced list older than the given fence. */ -static int clear_fenced(dri_bufmgr_fake *bufmgr_fake, +static int clear_fenced(drm_intel_bufmgr_fake *bufmgr_fake, unsigned int fence_cookie) { struct block *block, *tmp; @@ -611,7 +611,7 @@ static int clear_fenced(dri_bufmgr_fake *bufmgr_fake, return ret; } -static void fence_blocks(dri_bufmgr_fake *bufmgr_fake, unsigned fence) +static void fence_blocks(drm_intel_bufmgr_fake *bufmgr_fake, unsigned fence) { struct block *block, *tmp; @@ -632,10 +632,10 @@ static void fence_blocks(dri_bufmgr_fake *bufmgr_fake, unsigned fence) assert(DRMLISTEMPTY(&bufmgr_fake->on_hardware)); } -static int evict_and_alloc_block(dri_bo *bo) +static int evict_and_alloc_block(drm_intel_bo *bo) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; assert(bo_fake->block == NULL); @@ -702,7 +702,7 @@ static int evict_and_alloc_block(dri_bo *bo) * Wait for hardware idle by emitting a fence and waiting for it. */ static void -dri_bufmgr_fake_wait_idle(dri_bufmgr_fake *bufmgr_fake) +drm_intel_bufmgr_fake_wait_idle(drm_intel_bufmgr_fake *bufmgr_fake) { unsigned int cookie; @@ -717,10 +717,10 @@ dri_bufmgr_fake_wait_idle(dri_bufmgr_fake *bufmgr_fake) * the necessary flushing. */ static void -dri_fake_bo_wait_rendering_locked(dri_bo *bo) +drm_intel_fake_bo_wait_rendering_locked(drm_intel_bo *bo) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; if (bo_fake->block == NULL || !bo_fake->block->fenced) return; @@ -729,12 +729,12 @@ dri_fake_bo_wait_rendering_locked(dri_bo *bo) } static void -dri_fake_bo_wait_rendering(dri_bo *bo) +drm_intel_fake_bo_wait_rendering(drm_intel_bo *bo) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; pthread_mutex_lock(&bufmgr_fake->lock); - dri_fake_bo_wait_rendering_locked(bo); + drm_intel_fake_bo_wait_rendering_locked(bo); pthread_mutex_unlock(&bufmgr_fake->lock); } @@ -743,9 +743,9 @@ dri_fake_bo_wait_rendering(dri_bo *bo) * -- and wait for idle */ void -intel_bufmgr_fake_contended_lock_take(dri_bufmgr *bufmgr) +drm_intel_bufmgr_fake_contended_lock_take(drm_intel_bufmgr *bufmgr) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bufmgr; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bufmgr; struct block *block, *tmp; pthread_mutex_lock(&bufmgr_fake->lock); @@ -757,7 +757,7 @@ intel_bufmgr_fake_contended_lock_take(dri_bufmgr *bufmgr) * happening, so we'll need to wait anyway before letting anything get * put on the card again. */ - dri_bufmgr_fake_wait_idle(bufmgr_fake); + drm_intel_bufmgr_fake_wait_idle(bufmgr_fake); /* Check that we hadn't released the lock without having fenced the last * set of buffers. @@ -773,14 +773,14 @@ intel_bufmgr_fake_contended_lock_take(dri_bufmgr *bufmgr) pthread_mutex_unlock(&bufmgr_fake->lock); } -static dri_bo * -dri_fake_bo_alloc(dri_bufmgr *bufmgr, const char *name, - unsigned long size, unsigned int alignment) +static drm_intel_bo * +drm_intel_fake_bo_alloc(drm_intel_bufmgr *bufmgr, const char *name, + unsigned long size, unsigned int alignment) { - dri_bufmgr_fake *bufmgr_fake; - dri_bo_fake *bo_fake; + drm_intel_bufmgr_fake *bufmgr_fake; + drm_intel_bo_fake *bo_fake; - bufmgr_fake = (dri_bufmgr_fake *)bufmgr; + bufmgr_fake = (drm_intel_bufmgr_fake *)bufmgr; assert(size != 0); @@ -810,15 +810,15 @@ dri_fake_bo_alloc(dri_bufmgr *bufmgr, const char *name, return &bo_fake->bo; } -dri_bo * -intel_bo_fake_alloc_static(dri_bufmgr *bufmgr, const char *name, - unsigned long offset, unsigned long size, - void *virtual) +drm_intel_bo * +drm_intel_bo_fake_alloc_static(drm_intel_bufmgr *bufmgr, const char *name, + unsigned long offset, unsigned long size, + void *virtual) { - dri_bufmgr_fake *bufmgr_fake; - dri_bo_fake *bo_fake; + drm_intel_bufmgr_fake *bufmgr_fake; + drm_intel_bo_fake *bo_fake; - bufmgr_fake = (dri_bufmgr_fake *)bufmgr; + bufmgr_fake = (drm_intel_bufmgr_fake *)bufmgr; assert(size != 0); @@ -843,10 +843,10 @@ intel_bo_fake_alloc_static(dri_bufmgr *bufmgr, const char *name, } static void -dri_fake_bo_reference(dri_bo *bo) +drm_intel_fake_bo_reference(drm_intel_bo *bo) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; pthread_mutex_lock(&bufmgr_fake->lock); bo_fake->refcount++; @@ -854,18 +854,18 @@ dri_fake_bo_reference(dri_bo *bo) } static void -dri_fake_bo_reference_locked(dri_bo *bo) +drm_intel_fake_bo_reference_locked(drm_intel_bo *bo) { - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; bo_fake->refcount++; } static void -dri_fake_bo_unreference_locked(dri_bo *bo) +drm_intel_fake_bo_unreference_locked(drm_intel_bo *bo) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; int i; if (--bo_fake->refcount == 0) { @@ -876,7 +876,7 @@ dri_fake_bo_unreference_locked(dri_bo *bo) free_backing_store(bo); for (i = 0; i < bo_fake->nr_relocs; i++) - dri_fake_bo_unreference_locked(bo_fake->relocs[i].target_buf); + drm_intel_fake_bo_unreference_locked(bo_fake->relocs[i].target_buf); DBG("drm_bo_unreference: free buf %d %s\n", bo_fake->id, bo_fake->name); @@ -886,12 +886,12 @@ dri_fake_bo_unreference_locked(dri_bo *bo) } static void -dri_fake_bo_unreference(dri_bo *bo) +drm_intel_fake_bo_unreference(drm_intel_bo *bo) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; pthread_mutex_lock(&bufmgr_fake->lock); - dri_fake_bo_unreference_locked(bo); + drm_intel_fake_bo_unreference_locked(bo); pthread_mutex_unlock(&bufmgr_fake->lock); } @@ -899,13 +899,13 @@ dri_fake_bo_unreference(dri_bo *bo) * Set the buffer as not requiring backing store, and instead get the callback * invoked whenever it would be set dirty. */ -void intel_bo_fake_disable_backing_store(dri_bo *bo, - void (*invalidate_cb)(dri_bo *bo, - void *ptr), - void *ptr) +void drm_intel_bo_fake_disable_backing_store(drm_intel_bo *bo, + void (*invalidate_cb)(drm_intel_bo *bo, + void *ptr), + void *ptr) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; pthread_mutex_lock(&bufmgr_fake->lock); @@ -934,15 +934,15 @@ void intel_bo_fake_disable_backing_store(dri_bo *bo, * BM_NO_BACKING_STORE or BM_PINNED) or backing store, as necessary. */ static int -dri_fake_bo_map_locked(dri_bo *bo, int write_enable) +drm_intel_fake_bo_map_locked(drm_intel_bo *bo, int write_enable) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; /* Static buffers are always mapped. */ if (bo_fake->is_static) { if (bo_fake->card_dirty) { - dri_bufmgr_fake_wait_idle(bufmgr_fake); + drm_intel_bufmgr_fake_wait_idle(bufmgr_fake); bo_fake->card_dirty = 0; } return 0; @@ -976,7 +976,7 @@ dri_fake_bo_map_locked(dri_bo *bo, int write_enable) if (!(bo_fake->flags & BM_NO_FENCE_SUBDATA) && bo_fake->block->fenced) { - dri_fake_bo_wait_rendering_locked(bo); + drm_intel_fake_bo_wait_rendering_locked(bo); } bo->virtual = bo_fake->block->virtual; @@ -991,7 +991,7 @@ dri_fake_bo_map_locked(dri_bo *bo, int write_enable) if ((bo_fake->card_dirty == 1) && bo_fake->block) { if (bo_fake->block->fenced) - dri_fake_bo_wait_rendering_locked(bo); + drm_intel_fake_bo_wait_rendering_locked(bo); memcpy(bo_fake->backing_store, bo_fake->block->virtual, bo_fake->block->bo->size); bo_fake->card_dirty = 0; @@ -1005,23 +1005,23 @@ dri_fake_bo_map_locked(dri_bo *bo, int write_enable) } static int -dri_fake_bo_map(dri_bo *bo, int write_enable) +drm_intel_fake_bo_map(drm_intel_bo *bo, int write_enable) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; int ret; pthread_mutex_lock(&bufmgr_fake->lock); - ret = dri_fake_bo_map_locked(bo, write_enable); + ret = drm_intel_fake_bo_map_locked(bo, write_enable); pthread_mutex_unlock(&bufmgr_fake->lock); return ret; } static int -dri_fake_bo_unmap_locked(dri_bo *bo) +drm_intel_fake_bo_unmap_locked(drm_intel_bo *bo) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; /* Static buffers are always mapped. */ if (bo_fake->is_static) @@ -1040,20 +1040,20 @@ dri_fake_bo_unmap_locked(dri_bo *bo) } static int -dri_fake_bo_unmap(dri_bo *bo) +drm_intel_fake_bo_unmap(drm_intel_bo *bo) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; int ret; pthread_mutex_lock(&bufmgr_fake->lock); - ret = dri_fake_bo_unmap_locked(bo); + ret = drm_intel_fake_bo_unmap_locked(bo); pthread_mutex_unlock(&bufmgr_fake->lock); return ret; } static void -dri_fake_kick_all_locked(dri_bufmgr_fake *bufmgr_fake) +drm_intel_fake_kick_all_locked(drm_intel_bufmgr_fake *bufmgr_fake) { struct block *block, *tmp; @@ -1061,7 +1061,7 @@ dri_fake_kick_all_locked(dri_bufmgr_fake *bufmgr_fake) /* okay for ever BO that is on the HW kick it off. seriously not afraid of the POLICE right now */ DRMLISTFOREACHSAFE(block, tmp, &bufmgr_fake->on_hardware) { - dri_bo_fake *bo_fake = (dri_bo_fake *)block->bo; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)block->bo; block->on_hardware = 0; free_block(bufmgr_fake, block); @@ -1074,12 +1074,12 @@ dri_fake_kick_all_locked(dri_bufmgr_fake *bufmgr_fake) } static int -dri_fake_bo_validate(dri_bo *bo) +drm_intel_fake_bo_validate(drm_intel_bo *bo) { - dri_bufmgr_fake *bufmgr_fake; - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + drm_intel_bufmgr_fake *bufmgr_fake; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; - bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; + bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; DBG("drm_bo_validate: (buf %d: %s, %d kb)\n", bo_fake->id, bo_fake->name, bo_fake->bo.size / 1024); @@ -1120,7 +1120,7 @@ dri_fake_bo_validate(dri_bo *bo) * which we would be tracking when we free it. Waiting for idle is * a sufficiently large hammer for now. */ - dri_bufmgr_fake_wait_idle(bufmgr_fake); + drm_intel_bufmgr_fake_wait_idle(bufmgr_fake); /* we may never have mapped this BO so it might not have any backing * store if this happens it should be rare, but 0 the card memory @@ -1145,9 +1145,9 @@ dri_fake_bo_validate(dri_bo *bo) } static void -dri_fake_fence_validated(dri_bufmgr *bufmgr) +drm_intel_fake_fence_validated(drm_intel_bufmgr *bufmgr) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bufmgr; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bufmgr; unsigned int cookie; cookie = _fence_emit_internal(bufmgr_fake); @@ -1157,9 +1157,9 @@ dri_fake_fence_validated(dri_bufmgr *bufmgr) } static void -dri_fake_destroy(dri_bufmgr *bufmgr) +drm_intel_fake_destroy(drm_intel_bufmgr *bufmgr) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bufmgr; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bufmgr; pthread_mutex_destroy(&bufmgr_fake->lock); mmDestroy(bufmgr_fake->heap); @@ -1167,47 +1167,46 @@ dri_fake_destroy(dri_bufmgr *bufmgr) } static int -dri_fake_emit_reloc(dri_bo *reloc_buf, - uint32_t read_domains, uint32_t write_domain, - uint32_t delta, uint32_t offset, dri_bo *target_buf) +drm_intel_fake_emit_reloc(drm_intel_bo *bo, uint32_t offset, + drm_intel_bo *target_bo, uint32_t target_offset, + uint32_t read_domains, uint32_t write_domain) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)reloc_buf->bufmgr; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; struct fake_buffer_reloc *r; - dri_bo_fake *reloc_fake = (dri_bo_fake *)reloc_buf; - dri_bo_fake *target_fake = (dri_bo_fake *)target_buf; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; + drm_intel_bo_fake *target_fake = (drm_intel_bo_fake *)target_bo; int i; pthread_mutex_lock(&bufmgr_fake->lock); - assert(reloc_buf); - assert(target_buf); + assert(bo); + assert(target_bo); - if (reloc_fake->relocs == NULL) { - reloc_fake->relocs = malloc(sizeof(struct fake_buffer_reloc) * - MAX_RELOCS); + if (bo_fake->relocs == NULL) { + bo_fake->relocs = malloc(sizeof(struct fake_buffer_reloc) * MAX_RELOCS); } - r = &reloc_fake->relocs[reloc_fake->nr_relocs++]; + r = &bo_fake->relocs[bo_fake->nr_relocs++]; - assert(reloc_fake->nr_relocs <= MAX_RELOCS); + assert(bo_fake->nr_relocs <= MAX_RELOCS); - dri_fake_bo_reference_locked(target_buf); + drm_intel_fake_bo_reference_locked(target_bo); if (!target_fake->is_static) { - reloc_fake->child_size += ALIGN(target_buf->size, target_fake->alignment); - reloc_fake->child_size += target_fake->child_size; + bo_fake->child_size += ALIGN(target_bo->size, target_fake->alignment); + bo_fake->child_size += target_fake->child_size; } - r->target_buf = target_buf; + r->target_buf = target_bo; r->offset = offset; - r->last_target_offset = target_buf->offset; - r->delta = delta; + r->last_target_offset = target_bo->offset; + r->delta = target_offset; r->read_domains = read_domains; r->write_domain = write_domain; if (bufmgr_fake->debug) { /* Check that a conflicting relocation hasn't already been emitted. */ - for (i = 0; i < reloc_fake->nr_relocs - 1; i++) { - struct fake_buffer_reloc *r2 = &reloc_fake->relocs[i]; + for (i = 0; i < bo_fake->nr_relocs - 1; i++) { + struct fake_buffer_reloc *r2 = &bo_fake->relocs[i]; assert(r->offset != r2->offset); } @@ -1223,17 +1222,17 @@ dri_fake_emit_reloc(dri_bo *reloc_buf, * the combined validation flags for the buffer on this batchbuffer submission. */ static void -dri_fake_calculate_domains(dri_bo *bo) +drm_intel_fake_calculate_domains(drm_intel_bo *bo) { - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; int i; for (i = 0; i < bo_fake->nr_relocs; i++) { struct fake_buffer_reloc *r = &bo_fake->relocs[i]; - dri_bo_fake *target_fake = (dri_bo_fake *)r->target_buf; + drm_intel_bo_fake *target_fake = (drm_intel_bo_fake *)r->target_buf; /* Do the same for the tree of buffers we depend on */ - dri_fake_calculate_domains(r->target_buf); + drm_intel_fake_calculate_domains(r->target_buf); target_fake->read_domains |= r->read_domains; target_fake->write_domain |= r->write_domain; @@ -1242,25 +1241,25 @@ dri_fake_calculate_domains(dri_bo *bo) static int -dri_fake_reloc_and_validate_buffer(dri_bo *bo) +drm_intel_fake_reloc_and_validate_buffer(drm_intel_bo *bo) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; int i, ret; assert(bo_fake->map_count == 0); for (i = 0; i < bo_fake->nr_relocs; i++) { struct fake_buffer_reloc *r = &bo_fake->relocs[i]; - dri_bo_fake *target_fake = (dri_bo_fake *)r->target_buf; + drm_intel_bo_fake *target_fake = (drm_intel_bo_fake *)r->target_buf; uint32_t reloc_data; /* Validate the target buffer if that hasn't been done. */ if (!target_fake->validated) { - ret = dri_fake_reloc_and_validate_buffer(r->target_buf); + ret = drm_intel_fake_reloc_and_validate_buffer(r->target_buf); if (ret != 0) { if (bo->virtual != NULL) - dri_fake_bo_unmap_locked(bo); + drm_intel_fake_bo_unmap_locked(bo); return ret; } } @@ -1270,7 +1269,7 @@ dri_fake_reloc_and_validate_buffer(dri_bo *bo) reloc_data = r->target_buf->offset + r->delta; if (bo->virtual == NULL) - dri_fake_bo_map_locked(bo, 1); + drm_intel_fake_bo_map_locked(bo, 1); *(uint32_t *)((uint8_t *)bo->virtual + r->offset) = reloc_data; @@ -1279,7 +1278,7 @@ dri_fake_reloc_and_validate_buffer(dri_bo *bo) } if (bo->virtual != NULL) - dri_fake_bo_unmap_locked(bo); + drm_intel_fake_bo_unmap_locked(bo); if (bo_fake->write_domain != 0) { if (!(bo_fake->flags & (BM_NO_BACKING_STORE|BM_PINNED))) { @@ -1290,22 +1289,22 @@ dri_fake_reloc_and_validate_buffer(dri_bo *bo) bufmgr_fake->performed_rendering = 1; } - return dri_fake_bo_validate(bo); + return drm_intel_fake_bo_validate(bo); } static void -dri_bo_fake_post_submit(dri_bo *bo) +drm_intel_bo_fake_post_submit(drm_intel_bo *bo) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; - dri_bo_fake *bo_fake = (dri_bo_fake *)bo; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo; int i; for (i = 0; i < bo_fake->nr_relocs; i++) { struct fake_buffer_reloc *r = &bo_fake->relocs[i]; - dri_bo_fake *target_fake = (dri_bo_fake *)r->target_buf; + drm_intel_bo_fake *target_fake = (drm_intel_bo_fake *)r->target_buf; if (target_fake->validated) - dri_bo_fake_post_submit(r->target_buf); + drm_intel_bo_fake_post_submit(r->target_buf); DBG("%s@0x%08x + 0x%08x -> %s@0x%08x + 0x%08x\n", bo_fake->name, (uint32_t)bo->offset, r->offset, @@ -1319,25 +1318,25 @@ dri_bo_fake_post_submit(dri_bo *bo) } -void intel_bufmgr_fake_set_exec_callback(dri_bufmgr *bufmgr, - int (*exec)(dri_bo *bo, - unsigned int used, - void *priv), - void *priv) +void drm_intel_bufmgr_fake_set_exec_callback(drm_intel_bufmgr *bufmgr, + int (*exec)(drm_intel_bo *bo, + unsigned int used, + void *priv), + void *priv) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bufmgr; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bufmgr; bufmgr_fake->exec = exec; bufmgr_fake->exec_priv = priv; } static int -dri_fake_bo_exec(dri_bo *bo, int used, - drm_clip_rect_t *cliprects, int num_cliprects, - int DR4) +drm_intel_fake_bo_exec(drm_intel_bo *bo, int used, + drm_clip_rect_t *cliprects, int num_cliprects, + int DR4) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo->bufmgr; - dri_bo_fake *batch_fake = (dri_bo_fake *)bo; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo->bufmgr; + drm_intel_bo_fake *batch_fake = (drm_intel_bo_fake *)bo; struct drm_i915_batchbuffer batch; int ret; int retry_count = 0; @@ -1346,17 +1345,17 @@ dri_fake_bo_exec(dri_bo *bo, int used, bufmgr_fake->performed_rendering = 0; - dri_fake_calculate_domains(bo); + drm_intel_fake_calculate_domains(bo); batch_fake->read_domains = I915_GEM_DOMAIN_COMMAND; /* we've ran out of RAM so blow the whole lot away and retry */ restart: - ret = dri_fake_reloc_and_validate_buffer(bo); + ret = drm_intel_fake_reloc_and_validate_buffer(bo); if (bufmgr_fake->fail == 1) { if (retry_count == 0) { retry_count++; - dri_fake_kick_all_locked(bufmgr_fake); + drm_intel_fake_kick_all_locked(bufmgr_fake); bufmgr_fake->fail = 0; goto restart; } else /* dump out the memory here */ @@ -1387,9 +1386,9 @@ dri_fake_bo_exec(dri_bo *bo, int used, } } - dri_fake_fence_validated(bo->bufmgr); + drm_intel_fake_fence_validated(bo->bufmgr); - dri_bo_fake_post_submit(bo); + drm_intel_bo_fake_post_submit(bo); pthread_mutex_unlock(&bufmgr_fake->lock); @@ -1404,14 +1403,14 @@ dri_fake_bo_exec(dri_bo *bo, int used, * a set smaller than the aperture. */ static int -dri_fake_check_aperture_space(dri_bo **bo_array, int count) +drm_intel_fake_check_aperture_space(drm_intel_bo **bo_array, int count) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bo_array[0]->bufmgr; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bo_array[0]->bufmgr; unsigned int sz = 0; int i; for (i = 0; i < count; i++) { - dri_bo_fake *bo_fake = (dri_bo_fake *)bo_array[i]; + drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)bo_array[i]; if (bo_fake == NULL) continue; @@ -1440,9 +1439,9 @@ dri_fake_check_aperture_space(dri_bo **bo_array, int count) * own. */ void -intel_bufmgr_fake_evict_all(dri_bufmgr *bufmgr) +drm_intel_bufmgr_fake_evict_all(drm_intel_bufmgr *bufmgr) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bufmgr; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bufmgr; struct block *block, *tmp; pthread_mutex_lock(&bufmgr_fake->lock); @@ -1454,7 +1453,7 @@ intel_bufmgr_fake_evict_all(dri_bufmgr *bufmgr) * happening, so we'll need to wait anyway before letting anything get * put on the card again. */ - dri_bufmgr_fake_wait_idle(bufmgr_fake); + drm_intel_bufmgr_fake_wait_idle(bufmgr_fake); /* Check that we hadn't released the lock without having fenced the last * set of buffers. @@ -1469,21 +1468,21 @@ intel_bufmgr_fake_evict_all(dri_bufmgr *bufmgr) pthread_mutex_unlock(&bufmgr_fake->lock); } -void intel_bufmgr_fake_set_last_dispatch(dri_bufmgr *bufmgr, +void drm_intel_bufmgr_fake_set_last_dispatch(drm_intel_bufmgr *bufmgr, volatile unsigned int *last_dispatch) { - dri_bufmgr_fake *bufmgr_fake = (dri_bufmgr_fake *)bufmgr; + drm_intel_bufmgr_fake *bufmgr_fake = (drm_intel_bufmgr_fake *)bufmgr; bufmgr_fake->last_dispatch = (volatile int *)last_dispatch; } -dri_bufmgr * -intel_bufmgr_fake_init(int fd, +drm_intel_bufmgr * +drm_intel_bufmgr_fake_init(int fd, unsigned long low_offset, void *low_virtual, unsigned long size, volatile unsigned int *last_dispatch) { - dri_bufmgr_fake *bufmgr_fake; + drm_intel_bufmgr_fake *bufmgr_fake; bufmgr_fake = calloc(1, sizeof(*bufmgr_fake)); @@ -1503,16 +1502,16 @@ intel_bufmgr_fake_init(int fd, bufmgr_fake->heap = mmInit(low_offset, size); /* Hook in methods */ - bufmgr_fake->bufmgr.bo_alloc = dri_fake_bo_alloc; - bufmgr_fake->bufmgr.bo_reference = dri_fake_bo_reference; - bufmgr_fake->bufmgr.bo_unreference = dri_fake_bo_unreference; - bufmgr_fake->bufmgr.bo_map = dri_fake_bo_map; - bufmgr_fake->bufmgr.bo_unmap = dri_fake_bo_unmap; - bufmgr_fake->bufmgr.bo_wait_rendering = dri_fake_bo_wait_rendering; - bufmgr_fake->bufmgr.bo_emit_reloc = dri_fake_emit_reloc; - bufmgr_fake->bufmgr.destroy = dri_fake_destroy; - bufmgr_fake->bufmgr.bo_exec = dri_fake_bo_exec; - bufmgr_fake->bufmgr.check_aperture_space = dri_fake_check_aperture_space; + bufmgr_fake->bufmgr.bo_alloc = drm_intel_fake_bo_alloc; + bufmgr_fake->bufmgr.bo_reference = drm_intel_fake_bo_reference; + bufmgr_fake->bufmgr.bo_unreference = drm_intel_fake_bo_unreference; + bufmgr_fake->bufmgr.bo_map = drm_intel_fake_bo_map; + bufmgr_fake->bufmgr.bo_unmap = drm_intel_fake_bo_unmap; + bufmgr_fake->bufmgr.bo_wait_rendering = drm_intel_fake_bo_wait_rendering; + bufmgr_fake->bufmgr.bo_emit_reloc = drm_intel_fake_emit_reloc; + bufmgr_fake->bufmgr.destroy = drm_intel_fake_destroy; + bufmgr_fake->bufmgr.bo_exec = drm_intel_fake_bo_exec; + bufmgr_fake->bufmgr.check_aperture_space = drm_intel_fake_check_aperture_space; bufmgr_fake->bufmgr.debug = 0; bufmgr_fake->fd = fd; diff --git a/libdrm/intel/intel_bufmgr_gem.c b/libdrm/intel/intel_bufmgr_gem.c index dd74659a..5eaf5f5a 100644 --- a/libdrm/intel/intel_bufmgr_gem.c +++ b/libdrm/intel/intel_bufmgr_gem.c @@ -60,10 +60,10 @@ fprintf(stderr, __VA_ARGS__); \ } while (0) -typedef struct _dri_bo_gem dri_bo_gem; +typedef struct _drm_intel_bo_gem drm_intel_bo_gem; -struct dri_gem_bo_bucket { - dri_bo_gem *head, **tail; +struct drm_intel_gem_bo_bucket { + drm_intel_bo_gem *head, **tail; /** * Limit on the number of entries in this bucket. * @@ -77,9 +77,9 @@ struct dri_gem_bo_bucket { /* Arbitrarily chosen, 16 means that the maximum size we'll cache for reuse * is 1 << 16 pages, or 256MB. */ -#define INTEL_GEM_BO_BUCKETS 16 -typedef struct _dri_bufmgr_gem { - dri_bufmgr bufmgr; +#define DRM_INTEL_GEM_BO_BUCKETS 16 +typedef struct _drm_intel_bufmgr_gem { + drm_intel_bufmgr bufmgr; int fd; @@ -88,18 +88,18 @@ typedef struct _dri_bufmgr_gem { pthread_mutex_t lock; struct drm_i915_gem_exec_object *exec_objects; - dri_bo **exec_bos; + drm_intel_bo **exec_bos; int exec_size; int exec_count; /** Array of lists of cached gem objects of power-of-two sizes */ - struct dri_gem_bo_bucket cache_bucket[INTEL_GEM_BO_BUCKETS]; + struct drm_intel_gem_bo_bucket cache_bucket[DRM_INTEL_GEM_BO_BUCKETS]; uint64_t gtt_size; -} dri_bufmgr_gem; +} drm_intel_bufmgr_gem; -struct _dri_bo_gem { - dri_bo bo; +struct _drm_intel_bo_gem { + drm_intel_bo bo; int refcount; /** Boolean whether the mmap ioctl has been called for this buffer yet. */ @@ -128,18 +128,18 @@ struct _dri_bo_gem { /** Array passed to the DRM containing relocation information. */ struct drm_i915_gem_relocation_entry *relocs; /** Array of bos corresponding to relocs[i].target_handle */ - dri_bo **reloc_target_bo; + drm_intel_bo **reloc_target_bo; /** Number of entries in relocs */ int reloc_count; /** Mapped address for the buffer */ void *virtual; /** free list */ - dri_bo_gem *next; + drm_intel_bo_gem *next; /** * Boolean of whether this BO and its children have been included in - * the current dri_bufmgr_check_aperture_space() total. + * the current drm_intel_bufmgr_check_aperture_space() total. */ char included_in_check_aperture; @@ -153,13 +153,13 @@ struct _dri_bo_gem { /** * Size in bytes of this buffer and its relocation descendents. * - * Used to avoid costly tree walking in dri_bufmgr_check_aperture in + * Used to avoid costly tree walking in drm_intel_bufmgr_check_aperture in * the common case. */ int reloc_tree_size; }; -static void dri_gem_bo_reference_locked(dri_bo *bo); +static void drm_intel_gem_bo_reference_locked(drm_intel_bo *bo); static int logbase2(int n) @@ -175,8 +175,9 @@ logbase2(int n) return log2; } -static struct dri_gem_bo_bucket * -dri_gem_bo_bucket_for_size(dri_bufmgr_gem *bufmgr_gem, unsigned long size) +static struct drm_intel_gem_bo_bucket * +drm_intel_gem_bo_bucket_for_size(drm_intel_bufmgr_gem *bufmgr_gem, + unsigned long size) { int i; @@ -189,20 +190,20 @@ dri_gem_bo_bucket_for_size(dri_bufmgr_gem *bufmgr_gem, unsigned long size) /* We always allocate in units of pages */ i = ffs(size / 4096) - 1; - if (i >= INTEL_GEM_BO_BUCKETS) + if (i >= DRM_INTEL_GEM_BO_BUCKETS) return NULL; return &bufmgr_gem->cache_bucket[i]; } -static void dri_gem_dump_validation_list(dri_bufmgr_gem *bufmgr_gem) +static void drm_intel_gem_dump_validation_list(drm_intel_bufmgr_gem *bufmgr_gem) { int i, j; for (i = 0; i < bufmgr_gem->exec_count; i++) { - dri_bo *bo = bufmgr_gem->exec_bos[i]; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bo *bo = bufmgr_gem->exec_bos[i]; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; if (bo_gem->relocs == NULL) { DBG("%2d: %d (%s)\n", i, bo_gem->gem_handle, bo_gem->name); @@ -210,8 +211,8 @@ static void dri_gem_dump_validation_list(dri_bufmgr_gem *bufmgr_gem) } for (j = 0; j < bo_gem->reloc_count; j++) { - dri_bo *target_bo = bo_gem->reloc_target_bo[j]; - dri_bo_gem *target_gem = (dri_bo_gem *)target_bo; + drm_intel_bo *target_bo = bo_gem->reloc_target_bo[j]; + drm_intel_bo_gem *target_gem = (drm_intel_bo_gem *)target_bo; DBG("%2d: %d (%s)@0x%08llx -> %d (%s)@0x%08lx + 0x%08x\n", i, @@ -231,10 +232,10 @@ static void dri_gem_dump_validation_list(dri_bufmgr_gem *bufmgr_gem) * access flags. */ static void -intel_add_validate_buffer(dri_bo *bo) +drm_intel_add_validate_buffer(drm_intel_bo *bo) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; int index; if (bo_gem->validate_index != -1) @@ -265,7 +266,7 @@ intel_add_validate_buffer(dri_bo *bo) bufmgr_gem->exec_objects[index].alignment = 0; bufmgr_gem->exec_objects[index].offset = 0; bufmgr_gem->exec_bos[index] = bo; - dri_gem_bo_reference_locked(bo); + drm_intel_gem_bo_reference_locked(bo); bufmgr_gem->exec_count++; } @@ -274,27 +275,28 @@ intel_add_validate_buffer(dri_bo *bo) sizeof(uint32_t)) static int -intel_setup_reloc_list(dri_bo *bo) +drm_intel_setup_reloc_list(drm_intel_bo *bo) { - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; bo_gem->relocs = malloc(bufmgr_gem->max_relocs * sizeof(struct drm_i915_gem_relocation_entry)); - bo_gem->reloc_target_bo = malloc(bufmgr_gem->max_relocs * sizeof(dri_bo *)); + bo_gem->reloc_target_bo = malloc(bufmgr_gem->max_relocs * + sizeof(drm_intel_bo *)); return 0; } -static dri_bo * -dri_gem_bo_alloc(dri_bufmgr *bufmgr, const char *name, - unsigned long size, unsigned int alignment) +static drm_intel_bo * +drm_intel_gem_bo_alloc(drm_intel_bufmgr *bufmgr, const char *name, + unsigned long size, unsigned int alignment) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bufmgr; - dri_bo_gem *bo_gem; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bufmgr; + drm_intel_bo_gem *bo_gem; unsigned int page_size = getpagesize(); int ret; - struct dri_gem_bo_bucket *bucket; + struct drm_intel_gem_bo_bucket *bucket; int alloc_from_cache = 0; unsigned long bo_size; @@ -302,7 +304,7 @@ dri_gem_bo_alloc(dri_bufmgr *bufmgr, const char *name, bo_size = 1 << logbase2(size); if (bo_size < page_size) bo_size = page_size; - bucket = dri_gem_bo_bucket_for_size(bufmgr_gem, bo_size); + bucket = drm_intel_gem_bo_bucket_for_size(bufmgr_gem, bo_size); /* If we don't have caching at this size, don't actually round the * allocation up. @@ -366,17 +368,17 @@ dri_gem_bo_alloc(dri_bufmgr *bufmgr, const char *name, } /** - * Returns a dri_bo wrapping the given buffer object handle. + * Returns a drm_intel_bo wrapping the given buffer object handle. * * This can be used when one application needs to pass a buffer object * to another. */ -dri_bo * -intel_bo_gem_create_from_name(dri_bufmgr *bufmgr, const char *name, - unsigned int handle) +drm_intel_bo * +drm_intel_bo_gem_create_from_name(drm_intel_bufmgr *bufmgr, const char *name, + unsigned int handle) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bufmgr; - dri_bo_gem *bo_gem; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bufmgr; + drm_intel_bo_gem *bo_gem; int ret; struct drm_gem_open open_arg; @@ -409,10 +411,10 @@ intel_bo_gem_create_from_name(dri_bufmgr *bufmgr, const char *name, } static void -dri_gem_bo_reference(dri_bo *bo) +drm_intel_gem_bo_reference(drm_intel_bo *bo) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; pthread_mutex_lock(&bufmgr_gem->lock); bo_gem->refcount++; @@ -420,18 +422,18 @@ dri_gem_bo_reference(dri_bo *bo) } static void -dri_gem_bo_reference_locked(dri_bo *bo) +drm_intel_gem_bo_reference_locked(drm_intel_bo *bo) { - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; bo_gem->refcount++; } static void -dri_gem_bo_free(dri_bo *bo) +drm_intel_gem_bo_free(drm_intel_bo *bo) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; struct drm_gem_close close; int ret; @@ -450,20 +452,20 @@ dri_gem_bo_free(dri_bo *bo) } static void -dri_gem_bo_unreference_locked(dri_bo *bo) +drm_intel_gem_bo_unreference_locked(drm_intel_bo *bo) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; if (--bo_gem->refcount == 0) { - struct dri_gem_bo_bucket *bucket; + struct drm_intel_gem_bo_bucket *bucket; if (bo_gem->relocs != NULL) { int i; /* Unreference all the target buffers */ for (i = 0; i < bo_gem->reloc_count; i++) - dri_gem_bo_unreference_locked(bo_gem->reloc_target_bo[i]); + drm_intel_gem_bo_unreference_locked(bo_gem->reloc_target_bo[i]); free(bo_gem->reloc_target_bo); free(bo_gem->relocs); } @@ -471,7 +473,7 @@ dri_gem_bo_unreference_locked(dri_bo *bo) DBG("bo_unreference final: %d (%s)\n", bo_gem->gem_handle, bo_gem->name); - bucket = dri_gem_bo_bucket_for_size(bufmgr_gem, bo->size); + bucket = drm_intel_gem_bo_bucket_for_size(bufmgr_gem, bo->size); /* Put the buffer into our internal cache for reuse if we can. */ if (bucket != NULL && (bucket->max_entries == -1 || @@ -489,26 +491,26 @@ dri_gem_bo_unreference_locked(dri_bo *bo) bucket->tail = &bo_gem->next; bucket->num_entries++; } else { - dri_gem_bo_free(bo); + drm_intel_gem_bo_free(bo); } } } static void -dri_gem_bo_unreference(dri_bo *bo) +drm_intel_gem_bo_unreference(drm_intel_bo *bo) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; pthread_mutex_lock(&bufmgr_gem->lock); - dri_gem_bo_unreference_locked(bo); + drm_intel_gem_bo_unreference_locked(bo); pthread_mutex_unlock(&bufmgr_gem->lock); } static int -dri_gem_bo_map(dri_bo *bo, int write_enable) +drm_intel_gem_bo_map(drm_intel_bo *bo, int write_enable) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; struct drm_i915_gem_set_domain set_domain; int ret; @@ -568,10 +570,10 @@ dri_gem_bo_map(dri_bo *bo, int write_enable) } static int -dri_gem_bo_unmap(dri_bo *bo) +drm_intel_gem_bo_unmap(drm_intel_bo *bo) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; struct drm_i915_gem_sw_finish sw_finish; int ret; @@ -594,11 +596,11 @@ dri_gem_bo_unmap(dri_bo *bo) } static int -dri_gem_bo_subdata (dri_bo *bo, unsigned long offset, - unsigned long size, const void *data) +drm_intel_gem_bo_subdata (drm_intel_bo *bo, unsigned long offset, + unsigned long size, const void *data) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; struct drm_i915_gem_pwrite pwrite; int ret; @@ -620,11 +622,11 @@ dri_gem_bo_subdata (dri_bo *bo, unsigned long offset, } static int -dri_gem_bo_get_subdata (dri_bo *bo, unsigned long offset, - unsigned long size, void *data) +drm_intel_gem_bo_get_subdata (drm_intel_bo *bo, unsigned long offset, + unsigned long size, void *data) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; struct drm_i915_gem_pread pread; int ret; @@ -646,10 +648,10 @@ dri_gem_bo_get_subdata (dri_bo *bo, unsigned long offset, } static void -dri_gem_bo_wait_rendering(dri_bo *bo) +drm_intel_gem_bo_wait_rendering(drm_intel_bo *bo) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; struct drm_i915_gem_set_domain set_domain; int ret; @@ -666,9 +668,9 @@ dri_gem_bo_wait_rendering(dri_bo *bo) } static void -dri_bufmgr_gem_destroy(dri_bufmgr *bufmgr) +drm_intel_bufmgr_gem_destroy(drm_intel_bufmgr *bufmgr) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bufmgr; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bufmgr; int i; free(bufmgr_gem->exec_objects); @@ -677,9 +679,9 @@ dri_bufmgr_gem_destroy(dri_bufmgr *bufmgr) pthread_mutex_destroy(&bufmgr_gem->lock); /* Free any cached buffer objects we were going to reuse */ - for (i = 0; i < INTEL_GEM_BO_BUCKETS; i++) { - struct dri_gem_bo_bucket *bucket = &bufmgr_gem->cache_bucket[i]; - dri_bo_gem *bo_gem; + for (i = 0; i < DRM_INTEL_GEM_BO_BUCKETS; i++) { + struct drm_intel_gem_bo_bucket *bucket = &bufmgr_gem->cache_bucket[i]; + drm_intel_bo_gem *bo_gem; while ((bo_gem = bucket->head) != NULL) { bucket->head = bo_gem->next; @@ -687,7 +689,7 @@ dri_bufmgr_gem_destroy(dri_bufmgr *bufmgr) bucket->tail = &bucket->head; bucket->num_entries--; - dri_gem_bo_free(&bo_gem->bo); + drm_intel_gem_bo_free(&bo_gem->bo); } } @@ -704,18 +706,19 @@ dri_bufmgr_gem_destroy(dri_bufmgr *bufmgr) * last known offset in target_bo. */ static int -dri_gem_bo_emit_reloc(dri_bo *bo, uint32_t read_domains, uint32_t write_domain, - uint32_t delta, uint32_t offset, dri_bo *target_bo) +drm_intel_gem_bo_emit_reloc(drm_intel_bo *bo, uint32_t offset, + drm_intel_bo *target_bo, uint32_t target_offset, + uint32_t read_domains, uint32_t write_domain) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; - dri_bo_gem *target_bo_gem = (dri_bo_gem *)target_bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; + drm_intel_bo_gem *target_bo_gem = (drm_intel_bo_gem *)target_bo; pthread_mutex_lock(&bufmgr_gem->lock); /* Create a new relocation list if needed */ if (bo_gem->relocs == NULL) - intel_setup_reloc_list(bo); + drm_intel_setup_reloc_list(bo); /* Check overflow */ assert(bo_gem->reloc_count < bufmgr_gem->max_relocs); @@ -734,7 +737,7 @@ dri_gem_bo_emit_reloc(dri_bo *bo, uint32_t read_domains, uint32_t write_domain, target_bo_gem->used_as_reloc_target = 1; bo_gem->relocs[bo_gem->reloc_count].offset = offset; - bo_gem->relocs[bo_gem->reloc_count].delta = delta; + bo_gem->relocs[bo_gem->reloc_count].delta = target_offset; bo_gem->relocs[bo_gem->reloc_count].target_handle = target_bo_gem->gem_handle; bo_gem->relocs[bo_gem->reloc_count].read_domains = read_domains; @@ -742,7 +745,7 @@ dri_gem_bo_emit_reloc(dri_bo *bo, uint32_t read_domains, uint32_t write_domain, bo_gem->relocs[bo_gem->reloc_count].presumed_offset = target_bo->offset; bo_gem->reloc_target_bo[bo_gem->reloc_count] = target_bo; - dri_gem_bo_reference_locked(target_bo); + drm_intel_gem_bo_reference_locked(target_bo); bo_gem->reloc_count++; @@ -757,33 +760,33 @@ dri_gem_bo_emit_reloc(dri_bo *bo, uint32_t read_domains, uint32_t write_domain, * index values into the validation list. */ static void -dri_gem_bo_process_reloc(dri_bo *bo) +drm_intel_gem_bo_process_reloc(drm_intel_bo *bo) { - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; int i; if (bo_gem->relocs == NULL) return; for (i = 0; i < bo_gem->reloc_count; i++) { - dri_bo *target_bo = bo_gem->reloc_target_bo[i]; + drm_intel_bo *target_bo = bo_gem->reloc_target_bo[i]; /* Continue walking the tree depth-first. */ - dri_gem_bo_process_reloc(target_bo); + drm_intel_gem_bo_process_reloc(target_bo); /* Add the target to the validate list */ - intel_add_validate_buffer(target_bo); + drm_intel_add_validate_buffer(target_bo); } } static void -intel_update_buffer_offsets (dri_bufmgr_gem *bufmgr_gem) +drm_intel_update_buffer_offsets (drm_intel_bufmgr_gem *bufmgr_gem) { int i; for (i = 0; i < bufmgr_gem->exec_count; i++) { - dri_bo *bo = bufmgr_gem->exec_bos[i]; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bo *bo = bufmgr_gem->exec_bos[i]; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; /* Update the buffer offset */ if (bufmgr_gem->exec_objects[i].offset != bo->offset) { @@ -796,22 +799,22 @@ intel_update_buffer_offsets (dri_bufmgr_gem *bufmgr_gem) } static int -dri_gem_bo_exec(dri_bo *bo, int used, - drm_clip_rect_t *cliprects, int num_cliprects, - int DR4) +drm_intel_gem_bo_exec(drm_intel_bo *bo, int used, + drm_clip_rect_t *cliprects, int num_cliprects, + int DR4) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; struct drm_i915_gem_execbuffer execbuf; int ret, i; pthread_mutex_lock(&bufmgr_gem->lock); /* Update indices and set up the validate list. */ - dri_gem_bo_process_reloc(bo); + drm_intel_gem_bo_process_reloc(bo); /* Add the batch buffer to the validation list. There are no relocations * pointing to it. */ - intel_add_validate_buffer(bo); + drm_intel_add_validate_buffer(bo); execbuf.buffers_ptr = (uintptr_t)bufmgr_gem->exec_objects; execbuf.buffer_count = bufmgr_gem->exec_count; @@ -826,21 +829,21 @@ dri_gem_bo_exec(dri_bo *bo, int used, ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_EXECBUFFER, &execbuf); } while (ret != 0 && errno == EAGAIN); - intel_update_buffer_offsets (bufmgr_gem); + drm_intel_update_buffer_offsets (bufmgr_gem); if (bufmgr_gem->bufmgr.debug) - dri_gem_dump_validation_list(bufmgr_gem); + drm_intel_gem_dump_validation_list(bufmgr_gem); for (i = 0; i < bufmgr_gem->exec_count; i++) { - dri_bo *bo = bufmgr_gem->exec_bos[i]; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bo *bo = bufmgr_gem->exec_bos[i]; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; /* Need to call swrast on next bo_map */ bo_gem->swrast = 0; /* Disconnect the buffer from the validate list */ bo_gem->validate_index = -1; - dri_gem_bo_unreference_locked(bo); + drm_intel_gem_bo_unreference_locked(bo); bufmgr_gem->exec_bos[i] = NULL; } bufmgr_gem->exec_count = 0; @@ -850,10 +853,10 @@ dri_gem_bo_exec(dri_bo *bo, int used, } static int -dri_gem_bo_pin(dri_bo *bo, uint32_t alignment) +drm_intel_gem_bo_pin(drm_intel_bo *bo, uint32_t alignment) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; struct drm_i915_gem_pin pin; int ret; @@ -869,10 +872,10 @@ dri_gem_bo_pin(dri_bo *bo, uint32_t alignment) } static int -dri_gem_bo_unpin(dri_bo *bo) +drm_intel_gem_bo_unpin(drm_intel_bo *bo) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; struct drm_i915_gem_unpin unpin; int ret; @@ -886,15 +889,17 @@ dri_gem_bo_unpin(dri_bo *bo) } static int -dri_gem_bo_set_tiling(dri_bo *bo, uint32_t *tiling_mode) +drm_intel_gem_bo_set_tiling(drm_intel_bo *bo, uint32_t *tiling_mode, + uint32_t stride) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; struct drm_i915_gem_set_tiling set_tiling; int ret; set_tiling.handle = bo_gem->gem_handle; set_tiling.tiling_mode = *tiling_mode; + set_tiling.stride = stride; ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_SET_TILING, &set_tiling); if (ret != 0) { @@ -907,10 +912,11 @@ dri_gem_bo_set_tiling(dri_bo *bo, uint32_t *tiling_mode) } static int -dri_gem_bo_get_tiling(dri_bo *bo, uint32_t *tiling_mode, uint32_t *swizzle_mode) +drm_intel_gem_bo_get_tiling(drm_intel_bo *bo, uint32_t *tiling_mode, + uint32_t *swizzle_mode) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; struct drm_i915_gem_get_tiling get_tiling; int ret; @@ -929,10 +935,10 @@ dri_gem_bo_get_tiling(dri_bo *bo, uint32_t *tiling_mode, uint32_t *swizzle_mode) } static int -dri_gem_bo_flink(dri_bo *bo, uint32_t *name) +drm_intel_gem_bo_flink(drm_intel_bo *bo, uint32_t *name) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo->bufmgr; - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; struct drm_gem_flink flink; int ret; @@ -957,12 +963,12 @@ dri_gem_bo_flink(dri_bo *bo, uint32_t *name) * in flight at once. */ void -intel_bufmgr_gem_enable_reuse(dri_bufmgr *bufmgr) +drm_intel_bufmgr_gem_enable_reuse(drm_intel_bufmgr *bufmgr) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bufmgr; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bufmgr; int i; - for (i = 0; i < INTEL_GEM_BO_BUCKETS; i++) { + for (i = 0; i < DRM_INTEL_GEM_BO_BUCKETS; i++) { bufmgr_gem->cache_bucket[i].max_entries = -1; } } @@ -972,9 +978,9 @@ intel_bufmgr_gem_enable_reuse(dri_bufmgr *bufmgr) * rooted at bo. */ static int -dri_gem_bo_get_aperture_space(dri_bo *bo) +drm_intel_gem_bo_get_aperture_space(drm_intel_bo *bo) { - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; int i; int total = 0; @@ -985,19 +991,19 @@ dri_gem_bo_get_aperture_space(dri_bo *bo) bo_gem->included_in_check_aperture = 1; for (i = 0; i < bo_gem->reloc_count; i++) - total += dri_gem_bo_get_aperture_space(bo_gem->reloc_target_bo[i]); + total += drm_intel_gem_bo_get_aperture_space(bo_gem->reloc_target_bo[i]); return total; } /** - * Clear the flag set by dri_gem_bo_get_aperture_space() so we're ready for - * the next dri_bufmgr_check_aperture_space() call. + * Clear the flag set by drm_intel_gem_bo_get_aperture_space() so we're ready + * for the next drm_intel_bufmgr_check_aperture_space() call. */ static void -dri_gem_bo_clear_aperture_space_flag(dri_bo *bo) +drm_intel_gem_bo_clear_aperture_space_flag(drm_intel_bo *bo) { - dri_bo_gem *bo_gem = (dri_bo_gem *)bo; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; int i; if (bo == NULL || !bo_gem->included_in_check_aperture) @@ -1006,7 +1012,7 @@ dri_gem_bo_clear_aperture_space_flag(dri_bo *bo) bo_gem->included_in_check_aperture = 0; for (i = 0; i < bo_gem->reloc_count; i++) - dri_gem_bo_clear_aperture_space_flag(bo_gem->reloc_target_bo[i]); + drm_intel_gem_bo_clear_aperture_space_flag(bo_gem->reloc_target_bo[i]); } /** @@ -1026,15 +1032,15 @@ dri_gem_bo_clear_aperture_space_flag(dri_bo *bo) * get better parallelism. */ static int -dri_gem_check_aperture_space(dri_bo **bo_array, int count) +drm_intel_gem_check_aperture_space(drm_intel_bo **bo_array, int count) { - dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)bo_array[0]->bufmgr; + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo_array[0]->bufmgr; unsigned int total = 0; unsigned int threshold = bufmgr_gem->gtt_size * 3 / 4; int i; for (i = 0; i < count; i++) { - dri_bo_gem *bo_gem = (dri_bo_gem *)bo_array[i]; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo_array[i]; if (bo_gem != NULL) total += bo_gem->reloc_tree_size; } @@ -1042,10 +1048,10 @@ dri_gem_check_aperture_space(dri_bo **bo_array, int count) if (total > threshold) { total = 0; for (i = 0; i < count; i++) - total += dri_gem_bo_get_aperture_space(bo_array[i]); + total += drm_intel_gem_bo_get_aperture_space(bo_array[i]); for (i = 0; i < count; i++) - dri_gem_bo_clear_aperture_space_flag(bo_array[i]); + drm_intel_gem_bo_clear_aperture_space_flag(bo_array[i]); } if (total > bufmgr_gem->gtt_size * 3 / 4) { @@ -1065,10 +1071,10 @@ dri_gem_check_aperture_space(dri_bo **bo_array, int count) * * \param fd File descriptor of the opened DRM device. */ -dri_bufmgr * -intel_bufmgr_gem_init(int fd, int batch_size) +drm_intel_bufmgr * +drm_intel_bufmgr_gem_init(int fd, int batch_size) { - dri_bufmgr_gem *bufmgr_gem; + drm_intel_bufmgr_gem *bufmgr_gem; struct drm_i915_gem_get_aperture aperture; int ret, i; @@ -1101,26 +1107,26 @@ intel_bufmgr_gem_init(int fd, int batch_size) */ bufmgr_gem->max_relocs = batch_size / sizeof(uint32_t) / 2 - 2; - bufmgr_gem->bufmgr.bo_alloc = dri_gem_bo_alloc; - bufmgr_gem->bufmgr.bo_reference = dri_gem_bo_reference; - bufmgr_gem->bufmgr.bo_unreference = dri_gem_bo_unreference; - bufmgr_gem->bufmgr.bo_map = dri_gem_bo_map; - bufmgr_gem->bufmgr.bo_unmap = dri_gem_bo_unmap; - bufmgr_gem->bufmgr.bo_subdata = dri_gem_bo_subdata; - bufmgr_gem->bufmgr.bo_get_subdata = dri_gem_bo_get_subdata; - bufmgr_gem->bufmgr.bo_wait_rendering = dri_gem_bo_wait_rendering; - bufmgr_gem->bufmgr.bo_emit_reloc = dri_gem_bo_emit_reloc; - bufmgr_gem->bufmgr.bo_pin = dri_gem_bo_pin; - bufmgr_gem->bufmgr.bo_unpin = dri_gem_bo_unpin; - bufmgr_gem->bufmgr.bo_get_tiling = dri_gem_bo_get_tiling; - bufmgr_gem->bufmgr.bo_set_tiling = dri_gem_bo_set_tiling; - bufmgr_gem->bufmgr.bo_flink = dri_gem_bo_flink; - bufmgr_gem->bufmgr.bo_exec = dri_gem_bo_exec; - bufmgr_gem->bufmgr.destroy = dri_bufmgr_gem_destroy; + bufmgr_gem->bufmgr.bo_alloc = drm_intel_gem_bo_alloc; + bufmgr_gem->bufmgr.bo_reference = drm_intel_gem_bo_reference; + bufmgr_gem->bufmgr.bo_unreference = drm_intel_gem_bo_unreference; + bufmgr_gem->bufmgr.bo_map = drm_intel_gem_bo_map; + bufmgr_gem->bufmgr.bo_unmap = drm_intel_gem_bo_unmap; + bufmgr_gem->bufmgr.bo_subdata = drm_intel_gem_bo_subdata; + bufmgr_gem->bufmgr.bo_get_subdata = drm_intel_gem_bo_get_subdata; + bufmgr_gem->bufmgr.bo_wait_rendering = drm_intel_gem_bo_wait_rendering; + bufmgr_gem->bufmgr.bo_emit_reloc = drm_intel_gem_bo_emit_reloc; + bufmgr_gem->bufmgr.bo_pin = drm_intel_gem_bo_pin; + bufmgr_gem->bufmgr.bo_unpin = drm_intel_gem_bo_unpin; + bufmgr_gem->bufmgr.bo_get_tiling = drm_intel_gem_bo_get_tiling; + bufmgr_gem->bufmgr.bo_set_tiling = drm_intel_gem_bo_set_tiling; + bufmgr_gem->bufmgr.bo_flink = drm_intel_gem_bo_flink; + bufmgr_gem->bufmgr.bo_exec = drm_intel_gem_bo_exec; + bufmgr_gem->bufmgr.destroy = drm_intel_bufmgr_gem_destroy; bufmgr_gem->bufmgr.debug = 0; - bufmgr_gem->bufmgr.check_aperture_space = dri_gem_check_aperture_space; + bufmgr_gem->bufmgr.check_aperture_space = drm_intel_gem_check_aperture_space; /* Initialize the linked lists for BO reuse cache. */ - for (i = 0; i < INTEL_GEM_BO_BUCKETS; i++) + for (i = 0; i < DRM_INTEL_GEM_BO_BUCKETS; i++) bufmgr_gem->cache_bucket[i].tail = &bufmgr_gem->cache_bucket[i].head; return &bufmgr_gem->bufmgr; diff --git a/libdrm/intel/intel_bufmgr_priv.h b/libdrm/intel/intel_bufmgr_priv.h index cbf3b311..76d31e47 100644 --- a/libdrm/intel/intel_bufmgr_priv.h +++ b/libdrm/intel/intel_bufmgr_priv.h @@ -39,7 +39,7 @@ * * Contains public methods followed by private storage for the buffer manager. */ -struct _dri_bufmgr { +struct _drm_intel_bufmgr { /** * Allocate a buffer object. * @@ -48,17 +48,17 @@ struct _dri_bufmgr { * bo_map() to be used by the CPU, and validated for use using bo_validate() * to be used from the graphics device. */ - dri_bo *(*bo_alloc)(dri_bufmgr *bufmgr_ctx, const char *name, - unsigned long size, unsigned int alignment); + drm_intel_bo *(*bo_alloc)(drm_intel_bufmgr *bufmgr, const char *name, + unsigned long size, unsigned int alignment); /** Takes a reference on a buffer object */ - void (*bo_reference)(dri_bo *bo); + void (*bo_reference)(drm_intel_bo *bo); /** * Releases a reference on a buffer object, freeing the data if * rerefences remain. */ - void (*bo_unreference)(dri_bo *bo); + void (*bo_unreference)(drm_intel_bo *bo); /** * Maps the buffer into userspace. @@ -67,28 +67,28 @@ struct _dri_bufmgr { * buffer to complete, first. The resulting mapping is available at * buf->virtual. */ - int (*bo_map)(dri_bo *buf, int write_enable); + int (*bo_map)(drm_intel_bo *bo, int write_enable); /** Reduces the refcount on the userspace mapping of the buffer object. */ - int (*bo_unmap)(dri_bo *buf); + int (*bo_unmap)(drm_intel_bo *bo); /** * Write data into an object. * * This is an optional function, if missing, - * dri_bo will map/memcpy/unmap. + * drm_intel_bo will map/memcpy/unmap. */ - int (*bo_subdata) (dri_bo *buf, unsigned long offset, - unsigned long size, const void *data); + int (*bo_subdata)(drm_intel_bo *bo, unsigned long offset, + unsigned long size, const void *data); /** * Read data from an object * * This is an optional function, if missing, - * dri_bo will map/memcpy/unmap. + * drm_intel_bo will map/memcpy/unmap. */ - int (*bo_get_subdata) (dri_bo *bo, unsigned long offset, - unsigned long size, void *data); + int (*bo_get_subdata)(drm_intel_bo *bo, unsigned long offset, + unsigned long size, void *data); /** * Waits for rendering to an object by the GPU to have completed. @@ -96,12 +96,12 @@ struct _dri_bufmgr { * This is not required for any access to the BO by bo_map, bo_subdata, etc. * It is merely a way for the driver to implement glFinish. */ - void (*bo_wait_rendering) (dri_bo *bo); + void (*bo_wait_rendering)(drm_intel_bo *bo); /** * Tears down the buffer manager instance. */ - void (*destroy)(dri_bufmgr *bufmgr); + void (*destroy)(drm_intel_bufmgr *bufmgr); /** * Add relocation entry in reloc_buf, which will be updated with the @@ -109,23 +109,23 @@ struct _dri_bufmgr { * * Relocations remain in place for the lifetime of the buffer object. * - * \param reloc_buf Buffer to write the relocation into. + * \param bo Buffer to write the relocation into. + * \param offset Byte offset within reloc_bo of the pointer to target_bo. + * \param target_bo Buffer whose offset should be written into the + * relocation entry. + * \param target_offset Constant value to be added to target_bo's offset in + * relocation entry. * \param read_domains GEM read domains which the buffer will be read into * by the command that this relocation is part of. * \param write_domains GEM read domains which the buffer will be dirtied * in by the command that this relocation is part of. - * \param delta Constant value to be added to the relocation target's - * offset. - * \param offset Byte offset within batch_buf of the relocated pointer. - * \param target Buffer whose offset should be written into the relocation - * entry. */ - int (*bo_emit_reloc)(dri_bo *reloc_buf, - uint32_t read_domains, uint32_t write_domain, - uint32_t delta, uint32_t offset, dri_bo *target); + int (*bo_emit_reloc)(drm_intel_bo *bo, uint32_t offset, + drm_intel_bo *target_bo, uint32_t target_offset, + uint32_t read_domains, uint32_t write_domain); /** Executes the command buffer pointed to by bo. */ - int (*bo_exec)(dri_bo *bo, int used, + int (*bo_exec)(drm_intel_bo *bo, int used, drm_clip_rect_t *cliprects, int num_cliprects, int DR4); @@ -135,20 +135,21 @@ struct _dri_bufmgr { * \param buf Buffer to pin * \param alignment Required alignment for aperture, in bytes */ - int (*bo_pin) (dri_bo *buf, uint32_t alignment); + int (*bo_pin)(drm_intel_bo *bo, uint32_t alignment); /** * Unpin a buffer from the aperture, allowing it to be removed * * \param buf Buffer to unpin */ - int (*bo_unpin) (dri_bo *buf); + int (*bo_unpin)(drm_intel_bo *bo); /** * Ask that the buffer be placed in tiling mode * * \param buf Buffer to set tiling mode for * \param tiling_mode desired, and returned tiling mode */ - int (*bo_set_tiling) (dri_bo *bo, uint32_t *tiling_mode); + int (*bo_set_tiling)(drm_intel_bo *bo, uint32_t *tiling_mode, + uint32_t stride); /** * Get the current tiling (and resulting swizzling) mode for the bo. * @@ -156,17 +157,17 @@ struct _dri_bufmgr { * \param tiling_mode returned tiling mode * \param swizzle_mode returned swizzling mode */ - int (*bo_get_tiling) (dri_bo *bo, uint32_t *tiling_mode, - uint32_t *swizzle_mode); + int (*bo_get_tiling)(drm_intel_bo *bo, uint32_t *tiling_mode, + uint32_t *swizzle_mode); /** * Create a visible name for a buffer which can be used by other apps * * \param buf Buffer to create a name for * \param name Returned name */ - int (*bo_flink) (dri_bo *buf, uint32_t *name); + int (*bo_flink)(drm_intel_bo *bo, uint32_t *name); - int (*check_aperture_space)(dri_bo **bo_array, int count); + int (*check_aperture_space)(drm_intel_bo **bo_array, int count); int debug; /**< Enables verbose debugging printouts */ }; -- cgit v1.2.3 From 00847dabe0fa5ccf796658f486e8f6f7a77e043b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 30 Oct 2008 11:36:46 -0700 Subject: libdrm 2.4.1. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 92507cb5..0f7c79e6 100644 --- a/configure.ac +++ b/configure.ac @@ -19,7 +19,7 @@ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. AC_PREREQ(2.57) -AC_INIT([libdrm], 2.4.0, [dri-devel@lists.sourceforge.net], libdrm) +AC_INIT([libdrm], 2.4.1, [dri-devel@lists.sourceforge.net], libdrm) AC_CONFIG_SRCDIR([Makefile.am]) AM_INIT_AUTOMAKE([dist-bzip2]) -- cgit v1.2.3 From 87e90c73620b88005fcca5fd40aaaad0b08932e1 Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Sun, 2 Nov 2008 13:48:32 +0200 Subject: nouveau: compat fix for set_page_locked(). The set_page_locked() function has changed its name again. 2.6.28 offers __set_page_locked() instead, which uses non-atomic __set_bit() to do the work. In this case, offer our own set_page_locked() using the atomic set_bit(), because I do not know if atomic access is really necessary. Atomic behaviour is the one previously expected. Signed-off-by: Pekka Paalanen --- linux-core/drm_compat.h | 13 +++++++++++++ linux-core/nouveau_sgdma.c | 4 ---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/linux-core/drm_compat.h b/linux-core/drm_compat.h index e09be479..bc4d2e58 100644 --- a/linux-core/drm_compat.h +++ b/linux-core/drm_compat.h @@ -392,4 +392,17 @@ extern struct page *drm_vm_sg_nopage(struct vm_area_struct *vma, #endif #endif +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)) +#define set_page_locked SetPageLocked +#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,27)) +/* + * The kernel provides __set_page_locked, which uses the non-atomic + * __set_bit function. Let's use the atomic set_bit just in case. + */ +static inline void set_page_locked(struct page *page) +{ + set_bit(PG_locked, &page->flags); +} +#endif + #endif diff --git a/linux-core/nouveau_sgdma.c b/linux-core/nouveau_sgdma.c index 739e0252..1163baf9 100644 --- a/linux-core/nouveau_sgdma.c +++ b/linux-core/nouveau_sgdma.c @@ -227,11 +227,7 @@ nouveau_sgdma_init(struct drm_device *dev) dev_priv->gart_info.sg_dummy_page = alloc_page(GFP_KERNEL|__GFP_DMA32); -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)) set_page_locked(dev_priv->gart_info.sg_dummy_page); -#else - SetPageLocked(dev_priv->gart_info.sg_dummy_page); -#endif dev_priv->gart_info.sg_dummy_bus = pci_map_page(dev->pdev, dev_priv->gart_info.sg_dummy_page, 0, PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); -- cgit v1.2.3 From 930c0e7cf4f4776f7a69e7acc6fedeed7addb235 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 7 Nov 2008 12:58:52 -0800 Subject: intel: Restart on interrupt of bo_wait_rendering instead of complaining. --- libdrm/intel/intel_bufmgr_gem.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libdrm/intel/intel_bufmgr_gem.c b/libdrm/intel/intel_bufmgr_gem.c index 5eaf5f5a..9cb33598 100644 --- a/libdrm/intel/intel_bufmgr_gem.c +++ b/libdrm/intel/intel_bufmgr_gem.c @@ -658,7 +658,9 @@ drm_intel_gem_bo_wait_rendering(drm_intel_bo *bo) set_domain.handle = bo_gem->gem_handle; set_domain.read_domains = I915_GEM_DOMAIN_GTT; set_domain.write_domain = 0; - ret = ioctl (bufmgr_gem->fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain); + do { + ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain); + } while (ret == -1 && errno == EINTR); if (ret != 0) { fprintf (stderr, "%s:%d: Error setting memory domains %d (%08x %08x): %s .\n", __FILE__, __LINE__, -- cgit v1.2.3 From 276c07d8855f748c043dfe3ab8c4da954ba0fe1e Mon Sep 17 00:00:00 2001 From: Jesse Barnes Date: Thu, 13 Nov 2008 13:52:04 -0800 Subject: libdrm: add support for i915 GTT mapping ioctl Add a drm_intel_gem_bo_map_gtt() function for mapping a buffer object through the aperture rather than directly to its CPU cacheable memory. --- libdrm/intel/intel_bufmgr.h | 8 ++++ libdrm/intel/intel_bufmgr_gem.c | 81 +++++++++++++++++++++++++++++++++++++++++ shared-core/drm.h | 2 +- shared-core/i915_drm.h | 14 +++++++ 4 files changed, 104 insertions(+), 1 deletion(-) diff --git a/libdrm/intel/intel_bufmgr.h b/libdrm/intel/intel_bufmgr.h index e3af886b..361e4345 100644 --- a/libdrm/intel/intel_bufmgr.h +++ b/libdrm/intel/intel_bufmgr.h @@ -47,6 +47,13 @@ struct _drm_intel_bo { * allocation, such as being aligned to page size. */ unsigned long size; + /** + * Alignment requirement for object + * + * Used for GTT mapping & pinning the object. + */ + unsigned long align; + /** * Card virtual address (offset from the beginning of the aperture) for the * object. Only valid while validated. @@ -98,6 +105,7 @@ drm_intel_bo *drm_intel_bo_gem_create_from_name(drm_intel_bufmgr *bufmgr, const char *name, unsigned int handle); void drm_intel_bufmgr_gem_enable_reuse(drm_intel_bufmgr *bufmgr); +int drm_intel_gem_bo_map_gtt(drm_intel_bo *bo); /* drm_intel_bufmgr_fake.c */ drm_intel_bufmgr *drm_intel_bufmgr_fake_init(int fd, diff --git a/libdrm/intel/intel_bufmgr_gem.c b/libdrm/intel/intel_bufmgr_gem.c index 9cb33598..84768b46 100644 --- a/libdrm/intel/intel_bufmgr_gem.c +++ b/libdrm/intel/intel_bufmgr_gem.c @@ -39,6 +39,7 @@ #endif #include +#include #include #include #include @@ -47,6 +48,8 @@ #include #include #include +#include +#include #include "errno.h" #include "intel_bufmgr.h" @@ -569,6 +572,84 @@ drm_intel_gem_bo_map(drm_intel_bo *bo, int write_enable) return 0; } +int +drm_intel_gem_bo_map_gtt(drm_intel_bo *bo) +{ + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; + struct drm_i915_gem_set_domain set_domain; + int ret; + + pthread_mutex_lock(&bufmgr_gem->lock); + + /* Allow recursive mapping. Mesa may recursively map buffers with + * nested display loops. + */ + if (!bo_gem->mapped) { + + assert(bo->virtual == NULL); + + DBG("bo_map_gtt: %d (%s)\n", bo_gem->gem_handle, bo_gem->name); + + if (bo_gem->virtual == NULL) { + struct drm_i915_gem_mmap_gtt mmap_arg; + + memset(&mmap_arg, 0, sizeof(mmap_arg)); + mmap_arg.handle = bo_gem->gem_handle; + + /* Get the fake offset back... */ + ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_MMAP_GTT, + &mmap_arg); + if (ret != 0) { + fprintf(stderr, + "%s:%d: Error preparing buffer map %d (%s): %s .\n", + __FILE__, __LINE__, + bo_gem->gem_handle, bo_gem->name, + strerror(errno)); + pthread_mutex_unlock(&bufmgr_gem->lock); + return ret; + } + + /* and mmap it */ + bo_gem->virtual = mmap(0, bo->size, PROT_READ | PROT_WRITE, + MAP_SHARED, bufmgr_gem->fd, + mmap_arg.offset); + if (bo_gem->virtual == MAP_FAILED) { + fprintf(stderr, + "%s:%d: Error mapping buffer %d (%s): %s .\n", + __FILE__, __LINE__, + bo_gem->gem_handle, bo_gem->name, + strerror(errno)); + pthread_mutex_unlock(&bufmgr_gem->lock); + return errno; + } + } + + bo->virtual = bo_gem->virtual; + bo_gem->mapped = 1; + DBG("bo_map: %d (%s) -> %p\n", bo_gem->gem_handle, bo_gem->name, + bo_gem->virtual); + } + + /* Now move it to the GTT domain so that the CPU caches are flushed */ + set_domain.handle = bo_gem->gem_handle; + set_domain.read_domains = I915_GEM_DOMAIN_GTT; + set_domain.write_domain = I915_GEM_DOMAIN_GTT; + do { + ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, + &set_domain); + } while (ret == -1 && errno == EINTR); + + if (ret != 0) { + fprintf (stderr, "%s:%d: Error setting swrast %d: %s\n", + __FILE__, __LINE__, bo_gem->gem_handle, strerror (errno)); + } + + pthread_mutex_unlock(&bufmgr_gem->lock); + + return 0; +} + static int drm_intel_gem_bo_unmap(drm_intel_bo *bo) { diff --git a/shared-core/drm.h b/shared-core/drm.h index bb332829..05fc91d8 100644 --- a/shared-core/drm.h +++ b/shared-core/drm.h @@ -236,7 +236,7 @@ enum drm_map_type { _DRM_AGP = 3, /**< AGP/GART */ _DRM_SCATTER_GATHER = 4, /**< Scatter/gather memory for PCI DMA */ _DRM_CONSISTENT = 5, /**< Consistent memory for PCI DMA */ - _DRM_TTM = 6 + _DRM_GEM = 6 }; /** diff --git a/shared-core/i915_drm.h b/shared-core/i915_drm.h index 9211b390..976ff187 100644 --- a/shared-core/i915_drm.h +++ b/shared-core/i915_drm.h @@ -193,6 +193,7 @@ typedef struct drm_i915_sarea { #define DRM_I915_GEM_SET_TILING 0x21 #define DRM_I915_GEM_GET_TILING 0x22 #define DRM_I915_GEM_GET_APERTURE 0x23 +#define DRM_I915_GEM_MMAP_GTT 0x24 #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) @@ -224,6 +225,7 @@ typedef struct drm_i915_sarea { #define DRM_IOCTL_I915_GEM_PREAD DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_PREAD, struct drm_i915_gem_pread) #define DRM_IOCTL_I915_GEM_PWRITE DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_PWRITE, struct drm_i915_gem_pwrite) #define DRM_IOCTL_I915_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP, struct drm_i915_gem_mmap) +#define DRM_IOCTL_I915_GEM_MMAP_GTT DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP_GTT, struct drm_i915_gem_mmap_gtt) #define DRM_IOCTL_I915_GEM_SET_DOMAIN DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_SET_DOMAIN, struct drm_i915_gem_set_domain) #define DRM_IOCTL_I915_GEM_SW_FINISH DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_SW_FINISH, struct drm_i915_gem_sw_finish) #define DRM_IOCTL_I915_GEM_SET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_SET_TILING, struct drm_i915_gem_set_tiling) @@ -499,6 +501,18 @@ struct drm_i915_gem_mmap { uint64_t addr_ptr; /* void *, but pointers are not 32/64 compatible */ }; +struct drm_i915_gem_mmap_gtt { + /** Handle for the object being mapped. */ + uint32_t handle; + uint32_t pad; + /** + * Fake offset to use for subsequent mmap call + * + * This is a fixed-size type for 32/64 compatibility. + */ + uint64_t offset; +}; + struct drm_i915_gem_set_domain { /** Handle for the object */ uint32_t handle; -- cgit v1.2.3 From 7e27b3ba88f0c40680380636a436c18e3220c7ce Mon Sep 17 00:00:00 2001 From: Jesse Barnes Date: Thu, 13 Nov 2008 13:58:32 -0800 Subject: libdrm_intel: fix warnings on 64 bit Cast a couple of %llx args to unsigned long long. --- libdrm/intel/intel_bufmgr_gem.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libdrm/intel/intel_bufmgr_gem.c b/libdrm/intel/intel_bufmgr_gem.c index 84768b46..be41474b 100644 --- a/libdrm/intel/intel_bufmgr_gem.c +++ b/libdrm/intel/intel_bufmgr_gem.c @@ -219,7 +219,8 @@ static void drm_intel_gem_dump_validation_list(drm_intel_bufmgr_gem *bufmgr_gem) DBG("%2d: %d (%s)@0x%08llx -> %d (%s)@0x%08lx + 0x%08x\n", i, - bo_gem->gem_handle, bo_gem->name, bo_gem->relocs[j].offset, + bo_gem->gem_handle, bo_gem->name, + (unsigned long long)bo_gem->relocs[j].offset, target_gem->gem_handle, target_gem->name, target_bo->offset, bo_gem->relocs[j].delta); } @@ -875,7 +876,7 @@ drm_intel_update_buffer_offsets (drm_intel_bufmgr_gem *bufmgr_gem) if (bufmgr_gem->exec_objects[i].offset != bo->offset) { DBG("BO %d (%s) migrated: 0x%08lx -> 0x%08llx\n", bo_gem->gem_handle, bo_gem->name, bo->offset, - bufmgr_gem->exec_objects[i].offset); + (unsigned long long)bufmgr_gem->exec_objects[i].offset); bo->offset = bufmgr_gem->exec_objects[i].offset; } } -- cgit v1.2.3