diff mbox

[1/3] drm/i915 Add golden context support for Gen9

Message ID 1410546316-13138-1-git-send-email-armin.c.reese@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Reese, Armin C Sept. 12, 2014, 6:25 p.m. UTC
From: Armin Reese <armin.c.reese@intel.com>

This patch includes the Gen9 batch buffer to generate
a 'golden context' for that product family.

Also:
1) IS_GEN9 macro has been added to drivers/gpu/drm/i915/i915_drv.h
2) drivers/gpu/drm/i915/intel_renderstate_gen8.c has been updated
   to the version created by IGT null_state_gen

Signed-off-by: Armin Reese <armin.c.reese@intel.com>
---
 drivers/gpu/drm/i915/Makefile                 |   3 +-
 drivers/gpu/drm/i915/i915_drv.h               |   1 +
 drivers/gpu/drm/i915/i915_gem_render_state.c  |   2 +
 drivers/gpu/drm/i915/intel_renderstate.h      |   1 +
 drivers/gpu/drm/i915/intel_renderstate_gen6.c |  23 +
 drivers/gpu/drm/i915/intel_renderstate_gen7.c |  23 +
 drivers/gpu/drm/i915/intel_renderstate_gen8.c | 831 +++++++++++++++++-----
 drivers/gpu/drm/i915/intel_renderstate_gen9.c | 981 ++++++++++++++++++++++++++
 8 files changed, 1699 insertions(+), 166 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/intel_renderstate_gen9.c

Comments

bradley.d.volkin@intel.com Sept. 13, 2014, 12:07 a.m. UTC | #1
On Fri, Sep 12, 2014 at 11:25:14AM -0700, armin.c.reese@intel.com wrote:
> From: Armin Reese <armin.c.reese@intel.com>
> 
> This patch includes the Gen9 batch buffer to generate
> a 'golden context' for that product family.
> 
> Also:
> 1) IS_GEN9 macro has been added to drivers/gpu/drm/i915/i915_drv.h
> 2) drivers/gpu/drm/i915/intel_renderstate_gen8.c has been updated
>    to the version created by IGT null_state_gen

Hi Armin,

We'll have to split these extra changes out into separate patches. Damien's SKL
series has the IS_GEN9 macro, which will cause a conflict. For the gen8 change,
better to have a separate patch since it's not strictly related.

I think that the preferred way to handle this situation, at least with respect
to the IS_GEN9 part, is to have a cover letter in which you document the patches
on which your series depends but don't include them in your series. You'll
obviously need to apply those changes locally, just as a separate patch that you
don't send with the series.

Will you be sending the null_state_gen patch that adds the code to generate this?
I'm not too good at reviewing hex dumps ;)

One other comment below...

