Commit graph

7731 commits

Author SHA1 Message Date
Brian Paul
5df4283b53 FBO Checkpoint:
Basic FBO hardware rendering now working (fbotest1.c works at least).
2006-03-19 00:05:55 +00:00
Brian Paul
6734bab3b2 Checkpoint FBO work:
The progs/tests/fbotest1.c demo works (yeah!), with some caveats:
 - Only glClear is done in hardware, actually rendering is sw fallback now.
 - Initial expose/draw is broken, works on subsequent draws.
Lots of changes in fallback/span code for FB objects.
Almost full rewrite of intelClearWithBlit() for renderbuffers.
Total rewrite of intelDrawBuffer() function.
Add FBO support to intelClearWithTris() but is currently broken.
Temporary hack in MakeCurrent():
 - since we can't create the screen/static renderbuffer regions in
   intelCreateBuffer() like we should (no current context with which to lock),
   init the renderbuffer's regions in MakeCurrent by copying from
   intel->front/back/depth_region.
Still using old DRI front/back/depth mappings for sw rendering to windows.
When those mappings go away, we'll use the new renderbuffer region mappings.
2006-03-18 21:55:34 +00:00
Brian Paul
0a5fea5f96 Don't call Driver->Bitmap() if no image to render 2006-03-18 21:46:02 +00:00
Brian Paul
9b2762d7b9 Call _mesa_resize_framebuffer() in intelWindowMoved() to update Mesa's
notion of window size.
Remove unnecessary ctx->Driver.DepthRange() call from intelWindowMoved().
2006-03-17 22:06:59 +00:00
Brian Paul
571bf7a71b Change loops from firstLevel to lastLevel to be inclusive of lastLevel
(i.e. change < to <=).  Otherwise, 0th image of non-mipmapped textures
wasn't getting mapped and software rendering died.
2006-03-17 20:44:09 +00:00
Brian Paul
4ab3b9aa76 Implement glGetTexImage.
In intel_tex_map_images(), convert strides from bytes to texels for Mesa.
Store the 3D ImageStride now added to core Mesa.
2006-03-17 18:17:19 +00:00
Brian Paul
88c018ee47 remove some const qualifiers since we may need to modify fields for mapping 2006-03-17 18:11:37 +00:00
Brian Paul
cead52ef68 added ImageStride field to gl_texture_image 2006-03-17 18:11:09 +00:00
Thomas Hellström
9cf0ed6059 Verbose error reporting.
Run indent on intel_bufmgr.c
2006-03-17 15:33:26 +00:00
Thomas Hellström
2c1c8dccf7 Clean up flag handling. 2006-03-17 13:54:38 +00:00
Brian Paul
b87f9f6056 thread safety fixes from trunk 2006-03-15 21:02:52 +00:00
Brian Paul
427bf0171d update assertion 2006-03-15 20:20:32 +00:00
Brian Paul
98c5445c75 make soft_renderbuffer_storage() into public _mesa_soft_renderbuffer_storage() 2006-03-15 19:42:48 +00:00
Brian Paul
15ffb3bbab checkpoint 2006-03-15 17:52:15 +00:00
Brian Paul
97b570b999 just check-point some FBO code 2006-03-15 17:51:27 +00:00
Brian Paul
e8e6374a16 New code for setting cliprects when rendering to a FBO. 2006-03-15 17:50:40 +00:00
Brian Paul
d9f31f16c0 sync with trunk 2006-03-15 17:47:05 +00:00
Brian Paul
1173198f51 added GL_EXT_framebuffer_blit from trunk 2006-03-15 17:37:52 +00:00
Brian Paul
01a56d23e6 fix more assertions that wrap essential code (-DNDEBUG case) 2006-03-15 00:25:47 +00:00
Brian Paul
bf050799ac new intel_renderbuffer struct 2006-03-15 00:17:57 +00:00
Brian Paul
3697eca493 new intel_map_unmap_buffers() routine which will eventually be used to map or unmap all renderbuffers which we may need during software rendering 2006-03-15 00:17:22 +00:00
Brian Paul
de2b3506ea allow format = GL_RGB5, GL_RGBA8 2006-03-14 23:36:52 +00:00
Brian Paul
bfbe2eb6e9 new intel_set_span_functions(), bridge to new code 2006-03-14 23:36:10 +00:00
Brian Paul
8bd395f601 comments 2006-03-14 23:34:37 +00:00
Brian Paul
735925d15b include intel_fbo 2006-03-14 23:34:12 +00:00
Brian Paul
448a3456a9 Added BindFramebuffer() driver hook.
Rename base_internal_format() to _mesa_base_fbo_format() and make public.
2006-03-14 22:43:01 +00:00
Brian Paul
e176b11b74 init Red/Green/EtcBits = 0 in soft_renderbuffer_storage() 2006-03-14 22:40:56 +00:00
Brian Paul
cdc8771893 added some assertions as prep to removing use of dPriv fields. new comments. 2006-03-14 21:56:26 +00:00
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