OSDN Git Service
Brian Paul [Wed, 29 Apr 2009 17:56:57 +0000 (11:56 -0600)]
tgsi: added tgsi_check_soa_dependencies() and related debug code (disabled)
The TGSI interpeter operates in SOA style. We need to check for data
dependencies in instructions which read from and write to the same register.
For now just adding some debug code to detect that condition. Actual fixes
to follow.
Brian Paul [Wed, 29 Apr 2009 17:52:06 +0000 (11:52 -0600)]
mesa: added _mesa_check_soa_dependencies() function
This function will check an instruction to see if there's data dependencies
between the dst and src registers if executed in an SOA manner.
Brian Paul [Tue, 28 Apr 2009 20:29:27 +0000 (14:29 -0600)]
softpipe: return PIPE_UNREFERENCED in softpipe_is_buffer/texture_referenced()
This allows the engine demo to run again (avoid crash in VBO code).
This stuff still needs to be revisited someday though...
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