mesa.git
13 years agoscons: Remove old pipebuffer SConscript
Jakob Bornecrantz [Fri, 5 Nov 2010 17:46:53 +0000 (17:46 +0000)]
scons: Remove old pipebuffer SConscript

13 years agosoftpipe: disable vertex texturing with draw/llvm
Brian Paul [Fri, 5 Nov 2010 20:40:33 +0000 (14:40 -0600)]
softpipe: disable vertex texturing with draw/llvm

This is a temporary work around to prevent crashes with glean/glsl1
(for example) which try to do vertex shader texturing.

13 years agogallivm: add const qualifiers, fix comment string
Brian Paul [Fri, 5 Nov 2010 14:51:53 +0000 (08:51 -0600)]
gallivm: add const qualifiers, fix comment string

13 years agogallivm: alloca() was called too often for temporary arrays
Brian Paul [Fri, 5 Nov 2010 14:49:53 +0000 (08:49 -0600)]
gallivm: alloca() was called too often for temporary arrays

Need to increment the array index to point to the last value.
Before, we were calling lp_build_array_alloca() over and over for
no reason.

13 years agoi965: Silence uninitialized variable warning.
Vinson Lee [Fri, 5 Nov 2010 00:42:00 +0000 (17:42 -0700)]
i965: Silence uninitialized variable warning.

Silences this GCC warning.
brw_wm_fp.c: In function 'brw_wm_pass_fp':
brw_wm_fp.c:966: warning: 'last_inst' may be used uninitialized in this function
brw_wm_fp.c:966: note: 'last_inst' was declared here

13 years agoi965: Silence uninitialized variable warning.
Vinson Lee [Fri, 5 Nov 2010 00:39:17 +0000 (17:39 -0700)]
i965: Silence uninitialized variable warning.

Silences this GCC warning.
brw_wm_fp.c: In function 'precalc_tex':
brw_wm_fp.c:666: warning: 'tmpcoord.Index' may be used uninitialized in this function

13 years agor300/compiler: Move declaration before code.
Vinson Lee [Fri, 5 Nov 2010 00:25:16 +0000 (17:25 -0700)]
r300/compiler: Move declaration before code.

Fixes this GCC warning with linux-x86 build.
radeon_dataflow.c: In function 'get_readers_normal_read_callback':
radeon_dataflow.c:472: warning: ISO C90 forbids mixed declarations and code

13 years agollvmpipe: added some debug assertions, but disabled
Brian Paul [Thu, 4 Nov 2010 23:52:49 +0000 (17:52 -0600)]
llvmpipe: added some debug assertions, but disabled

13 years agor300/compiler: Move declaration before code.
Vinson Lee [Fri, 5 Nov 2010 00:18:46 +0000 (17:18 -0700)]
r300/compiler: Move declaration before code.

Fixes this GCC warning with linux-x86 build.
radeon_pair_schedule.c: In function 'merge_presub_sources':
radeon_pair_schedule.c:312: warning: ISO C90 forbids mixed declarations and code

13 years agometa: Fix incorrect rendering of the bitmap alpha component.
Francisco Jerez [Tue, 2 Nov 2010 01:49:48 +0000 (02:49 +0100)]
meta: Fix incorrect rendering of the bitmap alpha component.

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agometa: Don't leak alpha function/reference value changes.
Francisco Jerez [Tue, 2 Nov 2010 02:06:30 +0000 (19:06 -0700)]
meta: Don't leak alpha function/reference value changes.

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agotgsi: remove unused function
Brian Paul [Thu, 4 Nov 2010 19:35:20 +0000 (13:35 -0600)]
tgsi: remove unused function

13 years agost/mesa: Reset the constant buffers before destroying the pipe context.
Tilman Sauerbeck [Tue, 2 Nov 2010 21:15:15 +0000 (22:15 +0100)]
st/mesa: Reset the constant buffers before destroying the pipe context.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
13 years agogallivm: implement execution mask for scatter stores
Brian Paul [Thu, 4 Nov 2010 16:01:28 +0000 (10:01 -0600)]
gallivm: implement execution mask for scatter stores

