Marek Olšák [Sun, 14 Nov 2010 21:32:46 +0000 (22:32 +0100)]
r300g: return shader caps from Draw for SWTCL vertex shaders
Marek Olšák [Sun, 14 Nov 2010 16:34:42 +0000 (17:34 +0100)]
r300g: clean up redundancy in draw functions
Eric Anholt [Sat, 13 Nov 2010 22:00:58 +0000 (14:00 -0800)]
i965: Fix gl_FragCoord inversion when drawing to an FBO.
This showed up as cairo-gl gradients being inverted on everyone but
Intel, where I'd apparently tweaked the transformation to work around
the bug. Fixes piglit fbo-fragcoord.
Vinson Lee [Sun, 14 Nov 2010 05:19:59 +0000 (21:19 -0800)]
i965: Silence uninitialized variable warning.
Silences this GCC warning.
brw_fs.cpp: In member function 'void fs_visitor::split_virtual_grfs()':
brw_fs.cpp:2516: warning: unused variable 'reg'
Marek Olšák [Sat, 13 Nov 2010 15:43:20 +0000 (16:43 +0100)]
r300g: fix texture border color for all texture formats
This fixes 8 texwrap format tests.
The code should handle arbitrary formats now and is cleaner.
NOTE: This is a candidate for the 7.9 branch.
Vinson Lee [Sat, 13 Nov 2010 09:16:12 +0000 (01:16 -0800)]
mesa: Clean up header file inclusion in points.h.
Brian Paul [Fri, 12 Nov 2010 01:04:00 +0000 (18:04 -0700)]
mesa: consolidate assertions in teximage code
Marek Olšák [Fri, 12 Nov 2010 02:08:47 +0000 (03:08 +0100)]
svga: fill out CAPs for indirect addressing
As per the ps_3_0 and vs_3_0 documentation.
The aL register in D3D9 is quite tricky to use, though.
Marek Olšák [Fri, 12 Nov 2010 02:07:05 +0000 (03:07 +0100)]
r600g: fill out CAPs for indirect addressing
Marek Olšák [Fri, 12 Nov 2010 02:05:37 +0000 (03:05 +0100)]
r300g: fill out CAPs for indirect addressing
To match shader model 2.0 (it's impossible to fully implement ARL
with shader model 3.0 relative addressing).
Marek Olšák [Fri, 12 Nov 2010 02:04:48 +0000 (03:04 +0100)]
nvfx: fill out CAPs for indirect addressing
To match shader model 2.0.
Marek Olšák [Fri, 12 Nov 2010 02:04:29 +0000 (03:04 +0100)]
nv50: fill out CAPs for indirect addressing
Marek Olšák [Fri, 12 Nov 2010 02:03:59 +0000 (03:03 +0100)]
i965g: fill out CAPs for indirect addressing
Marek Olšák [Fri, 12 Nov 2010 02:03:43 +0000 (03:03 +0100)]
i915g: fill out CAPs for indirect addressing
Marek Olšák [Fri, 12 Nov 2010 02:03:04 +0000 (03:03 +0100)]
tgsi: fill out CAPs for indirect addressing
Marek Olšák [Wed, 10 Nov 2010 19:41:55 +0000 (20:41 +0100)]
gallium: add CAPs for indirect addressing and lower it in st/mesa when needed
Required because ATI and NVIDIA DX9 GPUs do not support indirect addressing
of temps, inputs, outputs, and consts (FS-only) or the hw support is so
limited that we cannot use it.
This should make r300g and possibly nvfx more feature complete.
Signed-off-by: Marek Olšák <maraeo@gmail.com>
Brian Paul [Thu, 11 Nov 2010 23:56:16 +0000 (16:56 -0700)]
tdfx: s/Format/_BaseFormat/
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31560
Eric Anholt [Mon, 8 Nov 2010 22:38:18 +0000 (14:38 -0800)]
glsl: Free the loop state context when we free the loop state.
Since this was talloced off of NULL instead of the compile state, it
was a real leak over the course of the program. Noticed with
valgrind --leak-check=full --show-reachable=yes. We should really
change these passes to generally get the compile context as an argument
so simple mistakes like this stop mattering.
Brian Paul [Thu, 11 Nov 2010 22:31:28 +0000 (15:31 -0700)]
mesa: fix glDeleteBuffers() regression
This fixes a regression (failed assertion) from commit
c552f273f559968dfd770367e25329baccbcd0c4 which was hit if glDeleteBuffers()
was called on a buffer that was never bound.
NOTE: this is a candidate for the 7.9 branch.
Brian Paul [Thu, 11 Nov 2010 21:47:30 +0000 (14:47 -0700)]
mesa: make glIsBuffer() return false for never bound buffers
Use a dummy buffer object as we do for frame/renderbuffer objects.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31514
Note: this is a candidate for the 7.9 branch.
Aras Pranckevicius [Thu, 30 Sep 2010 09:47:31 +0000 (12:47 +0300)]
glsl: fix crash in loop analysis when some controls can't be determined
Fixes loop-07.frag.
Keith Whitwell [Thu, 11 Nov 2010 16:20:24 +0000 (16:20 +0000)]
r600g: enforce minimum stride on render target texture images
Fixes piglit/fbo_readpixels since staging upload changes.
Keith Whitwell [Thu, 11 Nov 2010 15:41:49 +0000 (15:41 +0000)]
r600g: do not try to use staging resource for depth textures
Currently r600_resource_copy_region() will turn these copies into
transfers + memcpys, so to avoid recursion we must not turn those
transfers back into blits.
Brian Paul [Thu, 11 Nov 2010 15:33:40 +0000 (08:33 -0700)]
mesa: handle more pixel types in mipmap generation code
NOTE: This is a candidate for the 7.9 branch.
Brian Paul [Thu, 11 Nov 2010 15:31:20 +0000 (08:31 -0700)]
mesa: add missing formats in _mesa_format_to_type_and_comps()
NOTE: this is a candidate for the 7.9 branch
Brian Paul [Thu, 11 Nov 2010 14:43:30 +0000 (07:43 -0700)]
mesa: improve error message
Brian Paul [Thu, 11 Nov 2010 01:51:05 +0000 (18:51 -0700)]
mesa: #include mfeatures.h in enums.h
Keith Whitwell [Thu, 11 Nov 2010 14:26:52 +0000 (14:26 +0000)]
r600g: guard experimental s3tc code with R600_ENABLE_S3TC
Lucas Stach [Wed, 10 Nov 2010 22:10:25 +0000 (23:10 +0100)]
nvfx: fill PIPE_CAP_PRIMITIVE_RESTART and PIPE_CAP_SHADER_STENCIL_EXPORT
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Francisco Jerez [Wed, 10 Nov 2010 19:18:33 +0000 (20:18 +0100)]
dri/nouveau: Split hardware/software TNL instantiation more cleanly.
Vinson Lee [Thu, 11 Nov 2010 01:30:59 +0000 (17:30 -0800)]
mesa: Fix printf format warnings.
Ian Romanick [Wed, 10 Nov 2010 00:35:54 +0000 (16:35 -0800)]
mesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample
Previously queries of MAX_SAMPLES were only allowed with
ARB_framebuffer_object, but EXT_framebuffer_multisample also enables
this query. This seems to only effect the i915. All other drivers
support both extensions or neither extension.
This patch is based on a patch that Kenneth sent along with the report.
NOTE: this is a candidate for the 7.9 branch.
Reported-by: Kenneth Waters <kwaters@chromium.org>
Jakob Bornecrantz [Wed, 10 Nov 2010 23:40:18 +0000 (23:40 +0000)]
libgl-xlib: Use sw helper instead of roll your own
Jakob Bornecrantz [Wed, 10 Nov 2010 20:29:57 +0000 (20:29 +0000)]
graw: Use inline sw helper instead of roll your own loader
Jakob Bornecrantz [Wed, 10 Nov 2010 22:36:33 +0000 (22:36 +0000)]
galahad: Correct the name of the scons library
Jerome Glisse [Wed, 10 Nov 2010 21:46:44 +0000 (16:46 -0500)]
r600g: allow driver to work without submitting cmd to GPU
For driver performance analysis it usefull to be able to
disable as much as possible the GPU interaction so that
one can profile the userspace only.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Robert Hooker [Wed, 20 Oct 2010 22:01:10 +0000 (18:01 -0400)]
intel: Add a new B43 pci id.
Signed-off-by: Robert Hooker <robert.hooker@canonical.com>
Eric Anholt [Mon, 11 Oct 2010 23:02:08 +0000 (16:02 -0700)]
i965: re-enable gen6 IF statements in the fragment shader.
IF statements were getting flattened while they were broken. With
Zhenyu's last fix for ENDIF's type, everything appears to have lined
up to actually work.
This regresses two tests:
glsl1-! (not) operator (1, fail)
glsl1-! (not) operator (1, pass)
but fixes tests that couldn't work before because the IFs couldn't be
flattened:
glsl-fs-discard-01
occlusion-query-discard
(and, naturally, this should be a performance improvement for apps
that actually use IF statements to avoid executing a bunch of code).
Eric Anholt [Wed, 10 Nov 2010 20:30:09 +0000 (12:30 -0800)]
i965: Work around strangeness in swizzling/masking of gen6 math.
Sometimes we swizzled in a different channel it looked like, and
sometimes we swizzled in zero. Or something.
Having looked at the output of another code generator for this chip,
this is approximately what they do, too: use align1 math on
temporaries, and then move the results into place.
Fixes:
glean/vp1-EX2 test
glean/vp1-EXP test
glean/vp1-LG2 test
glean/vp1-RCP test (reciprocal)
glean/vp1-RSQ test 1 (reciprocal square root)
shaders/glsl-cos
shaders/glsl-sin
shaders/glsl-vs-masked-cos
shaders/vpfp-generic/vp-exp-alias
Francisco Jerez [Tue, 2 Nov 2010 01:49:32 +0000 (02:49 +0100)]
meta: Handle bitmaps with alpha test enabled.
Acked-by: Brian Paul <brianp@vmware.com>
Zack Rusin [Tue, 9 Nov 2010 21:48:33 +0000 (16:48 -0500)]
gallivm: implement indirect addressing over inputs
Instead of messing with the callers simply copy our inputs into a
alloca array at the beginning of the function and then use it.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Roland Scheidegger [Mon, 8 Nov 2010 20:53:11 +0000 (21:53 +0100)]
mesa: remove unneeded DD_POINT_SIZE and DD_LINE_WIDTH tricaps
DD_POINT_SIZE was broken for quite some time, and the only driver (r200) relying
on this no longer needs it.
Both DD_POINT_SIZE and DD_LINE_WIDTH have no users left outside of debugging
output, hence instead of fixing DD_POINT_SIZE setting just drop both of them -
there was a plan to remove tricaps flags entirely at some point.
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)