Roland Scheidegger [Mon, 8 Nov 2010 20:49:51 +0000 (21:49 +0100)]
r200: fix r200 large points
DD_POINT_SIZE got never set for some time now (as it was set only in ifdefed
out code), which caused the r200 driver to use the point primitive mistakenly
in some cases which can only do size 1 instead of point sprite. Since the
logic to use point instead of point sprite prim is flaky at best anyway (can't
work correctly for per-vertex point size), just drop this and always emit point
sprites (except for AA points) - reasons why the driver tried to use points for
size 1.0 are unknown though it is possible they are faster or more conformant.
Note that we can't emit point sprites without point sprite cntl as that might
result in undefined point sizes, hence need drm version check (which was
unnecessary before as it should always have selected points). An
alternative would be to rely on the RE point size clamp controls which could
clamp the size to 1.0 min/max even if the SE point size is undefined, but currently
always use 0 for min clamp. (As a side note, this also means the driver does
not honor the gl spec which mandates points, but not point sprites, with zero size
to be rendered as size 1.)
This should fix recent reports of https://bugs.freedesktop.org/show_bug.cgi?id=702.
This is a candidate for the mesa 7.9 branch.
Chia-I Wu [Wed, 10 Nov 2010 15:54:45 +0000 (23:54 +0800)]
egl_dri2: Fix __DRI_DRI2 version 1 support.
Correctly set __DRI_API_OPENGL flag.
Marek Olšák [Tue, 9 Nov 2010 14:04:34 +0000 (15:04 +0100)]
r300g: turn magic numbers into names in the hyperz code
Marek Olšák [Fri, 6 Aug 2010 23:57:42 +0000 (01:57 +0200)]
r300g: rename has_hyperz -> can_hyperz
Marek Olšák [Tue, 9 Nov 2010 13:53:42 +0000 (14:53 +0100)]
r300g: mention ATI in the renderer string
Keith Whitwell [Wed, 10 Nov 2010 11:03:07 +0000 (11:03 +0000)]
ws/r600: match bo_busy shared/fence logic in bo_wait
Fixes crash in piglit depthrange-clear.
Vinson Lee [Wed, 10 Nov 2010 08:49:53 +0000 (00:49 -0800)]
mesa: Clean up header file inclusion in pixelstore.h.
Vinson Lee [Wed, 10 Nov 2010 08:45:24 +0000 (00:45 -0800)]
mesa: Clean up header file inclusion in pixel.h.
Zhenyu Wang [Wed, 10 Nov 2010 13:17:45 +0000 (08:17 -0500)]
Revert "i965: VS use SPF mode on sandybridge for now"
This reverts commit
9c39a9fcb2c76897e9b5aff68ce197a411c4e25c.
Remove VS SPF mode, conditional instruction works for VS now.
Zhenyu Wang [Wed, 10 Nov 2010 13:09:45 +0000 (08:09 -0500)]
i965: fix dest type of 'endif' on sandybridge
That should also be immediate value for type W.
Eric Anholt [Wed, 10 Nov 2010 04:17:25 +0000 (20:17 -0800)]
i965: Add support for math on constants in gen6 brw_wm_glsl.c path.
Fixes 10 piglit cases that were assertion failing.
Ian Romanick [Wed, 10 Nov 2010 01:01:14 +0000 (17:01 -0800)]
ir_to_mesa: Refactor code for emitting DP instructions
Eric Anholt [Wed, 10 Nov 2010 00:19:34 +0000 (16:19 -0800)]
i965: Allow OPCODE_SWZ to put immediates in the first arg.
Fixes assertion failure with texture swizzling in the GLSL path when
it's triggered (such as gen6 FF or ARB_fp shadow comparisons).
Fixes:
texdepth
texSwizzle
fp1-DST test
fp1-LIT test 3
Kenneth Graunke [Tue, 9 Nov 2010 23:54:02 +0000 (15:54 -0800)]
glsl: Remove unnecessary "unused variable" warning suppression.
The "instructions" variable -is- used, so the cast to void can go away.
Peter Clifton [Tue, 9 Nov 2010 22:00:36 +0000 (22:00 +0000)]
intel: Add assert check for blitting alignment.
Also fixup code comment to reflect that the GPU requires DWORD
alignment, but in this case does not actually pass the value "in
DWORDs" as I previously stated.
Eric Anholt [Tue, 9 Nov 2010 22:01:52 +0000 (14:01 -0800)]
Revert "intel: Fix the client-side swapbuffers throttling."
This reverts commit
76360d6abc9e0195bc5c373101ae616e68b2e6e6. On
second thought, it turned out that sync objects also used the
wait_rendering API like this, and would need the same treatment, and
so wait_rendering itself is fixed in libdrm now.
Eric Anholt [Tue, 9 Nov 2010 21:30:27 +0000 (13:30 -0800)]
intel: Fix the client-side swapbuffers throttling.
We were asking for a wait to GTT read (all GPU rendering to it
complete), instead of asking for all GPU reading from it to be
complete. Prevents swapbuffers-based apps from running away with
rendering, and produces a better input experience.
Ian Romanick [Tue, 9 Nov 2010 20:48:34 +0000 (12:48 -0800)]
glsl: Fix incorrect gl_type of sampler2DArray and sampler1DArrayShadow
NOTE: this is a candidate for the 7.9 branch.
José Fonseca [Tue, 9 Nov 2010 19:47:24 +0000 (19:47 +0000)]
gallivm: Allocate TEMP/OUT arrays only once.
Zack Rusin [Mon, 8 Nov 2010 22:37:57 +0000 (17:37 -0500)]
gallivm: implement indirect addressing of the output registers
Vinson Lee [Tue, 9 Nov 2010 20:31:11 +0000 (12:31 -0800)]
winsys/xlib: Add cygwin to SConscript.
Fixes SCons NameError exception on Cygwin.
Keith Whitwell [Tue, 9 Nov 2010 20:08:45 +0000 (20:08 +0000)]
r600: fix my pessimism about PIPE_TRANSFER_x flags
For some reason I though we needed the _DISCARD flag to avoid
readbacks, which isn't true at all. Now write operations should
pipeline properly, gives a good speedup to demos/tunnel.
Keith Whitwell [Wed, 3 Nov 2010 18:54:03 +0000 (18:54 +0000)]
r600g: translate ARR instruction
Keith Whitwell [Wed, 3 Nov 2010 14:23:45 +0000 (14:23 +0000)]
r600g: attempt to turn on DXTn formats
Seems to sort-of work for non-mipmapped textures. Better than just
black anyway.
Keith Whitwell [Wed, 3 Nov 2010 14:06:33 +0000 (14:06 +0000)]
r600g: avoid recursion with staged uploads
Don't use an intermediate for formats which don't support hardware
blits under u_blitter.c, as these will recursively attempt to create a
transfer.
Brian Paul [Tue, 9 Nov 2010 19:24:49 +0000 (12:24 -0700)]
mesa: no-op glBufferSubData() on size==0
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31439
NOTE: this is a candidate for the 7.9 branch
Brian Paul [Tue, 9 Nov 2010 18:43:37 +0000 (11:43 -0700)]
softpipe: can't no-op depth test stage when occlusion query is enabled
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31479
Chia-I Wu [Tue, 9 Nov 2010 17:38:41 +0000 (01:38 +0800)]
st/dri: Add support for surfaceless current contexts.
Tested with Wayland.
Chia-I Wu [Tue, 2 Nov 2010 15:55:56 +0000 (23:55 +0800)]
docs: Update egl docs.
Chia-I Wu [Mon, 1 Nov 2010 18:00:36 +0000 (02:00 +0800)]
autoconf: Add --enable-gallium-egl.
This option comes handy when we want to build gallium DRI drivers but
not st/egl.
Vinson Lee [Tue, 9 Nov 2010 14:22:25 +0000 (06:22 -0800)]
mesa: Clean up header file inclusion in nvprogram.h.
Vinson Lee [Tue, 9 Nov 2010 14:08:29 +0000 (06:08 -0800)]
mesa: Clean up header file inclusion in multisample.h.
Vinson Lee [Tue, 9 Nov 2010 14:00:01 +0000 (06:00 -0800)]
mesa: Clean up header file inclusion in matrix.h.
Vinson Lee [Tue, 9 Nov 2010 13:47:17 +0000 (05:47 -0800)]
mesa: Clean up header file inclusion in lines.h.
Vinson Lee [Tue, 9 Nov 2010 13:35:24 +0000 (05:35 -0800)]
mesa: Clean up header file inclusion in light.h.
Vinson Lee [Tue, 9 Nov 2010 13:13:48 +0000 (05:13 -0800)]
mesa: Add missing header and forward declarations in dd.h.
Vinson Lee [Tue, 9 Nov 2010 13:00:44 +0000 (05:00 -0800)]
mesa: Clean up header file inclusion in image.h.
Thomas Hellstrom [Tue, 9 Nov 2010 11:50:12 +0000 (12:50 +0100)]
gallium/targets: Trivial crosscompiling fix
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Thomas Hellstrom [Mon, 8 Nov 2010 16:10:02 +0000 (17:10 +0100)]
svga/drm: Optionally resolve calls to powf during link-time
When linked with certain builds of libstdc++, it appears like powf is resolved
by a symbol in that library. Other builds of libstdc++ doesn't contain that
symbol resulting in a linker / loader error. Optionally
resolve that symbol and replace it with calls to logf and expf.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Thomas Hellstrom [Mon, 1 Nov 2010 16:12:39 +0000 (17:12 +0100)]
st/egl: Fix build for include files in nonstandard places
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Thomas Hellstrom [Mon, 1 Nov 2010 16:10:59 +0000 (17:10 +0100)]
mesa: Add talloc includes for gles
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Thomas Hellstrom [Mon, 1 Nov 2010 16:10:03 +0000 (17:10 +0100)]
egl: Add an include for size_t
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Zack Rusin [Tue, 9 Nov 2010 05:28:05 +0000 (00:28 -0500)]
scons: build the xorg state trackers only when env includes drm
Vinson Lee [Tue, 9 Nov 2010 09:14:55 +0000 (01:14 -0800)]
mesa: Clean up header file inclusion in histogram.h.
Vinson Lee [Tue, 9 Nov 2010 09:12:34 +0000 (01:12 -0800)]
mesa: Clean up header file inclusion in hint.h.
Vinson Lee [Tue, 9 Nov 2010 09:04:22 +0000 (01:04 -0800)]
mesa: Clean up header file inclusion in framebuffer.h.
Vinson Lee [Tue, 9 Nov 2010 08:58:46 +0000 (00:58 -0800)]
mesa: Clean up header file inclusion in fog.h.
Vinson Lee [Tue, 9 Nov 2010 08:56:02 +0000 (00:56 -0800)]
mesa: Clean up header file inclusion in ffvertex_prog.h.
Vinson Lee [Tue, 9 Nov 2010 08:51:41 +0000 (00:51 -0800)]
mesa: Clean up header file inclusion in fbobject.h.
Chad Versace [Tue, 9 Nov 2010 01:30:13 +0000 (17:30 -0800)]
glsl: Fix ir_expression::constant_expression_value()
When the type of the ir_expression is error_type, return NULL.
This fixes bug 31371.
Johann Rudloff [Mon, 8 Nov 2010 23:55:42 +0000 (18:55 -0500)]
radeon: Implement GL_OES_EGL_image
agd5f: add support to radeon/r200/r300 as well
Johann Rudloff [Mon, 8 Nov 2010 19:43:55 +0000 (14:43 -0500)]
radeon: Implement __DRI_IMAGE and EGL_MESA_image_drm
Alex Deucher [Mon, 8 Nov 2010 19:25:38 +0000 (14:25 -0500)]
egl_dri2: Add radeon chip ids
Johann Rudloff [Tue, 27 Jul 2010 20:59:26 +0000 (22:59 +0200)]
radeon: Implement EGL_MESA_no_surface_extension
Kenneth Graunke [Tue, 9 Nov 2010 00:10:46 +0000 (16:10 -0800)]
ir_dead_functions: Actually free dead functions and signatures.
This makes linked shaders use around 36k less memory since the
built-in prototypes are now freed.
Vinson Lee [Mon, 8 Nov 2010 19:55:30 +0000 (11:55 -0800)]
graw: Add struct pipe_surface forward declaration.
Fixes this GCC warning.
graw.h:93: warning: 'struct pipe_surface' declared inside parameter list
graw.h:93: warning: its scope is only this definition or declaration,
which is probably not what you want
Mario Kleiner [Mon, 8 Nov 2010 03:09:33 +0000 (04:09 +0100)]
mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.
A call to radeon_prepare_render() at the beginning of draw
operations was placed too deep in the call chain,
inside r300RunRenderPrimitive(), instead of
r300DrawPrims() where it belongs. This leads to
emission of stale target color renderbuffer into the cs if
bufferswaps via page-flipping are used, and thereby causes
massive rendering corruption due to unsynchronized
rendering into the active frontbuffer.
This patch fixes such problems for use with the
upcoming radeon page-flipping patches.
Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Benjamin Franzke [Wed, 3 Nov 2010 20:41:48 +0000 (21:41 +0100)]
r600g: implement texture_get_handle (needed for eglExportDRMImageMESA)
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.