Commit graph

7603 commits

Author SHA1 Message Date
Brian Paul
789399d3f4 Replace code like this:
assert(!drmFoobar());
with:
	int k = drmFoobar();
	assert(!k);
so that the drm calls don't disappear if we compile with NDEBUG!
2006-03-14 21:53:33 +00:00
Brian Paul
dfa8624e83 just comments, doxygen 2006-03-14 19:19:12 +00:00
Brian Paul
36b64bbd4f initial skeletons for GL_EXT_framebuffer_object 2006-03-14 19:17:09 +00:00
Keith Whitwell
651985f813 Clear optimizations.
- Correct comparison of stencil writemask with 0xff.
	- Do depth with triangles if we are already doing stencil that way.
2006-03-13 18:53:01 +00:00
Keith Whitwell
9f2b49a7b3 Turn the render stage back on. 2006-03-13 18:51:00 +00:00
Keith Whitwell
05c6361b0b reinstate old unlock + sched_yeild behaviour when nr_cliprects == 0 2006-03-13 16:41:45 +00:00
Keith Whitwell
9621817253 drmOpen/Close hacks to coalesce multiple drm opens 2006-03-13 16:26:50 +00:00
Keith Whitwell
7e2e4a6b1a Use drmCloseOnce() 2006-03-13 16:23:37 +00:00
Keith Whitwell
656c71ca3f Check to see if a bufmgr has already been created for the current drm
fd.  If so reuse it.

Also, add _glthread_Mutex guards around (some of the) potential
thread-unsafe code.
2006-03-13 16:22:59 +00:00
Thomas Hellström
6ce7055dcc Remove wait for fence at the end of intelFlush. 2006-03-07 11:07:23 +00:00
Keith Whitwell
c848a65b5e Use braces around size parameter in BEGIN_BATCH. Hopefully fixes
batch overrun problems.
2006-03-06 18:10:27 +00:00
Thomas Hellström
1ff99fcd50 New libdrm flag numbers. 2006-03-06 13:50:40 +00:00
Keith Whitwell
67342052d2 Add copypix.c demo.
Add PBO version of drawpix.c demo.
2006-03-06 13:31:18 +00:00
Thomas Hellström
ccf52b6784 Move over to libdrm.
At least one lockup remaining with multiple clients when at least one client
is using textures.
2006-03-05 21:52:03 +00:00
Thomas Hellström
78aa58c914 Add bufmgr_old that keeps the old pre-ttm functionality.
Modify bufmgr_fake.c for new drm interface. Full rework for bufmgr.c pending.
2006-03-03 18:13:19 +00:00
Thomas Hellström
4291f24abd Add a define NO_TTM to disable ttm usage altogether for comparison.
Reinstate MI_FLUSH at end of batchbuffers.
2006-03-02 11:41:28 +00:00
Keith Whitwell
f4211722f1 Get texture drawpixels working 2006-03-01 18:07:06 +00:00
Keith Whitwell
71380a1325 Get basic texturing and stencil working 2006-03-01 16:49:11 +00:00
Keith Whitwell
33e55c6a7d i830 driver first triangles (with a faked out bufmgr) 2006-03-01 16:06:47 +00:00
Keith Whitwell
cd32164cc6 Port the i830 driver to the texture manager. Compiles but not tested.
Turn back on some fallback cases.
Turn back on the unclipped rastersetup-to-dma render path.
2006-03-01 00:06:14 +00:00
Keith Whitwell
7c1348ac8f Remove the flags argument for intel_meta_draw_quad(). 3D primitives
must always be emitted with cliprects else the drawing origin may not
be emitted either.
2006-02-27 17:38:56 +00:00
Thomas Hellström
2560061cfe Silence printout and nicer wait for IRQ when out of batchbuffer mem. 2006-02-27 16:50:17 +00:00
Keith Whitwell
0c047b8847 Texture copypixels, fixes to blit path also.
Need to add logic to avoid using texture engine where source, dest overlap.
2006-02-27 16:39:41 +00:00
Thomas Hellström
c64a08c286 Call kernel to update the sarea breadcrumb when we seem to be out of
batchbuffer memory.

Remove flushes from batchbuffer tails. They are not needed anymore
when we have the kernel sync flush mechanism.

