Commit graph

9914 commits

Author SHA1 Message Date
Alan Hourihane
b3efd35f4b revert part of the previous cleanup - it only applies
to the 7.0 branch
2008-04-22 23:05:11 +01:00
Alan Hourihane
936dba1de5 Fix error string 2008-04-22 20:32:06 +01:00
Alan Hourihane
c8666cfb0b correct the return value 2008-04-22 20:31:58 +01:00
Alan Hourihane
eec20c359d small cleanups 2008-04-22 20:30:38 +01:00
Xiang, Haihao
6e620162a1 i965: fix DEPTH_TEXTURE_MODE (bug #14220) 2008-04-22 16:25:23 +08:00
Zou Nan hai
c9c64a100d [i965] This is to fix random crash in some maps of Ut2004 demo.
e.g. bridge of fate.
 	If vs output is big, driver may fall back to use 8 urb entries for vs,
	unfortunally, for some unknown reason, if vs is working at 4x2 mode,
	8 entries is not enough, may lead to gpu hang.
2008-04-22 15:50:40 +08:00
Xiang, Haihao
f61e51ee98 i965: save the offset of target buffer after last execution, not relocatee buffer. 2008-04-22 11:11:42 +08:00
Xiang, Haihao
7c2a3fced8 intel: fix an assertion failure. fix bug #15575 2008-04-21 17:34:00 +08:00
Xiang, Haihao
33107357a1 i965: clear the PRESUMED_OFFSET flag from bo_req.hint, not bo_req.flags. fix #15574 2008-04-21 14:02:50 +08:00
Dave Airlie
27e06a5234 i965: fixup depth buffer check 2008-04-18 15:37:54 +10:00
Dave Airlie
fda4895d26 i965: fix vb aperture space check 2008-04-18 15:14:48 +10:00
Dave Airlie
e92e3848e7 965: fix vb upload size check 2008-04-18 15:09:46 +10:00
Dave Airlie
e149e1b953 i965: fix gs_prog aperture check 2008-04-18 15:09:46 +10:00
Dave Airlie
f2a6404ef3 i915: check for depth region before accounting its buffer size
fd.o bz #15573
2008-04-18 12:13:13 +10:00
Dave Airlie
008653ac55 i965: initial attempt at fixing the aperture overflow
Makes state emission into a 2 phase, prepare sets things up and accounts
the size of all referenced buffer objects. The emit stage then actually
does the batchbuffer touching for emitting the objects.

There is an assert in dri_emit_reloc if a reloc occurs for a buffer
that hasn't been accounted yet.
2008-04-18 11:57:38 +10:00
Xiang, Haihao
08f9b190a7 Revert "[i965] renable regative rhw test"
This reverts commit 3158e981f5.
rhw issue has gone away on IGD.
2008-04-17 16:50:42 +08:00
Andrew Randrianasulu
8642dd30f9 r200: accept PROGRAM_CONSTANT inputs due to mesa changes 2008-04-17 02:51:30 +02:00
Dave Airlie
b64448b3e4 bufmgr_fake: disable debugging again 2008-04-16 16:49:32 +10:00
Dave Airlie
96338dd147 intel: fix _mesa_error ctx I introduced at lsat minute 2008-04-16 16:37:13 +10:00
Dave Airlie
7cc7ff7051 intel/fake_bufmgr: Attempt to restrict references to objects in a batchbuffer > aperture size.
So with compiz on Intel hw with fake bufmgr, opening 4 firefox windows at 1680x1050 and hitting alt-tab, could cause the batchbuffer to try and reference more than the 32MB of RAM allocated.

Fix 1:
Fix 1 is to pre-verify the list of buffers against the current batchbuffer and if it can't possibly fit in the aperture to flush the batchbuffer to the hardware
and try again. If the buffers still can't fit well then you are hosed as I'm not sure there is a nice way to tell anyone.

Fix 2:
Next problem was that even with a simple check for total < aperture, we ran
into fragmentation issues, this meant that half way down a set of buffers,
we would fail as no blocks were available. Fix this by nuking the memory
manager from orbit and letting it start again and relayout the blocks in a
manner that fits.

Fix 3:
Finally the initial problem we were seeing was a memcpy to a NULL backing store.
We seem to end up with a texture at some point that never gets mapped but ends up with data in it. compiz al-tab icons have this property. So I created a card dirty bit that memcpy's any buffer that is !static and is written to back to memory. This probably is wrong but it makes compiz work for now.

Caveats:
965 support is still fail.
2008-04-16 16:22:05 +10:00
Brian
bbb042f0b8 fix multi-draw buffer regression 2008-04-14 21:02:34 -06:00
Brian Paul
118c2bc860 only use __x86_64__, not __amd64__ (bug 15503) 2008-04-14 14:10:32 -06:00
Brian Paul
8fd2b7d9dd fix GL_ARB_texture_rectangle breakage 2008-04-14 13:43:24 -06:00
Brian Paul
3403f9fe13 check for _WIN32 and __WIN32__ 2008-04-14 13:41:39 -06:00
David Flynn
7be8d5664a define #extension GL_ARB_texture_rectangle 2008-04-14 13:41:39 -06:00
Roland Scheidegger
32134b5508 r200: fix XPD vertex program instruction when using temps as inputs
due to the two read ports limit into temp memory may need the MAD_2 instruction
for the second instruction of the decomposed XPD.
While here, also try to avoid MAD_2 for MAD if all 3 inputs are temps but the
temps aren't actually distinct.
2008-04-12 02:40:27 +02:00
Brian Paul
51ad219d6f fix failed assertion (parameter can be a PROGRAM_CONSTANT) 2008-04-11 09:35:18 -06:00
Brian Paul
3f4e80c06b comments 2008-04-11 08:59:39 -06:00
Michel Dänzer
23635510e3 Get the default GLXPixmap texture target from the server when appropriate.
Fixes compiz with direct rendering when both GLX_TEXTURE_2D_EXT and
GLX_TEXTURE_RECTANGLE_EXT are supported for a GLXPixmap and the
application didn't specify the texture target as a GLX drawable attribute
when creating the GLX drawable.
2008-04-10 15:47:46 -04:00
Hasso Tepper
43887cf396 Add $(X11_INCLUDES) to shut makedepend up. 2008-04-09 10:56:12 -07:00
Jie Luo
2771862adc Handle fbconfig comparison correctly for attributes the X server didn't send. 2008-04-08 19:17:06 -04:00
Kristian Høgsberg
c016f329ab Only convert configs if screen creation was successful.
Thanks to Adam Jackson for pointing it out.
2008-04-08 18:31:07 -04:00
Michel Dänzer
da3e48186d r300: Fix r300VAPInputRoute{0,1} for big endian platforms. 2008-04-07 10:28:42 +02:00
Brian
1757acc293 rewrite some of the mat*mat, mat*vec intrinsics
Also, remove obsolete matrix codegen code.
2008-04-03 21:51:31 -06:00
Kristian Høgsberg
e786924bf0 Pick up dri2proto from the standard proto header include path. 2008-04-02 19:17:31 -04:00
Kristian Høgsberg
dc836edf49 Initialize GLX_EXT_texture_from_pixmap attributes correctly. 2008-04-02 19:05:43 -04:00
Roland Scheidegger
28dfb0613b fix mistakenly set ATIFragmentShader._Enabled bit (bug 15269) 2008-04-01 23:24:11 +02:00
Brian
5c4ca968fa added some missing calls to _mesa_enable_x_y_extensions() 2008-04-01 08:43:34 -06:00
Markus Amsler
3ea80c1128 fix parsing bug involving comments at the end of ARB v/f programs 2008-03-31 14:58:48 -06:00
Kristian Høgsberg
e82dd8c6e1 DRI interface changes and DRI2 direct rendering support.
Add DRI2 direct rendering support to libGL and add DRI2 client side
protocol code.  Extend the GLX 1.3 create drawable functions in
glx_pbuffer.c to call into the DRI driver when possible.

Introduce __DRIconfig, opaque struct that represents a DRI driver
configuration.  Get's rid of the open coded __GLcontextModes in the
DRI driver interface and the context modes create and destroy
functions that the loader was requires to provide.  glcore.h is no
longer part of the DRI driver interface.  The DRI config is GL binding
agnostic, that is, not specific to GLX, EGL or other bindings.

The core API is now also an extension, and the driver exports a list
of extensions as the symbol __driDriverExtensions, which the loader
must dlsym() for.  The list of extension will always include the DRI
core extension, which allows creating and manipulating DRI screens,
drawables and contexts.  The DRI legacy extension, when available,
provides alternative entry points for creating the DRI objects that
work with the XF86DRI infrastructure.

Change DRI2 client code to not use drm drawables or contexts.  We
never used drm_drawable_t's and the only use for drm_context_t was as
a unique identifier when taking the lock.  We now just allocate a
unique lock ID out of the DRILock sarea block.  Once we get rid of the
lock entirely, we can drop this hack.

Change the interface between dri_util.c and the drivers, so that the
drivers now export the DriverAPI struct as driDriverAPI instead of the
InitScreen entry point.  This lets us avoid dlsym()'ing for the DRI2
init screen function to see if DRI2 is supported by the driver.
2008-03-31 16:51:26 -04:00
Xiang, Haihao
63d8a8417d mesa: Free all shader program data before deleting all
shader/shader program objects to avoid memory access error.
2008-03-31 17:17:34 +08:00
Xiang, Haihao
aef47c4dc8 Revert "mesa: separate shader program object from shader object." (bug#15244)
This reverts commit 3ffd11f71d.
2008-03-31 16:27:47 +08:00
Xiang, Haihao
d30d9e42b7 i915: texture object's lod bias. fix bug #15192 2008-03-31 13:45:06 +08:00
Markus Amsler
d9367842e5 r300: Copy-and-paste error from the vertex program branch. 2008-03-30 16:12:47 +00:00
Markus Amsler
85e816882d r300: Take PROGRAM_CONSTANT into account.
This bug was introduced by commit 978145a075.
2008-03-30 16:10:47 +00:00
Oliver McFadden
3e0797f3b7 Merge branch 'r300-vertprog-branch' of ssh://people.freedesktop.org/~z3ro/mesa 2008-03-29 14:46:32 +00:00
Brian
635e964712 fix texture/renderbuffer mix-up in test_attachment_completeness() 2008-03-28 13:24:39 -06:00
Xiang, Haihao
184cf464f4 i965: depth offset on glPolygonMode(GL_LINE/GL_POINT) 2008-03-28 17:32:45 +08:00
Dave Airlie
6054788f36 r300: finish conversion of RS_INST regs 2008-03-28 13:16:33 +11:00
Dave Airlie
a9802328cd r300: move to using RS_INST names 2008-03-28 13:06:28 +11:00