13 years agogallivm: added lp_elem_type()
Brian Paul [Thu, 4 Nov 2010 16:00:58 +0000 (10:00 -0600)]
gallivm: added lp_elem_type()

13 years agogallivm: add pixel offsets in scatter stores
Brian Paul [Thu, 4 Nov 2010 15:31:56 +0000 (09:31 -0600)]
gallivm: add pixel offsets in scatter stores

We want to do the scatter store to sequential locations in memory
for the vector of pixels we're processing in SOA format.

13 years agogallivm: added debug code to dump temp registers
Brian Paul [Thu, 4 Nov 2010 15:28:06 +0000 (09:28 -0600)]
gallivm: added debug code to dump temp registers

13 years agograw/gdi: Fix window dimensions.
Michal Krol [Thu, 4 Nov 2010 14:12:47 +0000 (15:12 +0100)]
graw/gdi: Fix window dimensions.

The requested window size is of the client area,
so account for surrounding borders and bars when
creating the window.

13 years agoscons: Hook-up graw-gdi target.
Michal Krol [Thu, 4 Nov 2010 13:33:31 +0000 (14:33 +0100)]
scons: Hook-up graw-gdi target.

13 years agograw/gdi: Initial commit.
Michal Krol [Thu, 4 Nov 2010 13:33:11 +0000 (14:33 +0100)]
graw/gdi: Initial commit.

13 years agor300g: Do not use buf param before checking for NULL.
Guillermo S. Romero [Wed, 3 Nov 2010 21:14:00 +0000 (22:14 +0100)]
r300g: Do not use buf param before checking for NULL.

Commit 8dfafbf0861fe3d2542332658dd5493851053c78 forgot to update r300g.
There is a buf == NULL check, but buf is used before for var init.

Tested-by: Guillermo S. Romero <gsromero@infernal-iceberg.com>
13 years agotgsi/build: Reduce interface clutter.
Michal Krol [Thu, 4 Nov 2010 11:20:14 +0000 (12:20 +0100)]
tgsi/build: Reduce interface clutter.

Make private those functions that are used internally only.

13 years agotgsi/exec: Get rid of obsolete condition codes.
Michal Krol [Thu, 4 Nov 2010 10:51:10 +0000 (11:51 +0100)]
tgsi/exec: Get rid of obsolete condition codes.

13 years agotgsi/exec: Cleanup the remaining arithmetic instructions.
Michal Krol [Thu, 4 Nov 2010 10:37:24 +0000 (11:37 +0100)]
tgsi/exec: Cleanup the remaining arithmetic instructions.

As a result remove some nasty macros.

13 years agodri/nouveau: Silence uninitialized variable warning.
Vinson Lee [Thu, 4 Nov 2010 01:13:14 +0000 (18:13 -0700)]
dri/nouveau: Silence uninitialized variable warning.

Fixes this GCC warning.
nouveau_vbo_t.c: In function 'nv10_vbo_render_prims':
nouveau_render_t.c:161: warning: 'max_out' may be used uninitialized in this function
nouveau_render_t.c:161: note: 'max_out' was declared here

13 years agogallivm: add some LLVM var labels
Brian Paul [Wed, 3 Nov 2010 23:32:21 +0000 (17:32 -0600)]
gallivm: add some LLVM var labels

13 years agogallivm: implement scatter stores into temp register file
Brian Paul [Wed, 3 Nov 2010 23:29:28 +0000 (17:29 -0600)]
gallivm: implement scatter stores into temp register file

Something is not quite right, however.  The piglit tests mentioned in
fd.o bug 31226 still don't pass.

