summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i915/intel_tris.c
AgeCommit message (Collapse)Author
2011-02-21i915: Emit a single relocation per vboChris Wilson
Reducing the number of relocations has lots of nice knock-on effects, not least including reducing batch buffer size, auxilliary array sizes (vmalloced and copied into the kernel), processing of uncached relocations etc. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-21intel: use pwrite for batchChris Wilson
It's faster. Not only is the memcpy more efficiently performed in the kernel (making up for the system call overhead), but by not using mmap we remove the greater overhead of tracking the vma of every batch. And it means we can read back from the batch buffer without incurring the cost of a uncached read through the GTT. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
2010-06-08intel: Change dri_bo_* to drm_intel_bo* to consistently use new API.Eric Anholt
The slightly less mechanical change of converting the emit_reloc calls will follow.
2010-05-10i915: Drop intelFlush().Vinson Lee
This was missed in commit c4775a27e3aaa2006b98f225387499b79bc609ef. Fixes i915 build.
2010-03-30intel: Remove redundant fields from struct intel_contextKristian Høgsberg
All these pointers are in the __DRIcontext struct, which we point to.
2010-03-18intel: Use bit-wise not instead of logical not (i830 path)Ian Romanick
The assertion is checking that the low-order bits of offset are not set. It does this by anding the inverted offset mask with the offset. This is clearly intended to be a bit-wise "invert". Fixes bug #25984.
2010-03-18Use bit-wise not instead of logical not.Ian Romanick
The assertion is checking that the low-order bits of offset are not set. It does this by anding the inverted offset mask with the offset. This is clearly intended to be a bit-wise "invert". Fixes bug #25984.
2010-03-03Remove stray defines of HAVE_RGBAIan Romanick
Now that color-index support is removed from t_dd_tritmp.h and t_dd_unfilled.h, drivers no longer need define HAVE_RGBA. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-03-03i915: Use x,y drawing offsets instead of changing buffer offsets.Eric Anholt
This should fix rendering into mipmaps of tiled textures.
2010-02-22i915: Fix logic !gen >= 3Chris Wilson
The effect of this was that all objects were aligned to 128 bytes on all generations, rather than just gen2. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-02-22i915: Remove superfluous MI_NOOP from vertex emissionChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-02-19Replace the _mesa_*printf() wrappers with the plain libc versionsKristian Høgsberg
2010-01-30i915: Remove unnecessary headers.Vinson Lee
2010-01-25Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/mesa/drivers/dri/intel/intel_screen.c src/mesa/drivers/dri/intel/intel_swapbuffers.c src/mesa/drivers/dri/r300/r300_emit.c src/mesa/drivers/dri/r300/r300_ioctl.c src/mesa/drivers/dri/r300/r300_tex.c src/mesa/drivers/dri/r300/r300_texstate.c
2010-01-22i915: Remove unnecessary headers.Vinson Lee
2010-01-04intel: Drop batchbuffer cliprect_mode trackingKristian Høgsberg
2009-12-22intel: Replace some gen3 IS_* checks with context structure usage.Eric Anholt
Shaves 400 bytes or so from i915_dri.so.
2009-11-19i915: Remove dead meta_draw_quad code.Eric Anholt
2009-11-03intel: avoid unnecessary front buffer flushing/updatingBrian Paul
Before, if we just called glXMakeCurrent() and didn't render anything we'd still trigger a flushFrontBuffer() call. Now only set the intel->front_buffer_dirty field at state validation time just before we draw something. NOTE: additional calls to intel_check_front_buffer_rendering() might be needed if I missed some rendering paths.
2009-10-22Merge branch 'mesa_7_6_branch'Brian Paul
2009-10-22intel: Fallback field is a bitmask, use GLbitfieldBrian Paul
2009-10-01i915: Enable ARB_vertex_shader for both i915 and i830.Eric Anholt
Since the TNL is all done in software anyway, it should be the same to the user who's probably using ARB_vertex_program otherwise, but gives them a nicer programming environment.
2009-06-29intel: Make LOCK_HARDWARE recursive to avoid hand-rolling recursiveness.Eric Anholt
2009-03-12i915: move declarations before codeBrian Paul
2009-03-04i965: add software fallback for conformant 3D textures and GL_CLAMPRobert Ellison
The i965 hardware cannot do GL_CLAMP behavior on textures; an earlier commit forced a software fallback if strict conformance was required (i.e. the INTEL_STRICT_CONFORMANCE environment variable was set) and 2D textures were used, but it was somewhat flawed - it could trigger the software fallback even if 2D textures weren't enabled, as long as one texture unit was enabled. This fixes that, and adds software fallback for GL_CLAMP behavior with 1D and 3D textures. It also adds support for a particular setting of the INTEL_STRICT_CONFORMANCE environment variable, which forces software fallbacks to be taken *all* the time. This is helpful with debugging. The value is: export INTEL_STRICT_CONFORMANCE=2
2009-01-21[intel] Remove remaining references to intel_wait_flips().Kristian Høgsberg
Oops.
2008-12-02intel: restore old vertex submit paths for i8xx hardware.Dave Airlie
Intel docs state that only 830/845 have VBOs, 855/865 don't. So lets just not use them on i8xx at all. This restores the old pre-vbo code and uses it on all 8xx hw.
2008-11-20intel: fix i830 comment + backwards VB offsets.airlied
According to Keith the docs have these offsets the other way around
2008-09-23i915: fix crash in flush_prim -> wait_flips -> flush_batch -> flush_prim.Eric Anholt
2008-09-18mesa: added "main/" prefix to includes, remove some -I paths from ↵Brian Paul
Makefile.template
2008-08-24Revert "Revert "Merge branch 'drm-gem'""Dave Airlie
This reverts commit 7c81124d7c4a4d1da9f48cbf7e82ab1a3a970a7a.
2008-08-24Revert "Merge branch 'drm-gem'"Dave Airlie
This reverts commit 53675e5c05c0598b7ea206d5c27dbcae786a2c03. Conflicts: src/mesa/drivers/dri/i965/brw_wm_surface_state.c
2008-08-08intel-gem: Update to new check_aperture API for classic mode.Eric Anholt
To do this, I had to clean up some of 965 state upload stuff. We may end up over-emitting state in the aperture overflow case, but that should be rare, and I'd rather have the simplification of state management.
2008-06-23i915: Accumulate the VB into a local buffer and subdata it in.Eric Anholt
This lets GEM use pwrite, for an additional 4% or so speedup.
2008-06-23i915: Convert to using VBs instead of inline prims.Eric Anholt
2008-03-19[i915] fix fragment.positionZou Nan hai
2008-02-25intel: Initialize color and spec arrays in LOCAL_VARS macro.Kristian Høgsberg
Avoids spamming compilation output with tons of warnings about use of possibly uninitialized variables.
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] Clean up cliprect handling in intel drivers.Eric Anholt
In particular, batch buffers are no longer flushed when switching from CLIPRECTS to NO_CLIPRECTS or vice versa, and 965 just uses DRM cliprect handling for primitives instead of trying to sneak in its own to avoid the DRM stuff. The disadvantage is that we will re-execute state updates per cliprect, but the advantage is that we will be able to accumulate larger batch buffers, which were proving to be a major overhead.
2008-01-02i915: Needn't adjust pixel centers. fix #12944Xiang, Haihao
2007-12-20[i915] Move meta_draw_quad into the vtbl with other meta operations.Eric Anholt
2007-12-20i915: avoid dead lock in intel_meta_draw_poly. fix #13696Xiang, 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-11-16[i915] Push locking in intelClearWithTris down inside meta_draw_poly.Eric Anholt
The lock coverage and checks for cliprects were unneeded since the batchbuffer will have INTEL_BATCH_CLIPRECTS anyway. It appeared to be a leftover from intelClearWithBlit. This makes the locking requirements of i915 meta_draw_quad match i965 meta_draw_quad.
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
2006-09-22fix the broken fallback string/debug stuffBrian Paul
2006-09-22remove extra indentationBrian Paul