> 
> Signed-off-by: Armin Reese <armin.c.reese@intel.com>
> ---
>  drivers/gpu/drm/i915/Makefile                 |   3 +-
>  drivers/gpu/drm/i915/i915_drv.h               |   1 +
>  drivers/gpu/drm/i915/i915_gem_render_state.c  |   2 +
>  drivers/gpu/drm/i915/intel_renderstate.h      |   1 +
>  drivers/gpu/drm/i915/intel_renderstate_gen6.c |  23 +
>  drivers/gpu/drm/i915/intel_renderstate_gen7.c |  23 +
>  drivers/gpu/drm/i915/intel_renderstate_gen8.c | 831 +++++++++++++++++-----
>  drivers/gpu/drm/i915/intel_renderstate_gen9.c | 981 ++++++++++++++++++++++++++
>  8 files changed, 1699 insertions(+), 166 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/intel_renderstate_gen9.c
> 
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index c1dd485..2caf4f4 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -38,7 +38,8 @@ i915-y += i915_cmd_parser.o \
>  # autogenerated null render state
>  i915-y += intel_renderstate_gen6.o \
>  	  intel_renderstate_gen7.o \
> -	  intel_renderstate_gen8.o
> +	  intel_renderstate_gen8.o \
> +	  intel_renderstate_gen9.o
>  
>  # modesetting core code
>  i915-y += intel_bios.o \
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 17dfce0..7d9f091 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2122,6 +2122,7 @@ struct drm_i915_cmd_table {
>  #define IS_GEN6(dev)	(INTEL_INFO(dev)->gen == 6)
>  #define IS_GEN7(dev)	(INTEL_INFO(dev)->gen == 7)
>  #define IS_GEN8(dev)	(INTEL_INFO(dev)->gen == 8)
> +#define IS_GEN9(dev)	(INTEL_INFO(dev)->gen == 9)
>  
>  #define RENDER_RING		(1<<RCS)
>  #define BSD_RING		(1<<VCS)
> diff --git a/drivers/gpu/drm/i915/i915_gem_render_state.c b/drivers/gpu/drm/i915/i915_gem_render_state.c
> index a9a62d7..98dcd94 100644
> --- a/drivers/gpu/drm/i915/i915_gem_render_state.c
> +++ b/drivers/gpu/drm/i915/i915_gem_render_state.c
> @@ -38,6 +38,8 @@ render_state_get_rodata(struct drm_device *dev, const int gen)
>  		return &gen7_null_state;
>  	case 8:
>  		return &gen8_null_state;
> +	case 9:
> +		return &gen9_null_state;
>  	}
>  
>  	return NULL;
> diff --git a/drivers/gpu/drm/i915/intel_renderstate.h b/drivers/gpu/drm/i915/intel_renderstate.h
> index 6c792d3..5bd6985 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate.h
> +++ b/drivers/gpu/drm/i915/intel_renderstate.h
> @@ -29,6 +29,7 @@
>  extern const struct intel_renderstate_rodata gen6_null_state;
>  extern const struct intel_renderstate_rodata gen7_null_state;
>  extern const struct intel_renderstate_rodata gen8_null_state;
> +extern const struct intel_renderstate_rodata gen9_null_state;
>  
>  #define RO_RENDERSTATE(_g)						\
>  	const struct intel_renderstate_rodata gen ## _g ## _null_state = { \
> diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen6.c b/drivers/gpu/drm/i915/intel_renderstate_gen6.c
> index 56c1429..c2568a7 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate_gen6.c
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen6.c
> @@ -1,3 +1,26 @@
> +/*
> + * Copyright © 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the "Software"),
> + * to deal in the Software without restriction, including without limitation
> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including the next
> + * paragraph) shall be included in all copies or substantial portions of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +

I guess a separate patch for the non-gen9 license changes as well. And if
we don't already have patches for it, we probably want to update i-g-t to
generate the correct license header so we don't have to manually add it if
we ever update the golden state.

Brad

>  #include "intel_renderstate.h"
>  
>  static const u32 gen6_null_state_relocs[] = {
> diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen7.c b/drivers/gpu/drm/i915/intel_renderstate_gen7.c
> index 419e35a..e14aec5 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate_gen7.c
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen7.c
> @@ -1,3 +1,26 @@
> +/*
> + * Copyright © 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the "Software"),
> + * to deal in the Software without restriction, including without limitation
> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including the next
> + * paragraph) shall be included in all copies or substantial portions of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +
>  #include "intel_renderstate.h"
>  
>  static const u32 gen7_null_state_relocs[] = {
> diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen8.c b/drivers/gpu/drm/i915/intel_renderstate_gen8.c
> index 75ef1b5d..88991e2 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate_gen8.c
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen8.c
> @@ -1,81 +1,166 @@
> +/*
> + * Copyright © 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the "Software"),
> + * to deal in the Software without restriction, including without limitation
> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including the next
> + * paragraph) shall be included in all copies or substantial portions of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +
>  #include "intel_renderstate.h"
>  
>  static const u32 gen8_null_state_relocs[] = {
> -	0x00000048,
> -	0x00000050,
> -	0x00000060,
> -	0x000003ec,
> +	0x00000784,
> +	0x00000790,
> +	0x00000798,
> +	0x000007a8,
>  	-1,
>  };
>  
>  static const u32 gen8_null_state_batch[] = {
> +	0x7a000004,
> +	0x01000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
>  	0x69040000,
> -	0x61020001,
> +	0x78140000,
> +	0x04000000,
> +	0x7820000a,
>  	0x00000000,
>  	0x00000000,
> -	0x79120000,
> +	0x80000000,
>  	0x00000000,
> -	0x79130000,
>  	0x00000000,
> -	0x79140000,
>  	0x00000000,
> -	0x79150000,
>  	0x00000000,
> -	0x79160000,
>  	0x00000000,
> -	0x6101000e,
> -	0x00000001,
>  	0x00000000,
> -	0x00000001,
> -	0x00000001,	 /* reloc */
>  	0x00000000,
> -	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x78130002,
> +	0x00000000,
> +	0x00000000,
> +	0x02001808,
> +	0x781f0002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78510009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78100007,
> +	0x00000000,
> +	0x00000000,
> +	0x00010000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781b0007,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000800,
> +	0x00000000,
> +	0x78110008,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781e0003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781d0007,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78120002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781c0002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x780c0000,
> +	0x00000000,
> +	0x78520003,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x00000001,	 /* reloc */
>  	0x00000000,
> -	0xfffff001,
> -	0x00001001,
> -	0xfffff001,
> -	0x00001001,
> -	0x78230000,
> -	0x000006e0,
> -	0x78210000,
> -	0x00000700,
>  	0x78300000,
>  	0x08010040,
> -	0x78330000,
> -	0x08000000,
>  	0x78310000,
> -	0x08000000,
> +	0x1e000000,
>  	0x78320000,
> -	0x08000000,
> -	0x78240000,
> -	0x00000641,
> -	0x780e0000,
> -	0x00000601,
> -	0x780d0000,
> +	0x1e000000,
> +	0x78330000,
> +	0x1e000000,
> +	0x79190002,
>  	0x00000000,
> -	0x78180000,
> -	0x00000001,
> -	0x78520003,
>  	0x00000000,
>  	0x00000000,
> +	0x791a0002,
>  	0x00000000,
>  	0x00000000,
> -	0x78190009,
>  	0x00000000,
> +	0x791b0002,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> +	0x79120000,
>  	0x00000000,
> +	0x79130000,
>  	0x00000000,
> +	0x79140000,
>  	0x00000000,
> +	0x79150000,
>  	0x00000000,
> +	0x79160000,
>  	0x00000000,
> +	0x78150009,
>  	0x00000000,
> -	0x781b0007,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -84,11 +169,26 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78270000,
>  	0x00000000,
> -	0x782c0000,
> +	0x78190009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781a0009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
>  	0x00000000,
> -	0x781c0002,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -103,7 +203,7 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78110008,
> +	0x78170009,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -113,14 +213,17 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78290000,
>  	0x00000000,
> -	0x782e0000,
> +	0x78490001,
>  	0x00000000,
> -	0x781a0009,
>  	0x00000000,
> +	0x784a0000,
>  	0x00000000,
> +	0x784b0000,
> +	0x00000004,
> +	0x79170101,
>  	0x00000000,
> +	0x00000080,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -128,7 +231,6 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x781d0007,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -137,15 +239,10 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78280000,
>  	0x00000000,
> -	0x782d0000,
>  	0x00000000,
> -	0x78260000,
>  	0x00000000,
> -	0x782b0000,
>  	0x00000000,
> -	0x78150009,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -156,7 +253,6 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78100007,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -165,20 +261,15 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x781e0003,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78120002,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x781f0002,
> -	0x30400820,
>  	0x00000000,
>  	0x00000000,
> -	0x78510009,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -189,22 +280,12 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78500003,
> -	0x00210000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78130002,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x782a0000,
> -	0x00000480,
> -	0x782f0000,
> -	0x00000540,
> -	0x78140000,
> -	0x00000800,
> -	0x78170009,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -215,25 +296,13 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x7820000a,
> -	0x00000580,
>  	0x00000000,
> -	0x08080000,
>  	0x00000000,
>  	0x00000000,
> -	0x1f000002,
> -	0x00060000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x784d0000,
> -	0x40000000,
> -	0x784f0000,
> -	0x80000100,
> -	0x780f0000,
> -	0x00000740,
> -	0x78050006,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -241,48 +310,25 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78070003,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78060003,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78040001,
>  	0x00000000,
> -	0x00000001,
> -	0x79000002,
> -	0xffffffff,
>  	0x00000000,
>  	0x00000000,
> -	0x78080003,
> -	0x00006000,
> -	0x000005e0,	 /* reloc */
>  	0x00000000,
>  	0x00000000,
> -	0x78090005,
> -	0x02000000,
> -	0x22220000,
> -	0x02f60000,
> -	0x11230000,
> -	0x02850004,
> -	0x11230000,
> -	0x784b0000,
> -	0x0000000f,
> -	0x78490001,
>  	0x00000000,
>  	0x00000000,
> -	0x7b000005,
>  	0x00000000,
> -	0x00000003,
>  	0x00000000,
> -	0x00000001,
>  	0x00000000,
>  	0x00000000,
> -	0x05000000,	 /* cmds end */
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -297,8 +343,6 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x000004c0,	 /* state start */
> -	0x00000500,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -348,7 +392,6 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x00000092,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -361,30 +404,6 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x0060005a,
> -	0x21403ae8,
> -	0x3a0000c0,
> -	0x008d0040,
> -	0x0060005a,
> -	0x21603ae8,
> -	0x3a0000c0,
> -	0x008d0080,
> -	0x0060005a,
> -	0x21803ae8,
> -	0x3a0000d0,
> -	0x008d0040,
> -	0x0060005a,
> -	0x21a03ae8,
> -	0x3a0000d0,
> -	0x008d0080,
> -	0x02800031,
> -	0x2e0022e8,
> -	0x0e000140,
> -	0x08840001,
> -	0x05800031,
> -	0x200022e0,
> -	0x0e000e00,
> -	0x90031000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -410,38 +429,6 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -449,8 +436,6 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0xf99a130c,
> -	0x799a130c,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -466,9 +451,525 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x3f800000,
>  	0x00000000,
> -	0x3f800000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x20000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x40000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x60000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x6101000e,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00000000,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00000001,
> +	0x00000000,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00001001,
> +	0x00001001,
> +	0x00000001,
> +	0x00001001,
> +	0x61020001,
> +	0x00000000,
> +	0x00000000,
> +	0x79000002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78050006,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0x40000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0x80000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0xc0000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79080001,
> +	0x00000000,
> +	0x00000000,
> +	0x790a0001,
> +	0x00000000,
> +	0x00000000,
> +	0x78060003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78070003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78040001,
> +	0x00000000,
> +	0x00000000,
> +	0x79110000,
> +	0x00000000,
> +	0x780d0000,
> +	0x00000000,
> +	0x79060000,
> +	0x00000000,
> +	0x7907001f,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x7902000f,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x790c000f,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x780a0003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78080083,
> +	0x00004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x04004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x08004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x0c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x10004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x14004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x18004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x1c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x20004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x24004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x28004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x2c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x30004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x34004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x38004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x3c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x40004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x44004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x48004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x4c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x50004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x54004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x58004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x5c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x60004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x64004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x68004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x6c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x70004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x74004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x7c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x80004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78090043,
> +	0x02000000,
> +	0x22220000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x680b0001,
> +	0x78260000,
> +	0x00000000,
> +	0x78270000,
> +	0x00000000,
> +	0x78280000,
> +	0x00000000,
> +	0x78290000,
> +	0x00000000,
> +	0x782a0000,
> +	0x00000000,
> +	0x780e0000,
> +	0x00000dc1,
> +	0x78240000,
> +	0x00000e01,
> +	0x784f0000,
> +	0x80000100,
> +	0x784d0000,
> +	0x40000000,
> +	0x782b0000,
> +	0x00000000,
> +	0x782c0000,
> +	0x00000000,
> +	0x782d0000,
> +	0x00000000,
> +	0x782e0000,
> +	0x00000000,
> +	0x782f0000,
> +	0x00000000,
> +	0x780f0000,
> +	0x00000000,
> +	0x78230000,
> +	0x00000e60,
> +	0x78210000,
> +	0x00000e80,
> +	0x7b000005,
> +	0x00000004,
> +	0x00000001,
> +	0x00000000,
> +	0x00000001,
> +	0x00000000,
> +	0x00000000,
> +	0x05000000,	 /* cmds end */
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,	 /* state start */
> +	0x00000000,
> +	0x3f800000,
> +	0x3f800000,
> +	0x3f800000,
> +	0x3f800000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen9.c b/drivers/gpu/drm/i915/intel_renderstate_gen9.c
> new file mode 100644
> index 0000000..e1ea838
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen9.c
> @@ -0,0 +1,981 @@
> +/*
> + * Copyright © 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the "Software"),
> + * to deal in the Software without restriction, including without limitation
> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including the next
> + * paragraph) shall be included in all copies or substantial portions of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +
> +#include "intel_renderstate.h"
> +
> +static const u32 gen9_null_state_relocs[] = {
> +	0x00000794,
> +	0x000007a0,
> +	0x000007a8,
> +	0x000007b8,
> +	-1,
> +};
> +
> +static const u32 gen9_null_state_batch[] = {
> +	0x7a000004,
> +	0x01000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x69040300,
> +	0x78140000,
> +	0x04000000,
> +	0x7820000a,
> +	0x00000000,
> +	0x00000000,
> +	0x80000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78130002,
> +	0x00000000,
> +	0x00000000,
> +	0x02001808,
> +	0x781f0004,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78510009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78100007,
> +	0x00000000,
> +	0x00000000,
> +	0x00010000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781b0007,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000800,
> +	0x00000000,
> +	0x78110008,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781e0003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781d0009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78120002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781c0002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x780c0000,
> +	0x00000000,
> +	0x78520003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78300000,
> +	0x08010040,
> +	0x78310000,
> +	0x1e000000,
> +	0x78320000,
> +	0x1e000000,
> +	0x78330000,
> +	0x1e000000,
> +	0x79190002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x791a0002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x791b0002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79120000,
> +	0x00000000,
> +	0x79130000,
> +	0x00000000,
> +	0x79140000,
> +	0x00000000,
> +	0x79150000,
> +	0x00000000,
> +	0x79160000,
> +	0x00000000,
> +	0x78150009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78190009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781a0009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78160009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78170009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78490001,
> +	0x00000000,
> +	0x00000000,
> +	0x784a0000,
> +	0x00000000,
> +	0x784b0000,
> +	0x00000004,
> +	0x79170101,
> +	0x00000000,
> +	0x00000080,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x20000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x40000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x60000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x61010011,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00000000,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00000001,
> +	0x00000000,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00001001,
> +	0x00001001,
> +	0x00000001,
> +	0x00001001,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x61020001,
> +	0x00000000,
> +	0x00000000,
> +	0x79000002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78050006,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0x40000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0x80000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0xc0000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79080001,
> +	0x00000000,
> +	0x00000000,
> +	0x790a0001,
> +	0x00000000,
> +	0x00000000,
> +	0x78060003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78070003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78040001,
> +	0x00000000,
> +	0x00000000,
> +	0x79110000,
> +	0x00000000,
> +	0x780d0000,
> +	0x00000000,
> +	0x79060000,
> +	0x00000000,
> +	0x7907001f,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x7902000f,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x790c000f,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x780a0003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78080083,
> +	0x00004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x04004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x08004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x0c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x10004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x14004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x18004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x1c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x20004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x24004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x28004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x2c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x30004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x34004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x38004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x3c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x40004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x44004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x48004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x4c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x50004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x54004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x58004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x5c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x60004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x64004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x68004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x6c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x70004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x74004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x7c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x80004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78090043,
> +	0x02000000,
> +	0x22220000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x680b0001,
> +	0x780e0000,
> +	0x00000dc1,
> +	0x78240000,
> +	0x00000e01,
> +	0x784f0000,
> +	0x80000100,
> +	0x784d0000,
> +	0x40000000,
> +	0x782b0000,
> +	0x00000000,
> +	0x782c0000,
> +	0x00000000,
> +	0x782d0000,
> +	0x00000000,
> +	0x782e0000,
> +	0x00000000,
> +	0x782f0000,
> +	0x00000000,
> +	0x780f0000,
> +	0x00000000,
> +	0x78230000,
> +	0x00000e60,
> +	0x78210000,
> +	0x00000e80,
> +	0x78260000,
> +	0x00000000,
> +	0x78270000,
> +	0x00000000,
> +	0x78280000,
> +	0x00000000,
> +	0x78290000,
> +	0x00000000,
> +	0x782a0000,
> +	0x00000000,
> +	0x7b000005,
> +	0x00000004,
> +	0x00000001,
> +	0x00000000,
> +	0x00000001,
> +	0x00000000,
> +	0x00000000,
> +	0x05000000,	 /* cmds end */
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,	 /* state start */
> +	0x00000000,
> +	0x3f800000,
> +	0x3f800000,
> +	0x3f800000,
> +	0x3f800000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,	 /* state end */
> +};
> +
> +RO_RENDERSTATE(9);
> -- 
> 1.9.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
Reese, Armin C Sept. 15, 2014, 4:03 p.m. UTC | #2
Hi Brad,