13 years agoir_reader: Fix some potential NULL pointer dereferences.
Kenneth Graunke [Wed, 3 Nov 2010 02:53:12 +0000 (19:53 -0700)]
ir_reader: Fix some potential NULL pointer dereferences.

Found by inspection.

13 years agoir_reader: Remove useless error check.
Kenneth Graunke [Wed, 3 Nov 2010 02:15:55 +0000 (19:15 -0700)]
ir_reader: Remove useless error check.

It's already been determined that length == 3, so clearly swiz->next is
a valid S-Expression.

13 years agoir_reader: Return a specific ir_dereference variant.
Kenneth Graunke [Sun, 31 Oct 2010 05:29:07 +0000 (22:29 -0700)]
ir_reader: Return a specific ir_dereference variant.

There's really no reason to return the base class when we have more
specific information about what type it is.

13 years agoglsl: Don't print a useless space at the end of an S-Expression list.
Kenneth Graunke [Sun, 31 Oct 2010 04:45:34 +0000 (21:45 -0700)]
glsl: Don't print a useless space at the end of an S-Expression list.

We really only want to print spaces -between- elements, not after each
element.  This cleans up error messages from IR reader, making them
(mildly) easier to read.

13 years agoRefresh autogenerated file builtin_function.cpp.
Kenneth Graunke [Wed, 3 Nov 2010 02:55:36 +0000 (19:55 -0700)]
Refresh autogenerated file builtin_function.cpp.

13 years agoglsl/builtins: Clean up some ugly autogenerated code in atan.
Kenneth Graunke [Sun, 31 Oct 2010 04:59:52 +0000 (21:59 -0700)]
glsl/builtins: Clean up some ugly autogenerated code in atan.

In particular, calling the abs function is silly, since there's already
an expression opcode for that.  Also, assigning to temporaries then
assigning those to the final location is rather redundant.

13 years agoglsl/builtins: Rename 'x' to 'y_over_x' in atan(float) implementation.
Kenneth Graunke [Sun, 31 Oct 2010 04:51:01 +0000 (21:51 -0700)]
glsl/builtins: Rename 'x' to 'y_over_x' in atan(float) implementation.

For consistency with the vec2/vec3/vec4 variants.

13 years agor600g: Swap the util_blitter_destroy call order.
José Fonseca [Wed, 3 Nov 2010 20:22:28 +0000 (20:22 +0000)]
r600g: Swap the util_blitter_destroy call order.

Trivial change that avoids a segmentation fault when the blitter state
happens to be bound when the context is destroyed.

The free calls should probably removed altogether in the future -- the
responsibility to destroy the state atoms lies with whoever created it,
and the safest thing for the pipe driver is to not touch any bound state
in its destructor.

13 years agomesa: code to unpack RGBA as uints
Brian Paul [Sat, 30 Oct 2010 16:36:53 +0000 (10:36 -0600)]
mesa: code to unpack RGBA as uints

13 years agoxorg/vmwgfx: Link libkms when available.
José Fonseca [Wed, 3 Nov 2010 15:41:06 +0000 (15:41 +0000)]
xorg/vmwgfx: Link libkms when available.

13 years agost/xorg: Detect libkms with scons too.
José Fonseca [Wed, 3 Nov 2010 15:21:51 +0000 (15:21 +0000)]
st/xorg: Detect libkms with scons too.

13 years agost/xorg: Add missing \n to error message.
José Fonseca [Wed, 3 Nov 2010 15:14:29 +0000 (15:14 +0000)]
st/xorg: Add missing \n to error message.

13 years agoxorg/vmwgfx: Add missing source file to SConscript.
José Fonseca [Wed, 3 Nov 2010 14:01:44 +0000 (14:01 +0000)]
xorg/vmwgfx: Add missing source file to SConscript.

13 years agointel: Remove leftover dri1 locking fields in the context.
Eric Anholt [Wed, 3 Nov 2010 03:43:48 +0000 (20:43 -0700)]
intel: Remove leftover dri1 locking fields in the context.

