profile/ivi/mesa.git
13 years ago[g3dvl] avoid some ELSE blocks
Christian König [Thu, 9 Dec 2010 23:13:32 +0000 (00:13 +0100)]
[g3dvl] avoid some ELSE blocks

13 years ago[g3dvl] try a different buffer aproach
Christian König [Thu, 9 Dec 2010 21:34:43 +0000 (22:34 +0100)]
[g3dvl] try a different buffer aproach

13 years ago[g3dvl] fix buffer handling in mc code
Christian König [Thu, 9 Dec 2010 21:28:31 +0000 (22:28 +0100)]
[g3dvl] fix buffer handling in mc code

13 years ago[g3dvl] fix idct matrix upload
Christian König [Thu, 9 Dec 2010 21:27:03 +0000 (22:27 +0100)]
[g3dvl] fix idct matrix upload

13 years ago[g3dvl] split mc code into state and buffer
Christian König [Wed, 8 Dec 2010 22:37:57 +0000 (23:37 +0100)]
[g3dvl] split mc code into state and buffer

13 years ago[g3dvl] move buffer mapping/unmapping out of flush
Christian König [Wed, 8 Dec 2010 21:35:30 +0000 (22:35 +0100)]
[g3dvl] move buffer mapping/unmapping out of flush

13 years ago[g3dvl] replace IF THEN ELSE with CMP statement
Christian König [Wed, 8 Dec 2010 20:28:38 +0000 (21:28 +0100)]
[g3dvl] replace IF THEN ELSE with CMP statement

13 years ago[g3dvl] remove shadow buffering of vertex buffers
Christian König [Wed, 8 Dec 2010 19:48:34 +0000 (20:48 +0100)]
[g3dvl] remove shadow buffering of vertex buffers

13 years ago[g3dvl] remove mb type handler structure
Christian König [Wed, 8 Dec 2010 18:41:01 +0000 (19:41 +0100)]
[g3dvl] remove mb type handler structure

13 years ago[g3dvl] move macro block type handling into shaders part 3
Christian König [Wed, 8 Dec 2010 18:18:55 +0000 (19:18 +0100)]
[g3dvl] move macro block type handling into shaders part 3

13 years ago[g3dvl] moving macroblock type handling into shaders part 2
Christian König [Wed, 8 Dec 2010 17:42:48 +0000 (18:42 +0100)]
[g3dvl] moving macroblock type handling into shaders part 2

13 years ago[g3dvl] start moving macroblock type handling into shaders
Christian König [Wed, 8 Dec 2010 17:26:58 +0000 (18:26 +0100)]
[g3dvl] start moving macroblock type handling into shaders

13 years ago[g3dvl] allways use all motion vectors
Christian König [Wed, 8 Dec 2010 15:11:29 +0000 (16:11 +0100)]
[g3dvl] allways use all motion vectors

reprogramming the vertex buffers takes more time than pumping
all motion vectors through the vertex shader

13 years ago[g3dvl] split empty block handling
Christian König [Wed, 8 Dec 2010 13:50:28 +0000 (14:50 +0100)]
[g3dvl] split empty block handling

Empty block handling is split between vertex shader (x-axis)
and fragment shader (y-axis).

13 years ago[g3dvl] split idct code into state and buffers
Christian König [Wed, 8 Dec 2010 01:12:24 +0000 (02:12 +0100)]
[g3dvl] split idct code into state and buffers

13 years ago[g3dvl] use buffer width instead of texture size or vs constants
Christian König [Tue, 7 Dec 2010 20:23:14 +0000 (21:23 +0100)]
[g3dvl] use buffer width instead of texture size or vs constants

13 years ago[g3dvl] move vertex buffer handling into vl_vertex_buffer.c
Christian König [Tue, 7 Dec 2010 19:13:37 +0000 (20:13 +0100)]
[g3dvl] move vertex buffer handling into vl_vertex_buffer.c

13 years ago[g3dvl] rework pot buffer handling and flushing
Christian König [Mon, 6 Dec 2010 23:29:02 +0000 (00:29 +0100)]
[g3dvl] rework pot buffer handling and flushing