Thanks for the comments.  I'll have to find Damien's SKL patches.  I know he's been on vacation and I haven't looked for them.  Mika Kuoppala is submitting the IGT patches for null_state_gen.  They are related to mine, in a sense, since they generate the intel_renderstate_genx.c files.  But I don't think the IGT and kernel patches have to be submitted together.

Yeah, HEX dumps are pretty cruel.  I had to look at them in the windows driver, but I used our internal tools to disassemble them.

As far as the license header goes, I did add them in manually because the null_state_gen program simply generates the code.  Is there a location in the git repository for the standard license header?

Thanks,
Armin

-----Original Message-----
From: Volkin, Bradley D 
Sent: Friday, September 12, 2014 5:07 PM
To: Reese, Armin C
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH 1/3] drm/i915 Add golden context support for Gen9

On Fri, Sep 12, 2014 at 11:25:14AM -0700, armin.c.reese@intel.com wrote:
> From: Armin Reese <armin.c.reese@intel.com>
> 
> This patch includes the Gen9 batch buffer to generate a 'golden 
> context' for that product family.
> 
> Also:
> 1) IS_GEN9 macro has been added to drivers/gpu/drm/i915/i915_drv.h
> 2) drivers/gpu/drm/i915/intel_renderstate_gen8.c has been updated
>    to the version created by IGT null_state_gen

Hi Armin,

We'll have to split these extra changes out into separate patches. Damien's SKL series has the IS_GEN9 macro, which will cause a conflict. For the gen8 change, better to have a separate patch since it's not strictly related.

I think that the preferred way to handle this situation, at least with respect to the IS_GEN9 part, is to have a cover letter in which you document the patches on which your series depends but don't include them in your series. You'll obviously need to apply those changes locally, just as a separate patch that you don't send with the series.

Will you be sending the null_state_gen patch that adds the code to generate this?
I'm not too good at reviewing hex dumps ;)

One other comment below...