13 years agointel: Remove duplicated teximage miptree to object miptree promotion.
Eric Anholt [Wed, 3 Nov 2010 03:36:47 +0000 (20:36 -0700)]
intel: Remove duplicated teximage miptree to object miptree promotion.

intel_finalize_mipmap_tree() does this optimization too, just more
aggressively.

13 years agointel: Avoid taking logbase2 of several things that we max.
Eric Anholt [Wed, 3 Nov 2010 03:30:41 +0000 (20:30 -0700)]
intel: Avoid taking logbase2 of several things that we max.

logbase2(max(width, height, depth)) ==
max(logbase2(width), logbase2(height), logbase2(depth)), but in 60
bytes less code.

13 years agoi965: Remove dead intel_structs.h file.
Eric Anholt [Wed, 3 Nov 2010 03:24:35 +0000 (20:24 -0700)]
i965: Remove dead intel_structs.h file.

13 years agointel: Remove the magic unaligned memcpy code.
Eric Anholt [Wed, 3 Nov 2010 03:15:45 +0000 (20:15 -0700)]
intel: Remove the magic unaligned memcpy code.

In testing on Ironlake, the histogram of clocks/pixel results for the
system memcpy and magic unaligned memcpy show no noticeable difference
(and no statistically significant difference with the 5510 samples
taken, though the stddev is large due to what looks like the cache
effects from the different texture sizes used).

13 years agointel: Annotate debug printout checks with unlikely().
Eric Anholt [Wed, 3 Nov 2010 02:55:07 +0000 (19:55 -0700)]
intel: Annotate debug printout checks with unlikely().

This provides the optimizer with hints about code hotness, which we're
quite certain about for debug printouts (or, rather, while we
developers often hit the checks for debug printouts, we don't care
about performance while doing so).

13 years agoegl/gdi: fix typo: xsurf->gsurf
Brian Paul [Wed, 3 Nov 2010 13:04:42 +0000 (07:04 -0600)]
egl/gdi: fix typo: xsurf->gsurf

13 years agoevergreeng: set hardware pixelcenters according to gl_rasterization_rules
Keith Whitwell [Wed, 3 Nov 2010 11:15:43 +0000 (11:15 +0000)]
evergreeng: set hardware pixelcenters according to gl_rasterization_rules

13 years agoevergreeng: respect linewidth state, use integer widths only
Keith Whitwell [Mon, 1 Nov 2010 14:19:18 +0000 (14:19 +0000)]
evergreeng: respect linewidth state, use integer widths only

Discard fractional bits from linewidth.  This matches the nvidia
closed drivers, my reading of the OpenGL SI and current llvmpipe
behaviour.

It looks a lot nicer & avoids ugliness where lines alternate between n
and n+1 pixels in width along their length.

Also fix up r600g to match.

13 years agor600g: don't call debug_get_bool_option for tiling more than once
Keith Whitwell [Wed, 3 Nov 2010 10:31:55 +0000 (10:31 +0000)]
r600g: don't call debug_get_bool_option for tiling more than once

13 years agoevergreeng: protect against null constant buffers
Keith Whitwell [Wed, 3 Nov 2010 10:24:28 +0000 (10:24 +0000)]
evergreeng: protect against null constant buffers

Should do better than this and actually unbind the buffer, but haven't
yet gotten it to work.

13 years agost/egl: Use native_display_buffer for EGL_MESA_drm_image.
Chia-I Wu [Sun, 10 Oct 2010 12:47:02 +0000 (20:47 +0800)]
st/egl: Use native_display_buffer for EGL_MESA_drm_image.

native_display_buffer is just a wrapper to resource_{from,get}_handle
for drm backend.

13 years agost/egl: Add native_display_buffer interface.
Chia-I Wu [Sun, 10 Oct 2010 12:15:06 +0000 (20:15 +0800)]
st/egl: Add native_display_buffer interface.

