Commit Graph

22 Commits

Author SHA1 Message Date
Sedat Dilek 76be878272 Fix typos found with codespell v1.7
To get codespell v1.7 check [2].

[1] https://github.com/lucasdemarchi/codespell
[2] https://github.com/lucasdemarchi/codespell/releases

Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
2015-06-09 20:46:12 +01:00
Ville Syrjälä c43617b739 gen8: Fix the YUV->RGB shader
Use the correct register (Yn_01) with first half of the
Y samples instead of using the register (Yn_23) with the
second half twice when computing the green channel.

Also use the Yn_01 register name instead of Yn for the red
channel as well, just for a bit of extra consistency.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89807
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tested-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-16 21:05:51 +01:00
Chris Wilson 2086965e5c gen8: Refresh video render programs
Reported-by: Timo Aaltonen <tjaalton@ubuntu.com>
References: https://bugs.freedesktop.org/show_bug.cgi?id=83207
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-08-29 10:45:03 +01:00
Chris Wilson e017542d10 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>
2013-12-11 21:39:40 +00:00
Damien Lespiau b3ba758a01 uxa/gen7: Don't use a message register to store vl
Turns out the "new" assembler that uses mesa's opcode emission hits the
path that automatically transforms MRF registers into GRF ones in the
exa_wm_src_projective shader.

The diff with the new assembler is:

$ intel-gen4disasm -g7 -
-   { 0x00600041, 0x208077be, 0x008d03c0, 0x008d0180 },
+   { 0x00600041, 0x2e8077bd, 0x008d03c0, 0x008d0180 },
mul(8)      m4<1>F          g30<8,8,1>F     g12<8,8,1>F     { align1 };
mul(8)      g116<1>F        g30<8,8,1>F     g12<8,8,1>F     { align1 };

Of course, message registers are no more in gen7, so the shader is
trying to do something shaddy (ahem!).

Instead of using m4, let's make exa_wm_src_projective use g68 for v (aka
vl) which makes sense since:

1/ vh is g69
2/ exa_wm_src_affine uses g68 for vl already

This commit changes the generated assembly, here's the decoded diff:

$ intel-gen4disasm -g7 -
-   { 0x00600041, 0x208077be, 0x008d03c0, 0x008d0180 },
+   { 0x00600041, 0x288077bd, 0x008d03c0, 0x008d0180 },
mul(8)      m4<1>F          g30<8,8,1>F     g12<8,8,1>F     { align1 };
mul(8)      g68<1>F         g30<8,8,1>F     g12<8,8,1>F     { align1 };

Cc: Kenneth Graunke <kenneth@whitecape.org>
Reported-by: Xiang, Haihao <haihao.xiang@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-02-18 13:46:47 +00:00
Damien Lespiau 37bc822190 build: Make generation of gen code depend on intel-gen4asm
This way, when a new intel-gen4asm is available (because one just hacked
on it and has installed a new version for instance) the shaders will be
recompiled. This helps catching regressions, testing the latest changes
in the assembler haven't broken too many things.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-04 20:38:08 +00:00
Damien Lespiau 18f8d2291f build: Use $(AM_V_GEN) to silence the assembly of gen programs
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-04 20:36:52 +00:00
Chris Wilson 4d2dba0ba7 Use path for intel-gen4asm derived from pkg-config
As we use pkg-config to determine whether to use intel-gen4asm, we
should also use it to locate the right version of intel-gen4asm to use.
This allows the user to install the assembler in a non-standard path for
cross-builds and similar.

Reported-by: Josh Tripplet <josh@freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55646
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-10-07 10:49:07 +01:00
Chris Wilson 7e4a1b7ed2 src/sna/gen5: Replace the precompiled shaders
Take advantage of a couple of new instructions introduced with Cantiga
to reduce the instruction count inside the shaders and improve
performance by around 10% in the fish-demo.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-24 18:24:37 +00:00
Kenneth Graunke 07cc488bcf render: New Ivybridge assembly programs for render acceleration.
These are exactly the same as the ones for Sandybridge, but with message
registers translated (hopefully) in the same way as Haihao's new
programs (m1 == g65).

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Eric Anholt <eric@anholt.net>
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-28 15:00:17 -07:00
Xiang, Haihao 70f884772a Xv: New shaders for Xv on Ivybridge
Redefine some M4 macros, also update the check for
intel-gen4asm to support Ivybridge

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2011-06-24 09:42:10 +08:00
Xiang, Haihao 3cf423bd3a Xv: separate fragments from M4 macros
It is to prepare for Xv on Ivybridge. The difference from Sandybridge
is that all message payload must be in GRF registers instead of MRF registers
on Ivybridge. We will only redefine some M4 macros for Ivybridge

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2011-06-24 09:42:07 +08:00
Xiang, Haihao 540c574218 render: use headerless render target write
It is weird that some rendercheck cases only work fine with headerless write.
Need to update intel-gen4asm to support headerless write

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2010-11-02 14:28:55 +08:00
Xiang, Haihao 0ab2c05a29 render: fragments for composite on Sandybridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2010-11-02 14:28:55 +08:00
Xiang, Haihao 21c86548dc render: fix send instruction used in sampling fragments
To prepare for composite on Sandybridge

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2010-11-02 14:28:55 +08:00
Xiang, Haihao 9e4dd27aa8 Xv: fragments for xv on Sandybridge.
Need to update intel-gen4asm to build these fragments

Signed--off-by: Xiang, Haihao <haihao.xiang@intel.com>
2010-11-01 08:46:14 +08:00
Xiang, Haihao e34b3f6ef5 Xv: Send instruction doesn't use implied move when sampling YUV surface
The two fragments will be reused for sampling YUV surface
and send doesn't have implied move on Sandybridge

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2010-11-01 08:45:51 +08:00
Eric Anholt 79b6851148 Fix sampler indexes on i965 planar video.
We only set up one sampler, because all of our sampling is the same.  By
using a non-zero index for the other two samplers, we'd dereference (likely)
zeroed data, resulting in using NEAREST filtering.  This was a regression in
40671132cb which incidentally switched from
having 6 samplers to 1.

Bug #22895, #19856
2009-08-05 15:07:14 -07:00
Rémi Cardona f6f79eb629 remove unused shader program
This file is not even referenced by any Makefile.am

Acked-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2009-07-06 11:01:31 +02:00
Zhenyu Wang afac333bef Remove unused packed yuv sampler shader programs
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2009-06-30 11:12:12 +08:00
Zhenyu Wang 9fb34012f6 Add new compiled shader program for IGDNG
Also check intel-gen4asm tool here for new -g option, which is
required to compile new programs.

Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2009-06-30 11:12:12 +08:00
Zhenyu Wang 488acc4595 Move shader programs under its own subdirectory
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2009-06-30 11:12:12 +08:00