> 
> Signed-off-by: Armin Reese <armin.c.reese@intel.com>
> ---
>  drivers/gpu/drm/i915/Makefile                 |   3 +-
>  drivers/gpu/drm/i915/i915_drv.h               |   1 +
>  drivers/gpu/drm/i915/i915_gem_render_state.c  |   2 +
>  drivers/gpu/drm/i915/intel_renderstate.h      |   1 +
>  drivers/gpu/drm/i915/intel_renderstate_gen6.c |  23 +  
> drivers/gpu/drm/i915/intel_renderstate_gen7.c |  23 +  
> drivers/gpu/drm/i915/intel_renderstate_gen8.c | 831 
> +++++++++++++++++-----  drivers/gpu/drm/i915/intel_renderstate_gen9.c 
> | 981 ++++++++++++++++++++++++++
>  8 files changed, 1699 insertions(+), 166 deletions(-)  create mode 
> 100644 drivers/gpu/drm/i915/intel_renderstate_gen9.c
> 
> diff --git a/drivers/gpu/drm/i915/Makefile 
> b/drivers/gpu/drm/i915/Makefile index c1dd485..2caf4f4 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -38,7 +38,8 @@ i915-y += i915_cmd_parser.o \  # autogenerated null 
> render state  i915-y += intel_renderstate_gen6.o \
>  	  intel_renderstate_gen7.o \
> -	  intel_renderstate_gen8.o
> +	  intel_renderstate_gen8.o \
> +	  intel_renderstate_gen9.o
>  
>  # modesetting core code
>  i915-y += intel_bios.o \
> diff --git a/drivers/gpu/drm/i915/i915_drv.h 
> b/drivers/gpu/drm/i915/i915_drv.h index 17dfce0..7d9f091 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2122,6 +2122,7 @@ struct drm_i915_cmd_table {
>  #define IS_GEN6(dev)	(INTEL_INFO(dev)->gen == 6)
>  #define IS_GEN7(dev)	(INTEL_INFO(dev)->gen == 7)
>  #define IS_GEN8(dev)	(INTEL_INFO(dev)->gen == 8)
> +#define IS_GEN9(dev)	(INTEL_INFO(dev)->gen == 9)
>  
>  #define RENDER_RING		(1<<RCS)
>  #define BSD_RING		(1<<VCS)
> diff --git a/drivers/gpu/drm/i915/i915_gem_render_state.c 
> b/drivers/gpu/drm/i915/i915_gem_render_state.c
> index a9a62d7..98dcd94 100644
> --- a/drivers/gpu/drm/i915/i915_gem_render_state.c
> +++ b/drivers/gpu/drm/i915/i915_gem_render_state.c
> @@ -38,6 +38,8 @@ render_state_get_rodata(struct drm_device *dev, const int gen)
>  		return &gen7_null_state;
>  	case 8:
>  		return &gen8_null_state;
> +	case 9:
> +		return &gen9_null_state;
>  	}
>  
>  	return NULL;
> diff --git a/drivers/gpu/drm/i915/intel_renderstate.h 
> b/drivers/gpu/drm/i915/intel_renderstate.h
> index 6c792d3..5bd6985 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate.h
> +++ b/drivers/gpu/drm/i915/intel_renderstate.h
> @@ -29,6 +29,7 @@
>  extern const struct intel_renderstate_rodata gen6_null_state;  extern 
> const struct intel_renderstate_rodata gen7_null_state;  extern const 
> struct intel_renderstate_rodata gen8_null_state;
> +extern const struct intel_renderstate_rodata gen9_null_state;
>  
>  #define RO_RENDERSTATE(_g)						\
>  	const struct intel_renderstate_rodata gen ## _g ## _null_state = { \ 
> diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen6.c 
> b/drivers/gpu/drm/i915/intel_renderstate_gen6.c
> index 56c1429..c2568a7 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate_gen6.c
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen6.c
> @@ -1,3 +1,26 @@
> +/*
> + * Copyright (c) 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person 
> +obtaining a
> + * copy of this software and associated documentation files (the 
> +"Software"),
> + * to deal in the Software without restriction, including without 
> +limitation
> + * the rights to use, copy, modify, merge, publish, distribute, 
> +sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom 
> +the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including 
> +the next
> + * paragraph) shall be included in all copies or substantial portions 
> +of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
> +EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
> +MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT 
> +SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES 
> +OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
> +ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
> +OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +

I guess a separate patch for the non-gen9 license changes as well. And if we don't already have patches for it, we probably want to update i-g-t to generate the correct license header so we don't have to manually add it if we ever update the golden state.

Brad

>  #include "intel_renderstate.h"
>  
>  static const u32 gen6_null_state_relocs[] = { diff --git 
> a/drivers/gpu/drm/i915/intel_renderstate_gen7.c 
> b/drivers/gpu/drm/i915/intel_renderstate_gen7.c
> index 419e35a..e14aec5 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate_gen7.c
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen7.c
> @@ -1,3 +1,26 @@
> +/*
> + * Copyright (c) 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person 
> +obtaining a
> + * copy of this software and associated documentation files (the 
> +"Software"),
> + * to deal in the Software without restriction, including without 
> +limitation
> + * the rights to use, copy, modify, merge, publish, distribute, 
> +sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom 
> +the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including 
> +the next
> + * paragraph) shall be included in all copies or substantial portions 
> +of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
> +EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
> +MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT 
> +SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES 
> +OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
> +ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
> +OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +
>  #include "intel_renderstate.h"
>  
>  static const u32 gen7_null_state_relocs[] = { diff --git 
> a/drivers/gpu/drm/i915/intel_renderstate_gen8.c 
> b/drivers/gpu/drm/i915/intel_renderstate_gen8.c
> index 75ef1b5d..88991e2 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate_gen8.c
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen8.c
> @@ -1,81 +1,166 @@
> +/*
> + * Copyright (c) 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person 
> +obtaining a
> + * copy of this software and associated documentation files (the 
> +"Software"),
> + * to deal in the Software without restriction, including without 
> +limitation
> + * the rights to use, copy, modify, merge, publish, distribute, 
> +sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom 
> +the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including 
> +the next
> + * paragraph) shall be included in all copies or substantial portions 
> +of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
> +EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
> +MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT 
> +SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES 
> +OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
> +ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
> +OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +
>  #include "intel_renderstate.h"
>  
>  static const u32 gen8_null_state_relocs[] = {
> -	0x00000048,
> -	0x00000050,
> -	0x00000060,
> -	0x000003ec,
> +	0x00000784,
> +	0x00000790,
> +	0x00000798,
> +	0x000007a8,
>  	-1,
>  };
>  
>  static const u32 gen8_null_state_batch[] = {
> +	0x7a000004,
> +	0x01000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
>  	0x69040000,
> -	0x61020001,
> +	0x78140000,
> +	0x04000000,
> +	0x7820000a,
>  	0x00000000,
>  	0x00000000,
> -	0x79120000,
> +	0x80000000,
>  	0x00000000,
> -	0x79130000,
>  	0x00000000,
> -	0x79140000,
>  	0x00000000,
> -	0x79150000,
>  	0x00000000,
> -	0x79160000,
>  	0x00000000,
> -	0x6101000e,
> -	0x00000001,
>  	0x00000000,
> -	0x00000001,
> -	0x00000001,	 /* reloc */
>  	0x00000000,
> -	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x78130002,
> +	0x00000000,
> +	0x00000000,
> +	0x02001808,
> +	0x781f0002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78510009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78100007,
> +	0x00000000,
> +	0x00000000,
> +	0x00010000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781b0007,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000800,
> +	0x00000000,
> +	0x78110008,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781e0003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781d0007,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78120002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781c0002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x780c0000,
> +	0x00000000,
> +	0x78520003,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x00000001,	 /* reloc */
>  	0x00000000,
> -	0xfffff001,
> -	0x00001001,
> -	0xfffff001,
> -	0x00001001,
> -	0x78230000,
> -	0x000006e0,
> -	0x78210000,
> -	0x00000700,
>  	0x78300000,
>  	0x08010040,
> -	0x78330000,
> -	0x08000000,
>  	0x78310000,
> -	0x08000000,
> +	0x1e000000,
>  	0x78320000,
> -	0x08000000,
> -	0x78240000,
> -	0x00000641,
> -	0x780e0000,
> -	0x00000601,
> -	0x780d0000,
> +	0x1e000000,
> +	0x78330000,
> +	0x1e000000,
> +	0x79190002,
>  	0x00000000,
> -	0x78180000,
> -	0x00000001,
> -	0x78520003,
>  	0x00000000,
>  	0x00000000,
> +	0x791a0002,
>  	0x00000000,
>  	0x00000000,
> -	0x78190009,
>  	0x00000000,
> +	0x791b0002,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> +	0x79120000,
>  	0x00000000,
> +	0x79130000,
>  	0x00000000,
> +	0x79140000,
>  	0x00000000,
> +	0x79150000,
>  	0x00000000,
> +	0x79160000,
>  	0x00000000,
> +	0x78150009,
>  	0x00000000,
> -	0x781b0007,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -84,11 +169,26 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78270000,
>  	0x00000000,
> -	0x782c0000,
> +	0x78190009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781a0009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
>  	0x00000000,
> -	0x781c0002,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -103,7 +203,7 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78110008,
> +	0x78170009,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -113,14 +213,17 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78290000,
>  	0x00000000,
> -	0x782e0000,
> +	0x78490001,
>  	0x00000000,
> -	0x781a0009,
>  	0x00000000,
> +	0x784a0000,
>  	0x00000000,
> +	0x784b0000,
> +	0x00000004,
> +	0x79170101,
>  	0x00000000,
> +	0x00000080,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -128,7 +231,6 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x781d0007,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -137,15 +239,10 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78280000,
>  	0x00000000,
> -	0x782d0000,
>  	0x00000000,
> -	0x78260000,
>  	0x00000000,
> -	0x782b0000,
>  	0x00000000,
> -	0x78150009,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -156,7 +253,6 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78100007,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -165,20 +261,15 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x781e0003,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78120002,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x781f0002,
> -	0x30400820,
>  	0x00000000,
>  	0x00000000,
> -	0x78510009,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -189,22 +280,12 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78500003,
> -	0x00210000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78130002,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x782a0000,
> -	0x00000480,
> -	0x782f0000,
> -	0x00000540,
> -	0x78140000,
> -	0x00000800,
> -	0x78170009,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -215,25 +296,13 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x7820000a,
> -	0x00000580,
>  	0x00000000,
> -	0x08080000,
>  	0x00000000,
>  	0x00000000,
> -	0x1f000002,
> -	0x00060000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x784d0000,
> -	0x40000000,
> -	0x784f0000,
> -	0x80000100,
> -	0x780f0000,
> -	0x00000740,
> -	0x78050006,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -241,48 +310,25 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78070003,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78060003,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x78040001,
>  	0x00000000,
> -	0x00000001,
> -	0x79000002,
> -	0xffffffff,
>  	0x00000000,
>  	0x00000000,
> -	0x78080003,
> -	0x00006000,
> -	0x000005e0,	 /* reloc */
>  	0x00000000,
>  	0x00000000,
> -	0x78090005,
> -	0x02000000,
> -	0x22220000,
> -	0x02f60000,
> -	0x11230000,
> -	0x02850004,
> -	0x11230000,
> -	0x784b0000,
> -	0x0000000f,
> -	0x78490001,
>  	0x00000000,
>  	0x00000000,
> -	0x7b000005,
>  	0x00000000,
> -	0x00000003,
>  	0x00000000,
> -	0x00000001,
>  	0x00000000,
>  	0x00000000,
> -	0x05000000,	 /* cmds end */
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -297,8 +343,6 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x000004c0,	 /* state start */
> -	0x00000500,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -348,7 +392,6 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x00000092,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -361,30 +404,6 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x0060005a,
> -	0x21403ae8,
> -	0x3a0000c0,
> -	0x008d0040,
> -	0x0060005a,
> -	0x21603ae8,
> -	0x3a0000c0,
> -	0x008d0080,
> -	0x0060005a,
> -	0x21803ae8,
> -	0x3a0000d0,
> -	0x008d0040,
> -	0x0060005a,
> -	0x21a03ae8,
> -	0x3a0000d0,
> -	0x008d0080,
> -	0x02800031,
> -	0x2e0022e8,
> -	0x0e000140,
> -	0x08840001,
> -	0x05800031,
> -	0x200022e0,
> -	0x0e000e00,
> -	0x90031000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -410,38 +429,6 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
> -	0x06200000,
> -	0x00000002,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -449,8 +436,6 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0xf99a130c,
> -	0x799a130c,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> @@ -466,9 +451,525 @@ static const u32 gen8_null_state_batch[] = {
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> -	0x3f800000,
>  	0x00000000,
> -	0x3f800000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x20000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x40000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x60000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x6101000e,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00000000,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00000001,
> +	0x00000000,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00001001,
> +	0x00001001,
> +	0x00000001,
> +	0x00001001,
> +	0x61020001,
> +	0x00000000,
> +	0x00000000,
> +	0x79000002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78050006,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0x40000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0x80000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0xc0000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79080001,
> +	0x00000000,
> +	0x00000000,
> +	0x790a0001,
> +	0x00000000,
> +	0x00000000,
> +	0x78060003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78070003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78040001,
> +	0x00000000,
> +	0x00000000,
> +	0x79110000,
> +	0x00000000,
> +	0x780d0000,
> +	0x00000000,
> +	0x79060000,
> +	0x00000000,
> +	0x7907001f,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x7902000f,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x790c000f,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x780a0003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78080083,
> +	0x00004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x04004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x08004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x0c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x10004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x14004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x18004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x1c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x20004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x24004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x28004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x2c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x30004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x34004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x38004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x3c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x40004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x44004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x48004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x4c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x50004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x54004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x58004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x5c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x60004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x64004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x68004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x6c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x70004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x74004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x7c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x80004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78090043,
> +	0x02000000,
> +	0x22220000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x680b0001,
> +	0x78260000,
> +	0x00000000,
> +	0x78270000,
> +	0x00000000,
> +	0x78280000,
> +	0x00000000,
> +	0x78290000,
> +	0x00000000,
> +	0x782a0000,
> +	0x00000000,
> +	0x780e0000,
> +	0x00000dc1,
> +	0x78240000,
> +	0x00000e01,
> +	0x784f0000,
> +	0x80000100,
> +	0x784d0000,
> +	0x40000000,
> +	0x782b0000,
> +	0x00000000,
> +	0x782c0000,
> +	0x00000000,
> +	0x782d0000,
> +	0x00000000,
> +	0x782e0000,
> +	0x00000000,
> +	0x782f0000,
> +	0x00000000,
> +	0x780f0000,
> +	0x00000000,
> +	0x78230000,
> +	0x00000e60,
> +	0x78210000,
> +	0x00000e80,
> +	0x7b000005,
> +	0x00000004,
> +	0x00000001,
> +	0x00000000,
> +	0x00000001,
> +	0x00000000,
> +	0x00000000,
> +	0x05000000,	 /* cmds end */
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,	 /* state start */
> +	0x00000000,
> +	0x3f800000,
> +	0x3f800000,
> +	0x3f800000,
> +	0x3f800000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
>  	0x00000000,
>  	0x00000000,
>  	0x00000000,
> diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen9.c 
> b/drivers/gpu/drm/i915/intel_renderstate_gen9.c
> new file mode 100644
> index 0000000..e1ea838
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen9.c
> @@ -0,0 +1,981 @@
> +/*
> + * Copyright (c) 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person 
> +obtaining a
> + * copy of this software and associated documentation files (the 
> +"Software"),
> + * to deal in the Software without restriction, including without 
> +limitation
> + * the rights to use, copy, modify, merge, publish, distribute, 
> +sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom 
> +the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including 
> +the next
> + * paragraph) shall be included in all copies or substantial portions 
> +of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
> +EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
> +MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT 
> +SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES 
> +OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
> +ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
> +OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +
> +#include "intel_renderstate.h"
> +
> +static const u32 gen9_null_state_relocs[] = {
> +	0x00000794,
> +	0x000007a0,
> +	0x000007a8,
> +	0x000007b8,
> +	-1,
> +};
> +
> +static const u32 gen9_null_state_batch[] = {
> +	0x7a000004,
> +	0x01000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x69040300,
> +	0x78140000,
> +	0x04000000,
> +	0x7820000a,
> +	0x00000000,
> +	0x00000000,
> +	0x80000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78130002,
> +	0x00000000,
> +	0x00000000,
> +	0x02001808,
> +	0x781f0004,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78510009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78100007,
> +	0x00000000,
> +	0x00000000,
> +	0x00010000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781b0007,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000800,
> +	0x00000000,
> +	0x78110008,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781e0003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781d0009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78120002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781c0002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x780c0000,
> +	0x00000000,
> +	0x78520003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78300000,
> +	0x08010040,
> +	0x78310000,
> +	0x1e000000,
> +	0x78320000,
> +	0x1e000000,
> +	0x78330000,
> +	0x1e000000,
> +	0x79190002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x791a0002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x791b0002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79120000,
> +	0x00000000,
> +	0x79130000,
> +	0x00000000,
> +	0x79140000,
> +	0x00000000,
> +	0x79150000,
> +	0x00000000,
> +	0x79160000,
> +	0x00000000,
> +	0x78150009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78190009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x781a0009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78160009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78170009,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78490001,
> +	0x00000000,
> +	0x00000000,
> +	0x784a0000,
> +	0x00000000,
> +	0x784b0000,
> +	0x00000004,
> +	0x79170101,
> +	0x00000000,
> +	0x00000080,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x20000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x40000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79180006,
> +	0x60000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x61010011,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00000000,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00000001,
> +	0x00000000,
> +	0x00000001,	 /* reloc */
> +	0x00000000,
> +	0x00001001,
> +	0x00001001,
> +	0x00000001,
> +	0x00001001,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x61020001,
> +	0x00000000,
> +	0x00000000,
> +	0x79000002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78050006,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0x40000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0x80000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79040002,
> +	0xc0000000,
> +	0x00000000,
> +	0x00000000,
> +	0x79080001,
> +	0x00000000,
> +	0x00000000,
> +	0x790a0001,
> +	0x00000000,
> +	0x00000000,
> +	0x78060003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78070003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78040001,
> +	0x00000000,
> +	0x00000000,
> +	0x79110000,
> +	0x00000000,
> +	0x780d0000,
> +	0x00000000,
> +	0x79060000,
> +	0x00000000,
> +	0x7907001f,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x7902000f,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x790c000f,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x780a0003,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78080083,
> +	0x00004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x04004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x08004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x0c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x10004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x14004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x18004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x1c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x20004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x24004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x28004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x2c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x30004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x34004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x38004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x3c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x40004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x44004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x48004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x4c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x50004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x54004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x58004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x5c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x60004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x64004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x68004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x6c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x70004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x74004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x7c004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x80004000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x78090043,
> +	0x02000000,
> +	0x22220000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x680b0001,
> +	0x780e0000,
> +	0x00000dc1,
> +	0x78240000,
> +	0x00000e01,
> +	0x784f0000,
> +	0x80000100,
> +	0x784d0000,
> +	0x40000000,
> +	0x782b0000,
> +	0x00000000,
> +	0x782c0000,
> +	0x00000000,
> +	0x782d0000,
> +	0x00000000,
> +	0x782e0000,
> +	0x00000000,
> +	0x782f0000,
> +	0x00000000,
> +	0x780f0000,
> +	0x00000000,
> +	0x78230000,
> +	0x00000e60,
> +	0x78210000,
> +	0x00000e80,
> +	0x78260000,
> +	0x00000000,
> +	0x78270000,
> +	0x00000000,
> +	0x78280000,
> +	0x00000000,
> +	0x78290000,
> +	0x00000000,
> +	0x782a0000,
> +	0x00000000,
> +	0x7b000005,
> +	0x00000004,
> +	0x00000001,
> +	0x00000000,
> +	0x00000001,
> +	0x00000000,
> +	0x00000000,
> +	0x05000000,	 /* cmds end */
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,	 /* state start */
> +	0x00000000,
> +	0x3f800000,
> +	0x3f800000,
> +	0x3f800000,
> +	0x3f800000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,
> +	0x00000000,	 /* state end */
> +};
> +
> +RO_RENDERSTATE(9);
> --
> 1.9.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index c1dd485..2caf4f4 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -38,7 +38,8 @@  i915-y += i915_cmd_parser.o \
 # autogenerated null render state
 i915-y += intel_renderstate_gen6.o \
 	  intel_renderstate_gen7.o \
