Jakob Bornecrantz [Tue, 20 Jan 2009 18:08:52 +0000 (19:08 +0100)]
i915: Fix gem backend after surface changes
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.
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 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
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
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
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
Brian Paul [Wed, 14 Jan 2009 18:58:45 +0000 (11:58 -0700)]
glsl: simplify IR storage for samplers
Don't overload the Size field with the texture target, to avoid confusion.
Brian Paul [Wed, 14 Jan 2009 18:50:32 +0000 (11:50 -0700)]
mesa: fix incorrect transformation of GL_SPOT_DIRECTION
This was changed between GL 1.0 and 1.1. Mesa still had the 1.0 behaviour.
Ian Romanick [Wed, 14 Jan 2009 18:05:40 +0000 (10:05 -0800)]
Treat image units and coordinate units differently.
Previously MaxTextureUnits was used to validate both texture image
units and texture coordinate units in fragment programs. Instead, use
MaxTextureCoordUnits for texture coordinate units and
MaxTextureImageUnits for texture image units.
Fixes bugzilla #19468.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Alan Hourihane [Wed, 14 Jan 2009 17:01:16 +0000 (17:01 +0000)]
mesa: add new samplers_array test
Alan Hourihane [Wed, 14 Jan 2009 16:53:22 +0000 (16:53 +0000)]
mesa: handle some cases of 0x0 render targets
Alan Hourihane [Wed, 14 Jan 2009 16:32:44 +0000 (16:32 +0000)]
glsl: fix regression from sampler arrays commit
Alan Hourihane [Wed, 14 Jan 2009 16:32:44 +0000 (16:32 +0000)]
glsl: fix regression from sampler arrays commit
Brian Paul [Wed, 14 Jan 2009 15:33:45 +0000 (08:33 -0700)]
i965: indentation fixes
Brian Paul [Tue, 13 Jan 2009 17:40:19 +0000 (10:40 -0700)]
i965: allow larger AA points on fallback path
Brian Paul [Tue, 13 Jan 2009 17:38:15 +0000 (10:38 -0700)]
i965: fix indentation
Brian Paul [Tue, 13 Jan 2009 17:26:25 +0000 (10:26 -0700)]
i965: comment for emit_kil()
Brian Paul [Tue, 13 Jan 2009 17:20:15 +0000 (10:20 -0700)]
mesa: put _NV suffix on a few opcodes
Brian Paul [Tue, 13 Jan 2009 17:09:02 +0000 (10:09 -0700)]
i965: fix indentation
Alan Hourihane [Wed, 14 Jan 2009 11:34:29 +0000 (11:34 +0000)]
egl: fix makecurrent with null drawable/context
José Fonseca [Wed, 14 Jan 2009 11:39:12 +0000 (11:39 +0000)]
gallium: Disable memory debugging for Windows OGL.
Unfortunately both Mesa and Gallium use the same defines for memory
allocation (MALLOC, FREE, etc), and worse, some times memory is allocated
with one set and freed with the other set, causing the homegrown memory
debugger to trip on itself.
In the future mesa and gallium should use different names, but for now,
memory debugging on Windows will have to be carried with different tools..
José Fonseca [Wed, 14 Jan 2009 11:36:14 +0000 (11:36 +0000)]
progs: List tri-clear.
José Fonseca [Wed, 14 Jan 2009 11:36:02 +0000 (11:36 +0000)]
scons: Use .a suffix for MinGW.
This allows to build MinGW and MSVC within the same dir.
Jakob Bornecrantz [Mon, 5 Jan 2009 10:44:56 +0000 (11:44 +0100)]
intel: Add a none working GEM backend for intel
Jonathan Adamczewski [Wed, 14 Jan 2009 01:37:46 +0000 (12:37 +1100)]
cell: Specify constant as float for CEILF().
Without the f, the constant is treated as a double, resulting in
slower arithmetic and libgcc conversion calls each time CEILF()
is used.
Xiang, Haihao [Wed, 14 Jan 2009 01:32:55 +0000 (09:32 +0800)]
intel: bump driver date
Alan Hourihane [Tue, 13 Jan 2009 23:59:18 +0000 (23:59 +0000)]
glsl: fix a comment typo
Alan Hourihane [Tue, 13 Jan 2009 23:54:46 +0000 (23:54 +0000)]
glsl: support sampler arrays.
Alan Hourihane [Tue, 13 Jan 2009 23:59:18 +0000 (23:59 +0000)]
glsl: fix a comment typo
Alan Hourihane [Tue, 13 Jan 2009 23:54:46 +0000 (23:54 +0000)]
glsl: support sampler arrays.
Brian Paul [Tue, 13 Jan 2009 22:09:13 +0000 (15:09 -0700)]
docs: #pragma now handled
Brian Paul [Tue, 13 Jan 2009 22:06:52 +0000 (15:06 -0700)]
glsl: add preprocessor support for #pragma
Two forms are supported:
Pragmas are silently ignored at this time.
Ian Romanick [Sat, 10 Jan 2009 02:28:38 +0000 (18:28 -0800)]
Add language about implicit flush and command completion
Copied language from the glXSwapBuffers manual page about the implicit
glFlush and expected command completion. This just codifies what
people already expect from glXCopySubBufferMESA. The intention of
this command is to work like glXSwapBuffers but on a sub-rectangle of
the drawable.
Acked-by: Brian Paul <brianp@vmware.com>
Keith Whitwell [Tue, 13 Jan 2009 19:53:40 +0000 (19:53 +0000)]
xlib: split off cell to its own backend
Also remove compile-time USE_XSHM flag. Still check for XSHM at runtime
though.
Keith Whitwell [Tue, 13 Jan 2009 18:08:24 +0000 (18:08 +0000)]
xlib: allow winsys's to register themselves with glx/xlib state tracker
Brian Paul [Tue, 13 Jan 2009 16:03:43 +0000 (09:03 -0700)]
docs: fixes since 7.3-rc1
Karl Schultz [Tue, 13 Jan 2009 16:01:34 +0000 (09:01 -0700)]
windows: try to create a context in wglCreateLayerContext()
Ben Skeggs [Tue, 13 Jan 2009 03:25:14 +0000 (13:25 +1000)]
nv50: fix progs/tests/manytex
Previously all squares were textured with the same texture.. not quite what
the demo was supposed to look like!
Ben Skeggs [Tue, 13 Jan 2009 03:19:22 +0000 (13:19 +1000)]
nv50: get glxgears showing all 3 gears instead of 1!!
This fixes a lot of other things where not all the geometry got drawn
also.
Ben Skeggs [Tue, 13 Jan 2009 02:49:53 +0000 (12:49 +1000)]
nv50: change some magic reg, makes more things work
No real idea what this does.. but a lot of things that misrendered and
made the GPU throw a DATA_ERROR now work.. I'm wondering what side-effects
we'll see from this :)
Ben Skeggs [Tue, 13 Jan 2009 01:44:30 +0000 (11:44 +1000)]
nv50: add DXTn formats
Ben Skeggs [Tue, 13 Jan 2009 00:58:17 +0000 (10:58 +1000)]
nv50: shadow mapping
Ben Skeggs [Tue, 13 Jan 2009 00:55:06 +0000 (10:55 +1000)]
nv50: aniso
Ben Skeggs [Tue, 13 Jan 2009 00:44:52 +0000 (10:44 +1000)]
nv50: occlusion queries
Not quite working, but the general idea is right I think.
Ben Skeggs [Mon, 12 Jan 2009 23:56:40 +0000 (09:56 +1000)]
nv50: implement KIL enough for progs/fp/kil to work
Jonathan Adamczewski [Tue, 13 Jan 2009 03:02:18 +0000 (14:02 +1100)]
cell: Add missing suffix to SHUFFLE macro
Jonathan Adamczewski [Mon, 12 Jan 2009 23:24:49 +0000 (16:24 -0700)]
cell: allocate batch buffers w/ 16-byte alignment
Replace cell_batch{align,alloc)*() with cell_batch_alloc16(), allocating
multiples of 16 bytes that are 16 byte aligned.
Opcodes are stored in preferred slot of SPU machine word.
Various structures are explicitly padded to 16 byte multiples.
Added STATIC_ASSERT().