13 years ago[g3dvl] move mapping/unmapping of buffers one layer up
Christian König [Sun, 5 Dec 2010 21:30:38 +0000 (22:30 +0100)]
[g3dvl] move mapping/unmapping of buffers one layer up

13 years ago[g3dvl] move vertex handling into vl_vb object
Christian König [Sun, 5 Dec 2010 16:57:52 +0000 (17:57 +0100)]
[g3dvl] move vertex handling into vl_vb object

13 years ago[g3dvl] cleanup empty block handling
Christian König [Sun, 5 Dec 2010 15:46:10 +0000 (16:46 +0100)]
[g3dvl] cleanup empty block handling

doing empty block handling in the mc code is indeed faster

13 years agomove empty block handling back into mc for testing
Christian König [Fri, 3 Dec 2010 17:57:23 +0000 (18:57 +0100)]
move empty block handling back into mc for testing

13 years agoadd rasterizer state
Christian König [Wed, 1 Dec 2010 17:47:11 +0000 (18:47 +0100)]
add rasterizer state

13 years agouse CMP also for referenz frame fetch
Christian König [Tue, 30 Nov 2010 20:15:47 +0000 (21:15 +0100)]
use CMP also for referenz frame fetch

13 years agocleanup and use CMP instead of IF ELSE ENDIF
Christian König [Tue, 30 Nov 2010 19:41:26 +0000 (20:41 +0100)]
cleanup and use CMP instead of IF ELSE ENDIF

13 years agomove to four component calculation for idct code
Christian König [Mon, 29 Nov 2010 23:14:59 +0000 (00:14 +0100)]
move to four component calculation for idct code

13 years agocopy only mv really needed to vb
Christian König [Mon, 29 Nov 2010 00:02:37 +0000 (01:02 +0100)]
copy only mv really needed to vb

13 years agouse vertex buffer also for mc code
Christian König [Sun, 28 Nov 2010 23:09:22 +0000 (00:09 +0100)]
use vertex buffer also for mc code

13 years agogive each vertex element its own buffer
Christian König [Sun, 28 Nov 2010 20:09:53 +0000 (21:09 +0100)]
give each vertex element its own buffer

13 years agouse vl_vb_upload_quads also for mc
Christian König [Sun, 28 Nov 2010 19:20:47 +0000 (20:20 +0100)]
use vl_vb_upload_quads also for mc

13 years agomove vertex elemt states into mb type handlers
Christian König [Sun, 28 Nov 2010 19:08:40 +0000 (20:08 +0100)]
move vertex elemt states into mb type handlers

13 years agomove macroblock type handling into its own structure
Christian König [Sun, 28 Nov 2010 17:49:57 +0000 (18:49 +0100)]
move macroblock type handling into its own structure

13 years agouse a shadow buffer for vertex data to optimize memory access
Christian König [Sun, 28 Nov 2010 13:48:31 +0000 (14:48 +0100)]
use a shadow buffer for vertex data to optimize memory access

13 years agomake nr of render targets configureable for testing
Christian König [Sun, 28 Nov 2010 11:23:36 +0000 (12:23 +0100)]
make nr of render targets configureable for testing

13 years ago[g3dvl] join empty blocks to get larger slices
Christian König [Sun, 28 Nov 2010 00:21:41 +0000 (01:21 +0100)]
[g3dvl] join empty blocks to get larger slices

13 years ago[g3dvl] use 8 zslices for idct
Christian König [Sat, 27 Nov 2010 17:20:38 +0000 (18:20 +0100)]
[g3dvl] use 8 zslices for idct

13 years ago[g3dvl] some more bugfixing
Christian König [Sat, 27 Nov 2010 13:08:15 +0000 (14:08 +0100)]
[g3dvl] some more bugfixing

13 years ago[g3dvl] idividual vs for each stage and a bunch of bugsfixes
Christian König [Sat, 27 Nov 2010 13:01:01 +0000 (14:01 +0100)]
[g3dvl] idividual vs for each stage and a bunch of bugsfixes

