summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i915/i915_vtbl.c
AgeCommit message (Collapse)Author
2008-04-18i915: check for depth region before accounting its buffer sizeDave Airlie
fd.o bz #15573
2008-04-16intel: fix _mesa_error ctx I introduced at lsat minuteDave Airlie
2008-04-16intel/fake_bufmgr: Attempt to restrict references to objects in a ↵Dave Airlie
batchbuffer > aperture size. So with compiz on Intel hw with fake bufmgr, opening 4 firefox windows at 1680x1050 and hitting alt-tab, could cause the batchbuffer to try and reference more than the 32MB of RAM allocated. Fix 1: Fix 1 is to pre-verify the list of buffers against the current batchbuffer and if it can't possibly fit in the aperture to flush the batchbuffer to the hardware and try again. If the buffers still can't fit well then you are hosed as I'm not sure there is a nice way to tell anyone. Fix 2: Next problem was that even with a simple check for total < aperture, we ran into fragmentation issues, this meant that half way down a set of buffers, we would fail as no blocks were available. Fix this by nuking the memory manager from orbit and letting it start again and relayout the blocks in a manner that fits. Fix 3: Finally the initial problem we were seeing was a memcpy to a NULL backing store. We seem to end up with a texture at some point that never gets mapped but ends up with data in it. compiz al-tab icons have this property. So I created a card dirty bit that memcpy's any buffer that is !static and is written to back to memory. This probably is wrong but it makes compiz work for now. Caveats: 965 support is still fail.
2008-03-25intel: fix the issue "VBO: Cannot allocate memory for a BO" onXiang, Haihao
965 after merging intel_context.c from i915 and i965. fix bug# 15152.
2008-03-13 [i965] multiple rendering target supportZou Nan hai
2008-01-17[i915] Fix driver from cliprects changes, and clean up state emission.Eric Anholt
The fix for pageflipping with cliprects ended up causing a batch flush at an inopportune time, which is fixed by moving it up. Additionally, the recovery code for handling batch wraps at bad times is replaced by just checking for the space up front, and using a no_batch_wrap assert like on 965 to make sure that we weren't wrong about how much space that was.
2008-01-10[intel] Add more cliprect modes to cover other meanings for batch emits.Eric Anholt
The previous change gave us only two modes, one which looped over the batch per cliprect (3d drawing) and one that didn't (state updeast). However, we really want 4: - Batch doesn't care about cliprects (state updates) - Batch needs DRAWING_RECTANGLE looping per cliprect (3d drawing) - Batch needs to be executed just once (region fills, copies, etc.) - Batch already includes cliprect handling, and must be flushed by unlock time (copybuffers, clears). All callers should now be fixed to use one of these states for any batchbuffer emits. Thanks to Keith Whitwell for pointing out the failure.
2008-01-09[intel] Rename lost_hardware vtbl entry to new_batch.Eric Anholt
Both drivers have ended up relying on lost_hardware being called after each batch buffer, so update the name. This removes one of the calls on 965 whic h was outside of the batchbuffer handling code and just duplicating what had already happened through batchbuffer handling.
2008-01-04i915: don't validate PS program when falling back to softwareXiang, Haihao
rendering. fix #12786
2007-12-07i915: fix the error in the previos commit.Xiang, Haihao
2007-12-07i915: Check the program size when uploading a program. fix bug 13494Xiang, Haihao
2007-11-26i915: Catch cases where not all state is emitted for a new batchbuffer.Keith Whitwell
This could lead to incorrect rendering or even lockups.
2007-09-24Move i915tex driver into place as just i915.Eric Anholt
2007-09-24Remove the old i915 driver now that i915tex works without TTM.Eric Anholt
2007-07-29fix fallback crashes when driver can't handle frag prog for i915 driver too ↵Roland Scheidegger
(untested)
2007-07-06Add case for GL_QUADS in i915_reduced_primitive_state().Brian
The t_dd_tritemp.h code can emit GL_QUADS primitives. We need to catch that case to determine if polygon stipple should be enabled. Fixes bug reported by Carlos Diógenes on 4 July 2007.
2007-03-27Restore the UseTexEnvProgram logic.Brian
Was removed during glsl-compiler work. Still need to go back and revisit this because of the interaction with fragment shaders...
2007-03-21merge from masterBrian
2007-03-18fix off-by-one in load_state_immediateKeith Whitwell
2007-02-23Update DRI drivers for new glsl compiler.Brian
Mostly: - update #includes - update STATE_* token code
2006-12-15vertex/fragment program field changesBrian
2006-10-10Use the mesa-provided texenv program rather than rolling our own.Keith Whitwell
Turn on texture crossbar support.
2006-08-18Fix writemasks on texture arb fp instructions.Alan Hourihane
Cleanup invarient state emission.
2006-01-23Add Intel 945GM supportAlan Hourihane
Add rotation support (Tungsten Graphics)
2005-05-10get fog working with _TexEnvProgramKeith Whitwell
2005-05-09i915 will use _TexEnvProgram (if active)Keith Whitwell
2004-07-01fix for older gcc's (from freedesktop bug id #419)Alan Hourihane
2004-06-18add missing license textsKeith Whitwell
2004-06-10New driver for i915 as well as older i830/i845/i865 chipsets.Keith Whitwell