Commit graph

9417 commits

Author SHA1 Message Date
Michel Dänzer
6e0878becf i915tex: Wait for pending scheduled flips before switching vsync pipe.
This avoids hangs when the vblank sequence numbers are not in sync between
pipes, in particular when they run at different refresh rates.
2007-03-09 20:00:13 +01:00
Michel Dänzer
bb0760ca4f i915tex: Set intel_fb->vbl_waited to current instead of what we aimed for. 2007-03-09 19:56:55 +01:00
Michel Dänzer
36b4e25da3 i915tex: Sync pages between pipes immediately again.
This should be safe now that we no longer use the MI_WAIT_FOR_EVENT instruction
incorrectly and should also work correctly with applications that render to the
front buffer.
2007-03-09 17:52:29 +01:00
Michel Dänzer
81536789d2 i915tex: Do not wait for pending flips on both pipes at the same time.
The MI_WAIT_FOR_EVENT instruction does not support waiting for several events
at once, so this should fix the lockups with page flipping when both pipes are
enabled.
2007-03-09 17:42:55 +01:00
Michel Dänzer
fb3410297b i915tex: Set framebuffer size to match window before calling _mesa_make_current.
Fixes issues with apps that don't call glViewport by default.
2007-03-07 18:01:39 +01:00
Michel Dänzer
0609b6afa8 i915tex: Sync pages differently when crossing pipe borders.
Don't flip (up to twice) immediately but just arrange things such that the
pages will be in sync on both pipes on the next flip.
2007-02-28 17:46:07 +01:00
Michel Dänzer
3c578455e1 i915tex: Check that intel_rb is valid before trying to add it to an fbo. 2007-02-28 17:42:54 +01:00
Michel Dänzer
edf676cc5a i915tex: Also update intel_rb->vbl_pending when scheduled swap is not a flip. 2007-02-28 16:05:49 +01:00
Michel Dänzer
641c966e3d i915tex: Schedule flips when possible.
Also move vsync related state from context to window, so it's possible to
schedule several flips ahead of time with triple buffering.
2007-02-22 17:24:09 +01:00
Michel Dänzer
e33a9d6894 i915tex: Triple buffering support, only effective with page flipping so far.
Pending flips are tracked per renderbuffer and the colour renderbuffer
attachments of window framebuffer objects are rotated on flips to avoid
stalling the pipeline for pending flips unnecessarily.
2007-02-20 19:15:44 +01:00
Michel Dänzer
356bf9563e intelWindowMoved: Some debugging output was accidentally left always enabled. 2007-02-20 19:15:44 +01:00
Michel Dänzer
bfbc1de02e intelRotateWindow: Only use back buffer and cliprects in very specific cases. 2007-02-20 19:15:44 +01:00
Michel Dänzer
6f2bf34748 intelCopyBuffer: Remove incorrect intel_fb->pf_current_page tests.
intel_get_rb_region already takes the current page into account.

This would result in broken rendering when multiple 3D windows are visible
and the pages are reversed.
2007-02-20 19:15:44 +01:00
Michel Dänzer
6b99cafd69 i915tex: Support page flipping on both CRTCs independently.
No longer track page flipping state per context but per window, via struct
intel_framebuffer which wraps struct gl_framebuffer for windows.
2007-02-20 19:15:44 +01:00
Michel Dänzer
af64dd2ae0 i915tex: Make page flipping work again. 2007-02-20 19:15:44 +01:00
Thomas Hellstrom
d2b06403c6 i915tex: Fix performance regression with new vbo code and latest drm.
With current memory preferences, vbos ended up in AGP space
where reading from them got a bit slow.

Make sure buffer objects are initially created in system memory.
2007-02-19 19:57:30 +01:00
Sean D'Epagnier
43c6b2f67f Merge branch 'master' of git+ssh://geckosenator@git.freedesktop.org/git/mesa/mesa 2007-02-16 17:46:11 -07:00
Sean D'Epagnier
7ae8f388cf Commiting a few minor fixes to glut fbdev (segfault on a separate stack)
Updated all drivers that used the old _ac_ functions to use
the new _vbo_  functions. I know this fixed the fbdev driver,
it looks like it might fix some other drivers too.
2007-02-16 17:44:13 -07:00
Jerome Glisse
515f495f4e doxygen: update doxygen project number to 6.5
doxygen number was laggin behind a bit.
2007-02-16 23:22:04 +01:00
Jerome Glisse
c2e0570831 Update doxygen doc to reflet vbo changes.
Update doxygen doc, array_cache no longuer exist,
new shiny vbo modules is there. Tested on unix,
but i think i didn't broke that bat :).
2007-02-16 23:19:05 +01:00
Patrice Mandin
21f2f7f26b nouveau: nv50: update 2007-02-16 22:39:28 +01:00
Patrice Mandin
4cc4a753fa nouveau: nv10,20: wrong viewport clip setup 2007-02-16 22:39:12 +01:00
Patrice Mandin
0fccb646e0 nouveau: nv20: texture matrix 2007-02-16 22:09:42 +01:00
Patrice Mandin
66d8e55184 nouveau: nv20: update 2007-02-16 22:03:31 +01:00
Patrice Mandin
f942dc5522 nouveau: nv10: set clear value for 16 and 24 bits depth 2007-02-16 20:26:57 +01:00
Patrice Mandin
9131536f00 nouveau: nv10: rescale depth near and far 2007-02-16 19:54:55 +01:00
Patrice Mandin
252d1de054 nouveau: nv10: fix viewport scale and origin 2007-02-16 19:46:54 +01:00
Rune Peterson
e4c772bead r300: Fix cos & add scs to fragment program.
So this do :
 - Fixes COS.
 - Does range reductions for SIN & COS.
 - Adds SCS.
 - removes the optimized version of SIN & COS.
 - tweaked weight (should help on precision).
 - fixed a copy paste typo in emit_arith().
