Peter Clifton [Sat, 6 Nov 2010 09:23:06 +0000 (09:23 +0000)]
intel: Fix emit_linear_blit to use DWORD aligned width blits
The width of the 2D blits used to copy the data is defined as a 16-bit
signed integer, but the pitch must be DWORD aligned. Limit to an integral
number of DWORDs, (1 << 15 - 4) rather than (1 << 15 -1).
Fixes corruption to data uploaded with glBufferSubData.
Signed-off-by: Peter Clifton <pcjc2@cam.ac.uk>
Alex Deucher [Mon, 8 Nov 2010 16:56:41 +0000 (11:56 -0500)]
r600c: properly align mipmaps to group size
fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=31400
Michal Krol [Fri, 5 Nov 2010 17:54:02 +0000 (18:54 +0100)]
graw: Export graw_save_surface_to_file().
Allows applications to dump surfaces to file without
referencing gallium/auxiliary entry points statically.
Existing test apps have been modified such that
they save the contents of the fronbuffer only
when the `-o' option's specified.
Michal Krol [Mon, 8 Nov 2010 16:23:32 +0000 (17:23 +0100)]
os: Open file streams in binary mode.
Otherwise we'll get garbled data on Windows.
Vinson Lee [Mon, 8 Nov 2010 05:15:45 +0000 (21:15 -0800)]
mesa: Clean up header file inclusion in extensions.h.
Vinson Lee [Mon, 8 Nov 2010 05:09:32 +0000 (21:09 -0800)]
mesa: Clean up header file inclusion in enable.h.
Vinson Lee [Mon, 8 Nov 2010 05:05:01 +0000 (21:05 -0800)]
mesa: Clean up header file inclusion in drawtex.h.
Vinson Lee [Mon, 8 Nov 2010 05:02:31 +0000 (21:02 -0800)]
mesa: Clean up header file inclusion in drawpix.h.
Vinson Lee [Mon, 8 Nov 2010 04:57:32 +0000 (20:57 -0800)]
mesa: Clean up header file inclusion in depthstencil.h.
Vinson Lee [Mon, 8 Nov 2010 04:54:33 +0000 (20:54 -0800)]
mesa: Clean up header file inclusion in depth.h.
Vinson Lee [Mon, 8 Nov 2010 04:47:10 +0000 (20:47 -0800)]
mesa: Clean up header file inclusion in debug.h.
Vinson Lee [Mon, 8 Nov 2010 04:39:54 +0000 (20:39 -0800)]
mesa: Clean up header file inclusion in convolve.h.
Vinson Lee [Mon, 8 Nov 2010 04:23:15 +0000 (20:23 -0800)]
mesa: Clean up header file inclusion in colortab.h.
Vinson Lee [Mon, 8 Nov 2010 04:00:32 +0000 (20:00 -0800)]
mesa: Clean up header file inclusion in buffers.h.
Vinson Lee [Mon, 8 Nov 2010 03:54:00 +0000 (19:54 -0800)]
mesa: Clean up header file inclusion in blend.h.
Vinson Lee [Mon, 8 Nov 2010 03:49:12 +0000 (19:49 -0800)]
mesa: Clean up header file inclusion in attrib.h.
Vinson Lee [Mon, 8 Nov 2010 03:41:42 +0000 (19:41 -0800)]
mesa: Clean up header file inclusion in atifragshader.h.
Brian Paul [Mon, 8 Nov 2010 01:35:35 +0000 (18:35 -0700)]
mesa: make fixed-pt and byte-valued arrays a runtime feature
These ES1 features were only tested for in the vertex array code.
Checking the ctx->API field at runtime is cleaner than the #ifdef
stuff and supports choosing the API at runtime.
Brian Paul [Mon, 8 Nov 2010 01:33:53 +0000 (18:33 -0700)]
mesa: remove stray GL_FLOAT case in _mesa_is_legal_format_and_type()
Brian Paul [Mon, 8 Nov 2010 01:33:42 +0000 (18:33 -0700)]
mesa: implement uint texstore code
We used float temporary images before which could lose precision for
uint-valued texture images.
Brian Paul [Mon, 8 Nov 2010 01:33:20 +0000 (18:33 -0700)]
mesa: rename vars in pixel pack/unpack code
Brian Paul [Mon, 8 Nov 2010 01:33:07 +0000 (18:33 -0700)]
mesa: consolidate pixel packing/unpacking code
Vinson Lee [Sun, 7 Nov 2010 22:29:21 +0000 (14:29 -0800)]
mesa: Clean up header file inclusion in arrayobj.h.
Henri Verbeet [Sun, 7 Nov 2010 17:40:12 +0000 (18:40 +0100)]
r600g: Mention AMD in the renderer string.
Vinson Lee [Sun, 7 Nov 2010 04:13:40 +0000 (21:13 -0700)]
mesa: Include mfeatures.h in api_validate.c for FEATURE_* symbols.
Vinson Lee [Sun, 7 Nov 2010 04:05:16 +0000 (21:05 -0700)]
mesa: Include mfeatures.h in api_loopback for FEATURE_beginend.
Vinson Lee [Sun, 7 Nov 2010 03:56:15 +0000 (20:56 -0700)]
mesa: Clean up header file inclusion in api_validate.h.
Vinson Lee [Sun, 7 Nov 2010 03:50:13 +0000 (20:50 -0700)]
mesa: Clean up header file inclusion in api_loopback.h.
Vinson Lee [Sun, 7 Nov 2010 03:40:13 +0000 (20:40 -0700)]
mesa: Clean up header file inclusion in version.h.
Vinson Lee [Sun, 7 Nov 2010 03:27:45 +0000 (20:27 -0700)]
mesa: Clean up header file inclusion in accum.h.
Eric Anholt [Sat, 6 Nov 2010 18:43:45 +0000 (11:43 -0700)]
mesa: Fix delayed state flagging for EXT_sso-related program changes.
Flushing the vertices after having already updated the state doesn't
do any good. Fixes useshaderprogram-flushverts-1. As a side effect,
by moving it to the right place we end up skipping no-op state changes
for traditional glUseProgram.
Francisco Jerez [Sat, 30 Oct 2010 14:32:00 +0000 (16:32 +0200)]
meta: Don't try to disable cube maps if the driver doesn't expose the extension.
Signed-off-by: Brian Paul <brianp@vmware.com>
Francisco Jerez [Sun, 31 Oct 2010 22:51:30 +0000 (23:51 +0100)]
vbo: Avoid unnecessary copy to/from current in vertex format upgrade.
Rebuilding the vertex format from scratch every time we see a new
vertex attribute is rather costly, new attributes can be appended at
the end avoiding a copy to current and then back again, and the full
attr pointer recalculation.
In the not so likely case of an already existing attribute having its
size increased the old behavior is preserved, this could be optimized
more, not sure if it's worth it.
It's a modest improvement in FlightGear (that game punishes the VBO
module pretty hard in general, framerate goes from some 46 FPS to 50
FPS with the nouveau classic driver).
Signed-off-by: Brian Paul <brianp@vmware.com>
Jakob Bornecrantz [Fri, 5 Nov 2010 18:30:06 +0000 (18:30 +0000)]
scons: Unify state tracker SConscripts
Jakob Bornecrantz [Fri, 5 Nov 2010 18:18:09 +0000 (18:18 +0000)]
scons: Move dependancy checks to the main gallium scons file
Jakob Bornecrantz [Fri, 5 Nov 2010 16:55:46 +0000 (16:55 +0000)]
scons: Check for libdrm_[intel|radeon] as well
And run SConscripts if they are present.
Also make dri depend on both drm and x11.
Jakob Bornecrantz [Thu, 4 Nov 2010 20:47:13 +0000 (20:47 +0000)]
scons: Check for pkg-config before trying to use it
Silences warning about missing packages
Jakob Bornecrantz [Thu, 4 Nov 2010 21:12:30 +0000 (21:12 +0000)]
scons: Detabify
Drivers scons files for a later time
Jakob Bornecrantz [Fri, 5 Nov 2010 17:46:53 +0000 (17:46 +0000)]
scons: Remove old pipebuffer SConscript
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.
Brian Paul [Fri, 5 Nov 2010 14:51:53 +0000 (08:51 -0600)]
gallivm: add const qualifiers, fix comment string
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.
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
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
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
Brian Paul [Thu, 4 Nov 2010 23:52:49 +0000 (17:52 -0600)]
llvmpipe: added some debug assertions, but disabled
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
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>
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>
Brian Paul [Thu, 4 Nov 2010 19:35:20 +0000 (13:35 -0600)]
tgsi: remove unused function
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>
Brian Paul [Thu, 4 Nov 2010 16:01:28 +0000 (10:01 -0600)]
gallivm: implement execution mask for scatter stores
Brian Paul [Thu, 4 Nov 2010 16:00:58 +0000 (10:00 -0600)]
gallivm: added lp_elem_type()
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.
Brian Paul [Thu, 4 Nov 2010 15:28:06 +0000 (09:28 -0600)]
gallivm: added debug code to dump temp registers
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.
Michal Krol [Thu, 4 Nov 2010 13:33:31 +0000 (14:33 +0100)]
scons: Hook-up graw-gdi target.
Michal Krol [Thu, 4 Nov 2010 13:33:11 +0000 (14:33 +0100)]
graw/gdi: Initial commit.
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>
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.
Michal Krol [Thu, 4 Nov 2010 10:51:10 +0000 (11:51 +0100)]
tgsi/exec: Get rid of obsolete condition codes.
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.
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
Brian Paul [Wed, 3 Nov 2010 23:32:21 +0000 (17:32 -0600)]
gallivm: add some LLVM var labels
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.
Kenneth Graunke [Wed, 3 Nov 2010 02:53:12 +0000 (19:53 -0700)]
ir_reader: Fix some potential NULL pointer dereferences.
Found by inspection.
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.
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.
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.
Kenneth Graunke [Wed, 3 Nov 2010 02:55:36 +0000 (19:55 -0700)]
Refresh autogenerated file builtin_function.cpp.
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.
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.
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.
Brian Paul [Sat, 30 Oct 2010 16:36:53 +0000 (10:36 -0600)]
mesa: code to unpack RGBA as uints
José Fonseca [Wed, 3 Nov 2010 15:41:06 +0000 (15:41 +0000)]
xorg/vmwgfx: Link libkms when available.
José Fonseca [Wed, 3 Nov 2010 15:21:51 +0000 (15:21 +0000)]
st/xorg: Detect libkms with scons too.
José Fonseca [Wed, 3 Nov 2010 15:14:29 +0000 (15:14 +0000)]
st/xorg: Add missing \n to error message.
José Fonseca [Wed, 3 Nov 2010 14:01:44 +0000 (14:01 +0000)]
xorg/vmwgfx: Add missing source file to SConscript.
Eric Anholt [Wed, 3 Nov 2010 03:43:48 +0000 (20:43 -0700)]
intel: Remove leftover dri1 locking fields in the context.
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.
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.
Eric Anholt [Wed, 3 Nov 2010 03:24:35 +0000 (20:24 -0700)]
i965: Remove dead intel_structs.h file.
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).
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).
Brian Paul [Wed, 3 Nov 2010 13:04:42 +0000 (07:04 -0600)]
egl/gdi: fix typo: xsurf->gsurf
Keith Whitwell [Wed, 3 Nov 2010 11:15:43 +0000 (11:15 +0000)]
evergreeng: set hardware pixelcenters according to gl_rasterization_rules
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.
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
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.
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.
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.
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++.
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.
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.
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.
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.
Keith Whitwell [Fri, 15 Oct 2010 13:44:30 +0000 (14:44 +0100)]
r600g: propagate usage flags in texture transfers
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..
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.
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.