-	  intel_renderstate_gen8.o
+	  intel_renderstate_gen8.o \
+	  intel_renderstate_gen9.o
 
 # modesetting core code
 i915-y += intel_bios.o \
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 17dfce0..7d9f091 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2122,6 +2122,7 @@  struct drm_i915_cmd_table {
 #define IS_GEN6(dev)	(INTEL_INFO(dev)->gen == 6)
 #define IS_GEN7(dev)	(INTEL_INFO(dev)->gen == 7)
 #define IS_GEN8(dev)	(INTEL_INFO(dev)->gen == 8)
+#define IS_GEN9(dev)	(INTEL_INFO(dev)->gen == 9)
 
 #define RENDER_RING		(1<<RCS)
 #define BSD_RING		(1<<VCS)
diff --git a/drivers/gpu/drm/i915/i915_gem_render_state.c b/drivers/gpu/drm/i915/i915_gem_render_state.c
index a9a62d7..98dcd94 100644
--- a/drivers/gpu/drm/i915/i915_gem_render_state.c
+++ b/drivers/gpu/drm/i915/i915_gem_render_state.c
@@ -38,6 +38,8 @@  render_state_get_rodata(struct drm_device *dev, const int gen)
 		return &gen7_null_state;
 	case 8:
 		return &gen8_null_state;
+	case 9:
+		return &gen9_null_state;
 	}
 
 	return NULL;