The interface is a wrapper to pipe_screen::resource_from_handle and
pipe_screen::resource_get_handle.  A winsys handle is
platform-dependent.

13 years agost/egl: Add extern "C" wrapper to native.h.
Chia-I Wu [Mon, 11 Oct 2010 08:29:43 +0000 (16:29 +0800)]
st/egl: Add extern "C" wrapper to native.h.

This allows a backend to be written in C++.

13 years agor600g: set hardware pixel centers according to gl_rasterization_rules
Keith Whitwell [Sun, 17 Oct 2010 18:45:49 +0000 (11:45 -0700)]
r600g: set hardware pixel centers according to gl_rasterization_rules

These were previously being left in the default (D3D) mode.  This mean
that triangles were drawn slightly incorrectly, but also because this
state is relied on by the u_blitter code, all blits were half a pixel
off.

13 years agor600g: remove unused flink, domain fields from r600_resource
Keith Whitwell [Tue, 2 Nov 2010 15:49:44 +0000 (15:49 +0000)]
r600g: remove unused flink, domain fields from r600_resource

These were being set but not used anywhere.

13 years agor600g: use a buffer in GTT as intermediate on texture up and downloads
Keith Whitwell [Tue, 2 Nov 2010 17:51:34 +0000 (17:51 +0000)]
r600g: use a buffer in GTT as intermediate on texture up and downloads

Generalize the existing tiled_buffer path in texture transfers for use
in some non-tiled up and downloads.

Use a staging buffer, which the winsys will restrict to GTT memory.

GTT buffers have the major advantage when they are mapped, they are
cachable, which is a very nice property for downloads, usually the CPU
will want to do look at the data it downloaded.

13 years agor600g: propogate resource usage flags to winsys, use to choose bo domains
Keith Whitwell [Tue, 2 Nov 2010 17:47:06 +0000 (17:47 +0000)]
r600g: propogate resource usage flags to winsys, use to choose bo domains

This opens the question of what interface the winsys layer should
really have for talking about these concepts.

For now I'm using the existing gallium resource usage concept, but
there is no reason not use terms closer to what the hardware
understands - eg. the domains themselves.

13 years agor600g: propagate usage flags in texture transfers
Keith Whitwell [Fri, 15 Oct 2010 13:44:30 +0000 (14:44 +0100)]
r600g: propagate usage flags in texture transfers

13 years agost/egl: Add support for EGL_MATCH_NATIVE_PIXMAP.
Chia-I Wu [Wed, 3 Nov 2010 08:49:47 +0000 (16:49 +0800)]
st/egl: Add support for EGL_MATCH_NATIVE_PIXMAP.

Added for completeness.  It makes sense to have such mechanism, but I am
not aware of any user of that..

13 years agost/egl: Add support for swap interval and swap behavior.
Chia-I Wu [Wed, 3 Nov 2010 08:20:26 +0000 (16:20 +0800)]
st/egl: Add support for swap interval and swap behavior.

The value of EGL_MAX_SWAP_INTERVAL and whether
EGL_SWAP_BEHAVIOR_PRESERVED_BIT is set will depend on the native
backend used.

13 years agost/egl: Remove flush_frontbuffer and swap_buffers.
Chia-I Wu [Wed, 3 Nov 2010 08:07:23 +0000 (16:07 +0800)]
st/egl: Remove flush_frontbuffer and swap_buffers.

They are deprecated by native_surface::present and there is no user of
them.

13 years agod3d1x: Use native_surface::present.
Chia-I Wu [Wed, 3 Nov 2010 08:00:47 +0000 (16:00 +0800)]
d3d1x: Use native_surface::present.

Replace native_surface::flush_frontbuffer and
native_surface::swap_buffers calls by native_surface::present calls.

