Commit Graph

22 Commits

Author SHA1 Message Date
Keith Packard c155bb3cb1 Add batch flush in i830_uxa_prepare_access 2008-08-05 15:41:51 -07:00
Keith Packard 12df8f40d2 Use dri_bo for all object allocations, including pixmaps under uxa 2008-08-05 15:40:14 -07:00
Eric Anholt ecf19e1cda Change most usage of pixmap offsets to using a reloc macro.
This is based on airlied's RING->BATCH commit.  The 965 code still needs to
be fixed up for relocations.
2008-06-10 11:37:03 -07:00
Zhenyu Wang 79fde3ad7a Check pitch for EXA operation
2D pitch limit applys to all chips. Pre-965 chip has
8KB pitch limit for 3D. 965 supports max pitch by current
exa (128KB).
(cherry picked from commit 8187a5a16f8bd8f0ba5e7f5357f355928b3b8f07)
2008-05-07 13:42:38 +08:00
Keith Packard 6459805964 Transformed coord computed using floats. Don't move bilinear composite dst.
The homogeneous coordinate computation in the core server cannot be used for
many legal matrices as it overflows. Just use floats in the driver; faster
and avoids troubles.

When compositing with bilinear filter, don't push the dst coordinates around
as that makes the output blurry when pixels are aligned.
2008-03-21 03:12:36 -07:00
Keith Packard 4b9b7b007d Handle projective transforms on 9xx for Composite.
Projective transforms require un-normalized texture coordinates and the use
of the texldp instruction. The coordinates are passed as x/y/z/w (the z is
unused, but there isn't a vertext format for just x/y/w).
2008-03-18 14:19:12 -07:00
Keith Packard 4f5500abe2 8xx/9xx can handle textures to 2kx2k. 965 can do 8kx8k 2008-03-18 14:10:25 -07:00
Paulo Cesar Pereira de Andrade d72e18c109 Compile warning fixes.
Move some declarations and don't declare an extra variable with the
same name, to fix warnings about mixed declarations and code.
2008-03-18 09:24:58 +08:00
Eric Anholt 69fbc17441 Change OUT_RING and similar calls to OUT_BATCH for batchbuffer merge 2008-03-14 10:18:11 -07:00
Eric Anholt 9a62d3b598 Remove i830+ driver's use of CARD*/INT* types for great justice.
Several uses are actually left, which are determined by the X Server
interfaces we're implementing.
2008-03-11 12:07:52 -07:00
Kristian Høgsberg 9fd13e6773 Silence warnings about possible uninitialize use of dst_format.
Whoa, gcc got a lot smarter about warnings.  If iXXX_get_dest_format()
doesn't support the picture format passed in it won't initialize the
uint32_t pointed to by dst_format and return FALSE.

What gcc now can detect is if dst_format is used without checking the
return value, it might be used uninitialized.  This patch makes sure
we always check the return value before using dst_format.
2008-03-11 13:48:07 -04:00
Zhenyu Wang 0fdbf64b34 Fix i915 a8 color buffer blending
From spec, i915 engine uses green channel when reading from 8bit
color buffer for blending, and also writes back green channel.
Fix blend factor in dest alpha case by using dest color instead.
Now rendercheck can pass a8 tests.
2007-08-28 21:57:06 +08:00
Dave Airlie 2231cdcd8f i915: add support for render to a8 2007-08-16 17:15:54 +10:00
Eric Anholt cb36635a05 Attempt to fix several front buffer tiling failure cases.
Front buffer tiling is now disabled with G965 and XAA.  Some of the acceleration
that i830_xaa.c does can't be supported on tiled buffers.

Adds a tiling field to struct i830_memory, and uses it instead of separate
variables for each potential tiled buffer.
2007-08-10 16:33:04 -07:00
Zhenyu Wang 45962eed51 Fix a typo in i915 render
Fence setting is in mapstate actually. This fixes rotation in
tiled fb case, thanks Keith to report this.
2007-07-23 09:50:17 +08:00
Wang Zhenyu 04130ac6b7 Fix i915 rendering for tiled buffer
Make it to check fence register for dest buffer.
2007-07-11 11:42:56 +08:00
Jesse Barnes ca593a5219 FBC and tiling changes
- change framebuffer option name to "FramebufferCompression"
  - add new "Tiling" option (controls all tiling, not just front buffer)
  - add debug message to fb compression enable/disable routines
  - update man page with new options
2007-07-06 16:10:52 -07:00
Eric Anholt ceb6dd7244 Fix context switching between DRI and X.
Now, all 3D pipeline consumers in the driver just call
IntelEmitInvariantState(), which handles basic state setup, the caching of that
state setup, and notifying DRI clients.  This also removes a mistaken idle
wait in the Render code which was papering over the brokenness in the context
switching.
2007-06-12 10:04:39 -07:00
Wang Zhenyu 4120a20626 EXA: add render enter helper function
That notify mesa rendering is smashing the state, and check last 3d
operation to do sync after we're swapped in or others.
2007-05-18 10:10:34 +08:00
Wang Zhenyu 16e50a91dd EXA: remove a flush cmd in i915 render code 2007-05-18 09:53:36 +08:00
Eric Anholt 5238ff9c80 Naming and formatting cleanup in Render acceleration code. 2007-01-31 14:01:41 -08:00
Eric Anholt c47210d94e Move the render code to non-EXA-specific filenames. 2007-01-31 12:50:31 -08:00