diff --git a/drivers/gpu/drm/i915/intel_renderstate.h b/drivers/gpu/drm/i915/intel_renderstate.h
index 6c792d3..5bd6985 100644
--- a/drivers/gpu/drm/i915/intel_renderstate.h
+++ b/drivers/gpu/drm/i915/intel_renderstate.h
@@ -29,6 +29,7 @@ 
 extern const struct intel_renderstate_rodata gen6_null_state;
 extern const struct intel_renderstate_rodata gen7_null_state;
 extern const struct intel_renderstate_rodata gen8_null_state;
+extern const struct intel_renderstate_rodata gen9_null_state;
 
 #define RO_RENDERSTATE(_g)						\
 	const struct intel_renderstate_rodata gen ## _g ## _null_state = { \
diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen6.c b/drivers/gpu/drm/i915/intel_renderstate_gen6.c
index 56c1429..c2568a7 100644
--- a/drivers/gpu/drm/i915/intel_renderstate_gen6.c
+++ b/drivers/gpu/drm/i915/intel_renderstate_gen6.c
@@ -1,3 +1,26 @@ 
+/*
+ * Copyright © 2014 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
 #include "intel_renderstate.h"
 
 static const u32 gen6_null_state_relocs[] = {
diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen7.c b/drivers/gpu/drm/i915/intel_renderstate_gen7.c
index 419e35a..e14aec5 100644
--- a/drivers/gpu/drm/i915/intel_renderstate_gen7.c
+++ b/drivers/gpu/drm/i915/intel_renderstate_gen7.c
@@ -1,3 +1,26 @@ 
+/*
+ * Copyright © 2014 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
 #include "intel_renderstate.h"
 
 static const u32 gen7_null_state_relocs[] = {
diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen8.c b/drivers/gpu/drm/i915/intel_renderstate_gen8.c
index 75ef1b5d..88991e2 100644
--- a/drivers/gpu/drm/i915/intel_renderstate_gen8.c
+++ b/drivers/gpu/drm/i915/intel_renderstate_gen8.c
@@ -1,81 +1,166 @@ 
+/*
+ * Copyright © 2014 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
 #include "intel_renderstate.h"
 
 static const u32 gen8_null_state_relocs[] = {
-	0x00000048,
-	0x00000050,
-	0x00000060,
-	0x000003ec,
+	0x00000784,
+	0x00000790,
+	0x00000798,
+	0x000007a8,
 	-1,
 };
 
 static const u32 gen8_null_state_batch[] = {
+	0x7a000004,
+	0x01000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
 	0x69040000,
-	0x61020001,
+	0x78140000,
+	0x04000000,
+	0x7820000a,
 	0x00000000,
 	0x00000000,
-	0x79120000,
+	0x80000000,
 	0x00000000,
-	0x79130000,
 	0x00000000,
-	0x79140000,
 	0x00000000,
-	0x79150000,
 	0x00000000,
-	0x79160000,
 	0x00000000,
-	0x6101000e,
-	0x00000001,
 	0x00000000,
-	0x00000001,
-	0x00000001,	 /* reloc */
 	0x00000000,
