OSDN Git Service
Roland Scheidegger [Sat, 29 Dec 2007 02:03:39 +0000 (18:03 -0800)]
Bug #13839: Fix 3D texture offset miscalculation with pixels versus bytes.
Dan Nicholson [Fri, 28 Dec 2007 23:14:32 +0000 (15:14 -0800)]
Merge branch 'autoconf2'
Xiang, Haihao [Thu, 27 Dec 2007 02:43:43 +0000 (10:43 +0800)]
i915: reset swrast state after calling swrast DrawPixels.
In order to optimize DrawPixels, the i915 texenv program isn't
applied to swrast DrawPixels in the i915 driver. This causes this
program isn't applied to any following swrast functions. Resetting
the swrast state fixes this issue. Fix #13614
Dan Nicholson [Wed, 26 Dec 2007 21:41:24 +0000 (15:41 -0600)]
Merge branch 'master' into autoconf2
Dan Nicholson [Wed, 26 Dec 2007 17:12:29 +0000 (11:12 -0600)]
autoconf: Helper options for adding GCC 32/64 bit flags
Two new configure options to add -m32 or -m64 to the CFLAGS and CXXFLAGS
when GCC is in use. By default, the user supplied options are
environment variables are respected, but these options are quick helps
for the common case of x86/x86_64 using GCC.
Xiang, Haihao [Tue, 25 Dec 2007 09:22:19 +0000 (17:22 +0800)]
i915: apply commit
a0a5e8cfc04c14873441b50f7d594ef11806b9a8 from 965.
fix #11925
Xiang, Haihao [Tue, 25 Dec 2007 06:16:05 +0000 (14:16 +0800)]
mesa: fix a bad cast in put_values_z24.
The values passed to put_values_z24 are GLuint,
not GLubyte. fix #13543
Adam Jackson [Tue, 25 Dec 2007 00:16:24 +0000 (19:16 -0500)]
__driConfigOptions must be PUBLIC.
Alex Deucher [Mon, 24 Dec 2007 16:59:27 +0000 (11:59 -0500)]
R300: RV410 SE chips have half the pipes of regular RV410
This fixes 3D rendering on x700 SE chips. Reported
by Kano.
Dan Nicholson [Mon, 24 Dec 2007 00:38:18 +0000 (16:38 -0800)]
autoconf: Documentation for using the autoconf'd build
Most of the options available from configure are documented on the
autoconf.html. This page is reached as an alternative provided on the
install.html page. An FAQ about why there is no configure script has
been removed.
Roland Scheidegger [Sat, 22 Dec 2007 17:54:01 +0000 (18:54 +0100)]
fix GL_LINE_LOOP with drivers using own render pipeline stage (#12410, #13527)
primitive needs to include the begin/end flags (broken since vbo-0.2). Should
fix missing first/last line segment on gamma, i810, i915, mga, r200, radeon,
s3v, savage, unichrome (r300 already correct). Tested on r200, fixes #13527.
Kristian Høgsberg [Fri, 21 Dec 2007 20:31:00 +0000 (15:31 -0500)]
Silence compiler warnings from XML error macros.
Eric Anholt [Fri, 21 Dec 2007 19:39:33 +0000 (11:39 -0800)]
[965] Fix and enable separate stencil.
Note that this does not enable GL_EXT_stencil_two_side, because Mesa's computed
_TestTwoSide ends up respecting only STENCIL_TEST_TWO_SIDE_EXT (defaults to
GL_FALSE), even if the application uses only GL 2.0 / ATI entrypoints.
Eric Anholt [Thu, 20 Dec 2007 19:44:40 +0000 (11:44 -0800)]
[intel] Move some pixel path support from drivers to shared.
Xiang, Haihao [Fri, 21 Dec 2007 09:03:55 +0000 (17:03 +0800)]
intel: cast a pointer to unsigned long, avoid potential error.
Eric Anholt [Thu, 20 Dec 2007 19:29:39 +0000 (11:29 -0800)]
[965] Enable EXT_framebuffer_object.
To do so, merge the remainnig necessary code from the buffers, blit, span, and
screen code to shared, and replace it with those.
Eric Anholt [Thu, 20 Dec 2007 19:28:10 +0000 (11:28 -0800)]
[965] Actually enable SGIS_generate_mipmap.
Eric Anholt [Wed, 19 Dec 2007 22:26:14 +0000 (14:26 -0800)]
[intel] Fix and reenable (software) SGIS_generate_mipmap
The core problem was that _mesa_generate_mipmap was not respecting RowStride
of the source image. Additionally, the intel private data associated with the
images (level and face) was not being initialized for the
_mesa_generate_mipmap-generated images.
Eric Anholt [Thu, 20 Dec 2007 16:24:45 +0000 (08:24 -0800)]
[intel] Allow driver hooks to be NULL in intel_buffers.c and just update flags.
The 965 driver relies on flag checking instead of these hooks, and will be
using this code soon.
Eric Anholt [Thu, 20 Dec 2007 16:19:42 +0000 (08:19 -0800)]
[i915] Move meta_draw_quad into the vtbl with other meta operations.
Brian [Thu, 20 Dec 2007 16:05:37 +0000 (09:05 -0700)]
return correct size from glGetActiveUniform (bug 13751)
Xiang, Haihao [Thu, 20 Dec 2007 08:49:25 +0000 (16:49 +0800)]
i915: avoid dead lock in intel_meta_draw_poly. fix #13696
Dan Nicholson [Fri, 7 Dec 2007 19:26:41 +0000 (11:26 -0800)]
Don't try to build nonexistent i915tex driver on linux-x86-64
Dan Nicholson [Fri, 14 Dec 2007 17:59:16 +0000 (09:59 -0800)]
docs: Fix links in contribute section
The contribute section had a broken hyperlink, masking the mailing list
text.
Eric Anholt [Wed, 19 Dec 2007 02:54:59 +0000 (18:54 -0800)]
[915] Set cliprects in the drawbuffer software fallback case as well.
Otherwise, we may violate cliprect asssertions on clearing the buffers, which
isn't affected by the fallback.
Xiang, Haihao [Wed, 19 Dec 2007 02:22:28 +0000 (10:22 +0800)]
i965: allocate GRF registers before building subroutines,
it ensures there are sufficient registers for all subroutines.
Xiang, Haihao [Wed, 19 Dec 2007 01:59:37 +0000 (09:59 +0800)]
i965: restore the flag after building the subroutine of the
GS thread. fix #13240
Brian [Tue, 18 Dec 2007 23:30:42 +0000 (16:30 -0700)]
added glSecondaryColor3fv_func
Brian [Tue, 18 Dec 2007 23:25:48 +0000 (16:25 -0700)]
added two-side test
Brian [Tue, 18 Dec 2007 23:21:49 +0000 (16:21 -0700)]
Test GL_VERTEX_PROGRAM_TWO_SIDE and frag shader gl_FrontFacing features
Brian [Tue, 18 Dec 2007 23:20:10 +0000 (16:20 -0700)]
added twoside demo
Brian [Tue, 18 Dec 2007 23:12:23 +0000 (16:12 -0700)]
simplify update two-side lighting test (follow-on to previous front/back-face changes)
Brian [Tue, 18 Dec 2007 23:10:11 +0000 (16:10 -0700)]
fix NEED_SECONDARY_COLOR for vert/frag progs
Brian [Sat, 15 Dec 2007 00:34:01 +0000 (17:34 -0700)]
Fix a quadstrip front/back-face inconsistancy.
Only set front material colors to make it noticable if front/back-face
determination is incorrect anywhere.
Eric Anholt [Tue, 18 Dec 2007 22:51:42 +0000 (14:51 -0800)]
Fix mismatched map/unmap of buffers in swrast read/drawpixels error paths.
Eric Anholt [Tue, 18 Dec 2007 22:17:27 +0000 (14:17 -0800)]
[915] Free dri_bufmgr after mesa context data.
Fixes a crash when buffer objects are left around until context destroy.
Eric Anholt [Tue, 18 Dec 2007 22:14:44 +0000 (14:14 -0800)]
[915] Make polygon stipple use pre-unpacked pixel data.
This fixes a crash when stippling using data from a PBO.
Eric Anholt [Tue, 18 Dec 2007 18:41:44 +0000 (10:41 -0800)]
[915] Fix clear color when clearing with triangles.
The diffuse color format is always ARGB32, regardless of the destination
surface format.
Keith Packard [Tue, 18 Dec 2007 18:18:33 +0000 (10:18 -0800)]
[INTEL] Fix 965 to use new centralized mipmap pitch function
Keith Packard [Tue, 18 Dec 2007 06:43:48 +0000 (22:43 -0800)]
[Intel] Centralize mipmap pitch computations.
mipmap pitches must account for the device alignment requirements, which
used to be fairly simple; just align to a 4-byte boundary. However, to allow
textures to be drawn to under TTM, they now need to be aligned to a 64-byte
boundary. Placing all of the alignment constraints in a single function
allows this new constraint to be applied uniformly.
There was some pitch constraining code in intel_miptree_create, but that was
modifying the pitch long after the miptree had been layed out, so it only
served to wreck the mipmap and cause rendering errors.
Eric Anholt [Tue, 18 Dec 2007 01:01:07 +0000 (17:01 -0800)]
[i915] Remove redundant set_draw_region code (like the comment says).
Eric Anholt [Tue, 18 Dec 2007 00:56:59 +0000 (16:56 -0800)]
[intel] Improve INTEL_DEBUG=blit description of clearing.
Eric Anholt [Tue, 27 Nov 2007 18:57:28 +0000 (10:57 -0800)]
[intel] Fix copy'n'pasteo in decoding of the blit clear packet.
Eric Anholt [Tue, 27 Nov 2007 18:16:58 +0000 (10:16 -0800)]
[965] Add decode of 3DSTATE_DRAWING_RECTANGLE.
Eric Anholt [Tue, 18 Dec 2007 00:50:09 +0000 (16:50 -0800)]
[965] Allow draw or depth regions to be NULL.
With FBOs, we end up wanting to do 3D metaops against one or the other without
having to find the other one to fill in if we're not going to draw to it.
Eric Anholt [Mon, 17 Dec 2007 22:51:24 +0000 (14:51 -0800)]
[965] Simplify scissor handling by using DrawBuffer values.
Eric Anholt [Mon, 17 Dec 2007 22:42:21 +0000 (14:42 -0800)]
[965] fix bad conflict resolution in debug code.
Eric Anholt [Mon, 17 Dec 2007 22:28:54 +0000 (14:28 -0800)]
[965] Replace our own depth constants in intel context with GL context ones.
Eric Anholt [Mon, 17 Dec 2007 21:47:52 +0000 (13:47 -0800)]
[965] Fix software fallbacks with region-backed textures.
Eric Anholt [Mon, 17 Dec 2007 21:19:33 +0000 (13:19 -0800)]
[intel] Cleanup of */intel_blit.c to bring the two closer.
Eric Anholt [Mon, 17 Dec 2007 19:11:18 +0000 (11:11 -0800)]
[965] Output the buffer type in INTEL_DEBUG=bat surface state decode.
Michel Dänzer [Mon, 17 Dec 2007 11:20:56 +0000 (12:20 +0100)]
i915: Fix issues with glDrawBuffer(GL_NONE).
Don't dereference NULL renderbuffer pointer, and make sure the software
fallback sticks.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=13694 .
Xiang, Haihao [Mon, 17 Dec 2007 06:42:42 +0000 (14:42 +0800)]
i965: check NULL pointer
Eric Anholt [Sun, 16 Dec 2007 21:00:23 +0000 (13:00 -0800)]
[i915] Fix missing symbol from 965 changes.
Eric Anholt [Sun, 16 Dec 2007 20:09:22 +0000 (12:09 -0800)]
[965] Fully initialize the texture surface key data (padding around GLboolean)
Eric Anholt [Sun, 16 Dec 2007 19:46:10 +0000 (11:46 -0800)]
[965] Enable ARB_pixel_buffer_object, and disable broken imaging extension.
While I haven't tested the imaging extension, this matches what 915 does.
Eric Anholt [Sun, 16 Dec 2007 00:12:17 +0000 (16:12 -0800)]
[965] Move to using shared texture management code.
This removes the delayed texture upload optimization from 965, in exchange for
bringing us closer to PBO support. It also disables SGIS_generate_mipmap,
which didn't seem to be working before anyway, according to the lodbias demo.
Eric Anholt [Sat, 15 Dec 2007 21:09:58 +0000 (13:09 -0800)]
[intel] Whitespace and comment changes to bring intel_mipmap_tree.c closer.
Eric Anholt [Sat, 15 Dec 2007 20:47:23 +0000 (12:47 -0800)]
[intel] Merge intel_buffer_objects to shared.
965 gains fixed TTM typing of the buffer object buffers and unused PBO
functions, and 915 gains buffer size == 0 fixes from 965.
Eric Anholt [Sat, 15 Dec 2007 00:00:48 +0000 (16:00 -0800)]
[965] Use shared intel_regions.c.
This adds (so far) unused PBO functions, and holding the lock while writing
to regions (which may be shared static screen regions).
Eric Anholt [Fri, 14 Dec 2007 22:56:01 +0000 (14:56 -0800)]
[intel] Fix uninitialized data in screen-region buffer objects.
Eric Anholt [Fri, 14 Dec 2007 22:52:15 +0000 (14:52 -0800)]
[intel] Remove excessive validation debugging.
Eric Anholt [Fri, 14 Dec 2007 22:51:55 +0000 (14:51 -0800)]
[intel] Initialize debug flag for dri_bufmgrs
Eric Anholt [Fri, 14 Dec 2007 21:28:39 +0000 (13:28 -0800)]
[intel] Remove useless intel_region_idle.
The idling it was trying to ensure was covered by the
intel_miptree_image_map()->intel_region_map() that immediately followed it.
Eric Anholt [Fri, 14 Dec 2007 20:52:17 +0000 (12:52 -0800)]
[intel] warnings cleanup
Brian [Fri, 14 Dec 2007 21:34:15 +0000 (14:34 -0700)]
fix polygon cull regression
Brian [Wed, 12 Dec 2007 15:05:12 +0000 (08:05 -0700)]
Build rain demo (Gonzo <andreas.wendleder@gmail.com>)
Eric Anholt [Wed, 12 Dec 2007 22:38:38 +0000 (14:38 -0800)]
[intel] Remove the relocation buffer lists and just cache one per buffer.
Each buffer object now has a relocation buffer pointer, which contains the
relocations for the buffer if there are any. At the point where we have to
create a new type of relocation entry, we can change the code over to allowing
multiple relocation lists, but trying to anticipate what that'll look like
now just increases complexity.
This is a 30% performance improvement on 965.
Eric Anholt [Fri, 14 Dec 2007 19:02:48 +0000 (11:02 -0800)]
[965] Replace the state cache suballocator with direct dri_bufmgr use.
The user-space suballocator that was used avoided relocation computations by
using the general and surface state base registers and allocating those types
of buffers out of pools built on top of single buffer objects. It also
avoided calls into the buffer manager for these small state allocations, since
only one buffer object was being used.
However, the buffer allocation cost appears to be low, and with relocation
caching, computing relocations for buffers is essentially free. Additionally,
implementing the suballocator required a don't-fence-subdata flag to disable
waiting on buffer maps so that writing new data didn't block on rendering using
old data, and careful handling when mapping to update old data (which we need
to do for unavoidable relocations with FBOs). More importantly, when the
suballocator filled, it had no replacement algorithm and just threw out all
of the contents and forced them to be recomputed, which is a significant cost.
This is the first step, which just changes the buffer type, but doesn't yet
improve the hash table to not result in full recompute on overflow. Because
the buffers are all allocated out of the general buffer allocator, we can
no longer use the general/surface state bases to avoid relocations, and they
are set to 0 instead.
Eric Anholt [Fri, 14 Dec 2007 01:05:21 +0000 (17:05 -0800)]
[intel] Remove broken mutex protection from dri_bufmgrs.
Now that the dri_bufmgr is stored in the context rather than the screen, all
access to one is single-threaded anyway.
Eric Anholt [Fri, 14 Dec 2007 00:49:55 +0000 (16:49 -0800)]
[intel] Enable INTEL_DEBUG=bufmgr output in TTM mode as well as classic.
Eric Anholt [Thu, 13 Dec 2007 09:01:31 +0000 (01:01 -0800)]
[intel] assert that buffers are not mapped at last unreference.
bufmgr_fake doesn't care about it, but with ttm we would end up with the
buffer remaining referenced until application exit.
Dan Nicholson [Thu, 13 Dec 2007 05:24:06 +0000 (21:24 -0800)]
Merge branch 'master' into autoconf2
Dan Nicholson [Thu, 13 Dec 2007 02:13:04 +0000 (18:13 -0800)]
autoconf: Improve help text for demos and DRI drivers
Changed the text for the default demos to be "auto" instead of "yes"
since that didn't make much sense in this context. Added an example
value for the --with-dri-drivers option as suggested by Brian.
Dan Nicholson [Thu, 13 Dec 2007 01:57:45 +0000 (17:57 -0800)]
autoconf: Update bug address and fix some autoconf warnings
Point bug reports to Bugzilla like bugs.html. Also, a warning from
autoconf w.r.t. AC_OUTPUT was cleaned up.
Dan Nicholson [Thu, 13 Dec 2007 01:49:49 +0000 (17:49 -0800)]
autoconf: Consistently use xlib for the driver name
Brian suggested that there should be more consistency using xlib vs. x11
in the configure script. Changed the options and variables to suit.
Dan Nicholson [Wed, 12 Dec 2007 17:02:31 +0000 (09:02 -0800)]
autoconf: Optional assembly usage with --disable-asm
Allow the user to disable use of assembly code through the --disable-asm
option. This is only relevant on the platforms where assembly is
normally enabled such as Linux and FreeBSD.
Eric Anholt [Tue, 11 Dec 2007 21:21:14 +0000 (13:21 -0800)]
[intel] Assert against conflicting relocation emits in bufmgr_fake.c
Eric Anholt [Wed, 12 Dec 2007 20:09:07 +0000 (12:09 -0800)]
[965] Bug #13600: Fix assertion failure with SRGB textures.
I broke this with cherry-pick resolving on
93c98a466947570e0589b662df49095b2f4bc43c.
Eric Anholt [Wed, 12 Dec 2007 18:25:19 +0000 (10:25 -0800)]
[intel] Move bufmgr back to context instead of screen, fixing glthreads.
Putting the bufmgr in the screen is not thread-safe since the emit_reloc
changes. It also led to a significant performance hit from pthread usage
for the attempted thread-safety (up to 12% of a cpu spent on refcounting
protection in single-threaded 965). The motivation had been to allow
multi-context bufmgr sharing in classic mode, but it wasn't worth the cost.
Dan Nicholson [Wed, 12 Dec 2007 17:12:15 +0000 (09:12 -0800)]
autoconf: Report the compiler options in the summary
Report the compiler flags and macros that will be used in the build.
This just provides a quick way to see what configure has silently been
doing.
Dan Nicholson [Wed, 12 Dec 2007 17:02:31 +0000 (09:02 -0800)]
autoconf: Optional debug build with --enable-debug
Allow the user to set the compiler debug flags and macros through the
option --enable-debug. This addes -DDEBUG to the macros and -g to the
CFLAGS and CXXFLAGS if gcc and g++ are in use.
Dan Nicholson [Wed, 12 Dec 2007 16:48:30 +0000 (08:48 -0800)]
autoconf: More informative errors when pkg-config macros undefined
Added a check that PKG_PROG_PKG_CONFIG is defined before calling it so
the user can see a proper error. Without it, the generated configure
script will just pass on to the next statement and bomb with a strange
shell syntax error.
Keith Packard [Wed, 12 Dec 2007 04:27:13 +0000 (20:27 -0800)]
Block in kernel waiting for fence
Keith Packard [Thu, 6 Dec 2007 22:11:34 +0000 (14:11 -0800)]
Use previous buffer offsets to compute proposed relocations
This takes advantage of the DRM_BO_HINT_PRESUMED_OFFSET change and allows
the kernel to avoid mapping and re-writing buffers when relocations occur.
Dan Nicholson [Tue, 11 Dec 2007 16:21:51 +0000 (08:21 -0800)]
autoconf: Replace configs/current symlink from configure
Rather than having the user run `make autoconf' and have the Makefile
setup the configs/current -> autoconf symlink, we can just do that in
configure. This allows the user to just run `make' to build.
Dan Nicholson [Tue, 11 Dec 2007 16:13:45 +0000 (08:13 -0800)]
autoconf: Replace install-sh with symlink to minstall
Since install-sh is only used to satisfy an autoconf requirement, we
don't need the actual script. Instead, it's now just a symlink to
minstall, which provides a similar install wrapper script.
Dan Nicholson [Sat, 8 Dec 2007 03:11:01 +0000 (19:11 -0800)]
autoconf: Clearer help text for the enable/disable options
Make it clearer what the defaults for the AC_ARG_ENABLE options are and
how to change them.
Dan Nicholson [Fri, 7 Dec 2007 19:25:08 +0000 (11:25 -0800)]
autoconf: Since default DRI drivers to build with master
Sync the default DRI_DIRS with the configs in master. Added some of the
comments from there, too.
Dan Nicholson [Fri, 7 Dec 2007 19:12:20 +0000 (11:12 -0800)]
autoconf: glut doesn't need Xt
Don't link glut with libXt since it's not needed.
(see commit
ce98779571eee3f51d9f571fecf8deb83dd60f78)
Roland Scheidegger [Tue, 11 Dec 2007 14:37:47 +0000 (15:37 +0100)]
add simple test for two-sided stencil functionality
Roland Scheidegger [Thu, 29 Nov 2007 02:08:18 +0000 (03:08 +0100)]
make sure state token values are fully initialized
Eric Anholt [Mon, 10 Dec 2007 22:58:53 +0000 (14:58 -0800)]
[965] Hook up DEBUG_BUFMGR output for bufmgr_fake.
Eric Anholt [Sat, 8 Dec 2007 00:15:49 +0000 (16:15 -0800)]
[965] Convert the driver to dri_bufmgr interface and enable TTM.
This is currently believed to work but be a significant performance loss.
Performance recovery should be soon to follow.
The dri_bo_fake_disable_backing_store() call was added to allow backing store
disable like bufmgr_fake.c did, which is a significant performance win (though
it's missing the no-fence-subdata part).
This commit is a squash merge of the 965-ttm branch, which had some history
I wanted to avoid pulling due to noisiness and brokenness at many points
for git-bisecting.
Eric Anholt [Fri, 7 Dec 2007 23:20:00 +0000 (15:20 -0800)]
[965] Remove dead code in upload_wm_surfaces.
Eric Anholt [Fri, 7 Dec 2007 23:16:42 +0000 (15:16 -0800)]
[965] Move brw_surface_state stack allocation into the function using it.
Dan Nicholson [Fri, 30 Nov 2007 16:49:57 +0000 (08:49 -0800)]
autoconf: Output summary information from configure
Report some of the common settings back to the user after configure
has completed.
Dan Nicholson [Thu, 15 Nov 2007 16:59:57 +0000 (08:59 -0800)]
autoconf: Configurable DRI drivers
The user can request specific DRI drivers to build rather than the
default of "all that build on this platform". This allows the list of
drivers to be easily slimmed down.
This is controlled through the option --with-dri-drivers. For example:
./configure --with-driver=dri --with-dri-drivers="i965,nouveau"
Unfortunately, using this setting means the DRI drivers aren't filtered
by platform anymore and you might try to build something that doesn't
work.
Dan Nicholson [Thu, 15 Nov 2007 16:59:57 +0000 (08:59 -0800)]
autoconf: Allow static library builds
Allow the user to specify that they want static libraries through the
--{enable,disable}-{static,shared} switches like libtool. The mesa build
only allows for one at a time, so static will be chosen if someone has
passed --enable-static or --disable-shared.
This also allows the mklib options to be set at build time. This allows
-static to be set for mklib, but any platform specific settings are
allowed by setting MKLIB_OPTIONS for configure.
Handling of the program libraries through the APP_LIB_DEPS variable is
pretty ugly, but it seems to work.
Dan Nicholson [Thu, 15 Nov 2007 16:59:57 +0000 (08:59 -0800)]
autoconf: Configurable demos directories
The user can request specific demos directories to build in. For
example:
./configure --with-demos="demos,xdemos"
The drawback is that we don't check for the necessary libararies in
that case, only that the directory in progs/ exists.