Commit graph

7647 commits

Author SHA1 Message Date
Brian Paul
ceee2c45cd Fixed bug in intelClearWithBlit(). If clearing multiple cliprects, the
buffer mask was clobbered after the first rect.
Rename 'flags' to 'mask' to be consistent w/ other clearing code.
2006-03-20 16:06:07 +00:00
Brian Paul
26dc161fde XXX comments 2006-03-20 15:50:59 +00:00
Brian Paul
b176ef05f2 In intelCopyBuffer(), use renderbuffer regions instead of context's region
pointers.  Added const qualifiers.  Added comments.
2006-03-20 15:50:09 +00:00
Brian Paul
6d6e7a08c7 Fix up intelSwapBuffers:
- get gl_framebuffer pointer from dPriv.
 - flush current context if bound to window we're swapping.  Previous code
   could try to flush a non-current context.
2006-03-20 15:48:12 +00:00
Brian Paul
eb75ec2349 merge from trunk (additional renderbuffer error checks, debug code) 2006-03-20 15:39:30 +00:00
Brian Paul
2a8bd4e329 Replace intel_clip_to_framebuffer(), intel_clip_to_drawable(), and
intel_clip_to_region() with new _mesa_clip_to_region().
2006-03-20 02:23:26 +00:00
Brian Paul
c247268499 added _mesa_clip_to_region() 2006-03-20 02:17:15 +00:00
Brian Paul
b2cb8920c2 FBO test - teapot 2006-03-19 19:07:44 +00:00
Brian Paul
af4d93f256 Fix some issues with depth renderbuffers. 3D rendering into FBOs seems OK now.
Misc clean-ups in other places.
2006-03-19 19:06:12 +00:00
Brian Paul
c8dd839acb remove debug code 2006-03-19 19:04:12 +00:00
Brian Paul
e43c3c38fb simplify intelClearWithTris() for renderbuffers 2006-03-19 17:08:00 +00:00
Brian Paul
9194782fdc Merge i915_set_draw_region() and i915 meta_draw_region() into new i915_state_draw_region(). 2006-03-19 16:50:59 +00:00
Brian Paul
ec36d5b537 undo a debugging hack 2006-03-19 16:50:08 +00:00
Brian Paul
6e5da1a860 intelClearWithTriangles now handles FBOs.
Had to fix up i915 meta_draw_region() function.
Try to combine some duplicated code in next check-in.
2006-03-19 16:39:56 +00:00
Brian Paul
21f6e8a2d0 added BUFFER_BITS_COLOR 2006-03-19 16:38:39 +00:00
Brian Paul
18772c9e88 sync with trunk (GL_READ/DRAW_BUFFER queries) 2006-03-19 00:11:29 +00:00
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