-	0x00000001,	 /* reloc */
+	0x00000000,
+	0x78130002,
+	0x00000000,
+	0x00000000,
+	0x02001808,
+	0x781f0002,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78510009,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78100007,
+	0x00000000,
+	0x00000000,
+	0x00010000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x781b0007,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000800,
+	0x00000000,
+	0x78110008,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x781e0003,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x781d0007,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78120002,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x781c0002,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x780c0000,
+	0x00000000,
+	0x78520003,
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x00000001,	 /* reloc */
 	0x00000000,
-	0xfffff001,
-	0x00001001,
-	0xfffff001,
-	0x00001001,
-	0x78230000,
-	0x000006e0,
-	0x78210000,
-	0x00000700,
 	0x78300000,
 	0x08010040,
-	0x78330000,
-	0x08000000,
 	0x78310000,
-	0x08000000,
+	0x1e000000,
 	0x78320000,
-	0x08000000,
-	0x78240000,
-	0x00000641,
-	0x780e0000,
-	0x00000601,
-	0x780d0000,
+	0x1e000000,
+	0x78330000,
+	0x1e000000,
+	0x79190002,
 	0x00000000,
-	0x78180000,
-	0x00000001,
-	0x78520003,
 	0x00000000,
 	0x00000000,
+	0x791a0002,
 	0x00000000,
 	0x00000000,
-	0x78190009,
 	0x00000000,
+	0x791b0002,
 	0x00000000,
 	0x00000000,
 	0x00000000,
+	0x79120000,
 	0x00000000,
+	0x79130000,
 	0x00000000,
+	0x79140000,
 	0x00000000,
+	0x79150000,
 	0x00000000,
+	0x79160000,
 	0x00000000,
+	0x78150009,
 	0x00000000,
-	0x781b0007,
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -84,11 +169,26 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x78270000,
 	0x00000000,
-	0x782c0000,
+	0x78190009,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x781a0009,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
 	0x00000000,
-	0x781c0002,
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -103,7 +203,7 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x78110008,
+	0x78170009,
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -113,14 +213,17 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x78290000,
 	0x00000000,
-	0x782e0000,
+	0x78490001,
 	0x00000000,
-	0x781a0009,
 	0x00000000,
+	0x784a0000,
 	0x00000000,
+	0x784b0000,
+	0x00000004,
+	0x79170101,
 	0x00000000,
+	0x00000080,
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -128,7 +231,6 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x781d0007,
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -137,15 +239,10 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x78280000,
 	0x00000000,
-	0x782d0000,
 	0x00000000,
-	0x78260000,
 	0x00000000,
-	0x782b0000,
 	0x00000000,
-	0x78150009,
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -156,7 +253,6 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x78100007,
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -165,20 +261,15 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x781e0003,
 	0x00000000,
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x78120002,
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x781f0002,
-	0x30400820,
 	0x00000000,
 	0x00000000,
-	0x78510009,
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -189,22 +280,12 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x78500003,
-	0x00210000,
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x78130002,
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x782a0000,
-	0x00000480,
-	0x782f0000,
-	0x00000540,
-	0x78140000,
-	0x00000800,
-	0x78170009,
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -215,25 +296,13 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x7820000a,
-	0x00000580,
 	0x00000000,
-	0x08080000,
 	0x00000000,
 	0x00000000,
-	0x1f000002,
-	0x00060000,
 	0x00000000,
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x784d0000,
-	0x40000000,
-	0x784f0000,
-	0x80000100,
-	0x780f0000,
-	0x00000740,
-	0x78050006,
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -241,48 +310,25 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x78070003,
 	0x00000000,
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x78060003,
 	0x00000000,
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x78040001,
 	0x00000000,
-	0x00000001,
-	0x79000002,
-	0xffffffff,
 	0x00000000,
 	0x00000000,
-	0x78080003,
-	0x00006000,
-	0x000005e0,	 /* reloc */
 	0x00000000,
 	0x00000000,
-	0x78090005,
-	0x02000000,
-	0x22220000,
-	0x02f60000,
-	0x11230000,
-	0x02850004,
-	0x11230000,
-	0x784b0000,
-	0x0000000f,
-	0x78490001,
 	0x00000000,
 	0x00000000,
-	0x7b000005,
 	0x00000000,
-	0x00000003,
 	0x00000000,
-	0x00000001,
 	0x00000000,
 	0x00000000,
-	0x05000000,	 /* cmds end */
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -297,8 +343,6 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x000004c0,	 /* state start */
-	0x00000500,
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -348,7 +392,6 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x00000092,
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -361,30 +404,6 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x0060005a,
-	0x21403ae8,
-	0x3a0000c0,
-	0x008d0040,
-	0x0060005a,
-	0x21603ae8,
-	0x3a0000c0,
-	0x008d0080,
-	0x0060005a,
-	0x21803ae8,
-	0x3a0000d0,
-	0x008d0040,
-	0x0060005a,
-	0x21a03ae8,
-	0x3a0000d0,
-	0x008d0080,
-	0x02800031,
-	0x2e0022e8,
-	0x0e000140,
-	0x08840001,
-	0x05800031,
-	0x200022e0,
-	0x0e000e00,
-	0x90031000,
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -410,38 +429,6 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x06200000,
-	0x00000002,
-	0x06200000,
-	0x00000002,
-	0x06200000,
-	0x00000002,
-	0x06200000,
-	0x00000002,
-	0x06200000,
-	0x00000002,
-	0x06200000,
-	0x00000002,
-	0x06200000,
-	0x00000002,
-	0x06200000,
-	0x00000002,
-	0x06200000,
-	0x00000002,
-	0x06200000,
-	0x00000002,
-	0x06200000,
-	0x00000002,
-	0x06200000,
-	0x00000002,
-	0x06200000,
-	0x00000002,
-	0x06200000,
-	0x00000002,
-	0x06200000,
-	0x00000002,
-	0x06200000,
-	0x00000002,
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -449,8 +436,6 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0xf99a130c,
-	0x799a130c,
 	0x00000000,
 	0x00000000,
 	0x00000000,
