Commit graph

45370 commits

Author SHA1 Message Date
Kenneth Graunke
29a911c50e i965: Rename 3DSTATE_DRAWRECT_INFO_I965 to 3DSTATE_DRAWING_RECTANGLE.
The documentation uses 3DSTATE_DRAWING_RECTANGLE, and we already had it
defined in brw_defines.h; we were simply using an old #define from
intel_reg.h.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2011-07-18 14:14:36 -07:00
Eric Anholt
cb5e0ba2aa i915: Simplify intel_wpos_* with a helper function. 2011-07-18 11:26:34 -07:00
Eric Anholt
fceda4342c i915: Include gl_FragCoord.w data, not just xyz.
Fixes piglit fragcoord_w test.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34323
2011-07-18 11:26:33 -07:00
Eric Anholt
af9548d335 i915: Add support for HW rendering with no color draw buffer.
This is useful for shadow map generation.  Tested with glsl-bug-22603,
which rendered the depth textures with fallbacks before.

Acked-by: Chad Versace <chad@chad-versace.us>
2011-07-18 11:26:33 -07:00
Eric Anholt
debf751aea i915: Fix incorrect depth scaling when enabling/disabling depth buffers.
We were updating our new viewport using the old buffers' _WindowMap.m.
We can do less math and avoid using that deprecated matrix by just
folding the viewport calculation right in to the driver.

Fixes piglit fbo-depthtex.
2011-07-18 11:26:33 -07:00
Eric Anholt
79fee3a76b i915: Make stencil test for no-stencil handling match depth test.
i915_update_draw_buffers() already handles the fallback bit for
missing stencil region, so here we just need to handle whether the GL
thinks we have stencil data or not (and disable the test if so).
2011-07-18 11:26:33 -07:00
Eric Anholt
fc4fba52cf i915: Disable the depth test whenever we don't have a depth buffer.
We were disabling it once at the moment we changed draw buffers, but
later enabling of depth test could turn it back on.  Fixes
fbo-nodepth-test.

Note that ctx->DrawBuffer has to be checked because during context
create we get called while it's still unset.  However, we know we'll
get an intel_draw_buffer() after that, so it's safe to make a silly
choice at this point.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=30080
2011-07-18 11:26:33 -07:00
Eric Anholt
4c47fce92e i915: Remove i965 paths from i915_update_drawbuffer() and i830's too.
Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-07-18 11:26:33 -07:00
Eric Anholt
94efc350b4 i965: Remove i915 paths from brw_update_draw_buffers().
Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-07-18 11:26:33 -07:00
Eric Anholt
c68270a26b i965: Remove unused region calculations in brw_update_draw_buffer().
Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-07-18 11:26:33 -07:00
Eric Anholt
15af0f54b8 i965: Remove empty brw_set_draw_region.
Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-07-18 11:26:33 -07:00
Eric Anholt
dd898c3e89 i965: Remove FALLBACK() from brw_update_draw_region().
The 965 driver doesn't use these for deciding on fallbacks.

Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-07-18 11:26:33 -07:00
Eric Anholt
f34ec6169d intel: Move intel_draw_buffers() code into each driver.
The illusion of shared code here wasn't fooling anybody.  It was
tempting to keep i830 and i915 still shared, but I think I actually
want to make them diverge shortly.

Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-07-18 11:26:33 -07:00
Eric Anholt
8cf2741d2b intel: Clarify the depthRb == stencilRb logic.
Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-07-18 11:26:33 -07:00
Eric Anholt
96cdbf4340 intel: Use the post-execution batchbuffer contents for dumping.
We were missing out on all the relocation changes by dumping what we
subdata()ed in instead of what's there after the kernel finished with
it.
2011-07-18 11:26:33 -07:00
Paul Berry
f07221056e glsl: Ensure that sampler declarations are always uniform or "in" parameters.
This brings us into compliance with page 17 (page 22 of the PDF) of
the GLSL 1.20 spec:

    "[Sampler types] can only be declared as function parameters or
    uniform variables (see Section 4.3.5 "Uniform"). ... [Samplers]
    cannot be used as out or inout function parameters."

The spec isn't explicit about whether this rule applies to
structs/arrays containing shaders, but the intent seems to be to
ensure that it can always be determined at compile time which sampler
is being used in each texture lookup.  So to avoid creating a
loophole, the rule needs to apply to structs/arrays containing shaders
as well.

