Brian Paul [Fri, 1 May 2009 16:15:21 +0000 (10:15 -0600)]
st: when double buffered, only create front color buffer on demand
Before we always created the front color buffer, even if was never used.
This can save some memory.
Brian Paul [Fri, 1 May 2009 15:37:14 +0000 (09:37 -0600)]
Merge branch 'const-buffer-changes'
Conflicts:
src/mesa/drivers/dri/i965/brw_curbe.c
src/mesa/drivers/dri/i965/brw_vs_emit.c
src/mesa/drivers/dri/i965/brw_wm_glsl.c
Brian Paul [Fri, 1 May 2009 15:30:32 +0000 (09:30 -0600)]
mesa: create/use a fallback texture when bound texture is incomplete
When a GLSL sampler reads from an incomplete texture it should
return (0,0,0,1). Instead of jumping through hoops in all the drivers
to make this happen, just create/install a fallback texture with those
texel values.
Fixes piglit/fp-incomplete-tex on i965 and more importantly, fixes some
GPU lockups when trying to sample from missing surfaces. If a binding
table entry is NULL, it seems that sampling sometimes works, but not
always (lockup).
Todo: create a fallback texture for each type of texture target?
Brian Paul [Fri, 1 May 2009 15:24:19 +0000 (09:24 -0600)]
docs: initial 7.6 release notes page
Brian Paul [Fri, 1 May 2009 15:22:20 +0000 (09:22 -0600)]
mesa: bump version to 7.6 (devel)
Brian Paul [Fri, 1 May 2009 15:15:14 +0000 (09:15 -0600)]
configs: bump MESA_MINOR to 5
Brian Paul [Thu, 30 Apr 2009 23:27:51 +0000 (17:27 -0600)]
docs: fix typo
Corbin Simpson [Fri, 1 May 2009 14:29:14 +0000 (07:29 -0700)]
radeon: Don't even bother with things too big to fit into our card.
Corbin Simpson [Fri, 1 May 2009 13:01:52 +0000 (06:01 -0700)]
r300-gallium, radeon-winsys: Hide radeon_cs from r300 pipe.
Corbin Simpson [Fri, 1 May 2009 12:54:53 +0000 (05:54 -0700)]
r300-gallium, radeon-winsys: Space accounting.
It is no longer optional in current libdrm, so it was time to actually
start counting our BOs.
Corbin Simpson [Fri, 1 May 2009 12:03:56 +0000 (05:03 -0700)]
r300-gallium, radeon-winsys: Reorganize r300_winsys header, break ABI.
Make things more consistent, prepare for more function hooks.
Corbin Simpson [Fri, 1 May 2009 11:47:50 +0000 (04:47 -0700)]
r300-gallium: Don't bother with conditional double define.
We'll just forever leave it in r300_winsys.h since it's needed for
whichever winsys is hosting the pipe.
Corbin Simpson [Tue, 28 Apr 2009 11:37:56 +0000 (04:37 -0700)]
radeon: Fix cast and comment.
Brian Paul [Thu, 30 Apr 2009 23:17:31 +0000 (17:17 -0600)]
docs: asst. updates for 7.5 release
Brian Paul [Thu, 30 Apr 2009 23:13:22 +0000 (17:13 -0600)]
docs: bring in 7.4 doc updates from mesa_7_4_branch
Brian Paul [Thu, 30 Apr 2009 23:11:20 +0000 (17:11 -0600)]
docs: notes about new version number meaning in release notes
Brian Paul [Thu, 30 Apr 2009 23:04:01 +0000 (17:04 -0600)]
mesa: update linux-static, linux-x86-static configs
Brian Paul [Thu, 30 Apr 2009 23:03:54 +0000 (17:03 -0600)]
demos: silence warning
Tormod Volden [Thu, 30 Apr 2009 22:55:54 +0000 (16:55 -0600)]
mklib: replace if/expr with case
Saves forking an expr for every object.
Tormod Volden [Thu, 30 Apr 2009 22:52:56 +0000 (16:52 -0600)]
mesa: Prepend "-Wl," to linking options
Let mklib ignore -Wl options inside the object list when building
static libraries
Brian Paul [Thu, 30 Apr 2009 22:52:02 +0000 (16:52 -0600)]
i915simple: remove duplicated i915_context.c in C_SOURCES
Michel Dänzer [Thu, 30 Apr 2009 11:21:08 +0000 (13:21 +0200)]
r300: Increase reference count of texture objects referenced by current state.
Fixes a use-after-free reported in
http://bugs.freedesktop.org/show_bug.cgi?id=20539, so this possibly fixes that
bug. It has been confirmed to fix
http://bugs.freedesktop.org/show_bug.cgi?id=17895 .
Michel Dänzer [Thu, 30 Apr 2009 07:39:29 +0000 (09:39 +0200)]
gallium: Add SCons build support for the DRI state tracker.
Dan Nicholson [Thu, 30 Apr 2009 03:33:50 +0000 (20:33 -0700)]
egl: Don't install demodriver
I don't think anyone besides a developer would ever want to use the demo
egl driver. Furthermore, egl would only ever load demodriver if it was
set via EGL_DRIVER in the environment. In that case, I think you can
point it to your mesa source directory.
Jakob Bornecrantz [Wed, 29 Apr 2009 19:44:03 +0000 (20:44 +0100)]
progs/tests: Update ignores
Jakob Bornecrantz [Wed, 29 Apr 2009 19:17:21 +0000 (20:17 +0100)]
progs/tests: Add mipmap_comp for mipmap testing with compressed textures
Tom Fogal [Wed, 29 Apr 2009 16:32:46 +0000 (10:32 -0600)]
Use variable library name in pkg-config output.
Previously the pkg-config output files would contain e.g. `-lGL'
and `-lGLU', even if the user modified their configuration to
build libraries with different names. This modifies the
pkg-config inputs, and corresponding makery, so that modifying the
output library name will cause the appropriate updated name to
appear in the pkg-config `-l' option.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Dan Nicholson [Wed, 29 Apr 2009 19:11:43 +0000 (12:11 -0700)]
autoconf: Add switch for optional EGL
EGL doesn't build on all platforms, so allow people to opt out.
Dan Nicholson [Wed, 29 Apr 2009 13:49:27 +0000 (06:49 -0700)]
autoconf: Clean up some m4 usage
m4_fatal is equivalent to m4_errprint + m4_exit.
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 [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.
Brian Paul [Mon, 27 Apr 2009 16:46:30 +0000 (10:46 -0600)]
i965: #include prog_print.h to silence warning
Brian Paul [Mon, 27 Apr 2009 16:45:41 +0000 (10:45 -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
(cherry picked from master, commit
dc9705d12d162ba6d087eb762e315de9f97bc456)
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
Brian Paul [Fri, 24 Apr 2009 22:33:46 +0000 (16:33 -0600)]
i965: rework GLSL/WM register allocation
Use a bitvector of used/free flags.
If we run out of temps, examine the live intervals of the temp regs in
the program and free those which are no longer alive.
Also, enable the new WM const buffer code.
Brian Paul [Fri, 24 Apr 2009 22:28:36 +0000 (16:28 -0600)]
mesa: refactor code and make _mesa_find_temp_intervals() public
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
Brian Paul [Fri, 24 Apr 2009 15:43:44 +0000 (09:43 -0600)]
mesa: signal _NEW_PROGRAM_CONSTANTS instead of _NEW_PROGRAM
Use _NEW_PROGRAM_CONSTANTS when changing constant/uniform buffer values.
Binding a new program/shader sets both _NEW_PROGRAM and _NEW_PROGRAM_CONSTANTS.
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.