13 years ago[g3dvl] give idct stage 1 & 2 its own sb_state and viewport
Christian König [Sat, 27 Nov 2010 10:24:24 +0000 (11:24 +0100)]
[g3dvl] give idct stage 1 & 2 its own sb_state and viewport

13 years ago[g3dvl] use four component fetch also for idct source
Christian König [Fri, 26 Nov 2010 20:50:14 +0000 (21:50 +0100)]
[g3dvl] use four component fetch also for idct source

13 years agor600g: disable hardware blit for stream texture
Christian König [Fri, 26 Nov 2010 20:44:22 +0000 (21:44 +0100)]
r600g: disable hardware blit for stream texture

13 years ago[g3dvl] split matrix mul into seperate functions
Christian König [Fri, 26 Nov 2010 19:25:00 +0000 (20:25 +0100)]
[g3dvl] split matrix mul into seperate functions

13 years ago[g3dvl] use inline constants instead of vs_const for idct
Christian König [Fri, 26 Nov 2010 18:14:55 +0000 (19:14 +0100)]
[g3dvl] use inline constants instead of vs_const for idct

13 years ago[g3dvl] no need to keep the idct matrix multiple times
Christian König [Thu, 25 Nov 2010 21:10:21 +0000 (22:10 +0100)]
[g3dvl] no need to keep the idct matrix multiple times

13 years ago[g3dvl] add dump option to xvmc
Christian König [Thu, 25 Nov 2010 20:23:48 +0000 (21:23 +0100)]
[g3dvl] add dump option to xvmc

13 years ago[g3dvl] also use four elemets on right side multiplikation
Christian König [Thu, 25 Nov 2010 18:37:12 +0000 (19:37 +0100)]
[g3dvl] also use four elemets on right side multiplikation

13 years ago[g3dvl] use four elements in matrix texture fetch
Christian König [Wed, 24 Nov 2010 22:54:21 +0000 (23:54 +0100)]
[g3dvl] use four elements in matrix texture fetch

13 years agor600g: disable not working formats
Christian König [Wed, 24 Nov 2010 22:44:30 +0000 (23:44 +0100)]
r600g: disable not working formats

13 years agor600g: reenable texture uploads, but keep R16_SNORM disabled
Christian König [Wed, 24 Nov 2010 20:40:50 +0000 (21:40 +0100)]
r600g: reenable texture uploads, but keep R16_SNORM disabled

13 years agor600g: disable R32 float also in r600_translate_colorformat
Christian König [Wed, 24 Nov 2010 20:36:54 +0000 (21:36 +0100)]
r600g: disable R32 float also in r600_translate_colorformat

13 years ago[g3dvl] no need for all samplers at all stages
Christian König [Wed, 24 Nov 2010 19:00:52 +0000 (20:00 +0100)]
[g3dvl] no need for all samplers at all stages

13 years ago[g3dvl] remove flushing between stages
Christian König [Wed, 24 Nov 2010 18:46:51 +0000 (19:46 +0100)]
[g3dvl] remove flushing between stages

13 years ago[g3dvl] spread scaling between idct stages
Christian König [Wed, 24 Nov 2010 18:40:47 +0000 (19:40 +0100)]
[g3dvl] spread scaling between idct stages

13 years ago[g3dvl] remove invalid use of assert
Christian König [Tue, 23 Nov 2010 21:43:29 +0000 (22:43 +0100)]
[g3dvl] remove invalid use of assert

13 years ago[g3dvl] switch to r32 float for idct matrix
Christian König [Tue, 23 Nov 2010 20:26:26 +0000 (21:26 +0100)]
[g3dvl] switch to r32 float for idct matrix

13 years ago[g3dvl] add some error handling
Christian König [Mon, 22 Nov 2010 23:19:02 +0000 (00:19 +0100)]
[g3dvl] add some error handling

13 years agoMerge remote branch 'origin/master' into pipe-video
Christian König [Sun, 21 Nov 2010 18:40:52 +0000 (19:40 +0100)]
Merge remote branch 'origin/master' into pipe-video

Conflicts:
src/gallium/auxiliary/Makefile
src/gallium/auxiliary/SConscript

