Ian Romanick [Tue, 2 Jun 2009 17:33:55 +0000 (18:33 +0100)]
Fix compiling indirect.c when GLX_DIRECT_RENDERING is not defined
DO NOT HAND-EDIT GLX PROTOCOL FILES. Seriously. How can you miss the giant
comment at the top of the file?
Ian Romanick [Wed, 3 Jun 2009 16:49:05 +0000 (17:49 +0100)]
Fast path when rebinding the same texture in single context environment
If there is no shared context, there is no purpose in rebinding the same
texture. In some artificial tests this improves performance 10% - 30%.
Brian Paul [Wed, 3 Jun 2009 03:46:17 +0000 (21:46 -0600)]
st/mesa: minor clean-ups, reformatting, etc
Brian Paul [Wed, 3 Jun 2009 03:41:03 +0000 (21:41 -0600)]
docs: remove version info carried over from 7.5
Brian Paul [Wed, 3 Jun 2009 03:30:22 +0000 (21:30 -0600)]
docs: clarify GL_ARB_copy_buffer driver support
Brian Paul [Wed, 3 Jun 2009 03:24:28 +0000 (21:24 -0600)]
st/mesa: implement/enable GL_ARB_copy_buffer extension
Brian Paul [Wed, 3 Jun 2009 03:23:28 +0000 (21:23 -0600)]
mesa: fix error test mistake in _mesa_CopyBufferSubData()
Brian Paul [Wed, 3 Jun 2009 02:33:09 +0000 (20:33 -0600)]
docs: added GL_ARB_copy_buffer extension
Brian Paul [Wed, 3 Jun 2009 02:32:34 +0000 (20:32 -0600)]
mesa: enable GL_ARB_copy_buffer for software drivers
Brian Paul [Wed, 3 Jun 2009 02:32:15 +0000 (20:32 -0600)]
mesa: plug in new _mesa_CopyBufferSubData() functions
Brian Paul [Wed, 3 Jun 2009 02:29:57 +0000 (20:29 -0600)]
mesa: _mesa_CopyBufferSubData() function, and driver fall-back
Brian Paul [Wed, 3 Jun 2009 02:31:41 +0000 (20:31 -0600)]
mesa: new state for GL_ARB_copy_buffer
Brian Paul [Wed, 3 Jun 2009 02:31:02 +0000 (20:31 -0600)]
mesa: new CopyBufferSubData() driver hook
Brian Paul [Wed, 3 Jun 2009 02:29:11 +0000 (20:29 -0600)]
glapi: regenerated files for GL_ARB_copy_buffer
Brian Paul [Wed, 3 Jun 2009 02:28:04 +0000 (20:28 -0600)]
glapi: include ARB_copy_buffer.xml
Brian Paul [Wed, 3 Jun 2009 02:27:08 +0000 (20:27 -0600)]
glapi: GL_ARB_copy_buffer xml info
Joakim Sindholt [Tue, 2 Jun 2009 20:23:17 +0000 (22:23 +0200)]
r300-gallium: strip swtcl to the bare minimum
This was originally taken from i915 and it shows.
Basically most the stuff in r300_render.c was never needed and
shouldn't have worked in the first place
Ian Romanick [Mon, 18 May 2009 20:26:16 +0000 (13:26 -0700)]
intel: Clip to window after calling Driver.TexImage2D
This prevents the width / height from being clipped to the window size before
the texture is allocated. This matches intelCopyTexImage1D.
This should fix bug #21227
Signed-off-by: Ian Romanick <ian.romanick@intel.com>
Eric Anholt [Tue, 2 Jun 2009 13:53:40 +0000 (06:53 -0700)]
i915: Don't put VBOs in graphics memory unless required for an operation.
This saves doing swtnl from uncached memory, which is painful. Improves
clutter test-text performance by 10% since it started using VBOs.
Eric Anholt [Thu, 28 May 2009 17:34:08 +0000 (10:34 -0700)]
i965: Support OPCODE_TRUNC in the brw_wm_fp.c code.
This gets two more glean glsl1 tests using the non-GLSL path.
Brian Paul [Mon, 1 Jun 2009 21:01:33 +0000 (15:01 -0600)]
Merge branch 'mesa_7_5_branch'
Brian Paul [Mon, 1 Jun 2009 20:59:11 +0000 (14:59 -0600)]
st/mesa: fix incorrect sprite origin when drawing to FBO/texture
Need to take the draw buffer's up/down orientation into consideration
when setting the sprite_coord_mode field.
Fixes inverted sprites when drawing into an FBO.
Brian Paul [Mon, 1 Jun 2009 20:28:57 +0000 (14:28 -0600)]
draw: reset extra_vp_outputs.slot to zero in widepoint_flush()
Fixes a crash when clearing the window with a quad after drawing large
points. We were asking the draw module how many vertex shader outputs
there were and got 3 instead of 2. This led to creating vertices with
too many attributes and trying to read invalid memory.
We reset extra_vp_outputs.slot to zero in the aaline/aapoint stage's
flush functions already.
This omission was just an oversight in the wide_point stage.
Corbin Simpson [Mon, 1 Jun 2009 19:04:29 +0000 (12:04 -0700)]
r300-gallium: Slightly hacky fix for glxgears-style TCL.
Brian Paul [Mon, 1 Jun 2009 17:23:39 +0000 (11:23 -0600)]
demos: add missing dependencies for util files
Dan Nicholson [Fri, 22 May 2009 16:39:02 +0000 (09:39 -0700)]
Use separate $(MINSTALL) for installing libraries
The special feature of bin/minstall to copy symlinks is only ever needed
when installing libraries which may have .so symlinks. All the headers
and directories can use a normal install program.
These two modes are separated as $(INSTALL) and $(MINSTALL) to allow the
user (or autoconf) to override installing normal files as they please.
An autoconf check for the install program has been added and will be
used in preference to minstall when available.
Fixes bug 16053.
Jakob Bornecrantz [Mon, 1 Jun 2009 10:20:05 +0000 (11:20 +0100)]
progs/rbug: Add small remote debugging cli applications
Jakob Bornecrantz [Mon, 1 Jun 2009 10:19:55 +0000 (11:19 +0100)]
trace/rbug: Add rbug integration for remote debugging
Jakob Bornecrantz [Thu, 14 May 2009 23:07:05 +0000 (01:07 +0200)]
rbug: Add Gallium Remote Debugger Protocol code
This is the (de)marshalling and connection managment code
Jakob Bornecrantz [Sun, 22 Mar 2009 03:22:33 +0000 (04:22 +0100)]
util: Add simple network functions
José Fonseca [Mon, 1 Jun 2009 00:16:26 +0000 (17:16 -0700)]
wgl: Cleanup framebuffer destruction logic.
José Fonseca [Sun, 31 May 2009 18:10:22 +0000 (11:10 -0700)]
wgl: Ensure we only create framebuffers for HDC associated with a window.
José Fonseca [Sun, 31 May 2009 02:58:50 +0000 (19:58 -0700)]
wgl: Use the right pixel format.
There is no current pixel format. Each HDC has its pixelformat which is
kept by gdi and set/get via the SetPixelFormat/GetPixelFormat functions.
Now the HDC's pixelformat is kept in the stw_framebuffer, which is
created during the SetPixelFormat.
José Fonseca [Sun, 31 May 2009 02:51:33 +0000 (19:51 -0700)]
wgl: Fix debugging output.
José Fonseca [Sun, 31 May 2009 01:00:18 +0000 (18:00 -0700)]
wgl: Rename function.
José Fonseca [Sat, 30 May 2009 21:33:11 +0000 (14:33 -0700)]
wgl: Remove unused field.
José Fonseca [Sat, 30 May 2009 19:42:55 +0000 (12:42 -0700)]
mesa: Output warnings to debugger on Windows.
Stderr of Windows applications without console is not usually
visible.
José Fonseca [Sat, 30 May 2009 19:41:14 +0000 (12:41 -0700)]
mesa: Check/propagate return value on st_make_current.
Prevents segmentation fault when trying to set the viewport/scissor
after a context/drawable visual mismatch.
José Fonseca [Sat, 30 May 2009 19:38:45 +0000 (12:38 -0700)]
mesa: Add success/failures return value to _mesa_make_current.
Brian Paul [Sun, 31 May 2009 02:10:04 +0000 (20:10 -0600)]
Merge branch 'mesa_7_5_branch'
Brian Paul [Sun, 31 May 2009 02:09:19 +0000 (20:09 -0600)]
Revert "softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON"
This reverts commit
5d75124db480b37977c353511b4e228905b7cc95.
This fixed unclipped polygons, but broke clipped polygons.
A better fix from the mesa 7.5 branch will be merged next...
Brian Paul [Sun, 31 May 2009 02:07:18 +0000 (20:07 -0600)]
softpipe: fix incorrect provoking vertex color for PIPE_PRIM_POLYGON
This fixes the incorrect colors seen when rendering flat-shaded polygons.
Note that clipped polygons were correct, but unclipped polygons were wrong.
See the glean/clipFlat test for regression testing.
Brian Paul [Fri, 29 May 2009 14:22:21 +0000 (08:22 -0600)]
softpipe: update comments for max texture size
Brian Paul [Fri, 29 May 2009 06:55:54 +0000 (00:55 -0600)]
softpipe: increase max 2D/cube texture size to 4K x 4K
Corbin Simpson [Thu, 28 May 2009 14:46:34 +0000 (07:46 -0700)]
r300-gallium, radeon-gallium: Make add_buffer indicate when a flush is needed.
On a side note, why is RADEON_MAX_BOS 24? Should ask airlied about that.
Ben Skeggs [Thu, 28 May 2009 05:47:54 +0000 (15:47 +1000)]
nv50: some mipmapping fixes
Christoph Bumiller [Wed, 27 May 2009 22:17:14 +0000 (00:17 +0200)]
nv50: negate sources directly where supported
Christoph Bumiller [Sat, 23 May 2009 14:14:37 +0000 (16:14 +0200)]
nv50: introduce emit_cvt and use it
This makes some code cleaner, and we can now easily
do CEIL and TRUNC.
Christoph Bumiller [Sat, 23 May 2009 14:14:06 +0000 (16:14 +0200)]
nv50: fix TXP
For TXP we need to divide texture coords by their w component, or
use the coords' 1/w in the perspective interpolation instruction.
This also tries to support 1D, 3D and CUBE textures, and lets the
instruction only load the components that are used.
Christoph Bumiller [Sat, 23 May 2009 14:13:24 +0000 (16:13 +0200)]
nv50: use multiple constant buffers
Use different buffers for immds, FP params, and VP params.
One has to map constant buffer indices in shader code to buffers
defined via CB_DEF. In principle, we could use more buffers so
we'd have to change the shader code less frequently.
Christoph Bumiller [Sat, 23 May 2009 13:17:03 +0000 (15:17 +0200)]
nv50: don't look for unfreed temps in free_nv50_pc
Since we stopped using alloc_temp to get hw indices for FP attrs
there shouldn't be any non-deallocated temps left.
Christoph Bumiller [Sat, 23 May 2009 13:15:20 +0000 (15:15 +0200)]
nv50: release hw TEMPs early
Since we know when we don't use a TEMP or FP ATTR register anymore,
we can release their hw resources early.
Christoph Bumiller [Sat, 23 May 2009 13:12:04 +0000 (15:12 +0200)]
nv50: allow immediates for MOV, ADD and MUL
Immediates are inlined now where possible, so we need to set
pc->allow32 to FALSE in LIT where we have the conditional MOV,
since immediates swallow the predicate bits.
Christoph Bumiller [Sat, 23 May 2009 13:10:56 +0000 (15:10 +0200)]
nv50: enable half insns for MOV and MUL
Christoph Bumiller [Sat, 23 May 2009 13:10:01 +0000 (15:10 +0200)]
nv50: make sure half-long insns are paired
I chose to just convert unpaired 32 bit length instructions
after parsing all instructions, although it might be possible
to determine beforehand whether there would be any lone ones,
and then even do some swapping to bring them together ...
Christoph Bumiller [Sat, 23 May 2009 13:05:55 +0000 (15:05 +0200)]
nv50: enable KIL in register 19a8
Christoph Bumiller [Sat, 23 May 2009 13:04:53 +0000 (15:04 +0200)]
nv50: don't overwrite sources before they're used
This would have happened in p.e. ADD TEMP[0], TEMP[0].xyxy, TEMP[1]
or RCP/RSQ TEMP[i], TEMP[i].
Christoph Bumiller [Sat, 23 May 2009 13:01:36 +0000 (15:01 +0200)]
nv50: put FP outputs where they belong
Depth output in fragment programs should end up in the first
register after the color outputs.
Christoph Bumiller [Sat, 23 May 2009 12:56:48 +0000 (14:56 +0200)]
nv50: modified FP attribute loading
VP outputs that should be loadable in the FP are mapped to
interpolant indices by HPOS, COL0 etc.; of course HPOS is
always written, so the highest byte of 1988 is a bitmask that
selects which components of HPOS are used for interpolants,
i.e. the FP inputs in COL0 start at index POPCNT(1988[24:28]).
Christoph Bumiller [Sat, 23 May 2009 11:38:03 +0000 (13:38 +0200)]
nv50: inspect decl semantic and interpolation mode
Record interpolation mode for attributes while parsing declarations,
and also remember the indices of FP color inputs and FP depth output,
which has to end up in the highest output register.
Christoph Bumiller [Sat, 23 May 2009 11:32:51 +0000 (13:32 +0200)]
nv50: record last access to temp and attr regs
We now inspect the TGSI instructions in tx_prep to determine where
temps and FP attrs are last accessed.
This will enable us to reclaim some temporaries early and we also
use it to omit pre-loading FP attributes that aren't used.
Christoph Bumiller [Sat, 23 May 2009 10:25:32 +0000 (12:25 +0200)]
nv50: save some space in immediate buffer
We could do even better (like just allocating 1 value in alloc_immd),
but that's fine for now I guess.
Christoph Bumiller [Sat, 23 May 2009 10:24:33 +0000 (12:24 +0200)]
nv50: fix SIGN_SET case in tgsi_src
Christoph Bumiller [Sat, 23 May 2009 10:22:30 +0000 (12:22 +0200)]
nv50: set dst.z,w to 0,1 in SCS and XPD
According to tgsi-instruction-set.txt, if they are written, z and w
should be set to 0 and 1 respectively in SCS, and w to 1.0 in XPD.
Christoph Bumiller [Sat, 23 May 2009 10:21:54 +0000 (12:21 +0200)]
nv50: make LRP instruction nicer
Christoph Bumiller [Sat, 23 May 2009 10:21:27 +0000 (12:21 +0200)]
nv50: fix some memory leaks in shader assembler
Ben Skeggs [Thu, 28 May 2009 00:25:44 +0000 (10:25 +1000)]
nouveau: explicitly request mappable buffers for the moment
Mike Kaplinksiy [Thu, 28 May 2009 05:20:37 +0000 (01:20 -0400)]
draw: Fix assertion failure at fetch_emit_prepare
Brian Paul [Thu, 28 May 2009 01:37:32 +0000 (19:37 -0600)]
demos: remove some old debug/test code
Brian Paul [Thu, 28 May 2009 01:36:59 +0000 (19:36 -0600)]
softpipe: comments
Brian Paul [Thu, 28 May 2009 01:30:07 +0000 (19:30 -0600)]
softpipe: include sp_winsys.h to silence warning (unprototyped function)
Brian Paul [Thu, 28 May 2009 01:27:31 +0000 (19:27 -0600)]
softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON
Use the first vertex, not the last.
Brian Paul [Thu, 28 May 2009 01:24:09 +0000 (19:24 -0600)]
st/mesa: init Format field of vertex arrays for feedback mode
Fixes segfault in glRasterPos()
Eric Anholt [Wed, 27 May 2009 03:45:29 +0000 (20:45 -0700)]
i915: Fall back on NPOT textured metaops on 830-class.
Eric Anholt [Wed, 27 May 2009 02:48:08 +0000 (19:48 -0700)]
i915: Restore the Viewport and DepthRange functions on 8xx.
Fixes failed viewport updates on glxgears (and other apps) resize since
e41780fedc2c1f22b43118da30a0103fa68b769f.
Bug #20473.
Chris Wilson [Fri, 22 May 2009 20:53:26 +0000 (21:53 +0100)]
intel: Override MaxRenderbufferSize with hardware constraints
Limit the maximum renderbuffer size to 8192 on i965 and to 2048 on
earlier hardware.
Brian Paul [Fri, 22 May 2009 21:49:38 +0000 (15:49 -0600)]
mesa: fix warning message in vbo_exec_DrawRangeElements()
Brian Paul [Fri, 22 May 2009 21:35:49 +0000 (15:35 -0600)]
mesa: add missing update_min() call in update_arrays()
Brian Paul [Fri, 22 May 2009 20:57:51 +0000 (14:57 -0600)]
mesa: reduce gl_array_object::VertexAttrib[] array from 32 to 16 elements
This array was mistakenly dimensioned with VERT_ATTRIB_MAX (32) but it
should really be MAX_VERTEX_GENERIC_ATTRIBS (16).
The generic vertex attributes are in addition to the conventional arrays
(except in NV vertex program mode- they alias/overlay in that case) so
the total of all conventional attributes plus generic attributes should
total 32 (not 48).
Brian Paul [Fri, 22 May 2009 20:42:26 +0000 (14:42 -0600)]
mesa: use Elements() for loop limit
Brian Paul [Fri, 22 May 2009 20:32:45 +0000 (14:32 -0600)]
mesa: use Elements() for loop limit
Brian Paul [Fri, 22 May 2009 20:32:37 +0000 (14:32 -0600)]
mesa: use Elements() for loop limit
Brian Paul [Fri, 22 May 2009 20:28:24 +0000 (14:28 -0600)]
mesa: use Elements() for loop limit
Brian Paul [Fri, 22 May 2009 20:27:42 +0000 (14:27 -0600)]
mesa: use Elements() for loop limit
Brian Paul [Fri, 22 May 2009 20:27:26 +0000 (14:27 -0600)]
mesa: simplify adjust_buffer_object_ref_counts()
Brian Paul [Fri, 22 May 2009 20:24:21 +0000 (14:24 -0600)]
mesa: minor code clean-up
Brian Paul [Fri, 22 May 2009 20:23:02 +0000 (14:23 -0600)]
mesa: use Elements() for loop limit
Brian Paul [Fri, 22 May 2009 20:22:40 +0000 (14:22 -0600)]
vbo: s/32/VERT_ATTRIB_MAX/
Brian Paul [Fri, 22 May 2009 20:16:00 +0000 (14:16 -0600)]
mesa: use Elements() for loop bound
Brian Paul [Fri, 22 May 2009 20:14:53 +0000 (14:14 -0600)]
mesa: minor code simplification
Brian Paul [Fri, 22 May 2009 20:09:35 +0000 (14:09 -0600)]
Merge branch 'mesa_7_5_branch'
Brian Paul [Fri, 22 May 2009 19:50:31 +0000 (13:50 -0600)]
mesa: fix loop over generic attribs in update_arrays()
Brian Paul [Fri, 22 May 2009 19:44:59 +0000 (13:44 -0600)]
vbo: asst. reformatting, clean-ups
Brian Paul [Fri, 22 May 2009 19:21:23 +0000 (13:21 -0600)]
Merge branch 'mesa_7_5_branch'
Brian Paul [Fri, 22 May 2009 19:15:41 +0000 (13:15 -0600)]
vbo: fix crash in vbo_exec_bind_arrays()
When a vertex shader uses generic vertex attribute 0, but not gl_Vertex,
we need to set attribute[16] to point to attribute[0]. We were setting the
attribute size, but not the pointer.
Fixes crash in glsl/multitex.c when using the VertCoord attribute instead
of gl_Vertex.
Brian Paul [Fri, 22 May 2009 19:12:28 +0000 (13:12 -0600)]
demos: extend glsl/multitex.c to use a vertex buffer object
Brian Paul [Fri, 22 May 2009 19:12:01 +0000 (13:12 -0600)]
demos/util: add funcs for GL_ARB_buffer_object
Brian Paul [Fri, 22 May 2009 19:00:49 +0000 (13:00 -0600)]
demos: fix multitex.c VertCoord attribute mapping
If the multitex.vert shader uses the VertCoord generic vertex attribute
instead of the pre-defined gl_Vertex attribute, we need to make sure that
VertCoord gets bound to generic vertex attribute zero.
That's because we need to call glVertexAttrib2fv(0, xy) after all the other
vertex attributes have been set since setting generic attribute 0 triggers
vertex submission. Before, we wound up issuing the vertex attributes in
the order 0, 1, 2 which caused the first vertex to be submitted before all
the attributes were set. Now, the attributes are set in 1, 2, 0 order.
Brian Paul [Fri, 22 May 2009 15:40:50 +0000 (09:40 -0600)]
Merge branch 'mesa_7_5_branch'
Brian Paul [Fri, 22 May 2009 15:35:02 +0000 (09:35 -0600)]
mesa: allow GL_BITMAP type in _mesa_image_image_stride()
It's possible to hand a GL_COLOR_INDEX/GL_BITMAP image to glTexImage3D()
which gets converted to RGBA via the glPixelMap tables.
This fixes a failure with piglit/fdo10370 with Gallium.