Brian Paul [Fri, 27 Jan 2012 03:01:12 +0000 (20:01 -0700)]
mesa: use _mesa_format_matches_format_and_type() in texstore code
This simplifies the code quite a bit, consolidates some cases and
possibly catches more cases for the memcpy path.
More such changes will follow. Do just a few at a time to help bisect
any possible regressions.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Brian Paul [Fri, 27 Jan 2012 03:01:12 +0000 (20:01 -0700)]
mesa: implement more cases in _mesa_format_matches_format_and_type()
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Brian Paul [Fri, 27 Jan 2012 03:01:12 +0000 (20:01 -0700)]
mesa: use swapBytes parameter in _mesa_format_matches_format_and_type()
This will let us use memcpy in more situations. We can also remove
the checks for byte spapping that happen before the calls to
_mesa_format_matches_format_and_type().
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Brian Paul [Fri, 27 Jan 2012 03:01:12 +0000 (20:01 -0700)]
mesa: added swapBytes parameter to _mesa_format_matches_format_and_type()
Not actually used yet though.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Brian Paul [Fri, 27 Jan 2012 03:01:11 +0000 (20:01 -0700)]
mesa: rewrite, simplify some of the logic in _mesa_format_matches_format_and_type()
In preparation for adding GL_PACK/UNPACK_SWAP_BYTES support.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Brian Paul [Fri, 27 Jan 2012 03:01:11 +0000 (20:01 -0700)]
mesa: add BGR888 code in _mesa_format_matches_format_and_type()
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Brian Paul [Fri, 27 Jan 2012 03:01:11 +0000 (20:01 -0700)]
mesa: fix error in _mesa_format_matches_format_and_type() for RGB888
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Brian Paul [Fri, 27 Jan 2012 03:01:11 +0000 (20:01 -0700)]
mesa: remove redundant byte swap check
The outer conditional already did the test.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Brian Paul [Fri, 27 Jan 2012 03:01:10 +0000 (20:01 -0700)]
mesa: remove LSB-first pixel packing check in glReadPixels
GL_UNPACK_LSB_FIRST only applies to bitmap data, not glReadPixels.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Chad Versace [Sat, 28 Jan 2012 00:44:26 +0000 (16:44 -0800)]
swrast: Fix implicit declaration warnings
In a recent commit,
commit
1c0f1dd42a50464eeb81de4aad8eecf24b3d6c89
Author: Chad Versace <chad.versace@linux.intel.com>
swrast: Fix fixed-function fragment processing
I defined a new function,_swrast_fragment_program, but neglected
to #include s_fragprog.h for clients of that function.
Note: This is a candidate for the 8.0 branch.
Reported-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Alex Deucher [Fri, 27 Jan 2012 23:42:39 +0000 (18:42 -0500)]
r600g: remove unsupported evergreen CB formats
The evergreen+ CB no longer supports the following formats
compared to 6xx/7xx:
- COLOR_4_4
- COLOR_3_3_2
- COLOR_6_5_5
- COLOR_8_24_FLOAT
- COLOR_24_8_FLOAT
- COLOR_11_11_10
- COLOR_11_11_10_FLOAT
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
José Fonseca [Fri, 27 Jan 2012 21:54:12 +0000 (21:54 +0000)]
mesa: Avoid void * arithmetic.
Should fix MSVC build.
Chad Versace [Thu, 26 Jan 2012 03:38:10 +0000 (19:38 -0800)]
swrast: Fix fixed-function fragment processing
On i965, _mesa_ir_link_shader is never called. As a consequence, the
current fragment program (ctx->FragmentProgram->_Current) exists but is
invalid because it has no instructions. Yet swrast continued to attempt to
use the empty program.
To avoid using the empty program, this patch 1) defines a new function,
_swrast_use_fragment_program, which checks if the current fragment program
exists and differs from the fixed function fragment program, and, when
appropriate, 2) replaces checks of the form
if (ctx->FragmentProgram->_Current == NULL)
with
if (_swrast_use_fragment_program(ctx))
Fixes the following oglconform regressions on i965/gen6:
api-fogcoord(basic.allCases.log)
api-mtexcoord(basic.allCases.log)
api-seccolor(basic.allCases.log)
api-texcoord(basic.allCases.log)
blend-separate(basic.allCases)
colorsum(basic.allCases.log)
The tests were ran with the GLXFBConfig:
visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat
----------------------------------------------------------------------------
0x021 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
(Note: I originally believed that the hunk in
_swrast_update_fragment_program was unnecessary. But it is required to fix
blend-separate.)
Note: This is a candidate for the 8.0 branch.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43327
Reveiwed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <idr@freedesktop.org>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Anuj Phogat [Wed, 25 Jan 2012 04:06:27 +0000 (20:06 -0800)]
mesa: set clamp bit in glGetTexImage for GL_UNSIGNED_NORMALIZED
Color clamping should be enabled in glGetTexImage if texture dataType is
GL_UNSIGNED_NORMALIZED and format is GL_LUMINANCE or GL_LUMINANCE_ALPHA
Fixes 2 Intel oglconform test cases: pxconv-gettex and pxtrans-gettex
https://bugs.freedesktop.org/show_bug.cgi?id=40864
NOTE: This is a candidate for the 8.0 branch
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Tue, 24 Jan 2012 22:52:04 +0000 (14:52 -0800)]
mesa: Don't round-trip integer texture data through a floating point temp.
This was losing bits of precision. Fixes (with the previous commits):
piglit EXT_texture_integer/getteximage-clamping
piglit EXT_texture_integer/getteximage-clamping GL_ARB_texture_rg
oglc advanced.mipmap.upload
Regresses oglc negative.typeFormatMismatch.teximage from fail to
abort, because it's been hitting texstore for a format/type combo that
shouldn't happen.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Tue, 24 Jan 2012 22:48:56 +0000 (14:48 -0800)]
mesa: When unpacking signed integer pixel data, don't clamp to 0.
In the core, we always treat spans of int/uint data as uint, so this
extract function was truncating storage of integer pixel data to a n
int texture to (0, max_int) instead of (min_int, max_int). There is
probably missing code for handling truncation on conversion between
pixel formats, still, but this does improve things.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Tue, 24 Jan 2012 22:16:59 +0000 (14:16 -0800)]
mesa: Add clamping for packing of integer data.
Mostly fixes piglit EXT_texture_integer/getteximage-clamping. The
remaining failure involves precision loss on storing of int32 texture
data (something I knew was an issue, but wasn't trying to test).
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Fri, 20 Jan 2012 00:34:24 +0000 (16:34 -0800)]
mesa: Add missing format unpack for some integer texture formats.
This cut and paste is pretty awful. I'm tempted to do a lot of this
using preprocessor tricks for customizing the parameter type from a
template function, but that's just a different sort of hideous.
Fixes 8 Intel oglconform int-textures cases.
NOTE: This is a candidate for the 8.0 branch.
v2: Add alpha formats, too.
Reviewed-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Wed, 25 Jan 2012 00:32:36 +0000 (16:32 -0800)]
i965: Don't allow rendering to non-GL_RED/RG/RGBA integer textures.
Fixes piglit EXT_texture_integer/fbo-blending.
Eric Anholt [Fri, 20 Jan 2012 01:23:25 +0000 (17:23 -0800)]
intel: Pass the gl_renderbuffer to render_target_supported() vtable method.
I'm going to want to go looking at it for an integer texture fix.
NOTE: This is a candidate for the 8.0 branch.
Eric Anholt [Fri, 20 Jan 2012 01:41:39 +0000 (17:41 -0800)]
intel: Make a renderbuffer wrapping a texture have the same _BaseFormat.
Otherwise, when you asked for the _BaseFormat of an rb wrapping a
GL_RGB texture, you got GL_RGBA because that's what we were storing
the texture data as.
NOTE: This is a candidate for the 8.0 branch.
Eric Anholt [Fri, 20 Jan 2012 01:40:41 +0000 (17:40 -0800)]
intel: Simplify intel_renderbuffer_update_wrapper() by passing in the image.
NOTE: This is a candidate for the 8.0 branch.
Eric Anholt [Fri, 20 Jan 2012 01:32:55 +0000 (17:32 -0800)]
intel: Drop intel_wrap_miptree().
Most of this function was just calling
intel_renderbuffer_update_wrapper(), which was called immediately
afterwards in the only caller.
NOTE: This is a candidate for the 8.0 branch.
Eric Anholt [Fri, 27 Jan 2012 19:06:49 +0000 (11:06 -0800)]
intel: Comment typo fix.
Eric Anholt [Thu, 26 Jan 2012 00:29:28 +0000 (16:29 -0800)]
mesa: Fix handling of glCopyBufferSubData() for src == dst.
Fixes piglit ARB_copy_buffer-overlap, on swrast, which previously
assertion failed.
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Eric Anholt [Tue, 24 Jan 2012 23:52:52 +0000 (15:52 -0800)]
intel: Fix accum buffer mapping since the swrast rework.
A pure swrast-allocated buffer gets an irb of NULL, so we segfaulted
in the clear-accum test. Just look at the swrast renderbuffer pointer
for handling swrast rbs.
Eric Anholt [Tue, 24 Jan 2012 23:27:29 +0000 (15:27 -0800)]
mesa: Fix display list handling for GL_EXT_framebuffer_multisample.
From the extension spec:
Added to section 5.4, as part of the discussion of which commands
are not compiled into display lists:
"Certain commands, when called while compiling a display list, are
not compiled into the display list but are executed immediately.
These are: ..., RenderbufferStorageMultisampleEXT..."
Fixes piglit EXT_framebuffer_multisample/dlist.
Reviewed-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Tue, 24 Jan 2012 23:19:50 +0000 (15:19 -0800)]
mesa: Fix display list handling for EXT_framebuffer_object.
Noticed when handling a similar problem in EXT_framebuffer_multisample.
From the EXT_framebuffer_object spec:
Added to section 5.4, as part of the discussion of which commands
are not compiled into display lists:
"Certain commands, when called while compiling a display list, are
not compiled into the display list but are executed immediately.
These are: ..., GenFramebuffersEXT, BindFramebufferEXT,
DeleteFramebuffersEXT, CheckFramebufferStatusEXT,
GenRenderbuffersEXT, BindRenderbufferEXT, DeleteRenderbuffersEXT,
RenderbufferStorageEXT, FramebufferTexture1DEXT,
FramebufferTexture2DEXT, FramebufferTexture3DEXT,
FramebufferRenderbufferEXT, GenerateMipmapEXT..."
Reviewed-by: Brian Paul <brianp@vmware.com>
Brian Paul [Wed, 2 Feb 2011 14:20:10 +0000 (14:20 +0000)]
gallivm: Swizzle constants into the right AoS ordering.
Constants array is always assumed to be RGBA, which means we need to
swizzle the constant elements into place to match the AoS ordering
(e.g., BGRA) that was passed to lp_build_tgsi_aos().
Signed-off-by: José Fonseca <jfonseca@vmware.com>
José Fonseca [Fri, 27 Jan 2012 14:40:06 +0000 (14:40 +0000)]
draw: Ensure that prepare is always run after LLVM garbagge collection.
Should avoid dangling pointer derreference with
glean --run results --overwrite --quick --tests texSwizzle
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
Jeremy Huddleston [Thu, 5 May 2011 21:08:57 +0000 (14:08 -0700)]
configure.ac: Don't use $CLANG since it will collide with the static analyzer.
We just prefix the $CLANG environment variable in configure.ac with acv_mesa_
Found by: tinderbox
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Marek Olšák [Fri, 27 Jan 2012 16:49:41 +0000 (17:49 +0100)]
Revert "r600g: use S_028B20_BUFFER_0_EN macro for streamout buffer enable"
This reverts commit
d6cd514edbeca0de38561f66189748078d0dc602.
It broke multiple streamout buffers, because it only enabled the first one.
Matt Turner [Fri, 27 Jan 2012 05:33:10 +0000 (00:33 -0500)]
i965/automake: use $top_srcdir instead of relative links
Fixes out-of-tree builds.
Matt Turner [Fri, 27 Jan 2012 05:16:33 +0000 (00:16 -0500)]
dri common: add .gitignore
Matt Turner [Sat, 14 Jan 2012 16:10:06 +0000 (11:10 -0500)]
configure.ac: remove shared/static options
now that libtool provides them.
Matt Turner [Fri, 27 Jan 2012 00:31:12 +0000 (19:31 -0500)]
dri: make sure to build libdricommon.la
Eric Anholt [Fri, 27 Jan 2012 00:11:12 +0000 (16:11 -0800)]
i965: Drop the missing symbols link test.
This was horribly broken and has cost everyone more time than we were
ever going to save using it. It might have been fixable, but the
problem it was originally trying to solve can be better solved with
-Werror=missing-prototypes and -Werror=implicit-function-declaration.
Also, it was always producing a big scary warning about how the link
test was non-portable.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44928
Eric Anholt [Fri, 27 Jan 2012 00:10:48 +0000 (16:10 -0800)]
nouveau: Fix missing dri common symbols after automake conversion.
Eric Anholt [Wed, 25 Jan 2012 22:42:45 +0000 (14:42 -0800)]
radeon: Fix missing dri common symbols after automake conversion.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Eric Anholt [Wed, 25 Jan 2012 22:40:41 +0000 (14:40 -0800)]
dri: Move the compile of the common files to a convenience library.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Eric Anholt [Wed, 25 Jan 2012 19:23:51 +0000 (11:23 -0800)]
i915: Fix driver after automakeification.
Kenneth Graunke [Thu, 26 Jan 2012 13:38:28 +0000 (05:38 -0800)]
i965/vs: Use the sampler for VS pull constant loading on Ivybridge.
Substantially increases performance in GLBenchmark PRO:
- 320x240 => 3.28x
- 1920x1080 => 1.47x
- 2560x1440 => 1.27x
The LD message ignores the sampler unit index and SAMPLER_STATE pointer,
instead relying on hard-wired default state. Thus, there's no need to
worry about running out of sampler units or providing SAMPLER_STATE;
this small patch should be all that's required.
NOTE: This is a candidate for release branches.
(It requires the preceding commit to compile.)
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Kenneth Graunke [Thu, 26 Jan 2012 13:33:19 +0000 (05:33 -0800)]
i965: Expose brw_set_sampler_message for use outside brw_eu_emit.c.
brw_SAMPLE is full of complex workarounds for original Broadwater
hardware, and I'd rather avoid all that for my next Ivybridge patch.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Thu, 26 Jan 2012 18:32:01 +0000 (11:32 -0700)]
svga: reset vertex buffer offset in svga_release_user_upl_buffers()
This function releases the buffer that contains user-space vertex data.
The buffer_offset field points into that buffer. So reset the
buffer_offset to zero when we release the buffer so that subsequent
draws don't inadvertantly get a bad offset.
Fixes error messages / failed assertions (in the draw module's bounds/size
checking code) when running piglit's polygon-mode test.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
José Fonseca [Thu, 26 Jan 2012 17:33:33 +0000 (17:33 +0000)]
mapi: Make initMagic unsigned.
To avoid signed/unsigned comparison warnings against INIT_MAGIC
0xff8adc98, which doesn't fit on signed integers.
José Fonseca [Thu, 26 Jan 2012 17:25:30 +0000 (17:25 +0000)]
scons: Remove references to u_thread.c
For future reference: always run "git grep" on refactorings.
Matt Turner [Tue, 24 Jan 2012 15:05:52 +0000 (10:05 -0500)]
Fix visibility of u_thread functions by inlining them
-fvisibility=hidden was preventing them from being exported, which
combined with shared-glapi was causing undefined symbol errors at
runtime.
We don't want to make these functions part of the ABI, and given
how simple they are, we simply inline them.
Brian Paul [Thu, 26 Jan 2012 15:16:54 +0000 (08:16 -0700)]
nouveau: include s_context.h to silence missing prototype warnings
Brian Paul [Thu, 26 Jan 2012 15:16:33 +0000 (08:16 -0700)]
swrast: silence uninitialized var warnings
Lucas Stach [Tue, 24 Jan 2012 08:54:31 +0000 (09:54 +0100)]
nvfx: fix nv3x fallout from state validation changes
From
c998f732d42da5e962fe5da294493132c3e8dc5f Mon Sep 17 00:00:00 2001
From: Lucas Stach <dev@lynxeye.de>
Date: Tue, 24 Jan 2012 09:46:32 +0100
Subject: [PATCH] nvfx: fix nv3x fallout from state validation changes
Apparently nv3x needs some curde hacks to work properly. This
is clearly not the right fix, but it's the behaviour of the old
code and fixes regressions seen by users.
Benjamin Franzke [Thu, 26 Jan 2012 08:47:48 +0000 (09:47 +0100)]
gbm: Add back link flags for udev, dl and glapi
They were left out when migrating to automake.
Benjamin Franzke [Thu, 26 Jan 2012 09:50:04 +0000 (10:50 +0100)]
configure: Use WAYLAND_SCANNER_RULES only if available
This has the drawback that when creating configure for
distribution, wayland needs to be available for the packager.
Also the the macros has the wayland prefix hardcoded, so
we cant copy it in mesa right now.
Jakob Bornecrantz [Mon, 24 Jan 2011 01:11:59 +0000 (02:11 +0100)]
draw: Only run prepare when state, prim and opt changes
In bad applications like ipers which does a lot of draw calls with
no state changes this helps to greatly reduce time spent in prepare.
In ipers around 7% of CPU was spent in various prepare functions,
after this commit no prepare function show on the profile.
This commit also has the added benefit of now grouping all pipelined
drawing into a single draw call if the driver uses vbuf_render.
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Jakob Bornecrantz [Sun, 5 Dec 2010 20:20:59 +0000 (21:20 +0100)]
draw: Don't revalidate pipeline on backend flushes
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Jakob Bornecrantz [Sun, 5 Dec 2010 20:19:12 +0000 (21:19 +0100)]
draw: Remove reduced_prim
Conflicts:
src/gallium/auxiliary/draw/draw_context.c
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Benjamin Franzke [Tue, 24 Jan 2012 19:38:01 +0000 (20:38 +0100)]
automake: src/egl/wayland
So we can use the wayland scanner makro, which is way
better than our previous runtime-pkgconfig hack.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Paul Berry [Tue, 24 Jan 2012 20:16:29 +0000 (12:16 -0800)]
i965/gen6/GT1: Increase max_vs_entries to 256.
Previously, max_vs_entries was set to 128 for GT1, and 256 for GT2,
based on the PRM (see Vol2, part1, p28). However, Bspec section 1.6.5
indicates that the maximum number of VS entries is 256 for GT1.
No piglit regressions on GT1.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Paul Berry [Tue, 24 Jan 2012 00:11:05 +0000 (16:11 -0800)]
i965/gen6: Fix segfault in transform feedback to DYNAMIC_DRAW buffers.
When storing data in a buffer of type DYNAMIC_DRAW, we don't create a
drm_intel_bo for it; instead we store the data in system memory and
defer allocation of the GPU buffer until it is needed. Therefore, in
brw_update_sol_surface(), we can't just consult the "buffer" field of
the intel_buffer_object structure; we need to call
intel_bufferobj_buffer() to ensure that the deferred allocation
occurs.
This parallels a similar fix for gen7 (see commit
ba6f4c9).
Fixes piglit test EXT_transform_feedback/buffer-usage on gen6.
This is a candidate for the 8.0 release branch.
Reviewed-by: Eric Anholt <eric@anholt.net>
Ander Conselvan de Oliveira [Wed, 25 Jan 2012 14:24:13 +0000 (16:24 +0200)]
gbm: fix copy & paste error in gbm_bo_get_handle documentation
José Fonseca [Wed, 25 Jan 2012 13:47:55 +0000 (13:47 +0000)]
mesa/st: Assign inputsRead at right (previous) location.
Fixes the
src/mesa/state_tracker/st_glsl_to_tgsi.cpp:4032:src_register: Assertion `t->inputMapping[index] < (sizeof(t->inputs)/sizeof(*(t->inputs)))' failed.
assertion failure introduced in
697b9945fb0f55428b06821f98fd8621372f81ad
Marek Olšák [Tue, 24 Jan 2012 22:39:31 +0000 (23:39 +0100)]
mesa: remove ctx->Const.sRGBCapable
It always had the same value as ctx->Extensions.EXT_framebuffer_sRGB.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Marek Olšák [Wed, 25 Jan 2012 02:28:23 +0000 (03:28 +0100)]
r600g: handle start_component from stream_output_info when possible
Marek Olšák [Wed, 25 Jan 2012 02:23:27 +0000 (03:23 +0100)]
r600g: don't expose transform_feedback2 without kernel support
Marek Olšák [Sun, 22 Jan 2012 19:25:42 +0000 (20:25 +0100)]
mesa: allow exposing GL3 without EXT_texture_integer
Strictly speaking, it's not legal to expose EXT_texture_integer without
EXT_gpu_shader4. It might be even dangerous (apps can assume EXT_gpu_shader4
is available without checking for it).
The check in compute_version is removed as well, because that's already
covered by GLSLVersion >= 130.
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Sun, 22 Jan 2012 19:21:36 +0000 (20:21 +0100)]
mesa: add missing integer alpha formats to _mesa_base_fbo_format
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Sun, 22 Jan 2012 17:47:21 +0000 (18:47 +0100)]
st/mesa: require all s3tc formats for EXT_texture_compression_s3tc
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Sun, 22 Jan 2012 17:27:40 +0000 (18:27 +0100)]
st/mesa: simplify enabling EXT_packed_depth_stencil and ARB_fbo
- use OR to combine bind flags
- combine both conditionals into one
- move the ARB_fbo enable where it belongs
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Tue, 24 Jan 2012 20:31:46 +0000 (21:31 +0100)]
mesa: remove obsolete comment in version.c
Pointed out by Brian Paul.
Marek Olšák [Tue, 24 Jan 2012 20:24:21 +0000 (21:24 +0100)]
gallium/docs: document more CAPs
Marek Olšák [Mon, 23 Jan 2012 02:43:54 +0000 (03:43 +0100)]
r600g: nuke the fallback for vertex and fragment color clamping
Marek Olšák [Mon, 23 Jan 2012 02:38:39 +0000 (03:38 +0100)]
r300g: nuke the fallback for fragment color clamping
Marek Olšák [Mon, 23 Jan 2012 12:28:07 +0000 (13:28 +0100)]
st/mesa: inline if(1) conditional
v2: fix typo
Marek Olšák [Mon, 23 Jan 2012 12:26:04 +0000 (13:26 +0100)]
st/mesa: move fragment shader tgsi tokens into st_fp_variant
The TGSI code may vary depending on the clamp_color bit.
Marek Olšák [Mon, 23 Jan 2012 02:11:17 +0000 (03:11 +0100)]
st/mesa: do vertex and fragment color clamping in shaders
For ARB_color_buffer_float. Most hardware can't do it and st/mesa is
the perfect place for a fallback.
The exceptions are:
- r500 (vertex clamp only)
- nv50 (both)
- nvc0 (both)
- softpipe (both)
We also have to take into account that r300 can do CLAMPED vertex colors only,
while r600 can do UNCLAMPED vertex colors only. The difference can be expressed
with the two new CAPs.
Christian König [Tue, 24 Jan 2012 11:19:59 +0000 (12:19 +0100)]
st/xvmc: remove xorg-server dependency
Fixing a circular build dependency.
NOTE: This is a candidate for the 8.0 branch.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Benjamin Franzke [Tue, 24 Jan 2012 13:35:34 +0000 (14:35 +0100)]
st/mesa: Fix recurring surfaceless contexts
A current incomplete framebuffer was incorrectly used as a
st_framebuffer. When accessing st_framebuffer childs bad things happen:
e.g. st_framebuffer::iface was used to check whether its an incomplete
fb, instead we need to compare st_framebuffer::Base against
mesa_get_incomplete_framebuffer.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44919
Note: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Fri, 20 Jan 2012 21:43:11 +0000 (13:43 -0800)]
mesa: Fix CopyTex{Sub,}Image error checks for integer vs non-integer.
Fixes Intel oglconform negative.typeFormatMismatch.copyteximage.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Fri, 20 Jan 2012 23:23:42 +0000 (15:23 -0800)]
mesa: Add missing integer R/RG cases to _mesa_is_color_format().
This is part of fixing Intel oglconform
negative.typeFormatMismatch.copyteximage.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Fri, 20 Jan 2012 21:59:37 +0000 (13:59 -0800)]
meta: Detect currently-unsupported integer CopyTexSubImage and complain.
This code is unprepared for handling integer (particularly, the
baseFormat of the TexFormat comes out as GL_RGBA, not GL_RGBA_INTEGER,
so the direct call of Driver.ReadPixels crashes due to the int vs
non-int error checking not having happened). I'm frankly tempted to
convert this code to MapRenderbuffer/MapTexImage rather than doing it
as meta ops, now that we have that support.
Improves the remaining crash in Intel oglconform for int-textures to
just a rendering failure.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Fri, 20 Jan 2012 20:50:34 +0000 (12:50 -0800)]
mesa: Add the remaining from/to types for GL_EXT_texture_integer (and R/RG).
This aborts and crashes in intel oglconform's int-textures into being
just rendering failures. Clamping isn't handled yet.
v2: Add missing "break".
v3: Drop the int/uint distinction, since they don't need different clamping.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com> (v2)
Eric Anholt [Fri, 20 Jan 2012 23:03:12 +0000 (15:03 -0800)]
mesa: Add support for glGetTexImage on GL_TEXTURE_1D_ARRAY
Similarly to how we handle this in texstore, we have to remap height
to depth so that we MapTextureImage each image layer individually.
Fixes part of Intel oglconform's int-textures advanced.fbo.rtt
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Mon, 23 Jan 2012 23:27:36 +0000 (15:27 -0800)]
mesa: s/GLuint col/GLint col/ to avoid signed/unsigned comparison warnings.
Suggested-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Thu, 19 Jan 2012 17:46:24 +0000 (09:46 -0800)]
mesa: Add support for glGetTexImage() from integer textures.
This is a step toward fixing Intel oglconform's
int-textures advanced.fbo.rtt.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Fri, 20 Jan 2012 21:19:10 +0000 (13:19 -0800)]
i965/gen6+: Work around GPU hangs with logic ops on integer textures.
This doesn't result in correct rendering -- GL requires that logic ops
work, while the hardware specs say it doesn't do them. I'm not sure
how we would want to handle this.
NOTE: This is a candidate for the 8.0 branch.
Eric Anholt [Thu, 19 Jan 2012 23:41:12 +0000 (15:41 -0800)]
i965/gen6+: Disable blending, alpha test, and dither on integer FBOs.
Fixes GPU hangs and some rendering failures in piglit
EXT_texture_integer/fbo-blending
NOTE: This is a candidate for the 8.0 branch.
Brian Paul [Tue, 24 Jan 2012 22:13:19 +0000 (15:13 -0700)]
mesa/gdi: remove wmesa_set_renderbuffer_funcs() function
The code is no longer relevant.
Note: this driver is probably broken now. There's no implementation
of ctx->Driver.Map/UnmapRenderbuffer().
Brian Paul [Tue, 24 Jan 2012 22:08:20 +0000 (15:08 -0700)]
dri/swrast: remove obsolete swrast_span.c file from source list
Brian Paul [Tue, 24 Jan 2012 20:32:13 +0000 (13:32 -0700)]
swrast: fix uninitialized variable warning
Brian Paul [Tue, 24 Jan 2012 20:29:05 +0000 (13:29 -0700)]
swrast: make rowStride variable signed in put_z32_values()
As with commit
aed5c8299fe47b8e1728f8140d069bc89d3fa947
Brian Paul [Thu, 19 Jan 2012 00:47:32 +0000 (17:47 -0700)]
intel: use swrast code to map/unmap renderbuffers for swrast rendering
Brian Paul [Thu, 19 Jan 2012 00:39:33 +0000 (17:39 -0700)]
mesa: update comments, fix whitespace in dd.h
Brian Paul [Thu, 19 Jan 2012 00:39:33 +0000 (17:39 -0700)]
swrast: remove unused StoreTexel code
No longer needed since we do all rendering to texture with the buffer
mapping and pixel packing functions.
Brian Paul [Thu, 19 Jan 2012 00:39:33 +0000 (17:39 -0700)]
swrast: use Map/UnmapTextureImage() in framebuffer map/unmap code
When we're actually rendering into a texture, map the texture image
instead of the corresponding renderbuffer. Before, we just copied
a pointer from the texture image to the renderbuffer. This change
will make the code usable by hardware drivers.
Brian Paul [Mon, 16 Jan 2012 20:06:03 +0000 (13:06 -0700)]
mesa: remove ctx->Driver.Map/UnmapTexture() hooks
No longer used anywhere.
Brian Paul [Mon, 16 Jan 2012 20:05:59 +0000 (13:05 -0700)]
nouveau: stop calling ctx->Driver.Map/UnmapTexture()
And remove unused nouveau_texture_map/unmap()
Brian Paul [Mon, 16 Jan 2012 20:05:55 +0000 (13:05 -0700)]
tnl: remove ctx->Driver.Map/UnmapTexture() calls
ctx->Driver.MapTexture() always points to _swrast_map_texture().
We're already reaching into swrast from t_vb_program.c anyway.
This will let us remove the ctx->Driver.Map/UnmapTexture() functions.
Brian Paul [Mon, 16 Jan 2012 20:05:49 +0000 (13:05 -0700)]
swrast: move some renderbuffer functions to s_renderbuffer.c
Brian Paul [Mon, 16 Jan 2012 20:05:44 +0000 (13:05 -0700)]
intel: remove intel_span_supports_format()
It always returned True.
Brian Paul [Mon, 16 Jan 2012 20:05:41 +0000 (13:05 -0700)]
swrast: remove a few extra _mesa_get_format_bytes() calls
Brian Paul [Mon, 16 Jan 2012 20:05:36 +0000 (13:05 -0700)]
mesa: update comments for gl_renderbuffer