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
Brian Paul [Mon, 20 Apr 2009 20:57:00 +0000 (14:57 -0600)]
softpipe: fix softpipe_is_buffer/texture_referenced() regression
Return the conservative PIPE_REFERENCED_FOR_READ | PIPE_REFERENCED_FOR_WRITE
value for now.
This fixes a bunch of regressions seen in piglit and glean.
Brian Paul [Mon, 20 Apr 2009 20:14:26 +0000 (14:14 -0600)]
swrast: fix pointer arithmetic error in get_texel_array()
This came from commit
1b2ab023673261b4b942e1126c0b599d02fbd4a0
José Fonseca [Mon, 20 Apr 2009 15:44:15 +0000 (16:44 +0100)]
gdi: Don't implement broken gl_dispatch_stub_xxx.
José Fonseca [Mon, 20 Apr 2009 15:43:44 +0000 (16:43 +0100)]
wgl: Don't implement broken gl_dispatch_stub_xxx.
These don't respect the stdcall, so they crash upon return.
José Fonseca [Mon, 20 Apr 2009 15:40:12 +0000 (16:40 +0100)]
mesa: Correct the gl_dispatch_stub_xxx prototypes.
José Fonseca [Mon, 20 Apr 2009 13:53:08 +0000 (14:53 +0100)]
mesa: Handle failure to create a transfer.
Keith Whitwell [Mon, 20 Apr 2009 15:17:50 +0000 (16:17 +0100)]
mesa/progs: fix scons build after recent demo moves
Keith Whitwell [Mon, 20 Apr 2009 14:50:44 +0000 (15:50 +0100)]
trivial/tri-viewport.c - add guide lines, more triangles, make interactive
This is becoming more like a test than a trivial/ example.
Keith Whitwell [Fri, 17 Apr 2009 16:11:09 +0000 (17:11 +0100)]
st: assert on pipe_buffer_create failure
This needs a proper fix to propogate the out-of-memory condition back
up to Mesa and the app as a GL error. Until then, at least catch the
problem at its source.
Keith Whitwell [Fri, 17 Apr 2009 14:54:57 +0000 (15:54 +0100)]
tests/mipmap_view: add linear/nearest key
Keith Whitwell [Fri, 17 Apr 2009 10:29:39 +0000 (11:29 +0100)]
util: don't set unused blend state
Try to avoid creating multiple blend atoms.
Jakob Bornecrantz [Mon, 20 Apr 2009 14:05:01 +0000 (16:05 +0200)]
trace: Add initializer for static variables
Maciej Cencora [Mon, 20 Apr 2009 13:31:44 +0000 (07:31 -0600)]
r300: fix register-negate branch merge regression
Michel Dänzer [Mon, 20 Apr 2009 10:52:56 +0000 (12:52 +0200)]
gallium: Fix glDraw/CopyPixels fragment program leak.
Jakob Bornecrantz [Sun, 19 Apr 2009 15:09:10 +0000 (16:09 +0100)]
trace: Enable dumping to be turned on and off
Jakob Bornecrantz [Sat, 18 Apr 2009 22:14:58 +0000 (23:14 +0100)]
st: Wait to create bitmap transfer until needed
Jakob Bornecrantz [Sat, 18 Apr 2009 22:13:56 +0000 (23:13 +0100)]
autoconf: Build gallium softpipe when driver=xlib
Jakob Bornecrantz [Sun, 19 Apr 2009 15:22:43 +0000 (16:22 +0100)]
progs/demos: Update ignore
Jakob Bornecrantz [Sat, 18 Apr 2009 22:16:54 +0000 (23:16 +0100)]
progs/glsl: Update ignore
José Fonseca [Sat, 18 Apr 2009 22:14:42 +0000 (23:14 +0100)]
softpipe: Simplify softpipe_create's prototype.
José Fonseca [Sat, 18 Apr 2009 22:06:11 +0000 (23:06 +0100)]
softpipe: Fix softpipe_is_texture_referenced prototype.
José Fonseca [Sat, 18 Apr 2009 20:22:32 +0000 (21:22 +0100)]
softpipe: Remove softpipe_winsys.
Not used by softpipe anyway.
Brian Paul [Sat, 18 Apr 2009 20:18:59 +0000 (14:18 -0600)]
demos: added glsl/texaaline.c program and overhaul the Makefile
Brian Paul [Sat, 18 Apr 2009 19:18:44 +0000 (13:18 -0600)]
demos: updated .gitignore list
Brian Paul [Sat, 18 Apr 2009 19:16:35 +0000 (13:16 -0600)]
docs: removed/added demo programs
Brian Paul [Sat, 18 Apr 2009 19:12:50 +0000 (13:12 -0600)]
demos: move demos/texobj.c to tests/
Brian Paul [Sat, 18 Apr 2009 19:10:51 +0000 (13:10 -0600)]
demos: move demos/occlude.c (old HP extension) to tests