13 years agost/egl: Use native_surface::present callback.
Chia-I Wu [Wed, 3 Nov 2010 07:57:06 +0000 (15:57 +0800)]
st/egl: Use native_surface::present callback.

Replace native_surface::flush_frontbuffer and
native_surface::swap_buffers calls by native_surface::present calls.

13 years agost/egl: Add native_surface::present callback.
Chia-I Wu [Wed, 3 Nov 2010 07:22:36 +0000 (15:22 +0800)]
st/egl: Add native_surface::present callback.

The callback presents the given attachment to the native engine.  It
allows the swap behavior and interval to be controlled.  It will replace
native_surface::flush_frontbuffer and native_surface::swap_buffers
shortly.

13 years agoegl: Set up the pthread key even TLS is used.
Chia-I Wu [Tue, 2 Nov 2010 17:11:54 +0000 (01:11 +0800)]
egl: Set up the pthread key even TLS is used.

We have to rely on the pthread key destructor to free the current thread
info when a thread exits.

13 years agost/vega: Remove unnecessary headers.
Vinson Lee [Wed, 3 Nov 2010 00:13:44 +0000 (17:13 -0700)]
st/vega: Remove unnecessary headers.

13 years agomesa: silence new warnings in texobj.c
Brian Paul [Tue, 2 Nov 2010 23:40:58 +0000 (17:40 -0600)]
mesa: silence new warnings in texobj.c

Silences warning such as:
main/texobj.c:442:40: warning: ISO C99 requires rest arguments to be used
main/texobj.c:498:58: warning: ISO C99 requires rest arguments to be used

13 years agosavage: Remove unnecessary header.
Vinson Lee [Tue, 2 Nov 2010 23:23:30 +0000 (16:23 -0700)]
savage: Remove unnecessary header.

13 years agointel: For batch, use GTT mapping instead of writing to a malloc and copying.
Eric Anholt [Mon, 20 Sep 2010 21:10:20 +0000 (14:10 -0700)]
intel: For batch, use GTT mapping instead of writing to a malloc and copying.

No measurable performance difference on cairo-perf-trace, but
simplifies the code and should have cache benefit in general.

13 years agomesa: Don't compute an unused texture completeness debug string.
Eric Anholt [Tue, 2 Nov 2010 20:40:39 +0000 (13:40 -0700)]
mesa: Don't compute an unused texture completeness debug string.

This showed up at about 1% on cairo-gl firefox-talos-gfx, where
glClear() is called while a texture is incomplete.

13 years agost/mesa: Reset the index buffer before destroying the pipe context.
Tilman Sauerbeck [Sun, 31 Oct 2010 14:55:51 +0000 (15:55 +0100)]
st/mesa: Reset the index buffer before destroying the pipe context.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
13 years agor600g: Destroy the winsys in r600_destroy_screen().
Tilman Sauerbeck [Sun, 31 Oct 2010 14:51:55 +0000 (15:51 +0100)]
r600g: Destroy the winsys in r600_destroy_screen().

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
13 years agor600g: Fixed two memory leaks in winsys.
Tilman Sauerbeck [Sun, 31 Oct 2010 11:16:25 +0000 (12:16 +0100)]
r600g: Fixed two memory leaks in winsys.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
13 years agor600g: Delete custom_dsa_flush on shutdown.
Tilman Sauerbeck [Sun, 31 Oct 2010 11:16:03 +0000 (12:16 +0100)]
r600g: Delete custom_dsa_flush on shutdown.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
13 years agor600g: We don't support PIPE_CAP_PRIMITIVE_RESTART.
Tilman Sauerbeck [Sat, 30 Oct 2010 15:32:24 +0000 (17:32 +0200)]
r600g: We don't support PIPE_CAP_PRIMITIVE_RESTART.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
13 years agor600g: Made radeon_bo::map_count signed.
Tilman Sauerbeck [Fri, 29 Oct 2010 17:30:57 +0000 (19:30 +0200)]
r600g: Made radeon_bo::map_count signed.

