Keith Whitwell [Tue, 28 Apr 2009 16:50:19 +0000 (17:50 +0100)]
mesa/st: protect internal flushes with FLUSH_CURRENT
Already doing this for driver.flush()
Keith Whitwell [Tue, 28 Apr 2009 16:49:50 +0000 (17:49 +0100)]
mesa/main: protect driver.finish with FLUSH_CURRENT
Already doing this for driver.flush()
Keith Whitwell [Tue, 28 Apr 2009 13:51:11 +0000 (14:51 +0100)]
mesa/st: remove duplicate offset calculation
Keith Whitwell [Tue, 28 Apr 2009 13:50:05 +0000 (14:50 +0100)]
gallium/draw: add ability to print out active pipeline stages
Keith Whitwell [Mon, 27 Apr 2009 14:33:44 +0000 (15:33 +0100)]
mesa/st: translate VERT_ATTRIB_GENERIC8..15 in st_translate_vertex_program
It seems quake4 can hit these attributes sometimes.
Keith Whitwell [Tue, 28 Apr 2009 10:49:55 +0000 (11:49 +0100)]
progs: add fflushes for cygwin
Keith Whitwell [Mon, 27 Apr 2009 18:36:42 +0000 (19:36 +0100)]
util/indices: remove debug prints
Keith Whitwell [Mon, 27 Apr 2009 17:56:26 +0000 (18:56 +0100)]
mesa/st: workaround for crashes in st_copy_texsubimage
Proper fix for this hasn't been identified, but avoid crashing.
José Fonseca [Mon, 27 Apr 2009 19:24:55 +0000 (20:24 +0100)]
wgl: Store current HDC/HGLRC in stw_context.
Less TLS lookups.
Alex Deucher [Tue, 28 Apr 2009 16:37:29 +0000 (12:37 -0400)]
R300: add quadpipe overrides
RV410 SE chips only have 1 quadpipe.
Also, handle other R300 chip with quadpipe override
Brian Paul [Tue, 28 Apr 2009 15:58:44 +0000 (09:58 -0600)]
i965: avoid segfault in intel_update_renderbuffers() if using DRI1
Brian Paul [Tue, 28 Apr 2009 15:05:19 +0000 (09:05 -0600)]
swrast: add missing break in clamp_rect_coord_linear()
See bug 21461.
Brian Paul [Mon, 27 Apr 2009 23:01:59 +0000 (17:01 -0600)]
demos: asst. updates, clean-ups
Thomas Hellstrom [Tue, 28 Apr 2009 12:43:41 +0000 (14:43 +0200)]
gallium dri st: Propagate the drawable info when we bind to new drawables.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
Thomas Hellstrom [Tue, 28 Apr 2009 12:20:45 +0000 (14:20 +0200)]
gallium dri st: Use st_get_current() instead of GET_CURRENT_CONTEXT()
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
Thomas Hellstrom [Tue, 28 Apr 2009 12:12:39 +0000 (14:12 +0200)]
st: Add an st_get_current() function.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
Jakob Bornecrantz [Tue, 28 Apr 2009 11:56:21 +0000 (12:56 +0100)]
gallium-intel: Create a i965_dri.so symlink
This is only used for debuging the gem backend on i965
chipset using the softpipe pipe driver.
Usage: "export INTEL_SOFTPIPE=y" and point LIBGL_DRIVERS_PATH
to "$MESA/lib/gallium" where $MESA is the mesa root.
Jakob Bornecrantz [Mon, 27 Apr 2009 23:00:51 +0000 (01:00 +0200)]
gallium-intel: Fix build of dri driver
Thomas Hellstrom [Tue, 28 Apr 2009 11:03:22 +0000 (13:03 +0200)]
gallium dri st: Fix up some comments and minor bugs.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
Corbin Simpson [Tue, 28 Apr 2009 10:28:57 +0000 (03:28 -0700)]
radeon-r300: Fix a bit of breakage.
Not really sure why reordering the ioctls makes them work again.
Corbin Simpson [Tue, 28 Apr 2009 10:28:37 +0000 (03:28 -0700)]
radeon: Use PCI_MATCH_ANY for xorg driver.
Might as well.
Thomas Hellstrom [Tue, 28 Apr 2009 09:58:27 +0000 (11:58 +0200)]
gallium: Rename the dri state tracker lib to libdridrm.a
Thomas Hellstrom [Tue, 28 Apr 2009 09:54:25 +0000 (11:54 +0200)]
gallium: indent and cleanfile the dri state-tracker.
Thomas Hellstrom [Tue, 28 Apr 2009 09:49:39 +0000 (11:49 +0200)]
gallium: Update the dri2 state tracker to support dri1.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
Thomas Hellstrom [Tue, 28 Apr 2009 09:43:06 +0000 (11:43 +0200)]
gallium: Add a dri1 api
that a driver needs to implement on top of the drm api to support dri1.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
Thomas Hellstrom [Tue, 28 Apr 2009 09:32:59 +0000 (11:32 +0200)]
gallium: Move the dri2 state tracker since we're about to extend it to dri1.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
Thomas Hellstrom [Tue, 28 Apr 2009 09:23:11 +0000 (11:23 +0200)]
gallium: Update the drm_api.
Make it possible to pass state-tracker-specific data to the
init_screen function, and even open the door for device-specific
state-tracker screen initialization.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
Robert Ellison [Mon, 27 Apr 2009 18:08:34 +0000 (12:08 -0600)]
Avoid a segfault in shader compilation
If a shader reaches an out-of-memory condition while adding
a new function (reallocating the function list), a segfault
will occur during cleanup (because the num_functions field
is non-zero, but the functions pointer is NULL).
This fixes that segfault by zeroing out the num_functions
field if reallocation fails.
José Fonseca [Mon, 27 Apr 2009 17:48:11 +0000 (18:48 +0100)]
wgl: Cope with pre-existing threads.
DllMain is called with DLL_THREAD_ATTACH only by threads created after
the DLL is loaded by the process.
José Fonseca [Mon, 27 Apr 2009 16:30:05 +0000 (17:30 +0100)]
wgl: Implement WGL_EXT_extensions_string extension.
José Fonseca [Mon, 27 Apr 2009 16:13:40 +0000 (17:13 +0100)]
util: Remove unix includes.
Brian Paul [Mon, 27 Apr 2009 15:51:46 +0000 (09:51 -0600)]
i965: only upload constant buffer data when we actually need the const buffer
Make the use_const_buffer field per-program and only call the code which
updates the constant buffer's data if the flag is set.
This should undo the perf regression from
20f3497e4b6756e330f7b3f54e8acaa1d6c92052
Keith Whitwell [Mon, 27 Apr 2009 13:43:31 +0000 (14:43 +0100)]
util/time: add util_time_sleep() for windows userspace
Somebody with a clue could probably do a better implemenation...
Keith Whitwell [Mon, 27 Apr 2009 13:42:23 +0000 (14:42 +0100)]
mesa/st: fix incorrect face, level in compress_with_blit
We were incorrectly applying the destination texture face and level
when requesting a transfer to the temporary texture, which has only
one face and level. This would obviously cause problems uploading to
compressed cube and mipmap textures.
Shuang He [Mon, 27 Apr 2009 13:13:33 +0000 (07:13 -0600)]
demos: Clean up allocated Textures and Display Lists when demo quit
Micah Dowty [Fri, 24 Apr 2009 21:45:16 +0000 (23:45 +0200)]
util: Add debug_printf_once
José Fonseca [Mon, 27 Apr 2009 12:09:58 +0000 (13:09 +0100)]
mesa: Call _mesa_snprintf instead of snprintf.
snprintf not directly available on Windows.
José Fonseca [Thu, 23 Apr 2009 12:20:06 +0000 (13:20 +0100)]
stw: Use a statically initiallized gl proc table.
It doesn't change anyway.
Maciej Cencora [Tue, 21 Apr 2009 00:38:08 +0000 (02:38 +0200)]
r300: always emit output insts after all KIL insts
Corbin Simpson [Sun, 26 Apr 2009 17:06:02 +0000 (10:06 -0700)]
r300-gallium: Correctly flush Draw.
Should help with a few non-TCL bugs.
Mathias Gottschlag [Sun, 26 Apr 2009 10:04:35 +0000 (12:04 +0200)]
r300-gallium: Add a draw_flush() to r300_flush().
This fixes some missing primitives which had been drawn right before the next glClear().
Corbin Simpson [Sat, 25 Apr 2009 23:53:38 +0000 (16:53 -0700)]
r300-gallium: Fix vertex shader OVM counting.
Attribs must be packed: position, point size, colors, texcoords.
Thanks to osiris for pointing it out.
Corbin Simpson [Fri, 24 Apr 2009 23:53:38 +0000 (16:53 -0700)]
r300-gallium: Clean up FB state emit.
Mathias Gottschlag [Fri, 24 Apr 2009 23:27:23 +0000 (01:27 +0200)]
r300-gallium: Set framebuffer pitch on every framebuffer change.
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
Jakob Bornecrantz [Sat, 25 Apr 2009 11:56:07 +0000 (12:56 +0100)]
gallium-intel: Fix warning
Jakob Bornecrantz [Sat, 25 Apr 2009 11:55:21 +0000 (12:55 +0100)]
gallium-intel: Cache software switch
Jakob Bornecrantz [Sat, 25 Apr 2009 11:52:04 +0000 (12:52 +0100)]
gallium-intel: Link dri2 driver with softpipe
Samuel Thibault [Thu, 23 Apr 2009 12:43:22 +0000 (05:43 -0700)]
GNU/Hurd fixes
Here is a couple of fixes for GNU/Hurd:
- dri_interface.h: no libdrm support either.
- configure.ac:
- GNU/Hurd is a GNU OS with _GNU_SOURCE and PTHREADS.
- GNU needs a couple of flags like other OSes
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Ian Romanick [Fri, 24 Apr 2009 23:39:00 +0000 (16:39 -0700)]
intel: Fix more issues with the combined depth-stencil attachment
Ian Romanick [Fri, 24 Apr 2009 23:14:51 +0000 (16:14 -0700)]
intel: Initialize region ptr to prevent assertion in intel_region_reference
Brian Paul [Fri, 24 Apr 2009 23:08:59 +0000 (17:08 -0600)]
tgis: SSE code generator doesn't yet support indirect addressing of temp regs
Fall back to interpreter in this case.
Ian Romanick [Tue, 21 Apr 2009 03:56:45 +0000 (20:56 -0700)]
intel / DRI2: When available, use DRI2GetBuffersWithFormat
This interface gives the driver two important features. First, it can
allocate the (fake) front-buffer only when needed. Second, it can
tell the buffer allocator the format of buffers being allocated. This
enables support for back-buffer and depth-buffer with different bits
per pixel.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kristian Høgsberg <krh@redhat.com>
Ian Romanick [Tue, 21 Apr 2009 03:55:56 +0000 (20:55 -0700)]
DRI2: Implement interface for drivers to access DRI2GetBuffersWithFormat
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kristian Høgsberg <krh@redhat.com>
Ian Romanick [Tue, 21 Apr 2009 03:52:56 +0000 (20:52 -0700)]
DRI2: Implement protocol for DRI2GetBuffersWithFormat
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kristian Høgsberg <krh@redhat.com>
Brian Paul [Fri, 24 Apr 2009 16:46:40 +0000 (10:46 -0600)]
mesa: fix up error/warning/debug output newlines
As of commit
23ad86cfb91c294ce85a3116d4b825aaa3988a6e all messages go
through output_if_debug().
Add new parameter to output_if_debug() to indicate whether to emit a newline.
_mesa_warning() and _mesa_error() calls should not end their strings with \n.
_mesa_debug() calls should end their text with \n.
Brian Paul [Fri, 24 Apr 2009 15:50:11 +0000 (09:50 -0600)]
i965: use drm_intel_gem_bo_map/unmap_gtt() when possible, otherwise dri_bo_subdata()
This wraps up the unfinished business from commit
a9a363f8298e9d534e60e3d2869f8677138a1e7e
Alan Hourihane [Fri, 24 Apr 2009 15:44:58 +0000 (16:44 +0100)]
demos: ensure display lists are destroyed for next generation
Keith Whitwell [Fri, 24 Apr 2009 11:43:04 +0000 (12:43 +0100)]
pipebuffer: don't fail when validating mapped buffers
This can be almost impossible to avoid - hopefully we won't encounter
a situation where this is a true requirement. Would probably require
drivers to flush between hardware and software vertex processing.
Keith Whitwell [Fri, 24 Apr 2009 11:16:29 +0000 (12:16 +0100)]
shadowtex: fflush stdout for cygwin
Jakob Bornecrantz [Thu, 23 Apr 2009 03:42:26 +0000 (05:42 +0200)]
util: Add more entry points for dumping to bmp
Keith Whitwell [Wed, 22 Apr 2009 14:19:44 +0000 (15:19 +0100)]
demos/readpix: add option to draw triangle instead of drawpix
Keith Whitwell [Tue, 21 Apr 2009 18:49:29 +0000 (19:49 +0100)]
tests/mipmap_view: add a bunch of keystrokes for testing render-to-texture
Move between mipmaps, render a triangle, reload textures with either
the original arch (and GenMipmaps) or via straightforward glTexImage.
Roland Scheidegger [Thu, 23 Apr 2009 21:41:41 +0000 (23:41 +0200)]
i965: fix point size issue
need to clamp point size to user set min/max values, even for constant
point size. Fixes glean pointAtten test.
Brian Paul [Thu, 23 Apr 2009 23:54:34 +0000 (17:54 -0600)]
mesa: more informative error messages
Brian Paul [Thu, 23 Apr 2009 23:41:23 +0000 (17:41 -0600)]
i965: revert part of commit
4f4907d69f9020ce17aef21b6431d2dd65e01982
The drm_intel_gem_bo_map_gtt() call that replaced dri_bo_map() is
producing errors like:
intel_bufmgr_gem.c:689: Error preparing buffer map 39 (vp_const_buffer): Invalid argument .
and returning NULL, causing a segfault in the memcpy().
Just reverting until we can get to the root issue...
Roland Scheidegger [Thu, 23 Apr 2009 19:55:25 +0000 (21:55 +0200)]
i915: fix fix for anisotropic filtering
forgot to commit the changes to actually support 4x aniso filtering...
Eric Anholt [Thu, 23 Apr 2009 16:37:55 +0000 (09:37 -0700)]
i965: Support drawing to FBO cube faces other than positive X.
Also fixes drawing to 3D texture depth levels.
Eric Anholt [Wed, 22 Apr 2009 23:24:42 +0000 (16:24 -0700)]
intel: Take advantage of GL_READ_ONLY_ARB to map to GEM bo_map write flag.
This is a CPU win in general, but in particular reduces the pain of
Mesa's calculation of min/max indices in DrawElements (wtf?).
Michel Dänzer [Thu, 23 Apr 2009 13:47:31 +0000 (14:47 +0100)]
gallium: Handle non-NULL data pointer in EXA ModifyPixmapHeader hook.
Need to use the data pointed to for pixmap contents in that case.
Fixes RENDER based text rendering.
Michel Dänzer [Thu, 23 Apr 2009 12:19:56 +0000 (13:19 +0100)]
gallium: Make the intel xorg winsys start up with any Intel chipset.
For unsupported devices the screen/context creation should fail cleanly later
on.
Michel Dänzer [Thu, 23 Apr 2009 11:57:46 +0000 (12:57 +0100)]
gallium/intel/gem: Use softpipe rather than i915simple if INTEL_SOFTPIPE is set.
Michel Dänzer [Thu, 23 Apr 2009 11:20:22 +0000 (12:20 +0100)]
gallium: Always include xorg-server.h before other X server headers.
Various breakage otherwise, e.g. _XSERVER64 not being defined on 64 bit leading
to inconsistent definitions of X server internal structs.
Michel Dänzer [Thu, 23 Apr 2009 11:17:28 +0000 (12:17 +0100)]
gallium: Fix up xorg state tracker build.
Brian Paul [Wed, 22 Apr 2009 22:41:05 +0000 (16:41 -0600)]
mesa: minor state-update changes in histogram code
Call FLUSH_VERTICES() in _mesa_Histogram().
No need to signal _NEW_PIXEL in ResetHistogram(), ResetMinmax().
Brian Paul [Wed, 22 Apr 2009 22:38:04 +0000 (16:38 -0600)]
mesa: fix comment typo
Brian Paul [Wed, 22 Apr 2009 21:12:22 +0000 (15:12 -0600)]
gallium: license, copyright
Brian Paul [Wed, 22 Apr 2009 21:10:36 +0000 (15:10 -0600)]
st: comments, license, copyright
Brian Paul [Wed, 22 Apr 2009 21:02:01 +0000 (15:02 -0600)]
mesa: fix _mesa_dump_textures(), add null ptr check
Calling _mesa_dump_textures() deleted the textures... oops!!!
Brian Paul [Wed, 22 Apr 2009 17:16:03 +0000 (18:16 +0100)]
mesa: Fix buffer overflow when parsing generic vertex attributes.
Roland Scheidegger [Wed, 22 Apr 2009 15:37:18 +0000 (17:37 +0200)]
intel: fix max anisotropy supported
i915 actually supports up to 4 (according to header file - not tested),
i965 up to 16 (code already handled this but slightly broken), so don't use 2
for all chips, even though angular dependency is very high.
Brian Paul [Wed, 22 Apr 2009 13:58:25 +0000 (07:58 -0600)]
st: also check _NEW_PROGRAM flag for vertex shader constant buffers
This is a follow-on to commit
c1a3b852807fb160f0cd246c1364b7336b4b947e.
Note that (at this time) wherever _NEW_PROGRAM_CONSTANTS is set we're still
setting _NEW_PROGRAM so this won't really make any difference (for now).
Thomas Hellstrom [Mon, 20 Apr 2009 18:43:56 +0000 (20:43 +0200)]
gallium: Reinstate unconditional flushes.
Lost in commit
e50dd26ca6d0eb0d0f97c2780020ea16e3d4a687.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
Keith Whitwell [Tue, 21 Apr 2009 15:55:57 +0000 (16:55 +0100)]
mesa: protect driver.flush() with FLUSH_CURRENT
Need to do this to ensure vbo code unmaps its buffers before calling
the driver, which may be sitting on top of a memory manager which
objects to firing commands from a mapped buffer.
Brian Paul [Tue, 21 Apr 2009 23:00:54 +0000 (17:00 -0600)]
st: play it safe for now and check _NEW_PROGRAM for shader const buffer atom
When a new program is bound but no constants are updated we still need
to update the Gallium const buffer.
Brian Paul [Tue, 21 Apr 2009 23:00:01 +0000 (17:00 -0600)]
swrast: simplify state update logic for fragment shader const buffers
Brian Paul [Tue, 21 Apr 2009 22:50:34 +0000 (16:50 -0600)]
st: use the static atoms[] array directly
We can simplify this now that we no longer have any dynamic atoms.
Brian Paul [Tue, 21 Apr 2009 22:47:30 +0000 (16:47 -0600)]
st: do away with dynamic state atom for const buffers
Just use the new _NEW_PROGRAM_CONSTANTS flag instead.
Brian Paul [Tue, 21 Apr 2009 21:56:45 +0000 (15:56 -0600)]
mesa: new _NEW_PROGRAM_CONSTANTS flag
This state flag will be used to indicate that vertex/fragment program
constants have changed. _NEW_PROGRAM will be used to indicate changes
to the vertex/fragment shader itself, or misc related state.
_NEW_PROGRAM_CONSTANTS is also set whenever a program parameter that's
tracking GL state has changed. For example, if the projection matrix is
in the parameter list, calling glFrustum() will cause _NEW_PROGRAM_CONSTANTS
to be set. This will let to remove the need for dynamic state atoms in
some drivers.
For now, we still set _NEW_PROGRAM in all the places we used to. We'll no
longer set _NEW_PROGRAM in glUniform() after drivers/etc have been updated.
Brian Paul [Tue, 21 Apr 2009 20:47:57 +0000 (14:47 -0600)]
mesa: print internal.current[i] attrib
Brian Paul [Tue, 21 Apr 2009 20:44:03 +0000 (14:44 -0600)]
mesa: print parameter list dirty state flag mask
Brian Paul [Mon, 20 Apr 2009 17:58:09 +0000 (11:58 -0600)]
i965: const correctness
Michel Dänzer [Tue, 21 Apr 2009 17:32:42 +0000 (18:32 +0100)]
Update GALLIUM_AUXILIARY_DIRS in configure.ac to match configs/default.
Maciej Cencora [Mon, 20 Apr 2009 23:55:06 +0000 (01:55 +0200)]
r300: r300 hw doesn't support any input modifiers in tex insts
Mathias Gottschlag [Tue, 21 Apr 2009 15:52:30 +0000 (09:52 -0600)]
r300-gallium: Fix CS size mismatch
This fixes some warnings which appear because the driver assumes a wrong
cs size (13 vs 16 register writes in some cases).
Brian Paul [Tue, 21 Apr 2009 13:27:12 +0000 (07:27 -0600)]
demos: check that GL version is 2.0 or higher
Brian Paul [Mon, 20 Apr 2009 21:03:38 +0000 (15:03 -0600)]
st: report GL_OUT_OF_MEMORY instead of asserting
Keith Whitwell [Tue, 21 Apr 2009 10:40:59 +0000 (11:40 +0100)]
trivial/tri-viewport: add keys for frustrum/ortho and z coordinate
Keith Whitwell [Tue, 21 Apr 2009 09:59:54 +0000 (10:59 +0100)]
trivial/tri-viewport: add more out-of-bounds background quads
Keith Whitwell [Mon, 20 Apr 2009 16:32:15 +0000 (17:32 +0100)]
trivial/tri_viewport: add space==reset key
Keith Whitwell [Mon, 20 Apr 2009 16:30:53 +0000 (17:30 +0100)]
trivial/tri_viewport: add width/height keys