@@ -466,9 +451,525 @@  static const u32 gen8_null_state_batch[] = {
 	0x00000000,
 	0x00000000,
 	0x00000000,
-	0x3f800000,
 	0x00000000,
-	0x3f800000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x79180006,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x79180006,
+	0x20000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x79180006,
+	0x40000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x79180006,
+	0x60000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x6101000e,
+	0x00000001,	 /* reloc */
+	0x00000000,
+	0x00000000,
+	0x00000001,	 /* reloc */
+	0x00000000,
+	0x00000001,	 /* reloc */
+	0x00000000,
+	0x00000001,
+	0x00000000,
+	0x00000001,	 /* reloc */
+	0x00000000,
+	0x00001001,
+	0x00001001,
+	0x00000001,
+	0x00001001,
+	0x61020001,
+	0x00000000,
+	0x00000000,
+	0x79000002,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78050006,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x79040002,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x79040002,
+	0x40000000,
+	0x00000000,
+	0x00000000,
+	0x79040002,
+	0x80000000,
+	0x00000000,
+	0x00000000,
+	0x79040002,
+	0xc0000000,
+	0x00000000,
+	0x00000000,
+	0x79080001,
+	0x00000000,
+	0x00000000,
+	0x790a0001,
+	0x00000000,
+	0x00000000,
+	0x78060003,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78070003,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78040001,
+	0x00000000,
+	0x00000000,
+	0x79110000,
+	0x00000000,
+	0x780d0000,
+	0x00000000,
+	0x79060000,
+	0x00000000,
+	0x7907001f,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x7902000f,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x790c000f,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x780a0003,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78080083,
+	0x00004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x04004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x08004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x0c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x10004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x14004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x18004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x1c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x20004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x24004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x28004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x2c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x30004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x34004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x38004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x3c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x40004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x44004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x48004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x4c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x50004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x54004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x58004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x5c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x60004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x64004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x68004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x6c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x70004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x74004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x7c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x80004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78090043,
+	0x02000000,
+	0x22220000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x680b0001,
+	0x78260000,
+	0x00000000,
+	0x78270000,
+	0x00000000,
+	0x78280000,
+	0x00000000,
+	0x78290000,
+	0x00000000,
+	0x782a0000,
+	0x00000000,
+	0x780e0000,
+	0x00000dc1,
+	0x78240000,
+	0x00000e01,
+	0x784f0000,
+	0x80000100,
+	0x784d0000,
+	0x40000000,
+	0x782b0000,
+	0x00000000,
+	0x782c0000,
+	0x00000000,
+	0x782d0000,
+	0x00000000,
+	0x782e0000,
+	0x00000000,
+	0x782f0000,
+	0x00000000,
+	0x780f0000,
+	0x00000000,
+	0x78230000,
+	0x00000e60,
+	0x78210000,
+	0x00000e80,
+	0x7b000005,
+	0x00000004,
+	0x00000001,
+	0x00000000,
+	0x00000001,
+	0x00000000,
+	0x00000000,
+	0x05000000,	 /* cmds end */
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,	 /* state start */
+	0x00000000,
+	0x3f800000,
+	0x3f800000,
+	0x3f800000,
+	0x3f800000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
 	0x00000000,
 	0x00000000,
 	0x00000000,
diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen9.c b/drivers/gpu/drm/i915/intel_renderstate_gen9.c
new file mode 100644
index 0000000..e1ea838
--- /dev/null
+++ b/drivers/gpu/drm/i915/intel_renderstate_gen9.c
@@ -0,0 +1,981 @@ 
+/*
+ * Copyright © 2014 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#include "intel_renderstate.h"
+
+static const u32 gen9_null_state_relocs[] = {
+	0x00000794,
+	0x000007a0,
+	0x000007a8,
+	0x000007b8,
+	-1,
+};
+
+static const u32 gen9_null_state_batch[] = {
+	0x7a000004,
+	0x01000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x69040300,
+	0x78140000,
+	0x04000000,
+	0x7820000a,
+	0x00000000,
+	0x00000000,
+	0x80000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78130002,
+	0x00000000,
+	0x00000000,
+	0x02001808,
+	0x781f0004,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78510009,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78100007,
+	0x00000000,
+	0x00000000,
+	0x00010000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x781b0007,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000800,
+	0x00000000,
+	0x78110008,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x781e0003,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x781d0009,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78120002,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x781c0002,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x780c0000,
+	0x00000000,
+	0x78520003,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78300000,
+	0x08010040,
+	0x78310000,
+	0x1e000000,
+	0x78320000,
+	0x1e000000,
+	0x78330000,
+	0x1e000000,
+	0x79190002,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x791a0002,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x791b0002,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x79120000,
+	0x00000000,
+	0x79130000,
+	0x00000000,
+	0x79140000,
+	0x00000000,
+	0x79150000,
+	0x00000000,
+	0x79160000,
+	0x00000000,
+	0x78150009,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78190009,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x781a0009,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78160009,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78170009,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78490001,
+	0x00000000,
+	0x00000000,
+	0x784a0000,
+	0x00000000,
+	0x784b0000,
+	0x00000004,
+	0x79170101,
+	0x00000000,
+	0x00000080,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x79180006,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x79180006,
+	0x20000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x79180006,
+	0x40000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x79180006,
+	0x60000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x61010011,
+	0x00000001,	 /* reloc */
+	0x00000000,
+	0x00000000,
+	0x00000001,	 /* reloc */
+	0x00000000,
+	0x00000001,	 /* reloc */
+	0x00000000,
+	0x00000001,
+	0x00000000,
+	0x00000001,	 /* reloc */
+	0x00000000,
+	0x00001001,
+	0x00001001,
+	0x00000001,
+	0x00001001,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x61020001,
+	0x00000000,
+	0x00000000,
+	0x79000002,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78050006,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x79040002,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x79040002,
+	0x40000000,
+	0x00000000,
+	0x00000000,
+	0x79040002,
+	0x80000000,
+	0x00000000,
+	0x00000000,
+	0x79040002,
+	0xc0000000,
+	0x00000000,
+	0x00000000,
+	0x79080001,
+	0x00000000,
+	0x00000000,
+	0x790a0001,
+	0x00000000,
+	0x00000000,
+	0x78060003,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78070003,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78040001,
+	0x00000000,
+	0x00000000,
+	0x79110000,
+	0x00000000,
+	0x780d0000,
+	0x00000000,
+	0x79060000,
+	0x00000000,
+	0x7907001f,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x7902000f,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x790c000f,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x780a0003,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78080083,
+	0x00004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x04004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x08004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x0c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x10004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x14004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x18004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x1c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x20004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x24004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x28004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x2c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x30004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x34004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x38004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x3c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x40004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x44004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x48004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x4c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x50004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x54004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x58004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x5c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x60004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x64004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x68004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x6c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x70004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x74004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x7c004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x80004000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x78090043,
+	0x02000000,
+	0x22220000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x680b0001,
+	0x780e0000,
+	0x00000dc1,
+	0x78240000,
+	0x00000e01,
+	0x784f0000,
+	0x80000100,
+	0x784d0000,
+	0x40000000,
+	0x782b0000,
+	0x00000000,
+	0x782c0000,
+	0x00000000,
+	0x782d0000,
+	0x00000000,
+	0x782e0000,
+	0x00000000,
+	0x782f0000,
+	0x00000000,
+	0x780f0000,
+	0x00000000,
+	0x78230000,
+	0x00000e60,
+	0x78210000,
+	0x00000e80,
+	0x78260000,
+	0x00000000,
+	0x78270000,
+	0x00000000,
+	0x78280000,
+	0x00000000,
+	0x78290000,
+	0x00000000,
+	0x782a0000,
+	0x00000000,
+	0x7b000005,
+	0x00000004,
+	0x00000001,
+	0x00000000,
+	0x00000001,
+	0x00000000,
+	0x00000000,
+	0x05000000,	 /* cmds end */
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,	 /* state start */
+	0x00000000,
+	0x3f800000,
+	0x3f800000,
+	0x3f800000,
+	0x3f800000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,	 /* state end */
+};
+
+RO_RENDERSTATE(9);