Zou Nan hai [Fri, 21 Mar 2008 10:16:11 +0000 (18:16 +0800)]
[i965] multiple rendering target fix
Zou Nan hai [Thu, 20 Mar 2008 09:47:02 +0000 (17:47 +0800)]
[i915] GL_DEPTH_TEXTURE_MODE fix
Xiang, Haihao [Thu, 20 Mar 2008 03:22:46 +0000 (11:22 +0800)]
mesa: The span array is only populated in single-pixel
point drawing function.
Eric Anholt [Thu, 20 Mar 2008 00:53:21 +0000 (17:53 -0700)]
[965] Initialize region surface key structure padding.
Fixes valgrind warnings, and potential performance loss from cache misses.
Eric Anholt [Wed, 19 Mar 2008 23:14:48 +0000 (16:14 -0700)]
[intel] Fix an uninitialized variable access in PRESUMED_OFFSET clearing.
It was harmless, as the only time we need to clear PRESUMED_OFFSET, the
variable had been initialized already.
Brian [Wed, 19 Mar 2008 23:24:20 +0000 (17:24 -0600)]
fix IEEE_ONE definition for ICC compiler (bug 15134)
Alex Deucher [Wed, 19 Mar 2008 22:10:47 +0000 (18:10 -0400)]
Radeon 9500 (0x4144) only has one pipe
confirmed by Reid Linnemann <lreid@cs.okstate.edu>
Brian [Wed, 19 Mar 2008 15:52:08 +0000 (09:52 -0600)]
x86_init_func_size() returns int to indicate success/fail (bug 15119)
Brian [Wed, 19 Mar 2008 14:38:28 +0000 (08:38 -0600)]
s/x86_init_func/x86_init_func_size (fixes bug 15119)
Zou Nan hai [Wed, 19 Mar 2008 08:32:29 +0000 (16:32 +0800)]
[i915] arb point sprite only support in i965
Zou Nan hai [Wed, 19 Mar 2008 08:29:47 +0000 (16:29 +0800)]
[i915] fix fragment.position
Eric Anholt [Wed, 19 Mar 2008 02:45:30 +0000 (19:45 -0700)]
[i915] Bug #13634: Fix bugs in 945 cube mipmap layout.
The most egregious, and the one the bug report and failure in the cubemap
demo were about was introduced with intel_mipmap_pitch_align(), where a
"* 2" for the pitch calculation was lost. The base size < 32 case also
failed to align, which may have caused problems with render to texture.
Another bug would have broken 2x2/1x1 base mipmap levels by placing the
data where the hardware wouldn't look for it.
Other bugs remain with the layout of the small mipmap faces (hardware looks
for them in X,Y,Z,-X,-Y,-Z order along the bottom row, but we lay them out
X,-X,Y,-Y,Z,-Z).
Eric Anholt [Wed, 19 Mar 2008 00:49:31 +0000 (17:49 -0700)]
[i915] Add comments about how cube texture layout works.
Eric Anholt [Tue, 18 Mar 2008 23:06:41 +0000 (16:06 -0700)]
[i915] Move miptree layout code into separate functions per target.
Also clean up some other miscellaneous formatting nits while I'm at it.
Eric Anholt [Tue, 18 Mar 2008 23:20:44 +0000 (16:20 -0700)]
[intel] Clarify miptree layout by using byte offsets to images.
Eric Anholt [Tue, 18 Mar 2008 22:29:11 +0000 (15:29 -0700)]
[945] Remove conditional in 945 3D mipmap layout checking for cube layout.
Alan Hourihane [Wed, 19 Mar 2008 01:03:48 +0000 (01:03 +0000)]
set outputs_safe to 0 as it's possible for the code generation
to slip over the allocated memory for the vb.
pull in sse fixes from gallium-0.1
Zou Nan hai [Tue, 18 Mar 2008 09:37:25 +0000 (17:37 +0800)]
Revert "[i965] make stipple pattern continue across GL_LINE_LOOP and GL_LINE_STRIP"
There is no information in GS to determinate when to reset line stipple count, still fallback to software
This reverts commit
5a0314b431ab147c6156c3011f4cb54161ba4b25.
Xiang, Haihao [Tue, 18 Mar 2008 07:02:57 +0000 (15:02 +0800)]
glx: Add isDirect back to __GLXcontextRec. It is needed
to check whether oldGC is used for direct rendering in
function MakeContextCurrent. However it is possible
oldGC->driContext is already freed. fix bug #14926.
Zou Nan hai [Tue, 18 Mar 2008 02:27:20 +0000 (10:27 +0800)]
[i965] make stipple pattern continue across GL_LINE_LOOP and GL_LINE_STRIP
Dave Airlie [Tue, 18 Mar 2008 00:29:16 +0000 (10:29 +1000)]
r300: add new rs690 pci id
Andrzej Trznadel [Mon, 17 Mar 2008 22:54:24 +0000 (15:54 -0700)]
[965] Fix fp temp reg release code to not usually release all temps.
Also, use wrapped ffs() instead of native.
Andrzej Trznadel [Mon, 17 Mar 2008 22:52:08 +0000 (15:52 -0700)]
Fix compat implementation of ffs() to return 1-based bit numbers.
Markus Amsler [Mon, 17 Mar 2008 14:35:27 +0000 (08:35 -0600)]
only set InputsRead bit if input is really used
Markus Amsler [Mon, 17 Mar 2008 11:11:11 +0000 (12:11 +0100)]
mesa: Add vertex.attrib 0-15 to arb_input_attrib_string.
Markus Amsler [Mon, 17 Mar 2008 11:03:54 +0000 (12:03 +0100)]
r300: Simplify r300VAPInputRoute1.
Markus Amsler [Mon, 17 Mar 2008 11:02:56 +0000 (12:02 +0100)]
r300: Simplify r300VAPInputRoute0, check for valid input.
Zou Nan hai [Mon, 17 Mar 2008 09:52:26 +0000 (17:52 +0800)]
[i965] round pointsize to nearest int according to spec
Xiang, Haihao [Mon, 17 Mar 2008 09:02:42 +0000 (17:02 +0800)]
Xiang, Haihao [Mon, 17 Mar 2008 08:52:07 +0000 (16:52 +0800)]
intel: It is needed to allocating texture memory to accommodate
a texture when calling TexImage with pixels set to NULL pointer.
Xiang, Haihao [Mon, 17 Mar 2008 08:50:20 +0000 (16:50 +0800)]
intel: Remove an assertion from intel_miptree_create. TexImage
call with zero width/height/depth matches GL spec.
Xiang, Haihao [Mon, 17 Mar 2008 08:48:36 +0000 (16:48 +0800)]
mesa: avoid to unlock an unlocked array in _mesa_PopClientAttrib
Xiang, Haihao [Mon, 17 Mar 2008 08:47:42 +0000 (16:47 +0800)]
mesa: Follow GL spec to draw DEPTH_COMPONENT pixels when
there's no depth buffer. Fix bug #11580
Zou Nan hai [Mon, 17 Mar 2008 08:39:10 +0000 (16:39 +0800)]
[i965] fix wpos height 1 pixel higher
Kristian Høgsberg [Sat, 15 Mar 2008 18:06:42 +0000 (14:06 -0400)]
Test createNewScreen for NULL, not createNewScreenName in driCreateScreen().
Brian [Fri, 14 Mar 2008 20:15:55 +0000 (14:15 -0600)]
init tmpNode to zeros
Brian [Fri, 14 Mar 2008 19:59:32 +0000 (13:59 -0600)]
mesa: fix emit_clamp() so that we don't use an output register as temporary
IR_CLAMP is decomposed into OPCODE_MIN+OPCODE_MAX. Allocate a temporary
register for the intermediate value so we don't inadvertantly use an output
register (which are write-only on some GPUs).
Xiang, Haihao [Fri, 14 Mar 2008 07:27:15 +0000 (15:27 +0800)]
glx: fix rotation regression. bug #14963
Xiang, Haihao [Fri, 14 Mar 2008 03:39:08 +0000 (11:39 +0800)]
intel: fix abort issue with shadowtex demo when use
DEPTH_STENCIL texture. (bug#14952).
Roland Scheidegger [Thu, 13 Mar 2008 11:43:04 +0000 (12:43 +0100)]
fix state.lightprod ambient/specular w value (bug #14983)
Zou Nan hai [Thu, 13 Mar 2008 06:46:38 +0000 (14:46 +0800)]
[i965] multiple rendering target support
Kristian Høgsberg [Wed, 12 Mar 2008 06:18:12 +0000 (02:18 -0400)]
libGL: Pull the drawable hash back out in the generic code.
This will be shared between dri and dri2 code.
Kristian Høgsberg [Wed, 12 Mar 2008 06:01:40 +0000 (02:01 -0400)]
Add another missing check for uninitialized DRI.
Spotted by Chris Taylor.
Dan Nicholson [Tue, 11 Mar 2008 13:24:56 +0000 (06:24 -0700)]
Fix include path for rain demo so glut.h is found
Dan Nicholson [Mon, 10 Mar 2008 21:05:46 +0000 (14:05 -0700)]
autoconf: Enable xdemos by default when we build libGL
Since the xdemos only link to libGL now, we can enable them for all but
the osmesa driver target.
Jeremy Huddleston [Mon, 10 Mar 2008 23:02:55 +0000 (16:02 -0700)]
Darwin: Fixed small error in darwin config files
(cherry picked from commit
a21c61ee8bc86a8843024cbf8e9daf4b39a7571a)
Kristian Høgsberg [Mon, 10 Mar 2008 22:43:53 +0000 (18:43 -0400)]
Move make install logic for libGL back into src/mesa/Makefile.
This makes make install work again for non-glx libGL implementations.
The make install logic is split into three sub-targets: install-libgl,
install-osmesa, install-drivers. The install target in src/glx/x11
is then implemented using the src/mesa make install-libgl rule.
Thanks to Dan Nicholson for pointing out the breakage.
Kristian Høgsberg [Mon, 10 Mar 2008 21:59:46 +0000 (17:59 -0400)]
Only try to call DRI function if DRI got initialized properly.
Jeremy Huddleston [Mon, 10 Mar 2008 22:13:28 +0000 (15:13 -0700)]
Darwin: Config/source fixes to now build glxdemo apps and OSMesa
Also added darwin-fat-32bit darwin-fat-all configs and deleted old darwin-x86ppc config
(cherry picked from commit
7120c0089d663a2b7e7b0c97da38f9bc233fbdd7)
Dan Nicholson [Fri, 7 Mar 2008 20:04:17 +0000 (12:04 -0800)]
autoconf: Add autogen.sh from Xorg for easier setup from git
The defacto method to rebuild the autotools and run the generated
configure is an autogen.sh script. It is much more discoverable than the
custom `make configure' used here. The Makefile targets are still useful
for creating tarballs, though. This autogen.sh is copied from Xorg.
Dan Nicholson [Mon, 10 Mar 2008 19:36:10 +0000 (12:36 -0700)]
Ignore more demo programs
Brian [Mon, 10 Mar 2008 13:42:58 +0000 (07:42 -0600)]
remove extra #include of assert.h (bug 14932)
Brian [Mon, 10 Mar 2008 13:41:53 +0000 (07:41 -0600)]
fix parsing of state.texenv.color (bug 14931)
Dave Airlie [Mon, 10 Mar 2008 09:13:34 +0000 (19:13 +1000)]
dri: fix function call to add new parameter.
This may not be correct but it should get the build going.
Kristian Høgsberg [Mon, 10 Mar 2008 01:28:04 +0000 (21:28 -0400)]
DRI2: Make setTexBuffer take a __DRIdrawable instead of a BO handle.
This fixes a problem where texturing from the same Pixmap more than
once per batchbuffer would hang the DRI driver. We just use the region
associated with the front left renderbuffer of the __DRIdrawable for
texturing, which avoids creating different regions for the same BO.
This change also make GLX_EXT_texture_from_pixmap work for direct
rendering, since tracking the __DRIdrawable -> BO handle now uses
the standard DRI2 event buffer. Of course, DRI2 direct rendering
doesn't exist yet.
Finally, this commit bumps the DRI interface version again, accounting
for the change in the DRI_TEX_BUFFER extension and the change in
commit
0bba0e5be7a4a7275dad1edc34bdcc134ea1f424 to pass in the
event buffer head index on drawable creation.
Kristian Høgsberg [Mon, 10 Mar 2008 01:22:49 +0000 (21:22 -0400)]
DRI2: Drop DriverAPI.UpdateBuffer.
__dri2ParseEvents() would determine the kind of event, but then call
UpdateBuffer() in either case, and UpdateBuffer() would then have to
figure that out again to dispatch to HandleBufferAttach() or
HandleDrawableConfig(). Pretty pointless.
Kristian Høgsberg [Mon, 10 Mar 2008 01:19:17 +0000 (21:19 -0400)]
DRI2: Pass the context instead of the screen to __dri2ParseEvents().
Makes a lot more sense, since the screen is always implicit in the
DRI drawable, but it may not be possible to track down a context from
just a drawable.
Kristian Høgsberg [Mon, 10 Mar 2008 01:16:30 +0000 (21:16 -0400)]
DRI2: Add event buffer head as an argument to driCreateNewDrawable().
The DRI driver needs to know where in the buffer to start reading.
Brian [Mon, 10 Mar 2008 00:30:07 +0000 (18:30 -0600)]
fix botched test for clearing color buffers (should fix depth peeling regression)
Markus Amsler [Sun, 9 Mar 2008 23:53:22 +0000 (17:53 -0600)]
Set normalized flag for GLubyte arrays in _mesa_VertexAttribPointerNV()
Markus Amsler [Sun, 9 Mar 2008 23:51:11 +0000 (17:51 -0600)]
init vertex weight attrib to (1,0,0,0)
Brian [Sun, 9 Mar 2008 16:55:01 +0000 (10:55 -0600)]
fix __builtin_expect() definition test for IBM XLC (sf bug 1909832)
Kristian Høgsberg [Sun, 9 Mar 2008 23:02:56 +0000 (19:02 -0400)]
Properly revert the libGL loader path breakage.
Kristian Høgsberg [Sun, 9 Mar 2008 20:21:29 +0000 (16:21 -0400)]
libGL: Fall back to DEFAULT_DRIVER_DIR properly.
After commit
6fd82f6fbd208dc7b1839ea408a5fb28589ee622, we would
overwrite the libPath default value with NULL if libGL was running
non-setuid and none of the env vars were set.
Thanks to Magnus Kessler <Magnus.Kessler@gmx.net> for spotting it.
Brian [Sun, 9 Mar 2008 16:41:50 +0000 (10:41 -0600)]
replace // comment with /* */ (bug 14916)
Brian [Thu, 28 Feb 2008 16:48:26 +0000 (09:48 -0700)]
added info about checking out gallium-0.1 for cell code
Kristian Høgsberg [Sun, 9 Mar 2008 03:28:01 +0000 (22:28 -0500)]
Use _X_HIDDEN to hide a bunch of leaked symbols.
Kristian Høgsberg [Sun, 9 Mar 2008 02:57:29 +0000 (21:57 -0500)]
Move DRI context functions into dri_glx.c.
Also drop isDirect flag; if gc->driContext is non-NULL, it's direct.
Kristian Høgsberg [Sun, 9 Mar 2008 02:02:23 +0000 (21:02 -0500)]
Move DRI drawable creation into dri_glx.c.
Kristian Høgsberg [Sun, 9 Mar 2008 01:34:24 +0000 (20:34 -0500)]
Introduce __GLXDRIscreen so we can start moving function pointers in there.
Temporarily rename the __DRIscreen member to __driScreen. Eventually,
we'll move that into __GLXDRIscreen and only access it in dri_glx.c.
Kristian Høgsberg [Sun, 9 Mar 2008 01:02:22 +0000 (20:02 -0500)]
Move DRI specific parts of CreateContext into dri_glx.c.
Kristian Høgsberg [Sun, 9 Mar 2008 00:15:50 +0000 (19:15 -0500)]
Convert driCreateScreen and driDestroyScreen to function pointers.
We avoid leaking the symbols and will be able to replace them with
DRI2 implementation later on.
Kristian Høgsberg [Sun, 9 Mar 2008 00:02:10 +0000 (19:02 -0500)]
Abstract __DRIdisplayPrivateRec away in dri_glx.c.
This patch moves __DRIdisplayPrivateRec definition into dri_glx.c and
let's dri_glx.c allocate the __DRIdisplay struct pointer to from
__GLXdisplayPrivate.
A small step towards moving more of the dri functionality into dri_glx.c.
Kristian Høgsberg [Sat, 8 Mar 2008 22:38:02 +0000 (17:38 -0500)]
Make __glXCloseDisplay static instead of prototyping it to avoid warning.
Kristian Høgsberg [Sat, 8 Mar 2008 22:19:39 +0000 (17:19 -0500)]
Move libGL install target to the libGL Makefile.
Kristian Høgsberg [Fri, 7 Mar 2008 06:49:33 +0000 (01:49 -0500)]
Simplify LIBGL_DRIVERS_PATH walking.
Kristian Høgsberg [Fri, 7 Mar 2008 06:37:08 +0000 (01:37 -0500)]
Simplify dri loading code by eliminating dlopen "cache".
No need to jump through hoops to track __DRIdrivers and avoid dlopening the
same .so more than twice, dlopen() does this internally. Besides, we
were already bypassing this and dlopening drivers for each screen,
whether or not they were already dlopened.
Kristian Høgsberg [Fri, 7 Mar 2008 05:45:54 +0000 (00:45 -0500)]
libGL: Consolidate DRI initialization in dri_glx.c
Move a lot of code over from glx_ext.c.
Dan Nicholson [Fri, 7 Mar 2008 19:48:09 +0000 (11:48 -0800)]
autoconf: Print GCC include path directly and be more robust using it
Rather than constructing the GCC include path from `-print-search-dirs',
we can get the path directly from `-print-file-name=include'. This is
used in the Linux kernel build, for example. If no output is returned
from the command, then we don't append a -I path the the makedepend
options.
Kristian Høgsberg [Fri, 7 Mar 2008 18:45:09 +0000 (13:45 -0500)]
[intel] Only enable GL_EXT_texture_sRGB on i965.
Fixes #14799.
Zou Nan hai [Fri, 7 Mar 2008 07:11:28 +0000 (15:11 +0800)]
[i965] fix fd.o bug #11471 and #11478
1. Follow EXT_texture_rectangle with YCbCr texture
2. swap UV component for MESA_FORMAT_YCBCR
Xiang, Haihao [Fri, 7 Mar 2008 01:48:11 +0000 (09:48 +0800)]
i965: use RGB565 to render a bitmap if Depth is 16
Xiang, Haihao [Thu, 6 Mar 2008 05:20:57 +0000 (13:20 +0800)]
i965: Fix double free issue to pass glean/maskedClear test
Xiang, Haihao [Thu, 6 Mar 2008 01:41:41 +0000 (09:41 +0800)]
i965:fix segfault issue when clearing the window which
is created with mode GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH.
This issue is introduced by
20b8bff49cba3e8246e29004c5ff38f231d589ff
Eric Anholt [Wed, 5 Mar 2008 22:14:54 +0000 (14:14 -0800)]
[intel] Add a driconf option to cache freed buffer objects for reuse.
This is defaulted off as it has potentially large memory costs for a modest
performance gain. Ideally we will improve DRM performance to the point where
this optimization is not worth the memory cost in any case, or find some
middle ground in caching only limited numbers of certain buffers. For now,
this provides a modest 4% improvement in openarena on GM965 and 10% in openarena
on GM945.
Christoph Brill [Tue, 4 Mar 2008 20:52:49 +0000 (21:52 +0100)]
r300: replace some hard coded mask by define in stencil area
Christoph Brill [Tue, 4 Mar 2008 20:37:56 +0000 (21:37 +0100)]
r300: Fix some issues with masks in stencil buffer area
Kristian Høgsberg [Tue, 4 Mar 2008 00:08:26 +0000 (19:08 -0500)]
[dri2] Add tail pointer to reemitDrawableInfo callback.
When the DRI doesn't parse the event buffer for a while, the X server
may overwrite data that the driver didn't get a chance to look at. The
reemitDrawableInfo callback requests that the X server reemit all info
for the specified drawable. To make use of this, the drive needs to know
the new tail pointer so it know where to start reading from.
Kristian Høgsberg [Tue, 4 Mar 2008 00:04:22 +0000 (19:04 -0500)]
[dri2] Optimize event parsing to skip obsolete events.
This also fixes the problem where the X server does multiple resizes before
the DRI driver gets the events. The obsolete buffer attach events then
reference already destroyed buffer objects.
Kristian Høgsberg [Tue, 4 Mar 2008 00:07:49 +0000 (19:07 -0500)]
[intel] Silence unused variable warning when compiling for i965.
Patrice Mandin [Sun, 2 Mar 2008 11:16:23 +0000 (12:16 +0100)]
nouveau: compilation fixes
Roland Scheidegger [Sat, 1 Mar 2008 01:56:08 +0000 (02:56 +0100)]
state.depth.range alpha value should be 1, not 0 (bug #14733)
Kristian Høgsberg [Fri, 29 Feb 2008 21:42:29 +0000 (16:42 -0500)]
Update libGL DRI loader to latest DRI interface changes.
Kristian Høgsberg [Fri, 29 Feb 2008 20:33:40 +0000 (15:33 -0500)]
glxgears: oops, remove accidental commit of glFinish() hack.
Kristian Høgsberg [Thu, 28 Feb 2008 15:32:28 +0000 (10:32 -0500)]
Use __DRIextension mechanism providing loader functionality to the driver.
Instead of passing in a fixed struct, the loader now passes in a list
of __DRIextension structs, to advertise the functionality it can provide
to the driver. Each extension is individually versioned and can be
extended or phased out as the interface develops.
Kristian Høgsberg [Tue, 26 Feb 2008 04:37:23 +0000 (23:37 -0500)]
Reduce the versioning madness required to create a DRI2 screen.
Right now the DRI2 screen constructor takes 3 different versions:
DRI, DDX and DRM. This is mostly useless, though:
DRI: The DRI driver doesn't actually care about the DRI protocol,
it only talks to the loader, which in turn speaks DRI protocol. Thus,
the DRI protocol version is of not interest to the DRI driver, but it
needs to know what functionality the loader provides. At this point
that's reflected in the __DRIinterfaceMethods struct and the
internal_version integer.
DDX: The DDX version number is essentially used to track extensions
to the SAREA. With DRI2 the SAREA consists of a number of versioned,
self-describing blocks, so the DDX version is no longer interesting.
DRM: We have the fd, lets just ask the kernel ourselves.
Kristian Høgsberg [Fri, 29 Feb 2008 20:04:26 +0000 (15:04 -0500)]
intel: Set the lock flag early to avoid deadlock.
Another regression from the intel_context.c merge.
Xiang, Haihao [Fri, 29 Feb 2008 03:15:02 +0000 (11:15 +0800)]
i965: use _Current pointer instead of Current pointer.
fix double free issue(bug#14710). It also corrects glsl/bitmap demo behavior.
Eric Anholt [Fri, 29 Feb 2008 00:04:54 +0000 (16:04 -0800)]
[965] Fix conditional sequencing to allow the frame_buffer_texobj case.
Previously the frame_buffer_texobj case would have been bound as a normal
texture, at best resulting in no surface data being associated with it.
Eric Anholt [Thu, 28 Feb 2008 23:45:46 +0000 (15:45 -0800)]
[intel] Bug #14575: Unmap buffers when deleting/dataing as required.
Otherwise, we would assertion error when doing the final unreference of the
buffer with an outstanding map (catching the memory leak).