That way assert(map_count >= 0) can actually fail when we screwed up.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
13 years agor600g: Fixed unmap condition in radeon_bo_pb_destroy().
Tilman Sauerbeck [Fri, 29 Oct 2010 19:34:26 +0000 (21:34 +0200)]
r600g: Fixed unmap condition in radeon_bo_pb_destroy().

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
13 years agor600g: Made radeon_bo_pb_map_internal() actually call radeon_bo_map().
Tilman Sauerbeck [Fri, 29 Oct 2010 17:29:54 +0000 (19:29 +0200)]
r600g: Made radeon_bo_pb_map_internal() actually call radeon_bo_map().

This ensures that we increase bo->map_count when radeon_bo_map_internal()
returns successfully, which in turn makes sure we don't decrement
bo->map_count below zero later.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
13 years agor600g: Removed unused 'ptr' argument from radeon_bo().
Tilman Sauerbeck [Thu, 28 Oct 2010 19:27:37 +0000 (21:27 +0200)]
r600g: Removed unused 'ptr' argument from radeon_bo().

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
13 years agograw: Tidy graw xlib scons file a bit
Jakob Bornecrantz [Tue, 2 Nov 2010 18:17:21 +0000 (18:17 +0000)]
graw: Tidy graw xlib scons file a bit

13 years agollvmpipe: add a cast
Brian Paul [Tue, 2 Nov 2010 17:53:14 +0000 (11:53 -0600)]
llvmpipe: add a cast

13 years agollvmpipe: assign context's frag shader pointer before using it
Brian Paul [Tue, 2 Nov 2010 17:49:10 +0000 (11:49 -0600)]
llvmpipe: assign context's frag shader pointer before using it

The call to draw_bind_fragment_shader() was using the old fragment
shader.  This bug would have really only effected the draw module's
use of the fragment shader in the wide point stage.

13 years agomesa: Fix C++ includes in sampler.cpp
Chad Versace [Mon, 1 Nov 2010 21:23:53 +0000 (14:23 -0700)]
mesa: Fix C++ includes in sampler.cpp

Some C++ header files were included in an extern "C" block. When building with
Clang, this caused the build to fail due to namespace errors. (GCC did not
report any errors.)

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
13 years agost/mesa: unbind constant buffer when not in use
Keith Whitwell [Tue, 2 Nov 2010 16:29:10 +0000 (16:29 +0000)]
st/mesa: unbind constant buffer when not in use

Important as more constant buffers per shader start to get used.

Fix up r600 (tested) and nv50 (untested) to cope with this.  Drivers
previously didn't see unbinds of constant buffers often or ever, so
this isn't always dealt with cleanly.

For r600 just return and keep the reference.  Will try to do better in
a followup change.

13 years agollvmpipe: guard against NULL task->query pointer
Keith Whitwell [Tue, 2 Nov 2010 12:05:46 +0000 (12:05 +0000)]
llvmpipe: guard against NULL task->query pointer

This doesn't seem like it should be possible, but some test suites
manage to hit this case.  Avoid crashing release builds under those
circumstances.

13 years agollvmpipe: avoid generating tri_16 for tris which extend past tile bounds
Keith Whitwell [Tue, 2 Nov 2010 14:20:20 +0000 (14:20 +0000)]
llvmpipe: avoid generating tri_16 for tris which extend past tile bounds

Don't trim triangle bounding box to scissor/draw-region until after
the logic for emitting tri_16.  Don't generate tri_16 commands for
triangles with untrimmed bounding boxes outside the current tile.

This is important as the tri-16 itself can extend past tile bounds and
we don't want to add code to it to check against tile bounds (slow) or
restrict it to locations within a tile (pessimistic).

13 years agomesa: fix aux/accum comment and error message mixups
Brian Paul [Tue, 2 Nov 2010 15:56:04 +0000 (09:56 -0600)]
mesa: fix aux/accum comment and error message mixups