2007-02-14 23:10:52 +01:00
Etienne Clement
1e2b469635 test for POT before using sample_2d_linear_repeat() 2007-02-14 13:21:12 -07:00
Roland Scheidegger
7d8ed0f5f5 fix typo preventing generic arrays from working with ARB_vp (bug #9952) 2007-02-14 20:36:29 +01:00
Patrice Mandin
83cf4ce6e4 nouveau: nv10: there are 8 clipping regions 2007-02-14 20:28:31 +01:00
Roland Scheidegger
99dfca1e7f fix stupid bug in the optimized per-vertex fog generation code 2007-02-14 16:38:32 +01:00
Thomas Hellstrom
bc82b44db9 i915tex: Take into account various mapping states when dropping the
batch buffer after a resolution / rotation switch.
2007-02-14 11:11:37 +01:00
Xiang, Haihao
1e6688742e I965: fix a failure on waiting irq.
Wait until getting the right fence if drm/i915 resets the
counter.
2007-02-12 16:38:50 +08:00
Zou Nan hai
ebcc9b5d12 fd.o #BZ 9684
gcc may cast an overflowed float value to an negative int value on i386,
  fix it to make sure at least some apps will not crash if it contains wrong normal data.
2007-02-12 12:16:49 +08:00
Rune Peterson
ee5417bca8 r300: Add proper support for sin/cos instruction in fragment program
Getting proper SIN and COS wasn't as easy as it appeared.
I had to make make some changes to the fragment program code.
general FP changes:
- support HHH swizzle for vector instructions.
- don't copy a source to a temp when it is not XYZW swizzled, but
 combine the two and have the swizzle resolve any issues.
 (saves temps/instructions with more elaborate shader code)
- fix overflow in cnstv[].
2007-02-12 00:24:36 +01:00
Rune Peterson
3bacb68c70 ctx->Point._Size fix 2007-02-10 18:19:43 -07:00
Roland Scheidegger
b2d30ca0cb optimize per-pixel fog program
use the same internal state as for vertex fog. From the old implemenentation,
this changes a SUB+MUL into a MAD for linear fog, and saves a MUL for EXP/EXP2,
plus saves a (constant) parameter. While here, fix the broken (forgotten)
swizzling. (untested)
2007-02-09 19:21:29 +01:00
Zou Nan hai
fcccf89432 array overflow fix 2007-02-09 13:28:56 +08:00
Roland Scheidegger
421ce180f5 r200: simplify / unify input map handling for vp and fftnl
Use the same input map handling for fftnl and vertex programs. It doesn't
enable any new functionality (should make it easy to support per-vertex
materials though), but the code is much cleaner.
2007-02-09 00:36:53 +01:00
Roland Scheidegger
54dac2c843 optimize generated vertex programs a bit
Use new internal state to avoid per-vertex normalization of static spot
direction vector. Use internal state for simpler per-vertex fog computations
(MAD instead of SUB/MUL for linear fog, EX2 instead of POW for EXP/EXP2 fog).
Simplify point size calc (2 MADs instead of MOV, MUL, MUL, DP3), and while
there fix it up (RSQ instead of RCP). All untested...
2007-02-09 00:36:40 +01:00
Roland Scheidegger
6cf892eeb6 fix issues in vp when using FRAG_BIT_WPOS in a fragment program (bug #9910)
Redirect all VERT_RESULT_HPOS writes to a temp and use that for fixup.
The viewport transformation still seems to take some shortcuts, and it
still does not seem to work at all...
2007-02-09 00:25:53 +01:00
Ben Skeggs
f46c19d965 nouveau: a couple of NV3x fixes 2007-02-06 14:01:19 +11:00
Jakob Bornecrantz
8518ddda7b Add support for CN700 chipset in miniglx 2007-02-06 10:22:47 +11:00
Roland Scheidegger
17c13b406f fix issues when using mixed-mode pos-invariant vp and ff tnl (bug #9856)
ARB_vp requires vertex transformation to be invariant to fixed function tnl
if the position_invariant option is used. So the same function needs to be
used, otherwise z-fighting artifacts may happen with applications which rely
on the results being really the same due to precision issues when dealing with
floating point values (may not be a problem when using a non-optimizing
compiler strictly following IEEE rules).
2007-02-05 21:29:25 +01:00
Brian
5b8a50572d Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-02-05 10:29:58 -07:00
Panagiotis Papadakos
d0b5c77c68 fix mem leak 2007-02-05 10:29:10 -07:00
Ben Skeggs
4b3679c6c5 nouveau: OUT_RINGp expects the size in dwords, not bytes.
This fixes the *actual* bug that the previous commit was supposed to fix..
2007-02-06 02:29:20 +11:00
Panagiotis Papadakos
eab92fcdc2 fix mem leaks 2007-02-05 08:17:50 -07:00
Ben Skeggs
47bd759fc9 nouveau: fix a small bug in nv10 swtcl 2007-02-06 01:57:04 +11:00