Fixes piglit tests spec/glsl-1.10/compiler/samplers/*.frag, and fixes
bug 38987.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38987
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-07-18 10:48:27 -07:00
Paul Berry
ddc1c96390 glsl: Move type_contains_sampler() into glsl_type for later reuse.
The new location, as a member function of glsl_type, is more
consistent with queries like is_sampler(), is_boolean(), is_float(),
etc.  Placing the function inside glsl_type also makes it available to
any code that uses glsl_types.
2011-07-18 10:48:27 -07:00
Vadim Girlin
9b3ec69cf4 r600g: fix corner case checks for the queries 2011-07-18 08:53:47 -04:00
Henri Verbeet
3093cbaad9 r600g: Get rid of leftover PB_USAGE_* flags.
These happen to work because their values are the same as the equivalent
PIPE_TRANSFER_* flags, but it's still misleading.

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-07-18 01:36:07 +02:00
Ian Romanick
66f4ac988d linker: Only over-ride built-ins when a prototype has been seen
The GLSL spec says:

    "If a built-in function is redeclared in a shader (i.e., a
    prototype is visible) before a call to it, then the linker will
    only attempt to resolve that call within the set of shaders that
    are linked with it."

This patch enforces this behavior.  When a function call is processed
a flag is set in the ir_call to indicate whether the previously seen
prototype is the built-in or not.  At link time a call will only bind
to an instance of a function that matches the "want built-in" setting
in the ir_call.

This has the odd side effect that first call to abs() in the shader
below will call the built-in and the second will not:

float foo(float x) { return abs(x); }
float abs(float x) { return -x; }
float bar(float x) { return abs(x); }

This seems insane, but it matches what the spec says.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=31744
2011-07-17 13:02:49 -07:00
Jeremy Huddleston
7eed3d4808 darwin: Include glxhash.c in libGL on darwin
Fixes a build regression introduced by 4df137691e

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-07-16 22:02:55 -07:00
Emil Velikov
55b415ff77 xvmc-nouveau: Resolve build
The following resolves the build issues and missing symbols
Add "xvmc-nouveau/target.c" - missing symbol "driver_description"
Add "drivers/nvc0/libnvc0.a" - missing symbol "nvc0_screen_create"
Remove "drivers/softpipe/libsoftpipe.a" - unnessecary dependency
resolves build (when building without swrast)
Add "drivers/trace/libtrace.a" in Makefile

Note: With/without those patches xvmc-nouveau still segfaults
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2011-07-16 11:21:48 -04:00
Christoph Bumiller
56503fd138 nv50: fix bogus error message about 3d surfaces 2011-07-16 13:00:52 +02:00
Vinson Lee
9228bfb375 gallivm: Rename createAsmInfo to createMCAsmInfo with llvm-3.0.
llvm-3.0svn r135219 renamed createAsmInfo to createMCAsmInfo in
include/llvm/Target/TargetRegistry.h.
2011-07-16 00:17:46 -07:00
Marek Olšák
7854b8cb16 xmlconfig: remove an unused-but-set variable
I hate gcc 4.6 already.
2011-07-15 21:48:29 +02:00
Marek Olšák
036fb07908 r600g: print to stderr that a CS has been rejected by the kernel
Just fixing the warning that r is unused.
2011-07-15 21:48:29 +02:00
Marek Olšák
dade65505b prog_optimize: fix a warning that a variable may be uninitialized 2011-07-15 21:48:28 +02:00
Marek Olšák
ed5e95ada6 r300/compiler: remove an unused-but-set variable and simplify the code 2011-07-15 21:48:28 +02:00
Marek Olšák
2ce6c3ea6e r300/compiler: fix a warning that a variable may be uninitialized 2011-07-15 21:48:28 +02:00
Marek Olšák
2f02c2fe56 st/mesa: remove unused-but-set variables in st_program.c 2011-07-15 21:48:28 +02:00
Marek Olšák
3032d064fb swrast: remove an unused-but-set variable 2011-07-15 21:48:28 +02:00
Marek Olšák
eca3152de0 mesa: fix unused-but-set-variable warnings in dlist.c 2011-07-15 21:48:28 +02:00
Vadim Girlin
ef29bfee03 r600g: fix queries and predication
Use all zpass data for predication instead of the last block only.
Use query buffer as a ring instead of reusing the same area
for each new BeginQuery. All query buffer offsets are in bytes
to simplify offsets math.
2011-07-15 15:42:46 -04:00
Marc Pignat
cfec000e75 drisw: Fix 24bpp software rendering, take 2
This patch add the support for 24bpp in the dri/swrast implementation.
See http://bugs.freedesktop.org/show_bug.cgi?id=23525

Signed-off-by: Marc Pignat <marc at pignat.org>
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-07-15 10:09:14 -06:00
Christian König
0d082390d9 g3dvl: no need for flushing inside the compositor any more
Move that also inside the state tracker where needed.
2011-07-15 17:54:06 +02:00
Christian König
2cbf532ae1 g3dvl: correctly distinct dst area and clip area in the compositor
Otherwise xine won't scale correctly.
2011-07-15 17:36:02 +02:00
Alex Deucher
a3d23a4868 r600c/g: add new NI pci ids
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2011-07-15 10:55:02 -04:00
Christian König
1cf06218e4 g3dvl: link r300 and r600 targets width libdrm instead of libdrm_radeon 2011-07-15 10:45:31 +02:00
Marek Olšák
a2381665d5 gallium/targets: link vdpau, va, and xvmc with LLVM libs when requested
Signed-off-by: Christian König <deathsimple@vodafone.de>
2011-07-15 10:31:07 +02:00
Christian König
13da00f07c g3dvl: change picture parameter of decode_bitstream to general version
Using pipe_mpeg12_picture_desc was unintentional here.
2011-07-15 10:22:51 +02:00
Younes Manton
d4be170e8b g3dvl: Build softpipe when needed. 2011-07-15 01:30:21 -04:00
Younes Manton
b97816ddee g3dvl: Build the right winsys dependencies when needed. 2011-07-15 01:12:14 -04:00
José Fonseca
864eb844ff make: Fix program/lex.yy.c & friends generation.
Not sure how this ever worked before, given that the Makefile is in
src/mesa, not src/mesa/program.
2011-07-14 17:35:05 +01:00
José Fonseca
9a7f84d6b2 Squashed commit of the following:
commit 1856230d9fa61710cce3e152b8d88b1269611a73
Author: José Fonseca <jose.r.fonseca@gmail.com>
Date:   Tue Jul 12 23:41:27 2011 +0100

    make: Use better var names on packaging.

commit d1ae72d0bd14e820ecfe9f8f27b316f9566ceb0c
Author: José Fonseca <jose.r.fonseca@gmail.com>
Date:   Tue Jul 12 23:38:21 2011 +0100

    make: Apply several of Dan Nicholson's suggestions.

commit f27cf8743ac9cbf4c0ad66aff0cd3f97efde97e4
Author: José Fonseca <jose.r.fonseca@gmail.com>
Date:   Sat Jul 9 14:18:20 2011 +0100

    make: Put back the tar.bz2 creation rule.

    Removed by accident.

commit 34983337f9d7db984e9f0117808274106d262110
Author: José Fonseca <jose.r.fonseca@gmail.com>
Date:   Sat Jul 9 11:59:29 2011 +0100

    make: Determine tarballs contents via git ls-files.

    The wildcards were a mess:
    - lots of files for non Linux platforms missing
    - several files listed and archived twice

    Using git-ls-files ensures things are not loss when making the tarballs.

commit 34a28ccbf459ed5710aafba5e7149e8291cb808c
Author: José Fonseca <jose.r.fonseca@gmail.com>
Date:   Sat Jul 9 11:07:14 2011 +0100

    glut: Remove GLUT source.

    Most distros ship freeglut, and most people don't care one vs the other,
    and it hasn't been really maintained.

    So it is better to have Mesa GLUT be revisioned and built separately
    from Mesa.

commit 5c26a2c3c0c7e95ef853e19d12d75c4f80137e7d
Author: José Fonseca <jose.r.fonseca@gmail.com>
Date:   Sat Jul 9 10:31:02 2011 +0100

    Ignore the tarballs.

commit 26edecac589819f0d0efe2165ab748dbc4e53394
Author: José Fonseca <jose.r.fonseca@gmail.com>
Date:   Sat Jul 9 10:30:24 2011 +0100

    make: Create the Mesa-xxx-devel symlink automatically.

    Also actually remote the intermediate uncompressed tarballs.
2011-07-14 17:35:05 +01:00
Marcin Baczyński
ff2efdf599 configure: allow C{,XX}FLAGS override
NOTE: This is a candidate for the 7.11 branch.

Signed-off-by: Brian Paul <brianp@vmware.com>
2011-07-14 10:34:02 -06:00
Marcin Baczyński
fa013419de configure: fix gcc version check
NOTE: This is a candidate for the 7.11 branch.

Signed-off-by: Brian Paul <brianp@vmware.com>
2011-07-14 09:54:51 -06:00
Dave Airlie
b6df603e65 vbo: minor optimisation in vbo_exec_DrawRangeElements
this moves getting the context into the debug in this function,

just spotted it trawling callgrind traces for other things.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-07-14 15:22:58 +01:00
Brian Paul
e5f7e09210 gallium: don't use enum bitfields in p_video_state.h
Silences many warnings about "type of bit-field ‘field_select’ is a
GCC extension".

Since the field sizes were 8 and 16 bits, just use basic types.
2011-07-14 08:14:14 -06:00
Brian Paul
a5a9422561 gallium: put video-related enums in separate header
The forward references to video enum types in p_context.h causes
a massive number of compiler warnings (ISO C forbids forward references
to ‘enum’ types).

By putting the new video enums in a separate header that can be included
by p_context.h and p_screen.h we can avoid this.

Acked-by Christian König <deathsimple@vodafone.de>
2011-07-14 08:14:14 -06:00
Brian Paul
9726947b68 i915g: move declaration before code 2011-07-14 08:14:13 -06:00