Commit Graph

43176 Commits

Author SHA1 Message Date
Marek Olšák e5c6a92a12 mesa: implement clamping controls (ARB_color_buffer_float)
Squashed commit of the following:

Author: Marek Olšák <maraeo@gmail.com>

    mesa: fix getteximage so that it doesn't clamp values
    mesa: update the compute_version function
    mesa: add display list support for ARB_color_buffer_float
    mesa: fix glGet query with GL_ALPHA_TEST_REF and ARB_color_buffer_float

commit b2f6ddf907935b2594d2831ddab38cf57a1729ce
Author: Luca Barbieri <luca@luca-barbieri.com>
Date:   Tue Aug 31 16:50:57 2010 +0200

    mesa: document known possible deviations from ARB_color_buffer_float

commit 5458935be800c1b19d1c9d1569dc4fa30a97e8b8
Author: Luca Barbieri <luca@luca-barbieri.com>
Date:   Tue Aug 24 21:54:56 2010 +0200

    mesa: expose GL_ARB_color_buffer_float

commit aef5c3c6be6edd076e955e37c80905bc447f8a82
Author: Luca Barbieri <luca@luca-barbieri.com>
Date:   Thu Aug 26 18:12:34 2010 +0200

    mesa, mesa/st: handle read color clamping properly

    (I'll squash the st/mesa part to a separate commit. -Marek)

    We set IMAGE_CLAMP_BIT in the caller based on _ClampReadColor, where
    the operation mandates it.

    TODO: did I get the set of operations mandating it right?

commit 3a9cb5e59b676b6148c50907ce6eef5441677e36
Author: Luca Barbieri <luca@luca-barbieri.com>
Date:   Thu Aug 26 18:09:41 2010 +0200

    mesa: respect color clamping in texenv programs (v2)

    Changes in v2:
    - Fix attributes other than vertex color sometimes getting clamped

commit de26f9e47e886e176aab6e5a2c3d4481efb64362
Author: Luca Barbieri <luca@luca-barbieri.com>
Date:   Thu Aug 26 18:05:53 2010 +0200

    mesa: restore color clamps on glPopAttrib

commit a55ac3c300c189616627c05d924c40a8b55bfafa
Author: Luca Barbieri <luca@luca-barbieri.com>
Date:   Thu Aug 26 18:04:26 2010 +0200

    mesa: clamp color queries if and only if fragment clamping is enabled

commit 9940a3e31c2fb76cc3d28b15ea78dde369825107
Author: Luca Barbieri <luca@luca-barbieri.com>
Date:   Wed Aug 25 00:00:16 2010 +0200

    mesa: introduce derived _ClampXxxColor state resolving FIXED_ONLY

    To do this, we make ClampColor call FLUSH_VERTICES with the appropriate
    _NEW flag.

    We introduce _NEW_FRAG_CLAMP since fragment clamping has wide-ranging
    effects, despite being in the Color attrib group.

    This may be easily changed by s/_NEW_FRAG_CLAMP/_NEW_COLOR/g

commit 6244c446e3beed5473b4e811d10787e4019f59d6
Author: Luca Barbieri <luca@luca-barbieri.com>
Date:   Thu Aug 26 17:58:24 2010 +0200

    mesa: add unclamped color parameters
2011-03-29 12:04:55 +02:00
Marek Olšák 3bdd12ecb5 mesa: regenerate glapi files 2011-03-29 12:04:54 +02:00
Kenneth Graunke 9d60a7ce08 i965: Resolve implied moves in brw_dp_READ_4_vs_relative.
Fixes piglit test glsl-vs-arrays-3 on Sandybridge, as well as garbage
rendering in 3DMarkMobileES 2.0's Taiji demo and GLBenchmark 2.0's
Egypt and PRO demos.

NOTE: This a candidate for stable release branches.  It depends on
commit 9a21bc6401.
2011-03-29 06:22:48 -07:00
Kenneth Graunke 9a21bc6401 i965: Refactor Sandybridge implied move handling.
This was open-coded in three different places, and more are necessary.
Extract this into a function so it can be reused.

Unfortunately, not all variations were the same: in particular, one set
compression control and checked that the source register was not
ARF_NULL.  This seemed like a good idea, so all cases now do so.
2011-03-29 05:29:06 -07:00
Vinson Lee 4f94e0b76a mesa: Add missing parentheses in glBlitFramebufferEXT error strings. 2011-03-28 20:32:01 -07:00
Ian Romanick e21beaeb10 intel: Don't leak the tex object miptree when replacing it
Eventually the miptree refcounting interface should be cleaned up.
The assymmetry dramatically increases the probability of bugs like
this.  It should be made to like like libdrm refcounting or the
refcounting style used in other parts of Mesa.

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

Reviewed-by: Eric Anholt <eric@anholt.net>
2011-03-28 19:54:51 -07:00
Vinson Lee 92e29dc5b0 gallivm: Fix build with llvm-2.9.
The build fix of commit 40ae214067 does
not apply to llvm-2.9 but rather to llvm-3.0svn.
2011-03-28 17:48:37 -07:00
Vinson Lee 2737350157 i915g: Fix build.
Fix build failures introduced with commit 0fbb64a529.

Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
2011-03-28 17:37:33 -07:00
Daniel Vetter 0fbb64a529 i915g: use drm ioctl to get pci devid
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-28 21:23:31 +02:00
Tobias Droste 40ae214067 gallivm: Fix build with llvm-2.9
In llvm-2.9 Target->createMCInstPrinter() takes different arguments

Signed-off-by: Tobias Droste <tdroste@gmx.de>
2011-03-28 17:23:45 +01:00
Henri Verbeet 5d7c27f5ec st/mesa: Validate state before doing blits.
Specifically, this ensures things like the front buffer actually exist. This
fixes piglt fbo/fbo-sys-blit and fd.o bug 35483.

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-03-27 15:01:59 +02:00
Fabian Bieler 244a3bbf14 r600g: Handle texture fetch instructions with relative addressing
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-03-27 15:00:07 +02:00
Fabian Bieler da5b4764b2 r600g: Handle texture fetch instructions with neg or abs on source register
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-03-27 15:00:07 +02:00
Fabian Bieler 78037d95da r600g: Handle texture fetch instructions with swizzle on source register
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-03-27 15:00:07 +02:00
Kenneth Graunke 8752824f27 glsl: Accept precision qualifiers on sampler types, but only in ES.
GLSL 1.30 states clearly that only float and int are allowed, while the
GLSL ES specification's issues section states that sampler types may
take precision qualifiers.

Fixes compilation failures in 3DMarkMobileES 2.0 and GLBenchmark 2.0.

NOTE: This is a candidate for stable release branches.
2011-03-26 23:56:18 -07:00
Kenneth Graunke 0c8beb0ab5 i965/fs: Fix linear gl_Color interpolation on pre-gen6 hardware.
Civilization 4's shaders make heavy use of gl_Color and don't use
perspective interpolation.  This resulted in rivers, units, trees, and
so on being rendered almost entirely white.  This is a regression
compared to the old fragment shader backend.

Found by inspection (comparing the old and new FS backend code).

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

NOTE: This is a candidate for the 7.10 branch.
2011-03-26 22:20:11 -07:00
Benjamin Franzke 62d5f7a04a egl/wayland-drm: Fix include path
src/egl/main/egltypedefs.h needs the path for EGL/egl.h

Reported by jlind on irc.
2011-03-26 10:57:31 -04:00
Kristian Høgsberg a1bd012473 egl_dri2: We don't actually support KHR_gl_texture_2D_image 2011-03-26 10:57:31 -04:00
Kristian Høgsberg 981e338611 egl_dri2: Enable image extensions in one place
We know what we can support in egl_dri2.c so just enable the extensions
there.
2011-03-26 10:57:31 -04:00
Kenneth Graunke 56ef62d988 glsl: Generate readable unique names at print time.
Since GLSL IR allows multiple ir_variables to share the same name, we
need to generate unique names when printing the IR.  Previously, we
always used %s@%p, appending the ir_variable's memory address.

While this worked, it had two drawbacks:
- When there aren't duplicates, the extra "@0x669a3e88" is useless
  and makes the code harder to read.
- Real duplicates were hard to tell apart:
  channel_expressions@0x6699e3c8 vs. channel_expressions@0x6699ddd8

We now append @2, @3, @4, and so on, but only where necessary to
distinguish duplicates.  Since we only do this at print time, any
performance impact is irrelevant.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <idr@freedesktop.org>
2011-03-25 16:31:53 -07:00
Vinson Lee eb0dd37094 gallivm: Fix build with llvm-2.9.
In llvm-2.9, the header file llvm/System/Host.h has been moved to
llvm/Support/Host.h.
2011-03-25 12:47:06 -07:00
Ian Romanick dfdff940b6 glsl: Make add_variable, add_uniform, et. al. have similar signatures
While making some other changes in this area I was finding it annoying
each of these functions took mostly the same set of parameters in
differing orders.
2011-03-25 11:28:08 -07:00
Ian Romanick 4e994e150f i965/fs: Use different name for inner loop counter
'i' is already used for the outer loop.  This caused some problems
while doing other work in this area.  No bug exists here... until you
want to use the outer loop counter in the inner loop.
2011-03-25 11:28:07 -07:00
Ian Romanick 0d9d036004 glsl: Fix off-by-one error setting max_array_access for non-constant indexing
NOTE: This is a candidate for the stable branches.
2011-03-25 11:28:07 -07:00
Ian Romanick bc83f6bd58 glsl: Add array access bounds checking to ir_validate 2011-03-25 11:28:07 -07:00
Brian Paul cf290344cc mesa: add void to save_TextureBarrierNV() 2011-03-25 10:33:51 -06:00
José Fonseca 28f1d6ab49 glsl: Add void to _mesa_destroy_shader_compiler() argument list.
At least MSVC sees a distinction between foo() and foo(void) and warns
about it.
2011-03-25 16:22:34 +00:00
José Fonseca a81828cb96 mesa: Avoid redefining PUBLIC/USE/likely/unlikely macros. 2011-03-25 16:22:32 +00:00
José Fonseca 7fbe020bbc mesa: Use appropriate call convention in VertexAttribI*v.
We were using typecasts because the functions pointers are polymorphic
in the second argument type, which.

Surprisingly the wrong calling convention didn't cause crashes on Windows,
but it was causing certain registers to be trashed in MSVC optimized
builds, when processing callists in the ClearView RC Flight Simulator.
2011-03-25 16:22:30 +00:00
José Fonseca 5858abec6e gallium: Avoid redefinition of likely/unlikely macros on non gcc compilers. 2011-03-25 16:22:28 +00:00
José Fonseca acd7ce57f7 mesa,mapi: Remove spurious const keyword from ClearBufferfi args. 2011-03-25 16:22:26 +00:00
Marek Olšák 226ae9d6c8 r300g: fix alpha-test with no colorbuffer
Piglit:
- fbo-alphatest-nocolor

NOTE: This is a candidate for the stable branches.
2011-03-24 23:37:51 +01:00
Brian Paul e1a9ef2304 mesa: added _mesa_dump_image() for debugging 2011-03-24 13:38:28 -06:00
Brian Paul e4852ae4d2 mesa: minor whitespace fixes 2011-03-24 13:38:27 -06:00
Eric Anholt 2911fa0cca i965/fs: Make compile failure more verbose with INTEL_DEBUG=wm. 2011-03-24 11:31:36 -07:00
Eric Anholt 4a101f9577 i965/fs: Clean up reg_undef args from long ago lack of fs_inst overloads. 2011-03-24 11:31:36 -07:00
Eric Anholt 53d78be3bd i965/fs: Clean up the emit calls by introducing emit() overload helpers.
I think the code ends up a lot more legible this way, though we've
still got the overloads in the fs_inst as well (even though there's
only one caller left currently).
2011-03-24 11:31:36 -07:00
Brian Paul 82dd62fb22 mesa: new MESA_EXTENSION_MAX_YEAR env var
If set to year X, only report extensions up to that year.  This is a
work-around for games that try to copy the extensions string to a fixed
size buffer and overflow.  If a game was released in year X, setting
MESA_EXTENSION_MAX_YEAR to that year will likely fix the problem.
2011-03-24 11:39:23 -06:00
Brian Paul 4c75d5ae63 svga: adjust triangle rasterization offset
Fixes minor sub-pixel positioning error in some apps.
2011-03-24 11:32:38 -06:00
Iain Hibbert c22a7f9045 radeon: use C99 style in macros with variable arguments
Signed-off-by: Iain Hibbert <plunky@netbsd.org>
2011-03-24 08:36:31 -06:00
Brian Paul ff2950dd69 radeon: reorder #includes to silence warnings
Silences warnings about RADEON_TILING_SURFACE being redefined.
Only compile tested, not run tested.
2011-03-24 08:34:44 -06:00
Brian Paul b5745429d7 r128: fix an old annoying warning 2011-03-24 08:29:28 -06:00
Brian Paul 7d40bf2566 radeon: fix radeon_create_image_from_name() wrong parameter type 2011-03-24 08:29:28 -06:00
José Fonseca f4e392bf8d st/wgl: Adjust the pbuffer invisible window size.
Thanks to Brian Paul for diagnosing the issue.
2011-03-24 10:47:03 +00:00
José Fonseca 81992010b5 mesa: More glGet* fixes.
glGet(GL_NORMAL_ARRAY) giving potentially wrong results.

Most of glGet(GL_XXX_ARRAY_BUFFER_BINDING) giving totally bogus results.
2011-03-23 16:47:41 +00:00
Brian Paul 12b9e07966 mesa: remove unused _MESA_NEW_NEED_NORMALS 2011-03-23 09:05:04 -06:00
Brian Paul 7ecb61c30c mesa: remove _MESA_NEW_TRANSFER_STATE 2011-03-23 09:04:22 -06:00
José Fonseca f6970872c0 mesa: Fix typo glGet*v(GL_TEXTURE_COORD_ARRAY_*). 2011-03-22 22:48:02 +00:00
Fabian Bieler 8d7c12de1e r600g: Check for relative addressing in destination register when trying to merge instruction groups
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-03-22 21:24:09 +01:00
Dave Airlie e4b040c2b9 r600g: fix bo names causing -35 EDEADLCK
this is a port of the r300 winsys code to do the same thing.
2011-03-22 11:48:36 +10:00