Better kernel error checks.
2006-02-27 16:28:10 +00:00
Keith Whitwell
bb409e88d8 Fix drawpixels window coordinate calculation.
Make sure cliprects are emitted for metaops texture quads.
Implement PixelZoom for drawpixels.
2006-02-27 13:51:10 +00:00
Keith Whitwell
af69eefcba Fix logic for calculating regions for partial-buffer clears. 2006-02-27 13:18:13 +00:00
Keith Whitwell
d9c071adec - Use a raw buffer id rather than an intel_region struct for texture
state/relocations.
- Implement basic texture engine drawpixels.
2006-02-26 16:47:15 +00:00
Keith Whitwell
833d19c21d Make this struct less opaque. 2006-02-26 14:39:23 +00:00
Keith Whitwell
7245757174 Use spantmp2.h, based on r200 driver. 2006-02-26 14:37:54 +00:00
Keith Whitwell
3d96cb7d48 First pass at using the texture engine for copypixels. Currently only
does the same operations as are accelerated by the blitter, though this
will change...
2006-02-26 14:37:30 +00:00
Keith Whitwell
f565ab2dd5 For some reason, streaming copies to write-combined regions are
extremely sensitive to the characteristics of how the source data is
retrieved.  By reordering the source reads in the rgba to bgra
conversion, the speed of this operation increases by half.
2006-02-26 12:46:51 +00:00
Thomas Hellström
7ad0c51f48 Enable uncached TTMs by default.
Allocate batchbuffers from a 1MB local TTM pool =>
multiple clients.
2006-02-26 04:29:28 +00:00
Keith Whitwell
fea684c533 fix misleading MI_FLUSH defn and usage 2006-02-25 18:57:43 +00:00
Keith Whitwell
4e8845fc0c a few missed cases where blits can't do read/drawpixels 2006-02-25 15:33:48 +00:00
Keith Whitwell
ffcc1cdb41 Tweak the read format/type slightly so this can use the blitter. 2006-02-24 17:51:04 +00:00
Keith Whitwell
afc90075ba get PBO readpixels working also 2006-02-24 17:23:57 +00:00
Keith Whitwell
79acea2708 Get PBO drawpixels working. 2006-02-24 16:52:47 +00:00
Keith Whitwell
a12063a540 use expected argument order for intel_check_blit_format 2006-02-24 16:52:06 +00:00
Keith Whitwell
9826d83439 Add missing GetSubData callback.
Fill in various parts of the base gl_buffer_object struct as required from
each of our callbacks.
2006-02-24 16:51:33 +00:00
Keith Whitwell
84f7ded925 add bmBufferGetSubData 2006-02-24 16:50:22 +00:00
Keith Whitwell
59dd8ad752 Hack bmBufferData and bmBufferSubdata back into operation with an
implicit map/unmap.
2006-02-24 15:02:41 +00:00
Keith Whitwell
4afd26982e Hook up buffer_objects implementation to DrawPixels for testing.
Not yet working.
2006-02-24 13:58:45 +00:00
Keith Whitwell
17e4a7ea17 Bring DBG_BM() macros back to DBG(). Turn on by setting
INTEL_DEBUG=buf in the environment.
2006-02-24 13:56:28 +00:00
Keith Whitwell
3d67655cce bufferobjects implementation layered on top of bm buffers 2006-02-24 11:56:45 +00:00
Keith Whitwell
b5d7c69884 Define union fi, reenable clear-with-tris. 2006-02-24 11:05:35 +00:00
Keith Whitwell
b6759e2be7 Add an assert 2006-02-24 10:10:50 +00:00
Keith Whitwell
af853b0da7 Flush old primitive before starting new one in intelRasterPrimitive. 2006-02-24 10:10:28 +00:00
Keith Whitwell
8d349798da Add a callback to set post-fragment state in the metaops utility.
Useful for accelerating read/draw/copy pixels when blitting isn't
sufficient.
2006-02-23 14:24:39 +00:00
Keith Whitwell
4aea628194 Fix clipping for copypixel 2006-02-23 14:23:50 +00:00
Keith Whitwell
008ddf628a Remove dead code 2006-02-23 14:23:06 +00:00