13 years agomesa: fix get_texture_dimensions() for texture array targets
Brian Paul [Sun, 21 Nov 2010 17:05:47 +0000 (10:05 -0700)]
mesa: fix get_texture_dimensions() for texture array targets

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31779

13 years agodocs: update some GL 3.0 status
Brian Paul [Sun, 21 Nov 2010 16:31:19 +0000 (09:31 -0700)]
docs: update some GL 3.0 status

13 years agomesa: hook up GL 3.x entrypoints
Brian Paul [Sun, 21 Nov 2010 16:19:23 +0000 (09:19 -0700)]
mesa: hook up GL 3.x entrypoints

Fix up some details in the xml files and regenerate dispatch files.

13 years agoglapi: rename GL3.xml to GL3x.xml as it covers all GL 3.x versions
Brian Paul [Sun, 21 Nov 2010 16:13:59 +0000 (09:13 -0700)]
glapi: rename GL3.xml to GL3x.xml as it covers all GL 3.x versions

13 years agomesa: fix error msg typo
Brian Paul [Fri, 19 Nov 2010 21:34:07 +0000 (14:34 -0700)]
mesa: fix error msg typo

13 years agoi915g: kill idws->pool
Daniel Vetter [Fri, 19 Nov 2010 22:38:23 +0000 (23:38 +0100)]
i915g: kill idws->pool

The drm winsys only ever handles one gem memory manager. Rip out
the unnecessary complication.

Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
13 years agoi915g: kill buf->map_gtt
Daniel Vetter [Fri, 19 Nov 2010 22:38:22 +0000 (23:38 +0100)]
i915g: kill buf->map_gtt

Not using the gtt is considered harmful for performance. And for
partial uploads there's always drm_intel_bo_subdata.

Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
13 years agoi915g: kill RGBA/X formats
Daniel Vetter [Fri, 19 Nov 2010 22:38:21 +0000 (23:38 +0100)]
i915g: kill RGBA/X formats

It's intel, so always little endian!

Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
13 years agoi915g: add pineview pci ids
Daniel Vetter [Fri, 19 Nov 2010 22:38:20 +0000 (23:38 +0100)]
i915g: add pineview pci ids

Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
13 years agoi915g: s/hw_tiled/tiling
Daniel Vetter [Fri, 19 Nov 2010 22:38:19 +0000 (23:38 +0100)]
i915g: s/hw_tiled/tiling

More in line with other intel drivers.

Change to use enum by Jakob Bornecrantz.

Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
13 years agoi915g: rip out ->sw_tiled
Daniel Vetter [Fri, 19 Nov 2010 22:38:18 +0000 (23:38 +0100)]
i915g: rip out ->sw_tiled

It looks like this was meant to facilitate unfenced access to textures/
color/renderbuffers. It's totally incomplete and fundamentally broken
on a few levels:
- broken: The kernel needs to about every tiled bo to fix up bit17
  swizzling on swap-in.
- unflexible: fenced/unfenced relocs from execbuffer2 do the same, much
  simpler.
- unneeded: with relaxed fencing tiled gem bos are as memory-efficient
  as this trick.

Hence kill it.

Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
13 years agor300g: silence guard band cap errors
Joakim Sindholt [Sun, 21 Nov 2010 12:24:03 +0000 (13:24 +0100)]
r300g: silence guard band cap errors

Somebody should find out what these are. It can be found on Windows
getting a D3DCAPS9 from IDirect3D9::GetCaps() and reading the
GuardBand* values.

13 years ago[g3dvl] inverse check for iDCT
Christian König [Sun, 21 Nov 2010 13:34:38 +0000 (14:34 +0100)]
[g3dvl] inverse check for iDCT

13 years ago[g3dvl] first working version of idct code
Christian König [Sun, 21 Nov 2010 13:19:40 +0000 (14:19 +0100)]
[g3dvl] first working version of idct code

13 years agor600g: disable staging upload for now
Christian König [Sun, 21 Nov 2010 12:58:23 +0000 (13:58 +0100)]
r600g: disable staging upload for now

13 years agor600g: remove accidentally added r32 float format
Christian König [Sun, 21 Nov 2010 12:57:02 +0000 (13:57 +0100)]
r600g: remove accidentally added r32 float format

