summaryrefslogtreecommitdiff
path: root/src/i830_exa.c
AgeCommit message (Collapse)Author
2007-08-07Fix EXA rendering with tiled front buffer on pre-965.Eric Anholt
The 915 and earlier appear to respect the fence registers, while only the 965 requires the per-operation tiling setting and pitch shifting. This will also fix issues with rendering on the 965 involving multiple cliprects, where the pitch would get divided repeatedly. This removes the offset < 4096 fallback, which essentially resulted in no acceleration to tiled buffers, hiding the issues.
2007-08-06Fix accumulated whitespace nits in i830_exa.cEric Anholt
2007-08-06More tiled rendering fixes: - check for tiling, not just offset in ↵Jesse Barnes
PrepareSolid - combine pI830->tiling and frontbuffer checks into new exaPixmapTiled function for readability
2007-08-03Limit Solid & Copy offsets to 4k when rendering to tiled targetsJesse Barnes
2007-08-03Tiled rendering & fbc fixes:Jesse Barnes
- actually enable tiling in DSP(A|B)CNTR if needed - add logic to EXA routines for tiled case (still needs work) - enable/disable fbc on DPMS events (meant moving functions higher in file) - fix fence register pitch programming (use correct pitch instead of kludged value)
2007-06-27EXA: don't have to check offscreen sizeWang Zhenyu
DDX will check it for EXA_OFFSCREEN_PIXMAPS flag
2007-06-12Fix context switching between DRI and X.Eric Anholt
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-05Add support for the G33, Q33, and Q35 chipsets.Wang Zhenyu
These chipsets require that the hardware status page be referenced by an offset in the GTT rather than a physical memory address, so the X Server allocates it rather than the DRM.
2007-05-22i830: Provide new DRI texOffsetStart hook when available with EXA.Michel Dänzer
2007-05-18EXA: add render enter helper functionWang Zhenyu
That notify mesa rendering is smashing the state, and check last 3d operation to do sync after we're swapped in or others.
2007-04-17Fix i852 EXA Composite acceleration setup.Eric Anholt
Reported by JM Ibanez.
2007-04-09Turn off ALWAYS_SYNC in EXA.Eric Anholt
This slipped in as a debugging aid, and never got turned off. The driver appears to work fine without it on an i915 system, and for the non-default EXA option, we'd rather see issues found than continue running with debugging aids and hiding them behind bad performance.
2007-03-09Revert change accidentally included in previous commit.Michel Dänzer
2007-03-09Update SAREA pipe sizes in i830_crtc_dpms instead of i830PipeSetBase.Michel Dänzer
This allows setting the size to 0 when a pipe gets disabled.
2007-03-02Add a WIP UploadToScreen implementation. This almost displays right.Eric Anholt
2007-02-23Rework the video memory allocation.Eric Anholt
The previous allocator worked in multiple passes, with (at least) one of setting up allocations, another to attempt to adjust those for tiling, and then a pass to set up the offsets and fix them in memory. The new allocator is simpler, allocating memory immediately if possible, setting up tiling up front, and choosing offsets immediately. AGP memory is only allocated to back actual memory used, saving some memory that would have been allocated for padding previous. It will also allow dynamic freeing and reallocation of memory, which will be useful for framebuffer resizing.
2007-02-09Fix comments on 965 pitch alignment restrictions.Eric Anholt
2007-02-08EXA: i965 pixmap pitch alignWang Zhenyu
This seems like a typo, which causes screen artifacts.
2007-01-31Naming and formatting cleanup in Render acceleration code.Eric Anholt
2007-01-31Move the render code to non-EXA-specific filenames.Eric Anholt
2007-01-31Add an accelerated path for rotation Render operations in XAA.Eric Anholt
The now-generic (kind of) EXA code will be cleaned up and moved to generic files in a later commit.
2007-01-30Fix accelerated Render transformations.Eric Anholt
Previously, we tried to use 2 points instead of 3 to describe the source rectangles, which mostly just worked for scaling.
2007-01-30Simplify EXA acceleration transform handling.Eric Anholt
2007-01-25Make rotated shadow buffer allocation dynamic.Eric Anholt
For EXA, this requires version 2.1 of EXA to do rotation, as the VT switching issues were too complicated otherwise.
2007-01-11EXA: Use PRIM3D_RECTLIST instead of TRIFAN so we don't get diagonal tearing.Eric Anholt
A side effect is the reduction in vertex dispatch, which is nice.
2007-01-11Correct x/y/pitch limitations in several cases, and detail them in i830_exa.c.Eric Anholt
This reduces max framebuffer width and increases max framebuffer height on 965, reduces max X/Y on pre-965 EXA (could have caused mis-rendering), and increases max X/Y on 965 EXA (would have prevented acceleration).
2007-01-08Move EXA function declarations from source to header.Keith Packard
Several new global functions were not put into the header file leading to potential mismatches between declaration and definition.
2007-01-06Numerous symbol scope issues.Keith Packard
I830EntityIndex is shared between 810 and newer driver. Move most EXA rendering state into I830 structure. Declare shared variables in shared header files rather than .c.
2007-01-06Merge branch 'modesetting-origin' into modesettingWang Zhenyu
2007-01-06[PATCH] EXA state mem for G965Wang Zhenyu
Not split offscreen mem for exa, but alloc a dedicated one for G965 states. Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06More sparse cleanups:Jesse Barnes
NULL vs. 0 make some variables static remove redundant variables There are only a few sparse warnings left now: some bitfield warnings and a few 'mixing code and declarations' warnings from the ring macros.
2007-01-03[PATCH] Add file for i965 exa compositeWang Zhenyu
This does not include ps program, which will be added in g4a form. Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-02Make driver build and run on Xorg 7.1. Delay DSP*BASE setting until last.Keith Packard
Autodetect libdrm version, disable new memory manager on older libraries. Move new M_T_ defines from i830.h to i830_xf86Crtc.h. Add many system headers to define functions. Use i830PipeSetBase at end of mode setting code to set DSP*BASE and flush changes. Don't duplicate PipeSetBase call from screen init function. Make initial RandR configuration code usable on older versions of extension so the server doesn't start in a panning mode. Use xfree instead of free in i830_tv.c.
2006-10-26Note alignment requirement for i915 3D (texturing).Eric Anholt
2006-09-19misc cleanupWang Zhenyu
2006-09-14Add a compile flag to enable syncing after each operation in EXA.Eric Anholt
This replaces other debug sync options sprinkled around the EXA code. It doesn't change the mis-rendering of text on the 915.
2006-09-14Add a note on maxX/maxY for the 2D rendering.Eric Anholt
2006-09-14Replace a couple of mis-uses of the screen's bpp when the pixmap's was needed.Eric Anholt
2006-09-14Replace duplicated sync code in exa with a call to I830Sync.Eric Anholt
The I830Sync version has additional code for the 965.
2006-09-11reimplement Solid functionWang Zhenyu
Replace COLOR_BLT_CMD with XY_COLOR_BLT_CMD, by which device would care for direction and provide a (x,y) coord interface. This fixes pixmap artifacts even in no composite case.
2006-09-08Merge branch 'exa-origin' into exaEric Anholt
Conflicts: src/i915_exa_render.c
2006-09-07Remove another debug printf.Eric Anholt
2006-09-07Re-remove xf86_ansic.h, and move copyright to the top of the file.Eric Anholt
2006-09-07Remove the UTS/DFS implementations that just match the fallback versions.Eric Anholt
2006-08-24Current 915 render operations for 915G/945G onlyWang Zhenyu
2006-07-24remove crap blit in UploadToScreen, we should find a moreWang Zhenyu
efficent way and implement blit correctly.
2006-07-20The pixmap's drawable x/y coordinates are always 0, so don't bother using them.Eric Anholt
2006-07-20The vertex data are all floats, so write the dest coords as floats.Eric Anholt
2006-07-20Revert "Fix several size error with STATE3D_LOAD_STATE_IMMEDIATE cmd."Wang Zhenyu
This reverts commit 433cb6ba82698676f6f72e09834aba4d64611d54.
2006-07-18Fix several size error with STATE3D_LOAD_STATE_IMMEDIATE cmd.Wang Zhenyu
Issue texture coord set with proper scale value.