summaryrefslogtreecommitdiff
path: root/src/render_program
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-12-06 22:11:32 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2013-12-11 21:39:40 +0000
commite017542d10e875260e3eef1b0369f4ea106df0f5 (patch)
tree577bf674cb2431a38d938c3e49f7d371ae6bcb30 /src/render_program
parent610af0c70e755062b36ba9756fbc4288518b7c35 (diff)
sna/gen8: Initial backend for Broadwell
Should match the functionality of the earlier generations, but untuned. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/render_program')
-rw-r--r--src/render_program/Makefile.am23
-rw-r--r--src/render_program/exa_wm_src_affine.g8b4
-rw-r--r--src/render_program/exa_wm_src_sample_argb.g8b3
-rw-r--r--src/render_program/exa_wm_src_sample_planar.g8b5
-rw-r--r--src/render_program/exa_wm_write.g8b17
-rw-r--r--src/render_program/exa_wm_yuv_rgb.g8b12
6 files changed, 57 insertions, 7 deletions
diff --git a/src/render_program/Makefile.am b/src/render_program/Makefile.am
index 1298625f..9d36787a 100644
--- a/src/render_program/Makefile.am
+++ b/src/render_program/Makefile.am
@@ -174,6 +174,14 @@ INTEL_G7B = \
exa_wm_yuv_rgb.g7b \
$(NULL)
+INTEL_G8B = \
+ exa_wm_src_affine.g8b \
+ exa_wm_src_sample_argb.g8b \
+ exa_wm_src_sample_planar.g8b \
+ exa_wm_write.g8b \
+ exa_wm_yuv_rgb.g8b \
+ $(NULL)
+
EXTRA_DIST = \
$(INTEL_G4A) \
$(INTEL_G4I) \
@@ -185,11 +193,12 @@ EXTRA_DIST = \
$(INTEL_G6B) \
$(INTEL_G6I) \
$(INTEL_G7A) \
- $(INTEL_G7B)
+ $(INTEL_G7B) \
+ $(INTEL_G8B)
if HAVE_GEN4ASM
-SUFFIXES = .g4a .g4b .g5a .g5b .g6a .g6b .g7a .g7b
+SUFFIXES = .g4a .g4b .g5a .g5b .g6a .g6b .g7a .g7b .g8b
.g4a.g4b:
$(AM_V_GEN)m4 -I$(srcdir) -s $< > $*.g4m && @INTEL_GEN4ASM@ -o $@ $*.g4m && @INTEL_GEN4ASM@ -g 5 -o $@.gen5 $*.g4m && rm $*.g4m
@@ -201,17 +210,17 @@ SUFFIXES = .g4a .g4b .g5a .g5b .g6a .g6b .g7a .g7b
.g7a.g7b:
$(AM_V_GEN)m4 -I$(srcdir) -s $< > $*.g7m && @INTEL_GEN4ASM@ -g 7 -o $@ $*.g7m && rm $*.g7m
+.g7a.g8b:
+ $(AM_V_GEN)m4 -I$(srcdir) -s $< > $*.g8m && @INTEL_GEN4ASM@ -g 8 -o $@ $*.g8m && rm $*.g8m
$(INTEL_G4B): $(INTEL_GEN4ASM) $(INTEL_G4I)
$(INTEL_G5B): $(INTEL_GEN4ASM) $(INTEL_G4I)
$(INTEL_G6B): $(INTEL_GEN4ASM) $(INTEL_G4I) $(INTEL_G6I)
$(INTEL_G7B): $(INTEL_GEN4ASM) $(INTEL_G4I) $(INTEL_G6I)
+$(INTEL_G8B): $(INTEL_GEN4ASM) $(INTEL_G4I) $(INTEL_G6I)
-BUILT_SOURCES= $(INTEL_G4B) $(INTEL_G5B) $(INTEL_G6B) $(INTEL_G7B)
+BUILT_SOURCES=$(INTEL_G4B) $(INTEL_G4B_GEN5) $(INTEL_G5B) $(INTEL_G6B) $(INTEL_G7B) $(INTEL_G8B)
clean-local:
- -rm -f $(INTEL_G4B) $(INTEL_G4B_GEN5)
- -rm -f $(INTEL_G5B)
- -rm -f $(INTEL_G6B)
- -rm -f $(INTEL_G7B)
+ -rm -f $(BUILT_SOURCES)
endif
diff --git a/src/render_program/exa_wm_src_affine.g8b b/src/render_program/exa_wm_src_affine.g8b
new file mode 100644
index 00000000..2a55d700
--- /dev/null
+++ b/src/render_program/exa_wm_src_affine.g8b
@@ -0,0 +1,4 @@
+ { 0x0060005a, 0x28403ae8, 0x3a0000c0, 0x008d0040 },
+ { 0x0060005a, 0x28603ae8, 0x3a0000c0, 0x008d0080 },
+ { 0x0060005a, 0x28803ae8, 0x3a0000d0, 0x008d0040 },
+ { 0x0060005a, 0x28a03ae8, 0x3a0000d0, 0x008d0080 },
diff --git a/src/render_program/exa_wm_src_sample_argb.g8b b/src/render_program/exa_wm_src_sample_argb.g8b
new file mode 100644
index 00000000..2349b3dd
--- /dev/null
+++ b/src/render_program/exa_wm_src_sample_argb.g8b
@@ -0,0 +1,3 @@
+ { 0x00000001, 0x2008060c, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x28200208, 0x008d0000, 0x00000000 },
+ { 0x02800031, 0x21c00a48, 0x0e000820, 0x0a8c0001 },
diff --git a/src/render_program/exa_wm_src_sample_planar.g8b b/src/render_program/exa_wm_src_sample_planar.g8b
new file mode 100644
index 00000000..3a5e25c7
--- /dev/null
+++ b/src/render_program/exa_wm_src_sample_planar.g8b
@@ -0,0 +1,5 @@
+ { 0x00000001, 0x2008060c, 0x00000000, 0x0000e000 },
+ { 0x00600001, 0x28200208, 0x008d0000, 0x00000000 },
+ { 0x02800031, 0x22000a48, 0x0e000820, 0x0a2c0001 },
+ { 0x02800031, 0x21c00a48, 0x0e000820, 0x0a2c0003 },
+ { 0x02800031, 0x22400a48, 0x0e000820, 0x0a2c0005 },
diff --git a/src/render_program/exa_wm_write.g8b b/src/render_program/exa_wm_write.g8b
new file mode 100644
index 00000000..69433072
--- /dev/null
+++ b/src/render_program/exa_wm_write.g8b
@@ -0,0 +1,17 @@
+ { 0x00600001, 0x28403ae8, 0x008d01c0, 0x00000000 },
+ { 0x00600001, 0x28603ae8, 0x008d01e0, 0x00000000 },
+ { 0x00600001, 0x28803ae8, 0x008d0200, 0x00000000 },
+ { 0x00600001, 0x28a03ae8, 0x008d0220, 0x00000000 },
+ { 0x00600001, 0x28c03ae8, 0x008d0240, 0x00000000 },
+ { 0x00600001, 0x28e03ae8, 0x008d0260, 0x00000000 },
+ { 0x00600001, 0x29003ae8, 0x008d0280, 0x00000000 },
+ { 0x00600001, 0x29203ae8, 0x008d02a0, 0x00000000 },
+ { 0x05800031, 0x24000a40, 0x0e000840, 0x90031000 },
+ { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
+ { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
+ { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
+ { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
+ { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
+ { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
+ { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
+ { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
diff --git a/src/render_program/exa_wm_yuv_rgb.g8b b/src/render_program/exa_wm_yuv_rgb.g8b
new file mode 100644
index 00000000..0da262c8
--- /dev/null
+++ b/src/render_program/exa_wm_yuv_rgb.g8b
@@ -0,0 +1,12 @@
+ { 0x00800040, 0x23003ae8, 0x3e8d0200, 0xbd808081 },
+ { 0x00800041, 0x23003ae8, 0x3e8d0300, 0x3f94fdf4 },
+ { 0x00800040, 0x22c03ae8, 0x3e8d01c0, 0xbf008084 },
+ { 0x00800040, 0x23403ae8, 0x3e8d0240, 0xbf008084 },
+ { 0x00800001, 0x24003ae0, 0x008d0300, 0x00000000 },
+ { 0x80800048, 0x21c03ae8, 0x3e8d02c0, 0x3fcc49ba },
+ { 0x00800001, 0x24003ae0, 0x008d0300, 0x00000000 },
+ { 0x00800048, 0x24003ae0, 0x3e8d02c0, 0xbf5020c5 },
+ { 0x80800048, 0x22003ae8, 0x3e8d0340, 0xbec8b439 },
+ { 0x00800001, 0x24003ae0, 0x008d0300, 0x00000000 },
+ { 0x80800048, 0x22403ae8, 0x3e8d0340, 0x40011687 },
+ { 0x00800001, 0x22803ee8, 0x38000000, 0x3f800000 },