José Fonseca [Fri, 23 Jan 2009 12:27:10 +0000 (12:27 +0000)]
glut: Do not rely on GLAPIENTRY symbol.
GLEW does some defining/undefining of GLAPIENTRY making it unreliable. GLEW
should also be fixed, but removing the dependency on this symbol.
This also restores the ability for GLUT to be used with -fvisibility=hidden.
The downside of this is that ld warns of:
Warning: size of symbol `glutBitmapXXXXX' changed from 4 in glut_xxx.o to 16 in glut_xxxx.o
Due to the fonts being declared void * (*4 bytes), but defined as 16byte static
structure. I'll fix that in a later commit.
See also commits:
-
f321f16e83cae427d6496c11955fd1c898d0395c
-
d084982240bafba0169c4a6cacf02d45d6cfd8c1
José Fonseca [Thu, 22 Jan 2009 14:29:01 +0000 (14:29 +0000)]
glut: Don't include mesa_wgl.h on MinGW builds.
windows.h header recent MinGW versions already declare the WGL API, and
including mesa_wgl.h actually cause build failures.
José Fonseca [Thu, 22 Jan 2009 14:26:30 +0000 (14:26 +0000)]
scons: Don't define UNICODE on windows builds.
It creates problems in many libraries (glut, glew) which are not unicode
aware.
Alan Hourihane [Thu, 22 Jan 2009 09:43:42 +0000 (09:43 +0000)]
Merge commit 'origin/master' into gallium-0.2
Conflicts:
windows/VC8/mesa/osmesa/osmesa.vcproj
windows/VC8/progs/demos/gears.vcproj
windows/VC8/progs/progs.sln
Eric Anholt [Tue, 13 Jan 2009 20:50:38 +0000 (12:50 -0800)]
i915: Add decode for PS in batchbuffers.
Eric Anholt [Fri, 9 Jan 2009 03:15:04 +0000 (19:15 -0800)]
i965: Remove gratuitous whitespace in INTEL_DEBUG=wm output.
Eric Anholt [Fri, 9 Jan 2009 03:00:10 +0000 (19:00 -0800)]
i965: Use _mesa_num_inst_src_regs() instead of keeping a copy of its contents.
Younes Manton [Wed, 21 Jan 2009 21:55:35 +0000 (16:55 -0500)]
nouveau: Map correct mip level when using the shadow (nv30, nv40).
Patrice Mandin [Wed, 21 Jan 2009 20:59:10 +0000 (21:59 +0100)]
nouveau: nv30 does not support separate blend functions for alpha and rgb
Kristian Høgsberg [Wed, 21 Jan 2009 16:47:01 +0000 (11:47 -0500)]
[intel] Remove remaining references to intel_wait_flips().
Oops.
Thomas Henn [Wed, 21 Jan 2009 16:31:58 +0000 (09:31 -0700)]
windows: fix output dir for glut project file
Brian Paul [Wed, 21 Jan 2009 16:05:02 +0000 (09:05 -0700)]
swrast: fix redundant texture application in affine_textured_triangle().
This function does simple texture mapping so disable normal texture mapping
before we call _swrast_write_rgba_span() so that we don't do it twice.
Brian Paul [Wed, 21 Jan 2009 15:18:07 +0000 (08:18 -0700)]
mesa: add some debug assertions to detect null current texture object pointers
See bug #17895. These assertions could be removed when this is resolved.
Karl Schultz [Wed, 21 Jan 2009 14:59:11 +0000 (07:59 -0700)]
windows: another round of VC8 project file updates
New static configs generate DLLs that do not have a dependency on the MSCVR*
DLL's.
Brian Paul [Wed, 21 Jan 2009 14:57:45 +0000 (07:57 -0700)]
Revert "windows: new VC8 projects statically linked against libcmt"
This reverts commit
bbda892c551e7d3f2d94cc877cc6e80f8568fa99.
Static configs rolled into regular project files (in next commit).
Provided by Karl Schultz.
Jakob Bornecrantz [Wed, 21 Jan 2009 14:01:13 +0000 (15:01 +0100)]
progs: Ignores
Brian Paul [Tue, 20 Jan 2009 22:36:01 +0000 (15:36 -0700)]
docs: document glXMakeContextCurrent() and Windows fixes
Ian Romanick [Tue, 20 Jan 2009 21:55:18 +0000 (13:55 -0800)]
Fix issues with glXMakeContextCurrent and glXMakeCurrentReadSGI
There were several bugs in the infrastructure for these two routines.
1. GLX_ALIAS was incorrectly used. The function and its alias must be
identical! glXMakeContextCurrent / glXMakeCurrentReadSGI and
MakeContextCurrent had different parameters. This caused the last
parameter of MakeContextCurrent to get random values.
2. We based the implementation of glXMakeContextCurrent on the manual
page instead of the GLX spec. The GLX spec says that
glXMakeContextCurrent can be passed a Window as a drawable. When this
happens, it will behave just like glXMakeCurrentReadSGI or
glXMakeCurrent.
3. If there was a problem finding or creating the DRI drawable,
MakeContextCurrent would crash instead of returning an error.
This commit fixes all three issues, and fixes bug #18367 and bug #19625.
Jakob Bornecrantz [Tue, 20 Jan 2009 18:08:52 +0000 (19:08 +0100)]
i915: Fix gem backend after surface changes
Timo Aaltonen [Tue, 20 Jan 2009 16:45:35 +0000 (11:45 -0500)]
[intel] Go back to using the typedef for the sarea struct
The upstream linux kernel headers and libdrm kernel headers disagree on the
tag name for the sarea struct: _drm_i915_sarea vs drm_i915_sarea. They
both typedef it to drm_i915_sarea_t though, so just use that.
Owain G. Ainsworth [Wed, 14 Jan 2009 01:14:32 +0000 (01:14 +0000)]
Remove intel pageflipping support in its entirety.
It's been broken and deprecated for a while, so it's time to die. This has the
wonderful benefit of cleaning up the code a fair amount; making it marginally
less twisty.
I'm unsure if the for loops in IntelWindowMoved are still needed.
Brian Paul [Tue, 20 Jan 2009 16:21:32 +0000 (09:21 -0700)]
glsl: silence unused var warnings
Brian Paul [Tue, 20 Jan 2009 16:20:41 +0000 (09:20 -0700)]
mesa: silence uninitialized var warnings
Brian Paul [Tue, 20 Jan 2009 16:17:12 +0000 (09:17 -0700)]
mesa: silence compiler warning at -O2
Brian Paul [Tue, 20 Jan 2009 16:13:41 +0000 (09:13 -0700)]
mesa: bump version to 7.3-rc3
Brian Paul [Tue, 20 Jan 2009 16:13:06 +0000 (09:13 -0700)]
mesa: inlclude whole windows/VC8/ directory in tarballs
Thomas Henn [Tue, 20 Jan 2009 16:05:18 +0000 (09:05 -0700)]
windows: new VC8 projects statically linked against libcmt
Karl Schultz [Tue, 20 Jan 2009 15:58:40 +0000 (08:58 -0700)]
windows: more VC8 project file updates
Make some compiler flags per-file.
Remove driverfuncs.c from osmesa project.
José Fonseca [Tue, 20 Jan 2009 12:22:49 +0000 (12:22 +0000)]
gallium: Remove the standalone surfaces.
This commit is mostly just a cosmetic change that cleans-up the interfaces,
replacing pipe_winsys::surface_* calls by
/**
* Allocate storage for a display target surface.
*
* Often surfaces which are meant to be blitted to the front screen (i.e.,
* display targets) must be allocated with special characteristics, memory
* pools, or obtained directly from the windowing system.
*
* This callback is invoked by the pipe_screenwhen creating a texture marked
* with the PIPE_TEXTURE_USAGE_DISPLAY_TARGET flag to get the underlying
* buffer storage.
*/
struct pipe_buffer *(*surface_buffer_create)(struct pipe_winsys *ws,
unsigned width, unsigned height,
enum pipe_format format,
unsigned usage,
unsigned *stride);
Most drivers were updated but not all were tested. Use the softpipe pipe
driver and the xlib winsys changes as a reference when fixing other drivers.
Thomas Hellstrom [Tue, 20 Jan 2009 10:40:51 +0000 (11:40 +0100)]
Add a comment about _tnl_emit_indexed_vertices_to_buffer.
Thomas Hellstrom [Tue, 20 Jan 2009 10:15:57 +0000 (11:15 +0100)]
tnl: Add a utility to emit indexed vertices to a DMA buffer.
This utility is useful for hardware that doesn't support HW index buffers.
It's a bit inefficient but appears to give a substantial performance gain,
as we can emit tri strips that would otherwise be split into triangles.
Thomas Hellstrom [Tue, 20 Jan 2009 10:13:38 +0000 (11:13 +0100)]
Fix store texel for argb4444.
Thomas Hellstrom [Tue, 20 Jan 2009 10:13:05 +0000 (11:13 +0100)]
Fix store texel for argb8888_rev.
Thomas Hellstrom [Tue, 20 Jan 2009 10:12:17 +0000 (11:12 +0100)]
Add RGBA4444 and RGBA5551 texture formats.
Thomas Hellstrom [Tue, 20 Jan 2009 10:07:10 +0000 (11:07 +0100)]
dri1: Add a macro to validate two dri drawables in one go.
Dri drivers often may validate first a write drawable and then a read
drawable ("readable"). However, the hardware lock may be unlocked when
validating the readable, causing the write drawable status to be stale.
Drivers should use this macro instead when validating two drawables.
Brian Paul [Tue, 13 Jan 2009 21:39:55 +0000 (14:39 -0700)]
mesa: fix build of stand-alone glslcompiler driver
Keith Whitwell [Mon, 19 Jan 2009 20:01:45 +0000 (20:01 +0000)]
xlib: fix dependencies
Brian Paul [Mon, 19 Jan 2009 19:53:58 +0000 (12:53 -0700)]
statetracker: copy back color buffer to front buffer when needed
Fixes front-buffer rendering when following a SwapBuffers.
See progs/tests/rubberband.c
Brian Paul [Mon, 19 Jan 2009 19:24:21 +0000 (12:24 -0700)]
gallium: minor reformatting
Keith Whitwell [Mon, 19 Jan 2009 19:43:21 +0000 (19:43 +0000)]
util: add reduced prim helper
Brian Paul [Mon, 19 Jan 2009 19:03:17 +0000 (12:03 -0700)]
tests: test pseudo-XOR blend mode.
GL_XOR logicop mode can be approximated with blending by computing 1 - dst.
Here's a couple test programs for that.
Brian Paul [Mon, 19 Jan 2009 18:51:23 +0000 (11:51 -0700)]
gallium: use align() intead of round_up()
Brian Paul [Mon, 12 Jan 2009 19:01:09 +0000 (12:01 -0700)]
tgsi: change an if to an else-if, added const qual, added comments
Alan Hourihane [Mon, 19 Jan 2009 15:40:30 +0000 (15:40 +0000)]
dri: add fake front definitions
Alan Hourihane [Mon, 19 Jan 2009 15:40:30 +0000 (15:40 +0000)]
dri: add fake front definitions
Thomas Henn [Mon, 19 Jan 2009 15:23:22 +0000 (08:23 -0700)]
windows: updated VC8 project files
Keith Whitwell [Mon, 19 Jan 2009 10:32:35 +0000 (10:32 +0000)]
Merge commit 'origin/gallium-0.2' into gallium-xlib-rework
Conflicts:
src/gallium/state_trackers/glx/xlib/fakeglx.c
src/gallium/state_trackers/glx/xlib/xm_api.c
src/gallium/winsys/xlib/xmesaP.h
Keith Whitwell [Mon, 19 Jan 2009 10:29:27 +0000 (10:29 +0000)]
xlib: fix compilation after xmesa header moves
Keith Whitwell [Mon, 19 Jan 2009 10:15:04 +0000 (10:15 +0000)]
Merge commit 'origin/gallium-0.2' into gallium-xlib-rework
Younes Manton [Mon, 19 Jan 2009 02:38:48 +0000 (21:38 -0500)]
g3dvl: Some cleanups.
Younes Manton [Sun, 18 Jan 2009 23:11:18 +0000 (18:11 -0500)]
g3dvl: Ref count everywhere.
Younes Manton [Wed, 14 Jan 2009 05:28:58 +0000 (00:28 -0500)]
g3dvl: Mark all buffers for incoming frame data as discardable.
Younes Manton [Wed, 14 Jan 2009 05:27:42 +0000 (00:27 -0500)]
nouveau: Rename buffer on map if discardable, busy, and write-only.
Younes Manton [Wed, 14 Jan 2009 05:21:24 +0000 (00:21 -0500)]
gallium: Add PIPE_BUFFER_USAGE_DISCARD.
When passed to map() signals that the buffer's previous contents are
not required, allowing the driver to allocate a new buffer if the
current buffer can not be mapped immediately.
Younes Manton [Wed, 14 Jan 2009 03:58:43 +0000 (22:58 -0500)]
g3dvl: Return BadAlloc if we can't create an XvMC surface.
Younes Manton [Mon, 12 Jan 2009 18:19:07 +0000 (13:19 -0500)]
g3dvl: Follow mesa naming conventions for src dirs.
Jakob Bornecrantz [Mon, 19 Jan 2009 01:29:54 +0000 (02:29 +0100)]
egl: eglinfo load i915 driver
Jakob Bornecrantz [Mon, 19 Jan 2009 01:24:29 +0000 (02:24 +0100)]
i915: Build gem and egl winsys by default
Jakob Bornecrantz [Mon, 19 Jan 2009 01:22:34 +0000 (02:22 +0100)]
i915: Make gem submit commands
Jakob Bornecrantz [Mon, 19 Jan 2009 01:00:35 +0000 (02:00 +0100)]
egl: Fix swap and creation of front buffer
Brian Paul [Sun, 18 Jan 2009 16:59:07 +0000 (09:59 -0700)]
glx: gcc 2.95 build fix (move declaration before code)
Adapted from patch by Matthieu Herbb <matthieu.herrb@laas.fr>
Jakob Bornecrantz [Sun, 18 Jan 2009 14:49:06 +0000 (15:49 +0100)]
i915: Use new egl state_tracker
Jakob Bornecrantz [Sun, 18 Jan 2009 14:36:47 +0000 (15:36 +0100)]
egl: Add a egl state_tracker that use Gallium
This works on top Gallium and KMS. The only thing that
does not work currently is swap buffers for shown mesa
screens. So the only fun thing this will produce is a
white screen.
The driver wishing to us the state_tracker needs to
implement the intrace as define in drm_api.h located
in gallium/include/state_tracker. And also have a
working KMS implementation.
Jakob Bornecrantz [Sun, 18 Jan 2009 14:35:50 +0000 (15:35 +0100)]
i915: Update gem backend a bit
Jakob Bornecrantz [Sun, 18 Jan 2009 12:40:24 +0000 (13:40 +0100)]
egl: Make eglscreen sleep for five seconds
Jakob Bornecrantz [Sun, 18 Jan 2009 04:14:01 +0000 (05:14 +0100)]
egl: Add eglscreen to help debug egl mesa screen
Jakob Bornecrantz [Sat, 17 Jan 2009 19:50:00 +0000 (20:50 +0100)]
egl: Make eglinfo print screen info
Keith Whitwell [Sat, 17 Jan 2009 18:45:20 +0000 (18:45 +0000)]
debug: add noprefix version of debug_dump_enum
Keith Whitwell [Sat, 17 Jan 2009 17:12:30 +0000 (17:12 +0000)]
xlib: don't explicitly create the pipe_winsys struct
Keith Whitwell [Sat, 17 Jan 2009 17:06:14 +0000 (17:06 +0000)]
xlib: don't explicitly create the pipe_winsys struct
Brian Paul [Fri, 16 Jan 2009 20:33:19 +0000 (13:33 -0700)]
i965: fix polygon culling bug when rendering to a texture/FBO
Since we use an inverted viewport transformation for render to texture, that
inverts front/back polygon orientation.
Now glCullFace(GL_FRONT / GL_BACK) works correctly.
Brian Paul [Fri, 16 Jan 2009 20:31:04 +0000 (13:31 -0700)]
intel: added intel_rendering_to_texture() helper function.
When we're rendering to textures we have to invert the viewport transformation.
This helper cleans up that test and can be used elsewhere...
Brian Paul [Fri, 16 Jan 2009 20:25:41 +0000 (13:25 -0700)]
mesa: remove GL_DEPTH_TEST + no depth buffer test
One could enable depth testing before binding an FBO that has a depth buffer
so this test is no longer useful or correct.
Alan Hourihane [Fri, 16 Jan 2009 16:44:53 +0000 (16:44 +0000)]
Merge commit 'origin/master' into gallium-0.2
Conflicts:
src/mesa/shader/slang/slang_compile.c
Brian Paul [Fri, 16 Jan 2009 16:30:37 +0000 (09:30 -0700)]
glsl: fix broken sampler assignments
José Fonseca [Wed, 14 Jan 2009 13:03:09 +0000 (13:03 +0000)]
scons: Use -std=gnu99
It a scary world out there: people use all sort of non standard C stuff,
and we must enable support for that in here in order to build.
-pedantic still warn us when we use that nonstandard though.
José Fonseca [Wed, 14 Jan 2009 12:56:12 +0000 (12:56 +0000)]
stw: Dispatch to our stw_winsys::flush_front_buffer
pipe_winsys::flush_front_buffer should die someday, but this is good enough
for now.
Xiang, Haihao [Fri, 16 Jan 2009 08:06:33 +0000 (16:06 +0800)]
i915: fallback on transfer mode
Karl Schultz [Thu, 15 Jan 2009 18:32:47 +0000 (11:32 -0700)]
windows: updated VC8 project file
Karl Schultz [Thu, 15 Jan 2009 14:05:15 +0000 (07:05 -0700)]
windows: updated mesa.def file
Brian Paul [Thu, 15 Jan 2009 14:04:52 +0000 (07:04 -0700)]
glsl: use _mesa_sprintf()
Brian Paul [Thu, 15 Jan 2009 14:04:36 +0000 (07:04 -0700)]
glsl: move declaration before code
Alan Hourihane [Thu, 15 Jan 2009 14:02:09 +0000 (14:02 +0000)]
mesa: tweak to formatting
Alan Hourihane [Thu, 15 Jan 2009 11:51:39 +0000 (11:51 +0000)]
mesa: check frambuffer complete status before rendering
Alan Hourihane [Thu, 15 Jan 2009 11:54:41 +0000 (11:54 +0000)]
mesa: small cleanup
Alan Hourihane [Thu, 15 Jan 2009 11:53:59 +0000 (11:53 +0000)]
mesa: revert partial commit for 0x0 render targets
Alan Hourihane [Thu, 15 Jan 2009 11:51:39 +0000 (11:51 +0000)]
mesa: check frambuffer complete status before rendering
Jakob Bornecrantz [Thu, 15 Jan 2009 11:28:23 +0000 (12:28 +0100)]
mesa: Fix merge conflicts
Brian Paul [Thu, 15 Jan 2009 00:01:35 +0000 (17:01 -0700)]
mesa: bump version to 7.3-rc2
Brian Paul [Wed, 14 Jan 2009 19:35:43 +0000 (12:35 -0700)]
glsl: fix comment
Brian Paul [Wed, 14 Jan 2009 19:33:06 +0000 (12:33 -0700)]
glsl: minor clean-up for rect sampler test
Brian Paul [Wed, 14 Jan 2009 23:48:54 +0000 (16:48 -0700)]
r300: work-around FRAG_BIT_FOGC warning/error
See bug 17929.
Fog doesn't actually work, but the often complained about warning is
silenced.
Brian Paul [Wed, 14 Jan 2009 23:42:19 +0000 (16:42 -0700)]
i965: asst. fixes, work-arounds for FBOs and render to texture
OpenGL allows mixing and matching depth and stencil renderbuffers in
framebuffer objects while the hardware really only supports interleaved
depth/stencil buffers. This makes for some tricky buffer management.
An extra wrinkle is the situation where the user allocates a 16bpp depth
texture or renderbuffer then tries to render to it along with a stencil
buffer. We'd have to promote the 16bpp Z values to 24-bit Z values and
mix in the stencil values to setup the depth/stencil renderbuffer.
There's no support for that now, so always allocate 32bpp depth textures/
renderbuffers for now.
Brian Paul [Wed, 14 Jan 2009 23:28:55 +0000 (16:28 -0700)]
i965: fix incorrect renderbuffer DataType assignment
Brian Paul [Wed, 14 Jan 2009 23:26:41 +0000 (16:26 -0700)]
i965: fix some FBO depth/stencil assertions
Alan Hourihane [Wed, 14 Jan 2009 23:33:41 +0000 (23:33 +0000)]
Merge commit 'origin/master' into gallium-0.2
Conflicts:
docs/install.html
docs/relnotes-7.3.html
src/mesa/shader/slang/slang_codegen.c
src/mesa/shader/slang/slang_compile.c
src/mesa/shader/slang/slang_emit.c
src/mesa/shader/slang/slang_preprocess.c
src/mesa/shader/slang/slang_preprocess.h
Ian Romanick [Wed, 14 Jan 2009 20:46:06 +0000 (12:46 -0800)]
intel: SW fallback maps texture images, not texture coordinates
Keith Whitwell [Wed, 14 Jan 2009 20:33:06 +0000 (20:33 +0000)]
trivial: clear with random color
Brian Paul [Wed, 14 Jan 2009 19:16:00 +0000 (12:16 -0700)]
glsl: propagate pragma info down into compiler from preprocessor
Brian Paul [Wed, 14 Jan 2009 19:07:25 +0000 (12:07 -0700)]
windows: remove reference to swizzle.c file