13 years agomesa: remove always-false conditional in check_compatible()
Brian Paul [Tue, 2 Nov 2010 15:40:55 +0000 (09:40 -0600)]
mesa: remove always-false conditional in check_compatible()

The two gl_config pointers can never be equal.

13 years agodri/util: add a bunch of comments
Brian Paul [Tue, 2 Nov 2010 15:30:47 +0000 (09:30 -0600)]
dri/util: add a bunch of comments

13 years agomesa: move the gl_config struct declaration
Brian Paul [Tue, 2 Nov 2010 15:05:16 +0000 (09:05 -0600)]
mesa: move the gl_config struct declaration

It was in the middle of the lighting-related structures before.
Also add some info about field sizes in this structure.

13 years agomesa: use GLubyte for edge flag arrays
Brian Paul [Tue, 2 Nov 2010 14:22:40 +0000 (08:22 -0600)]
mesa: use GLubyte for edge flag arrays

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31310

13 years agoscons: Propagate installation targets.
José Fonseca [Tue, 2 Nov 2010 14:20:12 +0000 (14:20 +0000)]
scons: Propagate installation targets.

Fixes libgl-xlib target.

13 years agoscons: i915 can't build on MSVC either.
José Fonseca [Tue, 2 Nov 2010 13:49:35 +0000 (13:49 +0000)]
scons: i915 can't build on MSVC either.

I thought I had singled it out before, but apparently not.

13 years agoscons: Add aliases for several pipe drivers.
José Fonseca [Tue, 2 Nov 2010 12:35:23 +0000 (12:35 +0000)]
scons: Add aliases for several pipe drivers.

13 years agor600g: List recently added files in SConscript.
José Fonseca [Tue, 2 Nov 2010 12:34:52 +0000 (12:34 +0000)]
r600g: List recently added files in SConscript.

13 years agoi965: refresh wm push constant also for BRW_NEW_FRAMENT_PROGRAM on gen6
Zhenyu Wang [Tue, 2 Nov 2010 03:08:58 +0000 (11:08 +0800)]
i965: refresh wm push constant also for BRW_NEW_FRAMENT_PROGRAM on gen6

Fix compiz crash.

https://bugs.freedesktop.org/show_bug.cgi?id=31124

13 years agomesa: Allow contexts of different APIs to coexist.
Chia-I Wu [Tue, 26 Oct 2010 03:31:37 +0000 (11:31 +0800)]
mesa: Allow contexts of different APIs to coexist.

This effectively redoes 1741ddb747ca0be284315adb4b6fe67ddf292d03 in a
way that allows contexts of different APIs to coexist.

First, the changes to the remap table are reverted.  The remap table
(driDispatchRemapTable) is always initialized in the same way regardless
of the context API.

es_generator.py is updated to use a local remap table, whose sole
purpose is to help initialize its dispatch table.  The local remap table
and the global one are always different, as they use different
glapidispatch.h.  But the dispatch tables initialized by both remap
tables are always compatible with glapi (libGL.so).

Finally, the semantics of one_time_init are changed to per-api one-time
initialization.

13 years agomesa: Select FEATURE_remap_table when multiple APIs are enabled.
Chia-I Wu [Tue, 26 Oct 2010 08:16:14 +0000 (16:16 +0800)]
mesa: Select FEATURE_remap_table when multiple APIs are enabled.

Core mesa should query glapi for the positions of the functions in
_glapi_table when multiple APIs are supported.  It does not know which
glapitable.h glapi used.

13 years agor300/compiler: Don't track readers into an IF block.
Tom Stellard [Tue, 2 Nov 2010 05:06:20 +0000 (22:06 -0700)]
r300/compiler: Don't track readers into an IF block.

This makes rc_get_readers_normal() more conservative than it needs to be,
but it fixes some incorrect behavior in the optimization passes.