13 years agost/vega: Fix vgReadPixels with a subrectangle.
Chia-I Wu [Sun, 21 Nov 2010 10:58:47 +0000 (18:58 +0800)]
st/vega: Fix vgReadPixels with a subrectangle.

Fix a crash when the subrectangle is not inside the fb.  Fix wrong
pipe transfer when sx > 0 or sy + height != fb->height.

This fixes "readpixels" demo.

13 years agost/vega: Set wrap_r for mask and blend samplers.
Chia-I Wu [Sun, 21 Nov 2010 10:46:57 +0000 (18:46 +0800)]
st/vega: Set wrap_r for mask and blend samplers.

These two samplers use non-normalized texture coordinates.  wrap_r
cannot be PIPE_TEX_WRAP_REPEAT (the default).

This fixes

  sp_tex_sample.c:1790:get_linear_unorm_wrap: Assertion `0' failed

assertion failure.

13 years agost/vega: vegaLookupSingle should validate the state.
Chia-I Wu [Sun, 21 Nov 2010 10:44:21 +0000 (18:44 +0800)]
st/vega: vegaLookupSingle should validate the state.

Fix "lookup" demo crash.

13 years agotgsi: Add STENCIL to text parser.
Chia-I Wu [Sun, 21 Nov 2010 10:36:41 +0000 (18:36 +0800)]
tgsi: Add STENCIL to text parser.

Fix OpenVG "filter" demo

  Program received signal SIGSEGV, Segmentation fault.
  0xb7153dc9 in str_match_no_case (pcur=0xbfffe564, str=0x0) at
  tgsi/tgsi_text.c:86
  86         while (*str != '\0' && *str == uprcase( *cur )) {

13 years agomesa: Clean up header file inclusion in stencil.h.
Vinson Lee [Sun, 21 Nov 2010 06:44:33 +0000 (22:44 -0800)]
mesa: Clean up header file inclusion in stencil.h.

13 years agomesa: Clean up header file inclusion in shared.h.
Vinson Lee [Sun, 21 Nov 2010 06:30:27 +0000 (22:30 -0800)]
mesa: Clean up header file inclusion in shared.h.

13 years agomesa: Clean up header file inclusion in shaderapi.h.
Vinson Lee [Sun, 21 Nov 2010 06:17:28 +0000 (22:17 -0800)]
mesa: Clean up header file inclusion in shaderapi.h.

13 years agomesa: Clean up header file inclusion in scissor.h.
Vinson Lee [Sun, 21 Nov 2010 06:01:30 +0000 (22:01 -0800)]
mesa: Clean up header file inclusion in scissor.h.

13 years agomesa: Clean up header file inclusion in renderbuffer.h.
Vinson Lee [Sun, 21 Nov 2010 05:32:07 +0000 (21:32 -0800)]
mesa: Clean up header file inclusion in renderbuffer.h.

13 years agomesa: Clean up header file inclusion in readpix.h.
Vinson Lee [Sun, 21 Nov 2010 05:23:35 +0000 (21:23 -0800)]
mesa: Clean up header file inclusion in readpix.h.

13 years agomesa: Clean up header file inclusion in rastpos.h.
Vinson Lee [Sun, 21 Nov 2010 05:14:06 +0000 (21:14 -0800)]
mesa: Clean up header file inclusion in rastpos.h.

13 years agomesa: Clean up header file inclusion in polygon.h.
Vinson Lee [Sun, 21 Nov 2010 05:06:09 +0000 (21:06 -0800)]
mesa: Clean up header file inclusion in polygon.h.

13 years agointel: Remove unnecessary header.
Vinson Lee [Sun, 21 Nov 2010 04:13:50 +0000 (20:13 -0800)]
intel: Remove unnecessary header.

13 years agor600: Remove unnecesary header.
Vinson Lee [Sun, 21 Nov 2010 03:04:30 +0000 (19:04 -0800)]
r600: Remove unnecesary header.

13 years agoswrast: Remove unnecessary header.
Vinson Lee [Sun, 21 Nov 2010 03:00:18 +0000 (19:00 -0800)]
swrast: Remove unnecessary header.

13 years agost/mesa: Remove unnecessary headers.
Vinson Lee [Sun, 21 Nov 2010 02:48:09 +0000 (18:48 -0800)]
st/mesa: Remove unnecessary headers.

13 years agoscons: Define IN_DRI_DRIVER.
Chia-I Wu [Sun, 21 Nov 2010 01:47:11 +0000 (17:47 -0800)]
scons: Define IN_DRI_DRIVER.

The define is required for DRI drivers.  It is not needed for
libgl-xlib, but the overhead it introduces should be minor.

13 years agonvfx: only expose one rt on nv30
Xavier Chantry [Sat, 20 Nov 2010 21:51:12 +0000 (22:51 +0100)]
nvfx: only expose one rt on nv30

We do not know how to use more, GL_ARB_draw_buffers is not exposed on blob.

13 years ago[g3dvl] move empty block handling into idct code
Christian König [Sat, 20 Nov 2010 21:24:42 +0000 (22:24 +0100)]
[g3dvl] move empty block handling into idct code

13 years ago[g3dvl] enable stage 1&2 buffers in idct code
Christian König [Sat, 20 Nov 2010 20:08:12 +0000 (21:08 +0100)]
[g3dvl] enable stage 1&2 buffers in idct code

13 years agor600g: add support for signed normalized frame buffers
Christian König [Sat, 20 Nov 2010 20:06:42 +0000 (21:06 +0100)]
r600g: add support for signed normalized frame buffers

13 years agor600g: Fix location for clip plane registers
Owen W. Taylor [Sat, 20 Nov 2010 17:18:56 +0000 (12:18 -0500)]
r600g: Fix location for clip plane registers

The stride between the different clip plane registers was incorrect.

https://bugs.freedesktop.org/show_bug.cgi?id=31788

agd5f: fix evergreen as well.

13 years agor300g: fix rendering with no vertex elements
Marek Olšák [Sun, 14 Nov 2010 17:57:14 +0000 (18:57 +0100)]
r300g: fix rendering with no vertex elements

Fixes glsl-vs-point-size, although I meant to fix glsl-novertexdata.
Since swrast fails glsl-novertexdata too, I guess it's a core issue.

13 years agoi965: Remove duplicate MRF writes in the FS backend.
Eric Anholt [Fri, 19 Nov 2010 07:57:05 +0000 (15:57 +0800)]
i965: Remove duplicate MRF writes in the FS backend.

This is quite common for multitexture sampling, and not only cuts down
on the second and later set of MOVs, but typically also allows
compute-to-MRF on the first set.

No statistically siginficant performance difference in nexuiz (n=3),
but it reduces instruction count in one of its shaders and seems like
a good idea.

13 years agoi965: Improve compute-to-mrf.
Eric Anholt [Thu, 18 Nov 2010 07:03:50 +0000 (15:03 +0800)]
i965: Improve compute-to-mrf.

We were skipping it if the instruction producing the value we were
going to compute-to-mrf used its result reg as a source reg.  This
meant that the typical "write interpolated color to fragment color" or
"texture from interpolated texcoord" shader didn't compute-to-MRF.
Just don't check for the interference cases until after we've checked
if this is the instruction we wanted to compute-to-MRF.

Improves nexuiz high-settings performance on my laptop 0.48% +- 0.08%
(n=3).

13 years agoir_to_mesa: Detect and emit MOV_SATs for saturate constructs.
Eric Anholt [Fri, 19 Nov 2010 10:50:05 +0000 (18:50 +0800)]
ir_to_mesa: Detect and emit MOV_SATs for saturate constructs.

The goal here is to avoid regressing performance on ir_to_mesa drivers
for fixed function fragment shaders requiring saturates.

13 years agoi965: Recognize saturates and turn them into a saturated mov.
Eric Anholt [Fri, 19 Nov 2010 02:36:06 +0000 (10:36 +0800)]
i965: Recognize saturates and turn them into a saturated mov.

On pre-gen6, this turns 4 instructions into 1.  We could still do
better by folding the saturate into the instruction generating the
value if nobody else uses it, but that should be a separate pass.