Eric Anholt [Thu, 12 Jan 2012 20:59:15 +0000 (12:59 -0800)]
i965/vs: Fix leak of an empty hash_table structure per compile.
This statement got duplicated above, probably in a rebase resolution,
so we never freed the extra one.
NOTE: This is a candidate for the 8.0 branch.
Eric Anholt [Thu, 12 Jan 2012 20:55:06 +0000 (12:55 -0800)]
i965: Fix refcount leak of the gl_program structure.
Fixes a leak of almost 200kb on a minimal shader_runner program
(algebraic-add-add-1).
NOTE: This is a candidate for the 8.0 branch.
Eric Anholt [Thu, 12 Jan 2012 20:51:34 +0000 (12:51 -0800)]
mesa: Make the register allocator allocation take a ralloc context.
This fixes a memory leak on i965 context destruction.
NOTE: This is a candidate for the 8.0 branch.
Brian Paul [Tue, 17 Jan 2012 23:28:10 +0000 (16:28 -0700)]
svga: change PIPE_CAPF_MAX_TEXTURE_LOD_BIAS from 16.0 to 15.0
The legal range for the device is apparently [-16.0, +15.0].
Limiting the range to [-15, +15] fixes piglit's lodbias test.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Wed, 18 Jan 2012 17:06:42 +0000 (10:06 -0700)]
svga: fix min/max lod clamping
The interaction between the mipmap lod min/max limits and the texture
base/max level limits is kind of tricky. Changing the base level
didn't work as expected before.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Wed, 18 Jan 2012 17:05:25 +0000 (10:05 -0700)]
svga: add 0.5 in float->int conversion of sample min/max lod
This makes lod clamping more consistent with other drivers.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Tue, 17 Jan 2012 15:15:25 +0000 (08:15 -0700)]
st/mesa: pass GL_MAP_INVALIDATE_RANGE_BIT to gallium drivers
when mapping renderbuffers or texture images.
NOTE: This is a candidate for the 8.0 branch.
Brian Paul [Tue, 17 Jan 2012 15:12:30 +0000 (08:12 -0700)]
mesa: use GL_MAP_INVALIDATE_RANGE_BIT in glTexImage paths
Update the dd.h docs to indicate that GL_MAP_INVALIDATE_RANGE_BIT
can be used with GL_MAP_WRITE_BIT when mapping renderbuffers and
texture images.
Pass the flag when mapping texture images for glTexImage, glTexSubImage,
etc. It's up to drivers whether to actually make use of the flag.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Brian Paul [Mon, 16 Jan 2012 17:08:08 +0000 (10:08 -0700)]
mesa: try RGBA_FLOAT16 before RGBA_FLOAT32 when choosing A,L,LA,I formats
To try to use less tex memory and maybe get better performance.
Spotted by Roland Scheidegger.
NOTE: This is a candidate for the 8.0 and 7.11 branches.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Mon, 16 Jan 2012 16:05:05 +0000 (09:05 -0700)]
mesa: fix tex format selection for GL_R32F and other R/G float formats
The i965 driver advertises GL_ARB_texture_float and GL_ARB_texture_rg
support but the ctx->TextureFormatSupported[] table entries for
MESA_FORMAT_R_FLOAT32 and MESA_FORMAT_RGBA_FLOAT32 are false on gen 4
hardware. So the case for GL_R32F would fail and we'd print an
implementation error.
This patch adds more Mesa tex format options for GL_R32F and other R/G
formats so we fall back to 16-bit formats when 32-bit formats aren't
available.
Eric made the same fix in commit
6216a5b4 for the non R/G formats.
v2: try 16-bit formats before 32-bit formats and try RG formats before
RGBA where possible.
This should fix https://bugs.freedesktop.org/show_bug.cgi?id=44039
NOTE: This is a candidate for the 8.0 and 7.11 branches.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Brian Paul [Mon, 16 Jan 2012 16:59:20 +0000 (09:59 -0700)]
docs: add more potential dependencies for vmware guest driver
Alexander von Gluck IV [Tue, 17 Jan 2012 15:46:01 +0000 (15:46 +0000)]
scons: Add more machine architectures to the machine map
* BePC, BeBox, BeMac for Haiku.
* Add sparc architecture as Mesa looks for it.
Signed-off-by: José Fonseca <jfonseca@vmware.com>
Dave Airlie [Wed, 18 Jan 2012 12:14:49 +0000 (22:14 +1000)]
r600g: fix ISLT on r600/700
This fixes ISLT like evergreen.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Wed, 18 Jan 2012 11:54:07 +0000 (21:54 +1000)]
r600g: make r600/700 use correct ineg.
Noticed by Vadim Girlin on irc.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Wed, 18 Jan 2012 09:33:21 +0000 (19:33 +1000)]
r600g: fix some of the interpolation tests.
This enables linear gradients if we need a linear,
it also sets the flat shade flag for color/constant interpolations.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Kenneth Graunke [Tue, 17 Jan 2012 16:08:25 +0000 (08:08 -0800)]
i965: Bump Ivybridge's fake MRF range to g112-127 instead of g111-126.
When I originally implemented the hack to use GRFs 111+ as fake MRFs, I
did so purely to avoid rewriting all the code that dealt with MRFs.
However, it turns out that a similar hack is actually required.
Newly discovered language in the BSpec indicates that SEND instructions
with EOT set "should" use g112-g127 as their source registers. Based on
assertions in the simulator, this is actually a requirement on certain
platforms.
Since we're faking MRFs already, we may as well use the officially
sanctioned range. My guess is that we avoided this issue because we
seldom use m0: URB writes in the new VS backend start at m1, and RT
writes in the new FS backend start at m2.
NOTE: This is a candidate for stable release branches.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Kenneth Graunke [Tue, 17 Jan 2012 12:49:04 +0000 (04:49 -0800)]
i965: Remove the INTEL_OLD_VS option.
Now that we no longer generate Mesa IR from GLSL IR, it's impossible to
use the old vertex shader backend for GLSL programs. There's simply no
Mesa IR to codegen from.
Any attempt to do so would result in immediate GPU hangs, presumably due
to the driver uploading an empty program with no EOT message.
NOTE: This is a candidate for the 8.0 branch.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
Kenneth Graunke [Mon, 16 Jan 2012 18:34:56 +0000 (10:34 -0800)]
mesa: Support GL_VERTEX_ATTRIB_ARRAY_INTEGER in GL 3.0 contexts.
According to Table 6.8 (Page 348) in the OpenGL 3.0 specification,
glGetVertexAttribiv supports GL_VERTEX_ATTRIB_ARRAY_INTEGER.
NOTE: This is a candidate for the 8.0 branch.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Vadim Girlin [Wed, 18 Jan 2012 07:54:53 +0000 (11:54 +0400)]
r600g: fix UINT_TO_FLT on evergreen
It should be processed as trans-only.
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Chad Versace [Tue, 17 Jan 2012 23:41:46 +0000 (15:41 -0800)]
i965/gen5: Fix rendering of depth buffers without stencil [v2]
Fixes the following OGLConform tests on gen5:
depth-stencil(misc.state_on.depth_int)
fbo_db_ARBfp(basic.OnlyDepthBuffDrawBufferRender)
The problem was that, if the depth buffer's Mesa format was X8_Z24, then
we emitted the hardware format D24_UNORM_X8. But, on gen5, D24_UNORM_S8
must be emitted.
This bug was introduced by:
commit
d84a180417d1eabd680554970f1eaaa93abcd41e
Author: Eric Anholt <eric@anholt.net>
i965: Base HW depth format setup based on MESA_FORMAT, not bpp.
v2: Deref 'intel' directly. Move the branch for newer chipset to top.
Quote the PRM. As requested by Ken.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43408
Note: This is a candidate for the 8.0 branch.
Reported-by: Xunx Fang <xunx.fang@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Anuj Phogat [Tue, 17 Jan 2012 21:21:52 +0000 (13:21 -0800)]
intel: Return if pointer to intel_context is null
It is better to test if(intel == NULL) and simply return in that case.
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Alex Deucher [Tue, 17 Jan 2012 23:44:47 +0000 (18:44 -0500)]
r600g: add workaround for original R600 PS setup
The original R600 requires the UNCACHED_FIRST_INST bit
to be set in the PS.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Note: this is candidate for the stable branches.
Paul Berry [Tue, 17 Jan 2012 20:35:38 +0000 (12:35 -0800)]
i965: Add .gitignore file to exclude automake build artifacts from git.
With the conversion to automake in commit
e326480e4ebe8687948041c2dc5f5b7595559a2e, several additional build
artifacts are created:
src/mesa/drivers/dri/i965/.deps/
src/mesa/drivers/dri/i965/.libs/
src/mesa/drivers/dri/i965/Makefile
src/mesa/drivers/dri/i965/Makefile.in
src/mesa/drivers/dri/i965/i965_dri.la
src/mesa/drivers/dri/i965/i965_symbols_test
This patch adds all of these files to .gitignore.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Anuj Phogat [Tue, 17 Jan 2012 00:15:30 +0000 (16:15 -0800)]
mesa: Add condition in glGetTexImage for zero size textures
TestMipMaps() function in src/OGLconform/textureNPOT.c calls glTexImage2D()
with width = 0. Texture with zero size skips miptree allocation due to a
condition in function _mesa_store_teximage3d(). While calling glGetTexImage()
it results in assertion failure in intel_map_texture_image() due to null mt
pointer.
This patch fixes the issue by detecting the zero size texture early in
glGetTexImage and glGetCompressedTexImage functions. In such a case function
simply returns doing nothing.
Verified that below mentioned bug is fixed by this patch.
https://bugs.freedesktop.org/show_bug.cgi?id=42334
NOTE: This is a candidate for stable branches
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Alex Deucher [Tue, 17 Jan 2012 23:09:25 +0000 (18:09 -0500)]
radeon: share common fog code between radeon and r200
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Alex Deucher [Tue, 17 Jan 2012 22:14:19 +0000 (17:14 -0500)]
radeon: fix fog coordinate emit
Noticed by dungeon on phoronix:
http://phoronix.com/forums/showthread.php?65408-Radeon-R100-R200-Mesa-Driver-Sees-Attention&p=247018#post247018
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Note: this is a candidate for the stable branches.
Alex Deucher [Tue, 17 Jan 2012 22:06:18 +0000 (17:06 -0500)]
r200: fix fog coordinate emit
Noticed by dungeon on phoronix:
http://phoronix.com/forums/showthread.php?65408-Radeon-R100-R200-Mesa-Driver-Sees-Attention&p=247018#post247018
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Note: this is a candidate for the stable branches.
Dave Airlie [Tue, 17 Jan 2012 20:49:34 +0000 (06:49 +1000)]
r600g: fix recip_uint on r600.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Vadim Girlin [Mon, 16 Jan 2012 22:46:08 +0000 (02:46 +0400)]
r600g: fix USLT for r600-eg
Alexander von Gluck IV [Mon, 16 Jan 2012 17:44:43 +0000 (17:44 +0000)]
scons: Don't set visibility to hidden on Haiku
The Haiku swrast driver is out of tree.
Alexander von Gluck IV [Mon, 16 Jan 2012 12:42:05 +0000 (12:42 +0000)]
scons: Add Haiku build support
Enables building stock Mesa under the Haiku operating system.
Vadim Girlin [Tue, 17 Jan 2012 12:09:00 +0000 (16:09 +0400)]
r600g: rework IDIV/UDIV and implement MOD/UMOD (v2)
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Eric Anholt [Thu, 12 Jan 2012 22:56:56 +0000 (14:56 -0800)]
mesa: Enable silent automake rules when available.
Finally, a quiet build for the i965 driver, at least! (Note, you can
still get verbose builds at build-time by saying "make V=1")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Thu, 12 Jan 2012 22:28:37 +0000 (14:28 -0800)]
i965: Convert the build to using automake.
This does introduce a warning by the automake build system, that the
missing-symbols test build is non-portable. That's true -- Mac OS X
can't take something built as a loadable module and just link it as a
library. Of course, we aren't building this on OS X at all, so it
would be nice to be able to suppress it, but I haven't found a way.
Still, the build is going to be much quieter than we have ever had
before, so I think this is a fair tradeoff until we find a way to shut
that warning up.
v2: Put a link in /lib to avoid transition pains for people.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (v1)
Reviewed-by: Matt Turner <mattst88@gmail.com> (v1)
Eric Anholt [Thu, 12 Jan 2012 22:53:10 +0000 (14:53 -0800)]
intel: Drop the version override code now that we don't have any left.
Fixes a compiler warning.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Thu, 12 Jan 2012 22:32:50 +0000 (14:32 -0800)]
intel: Fix warnings of undefined ffs().
For some reason these started showing up with the automake conversion.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Scott Moreau [Tue, 17 Jan 2012 15:36:12 +0000 (10:36 -0500)]
Complete ARGB8888 naming convention format renames missed
Chad Versace [Tue, 27 Dec 2011 18:52:44 +0000 (10:52 -0800)]
i965: Fix gen6,gen7 when used with a non-HiZ capable DDX
Nothing works if HiZ is enabled and the DDX is incapable of HiZ (that is,
the DDX version is < 2.16).
The problem is that the refactoring that eliminated
intel_renderbuffer::stencil_rb broke the recovery path in
intel_verify_dri2_has_hiz(). Specifically, it broke line
intel_context.c:1445, which allocates the region for
DRI_BUFFER_DEPTH_STENCIL. That allocation was creating a separate stencil
miptree, despite the buffer being a packed depthstencil buffer. Havoc
ensued.
This patch introduces a bool flag that prevents allocation of that stencil
miptree.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44103
Tested-by: Ian Romanick <idr@freedesktop.org>
Note: This is a candidate for the 8.0 branch.
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Vinson Lee [Mon, 16 Jan 2012 21:02:03 +0000 (13:02 -0800)]
softpipe: Silence unused variable warning on non-LLVM builds.
Fix this GCC warning with non-LLVM builds.
sp_screen.c: In function ‘softpipe_get_shader_param’:
sp_screen.c:141:28: warning: unused variable ‘sp_screen’ [-Wunused-variable]
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Anuj Phogat [Wed, 11 Jan 2012 23:26:10 +0000 (15:26 -0800)]
intel: Fix segfault in glXSwapBuffers with no bound context
Calling glXSwapBuffers with no bound context causes segmentation
fault in function intelDRI2Flush. All the gl calls should be
ignored after setting the current context to null. So the contents
of framebuffer stay unchanged. But the driver should not seg fault.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44614
Reported-by: Yi Sun <yi.sun@intel.com>
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Tested-by: Yi Sun <yi.sun@intel.com>
Vinson Lee [Mon, 16 Jan 2012 07:33:16 +0000 (23:33 -0800)]
llvmpipe: Remove unused variable 'packed' from lp_test_round.
Fix this GCC warning.
lp_test_round.c: In function ‘test_round’:
lp_test_round.c:126:13: warning: variable ‘packed’ set but not used
[-Wunused-but-set-variable]
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Vinson Lee [Mon, 16 Jan 2012 07:08:26 +0000 (23:08 -0800)]
util: Silence GCC unused-but-set-variable warning.
Fix this GCC 4.6 warning with 64-bit builds.
u_debug_stack.c: In function ‘debug_backtrace_capture’:
u_debug_stack.c:45:17: warning: variable ‘frame_pointer’ set but not
used [-Wunused-but-set-variable]
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
José Fonseca [Mon, 16 Jan 2012 12:21:03 +0000 (12:21 +0000)]
vl: Make array initialization portable.
Should fix MSVC build.
Stéphane Marchesin [Mon, 16 Jan 2012 07:32:59 +0000 (23:32 -0800)]
i915g: Fix the blending for the A8 destination buffer case.
The i915 GPU can't do A8 dst, so we abuse GREEN8 buffers for that
purpose. However, things get hairy as we start to do blending,
because then GL_DST_*_ALPHA should be replaced with GL_DST_*_COLOR.
This is what we do here.
Fixes piglt fbo-alpha.
Matt Turner [Sun, 15 Jan 2012 03:08:35 +0000 (22:08 -0500)]
r200: remove left-over EGL_SOURCES variable
Rest was removed in
2a928899e.
Signed-off-by: Matt Turner <mattst88@gmail.com>
Dave Airlie [Sun, 15 Jan 2012 16:53:10 +0000 (16:53 +0000)]
r600g: fix mullo_uint trans slot only on r600/r700
This fixes 8 piglit tests that currently assert.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Vadim Girlin [Sun, 15 Jan 2012 14:29:50 +0000 (09:29 -0500)]
r600g: implement clip distances
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Vadim Girlin [Fri, 6 Jan 2012 04:13:18 +0000 (08:13 +0400)]
r600g: implement two-sided lighting (v3)
v2: select the colors in the pixel shader
v3: fix rs state creation for pre-evergreen
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Vadim Girlin [Sun, 15 Jan 2012 14:56:36 +0000 (18:56 +0400)]
r600g: add support for ISHR/USHR/SHL on r600-evergreen
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Vadim Girlin [Sun, 15 Jan 2012 14:56:35 +0000 (18:56 +0400)]
r600g: implement IDIV/UDIV on r600-evergreen
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Vadim Girlin [Sun, 15 Jan 2012 14:56:34 +0000 (18:56 +0400)]
r600g: implement ISSG on r600-evergreen
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Vadim Girlin [Sun, 15 Jan 2012 14:56:33 +0000 (18:56 +0400)]
r600g: implement IABS on r600-evergreen
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Vadim Girlin [Sun, 15 Jan 2012 14:56:32 +0000 (18:56 +0400)]
r600g: implement F2U on evergreen
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Vadim Girlin [Sun, 15 Jan 2012 14:56:31 +0000 (18:56 +0400)]
r600g: add FLT_TO_UINT opcode for evergreen
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Vadim Girlin [Sun, 15 Jan 2012 14:56:30 +0000 (18:56 +0400)]
r600g: fix F2I on evergreen
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Christian König [Tue, 10 Jan 2012 15:56:19 +0000 (16:56 +0100)]
vl: fix YV12 handling
We actually implemented YV21 instead of YV12, so fix the plane ordering.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Christian König [Tue, 10 Jan 2012 14:06:44 +0000 (15:06 +0100)]
st/vdpau: recreate video buffer if decode doesn't like it
Recreate the video buffer if the decoder can't handle it.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Christian König [Tue, 10 Jan 2012 13:40:39 +0000 (14:40 +0100)]
st/vdpau: recreate video buffer if format doesn't match
Recreate the video buffer in PutBitsYCbCr if the format doesn't match.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Christian König [Tue, 10 Jan 2012 13:03:28 +0000 (14:03 +0100)]
vl: reintroduce PIPE_VIDEO_CAP_PREFERED_FORMAT
Create the video buffers in the format the driver preffers.
This temporary creates problems with decoder less VDPAU video playback.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Christian König [Mon, 9 Jan 2012 13:48:40 +0000 (14:48 +0100)]
vl: add h264 infrastructure
No implementation so far, just the defines for
VDPAUs picture info structure.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Christian König [Wed, 4 Jan 2012 13:46:33 +0000 (14:46 +0100)]
vl: move away from state like parameters
Again based on Maartens work, but keep begin_frame
and end_frame functions for now.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Christian König [Tue, 3 Jan 2012 23:51:40 +0000 (00:51 +0100)]
vl/video_buffer: add support for interlaced buffers
Add the infrastructure, but not the decode implementation.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Christian König [Tue, 20 Dec 2011 16:19:19 +0000 (17:19 +0100)]
vl/video_buffer: improve constructor
Add a second extened constructor that takes plane
textures for the video buffer. Also provide a
function for texture templates.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Christian König [Mon, 2 Jan 2012 13:22:33 +0000 (14:22 +0100)]
vl/video_buffer: use template style create params
Just like in the rest of gallium, this reduces the
number of parameters significantly.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Dave Airlie [Sat, 14 Jan 2012 17:04:50 +0000 (17:04 +0000)]
r600g: vertex id support.
This requires GLSL 1.30 enabled, which requires integer types enabled,
so don't bother doing an INT to FLT conversion on it.
We should probably remove the instance id flt->int conversion when
turning on native integers.
this passes the three piglit tests with GLSL 1.30 forced on.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sun, 15 Jan 2012 07:55:08 +0000 (07:55 +0000)]
r600g: make u2f trans only
as per the r600 isa doc.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Lucas Stach [Tue, 10 Jan 2012 11:41:04 +0000 (12:41 +0100)]
nvfx: random cleanups of the state validation code
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Lucas Stach [Tue, 10 Jan 2012 11:41:03 +0000 (12:41 +0100)]
nvfx: drop render temporaries code
This code is unneeded now, we don't use render temps any more.
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Lucas Stach [Tue, 10 Jan 2012 11:41:02 +0000 (12:41 +0100)]
nvfx: rework state_fb code to get rid of render temps
This commit rewrites a lot of the state_fb code to support
rendering to targets not aligned to 64 byte.
This allows us to drop the render temporaries as unaligned
targets are the only use-case where they are really needed. The
temporaries code was used for a lot of things more, but apparently
those also work without temps.
There is one regression in piglit fbo-clear-formats, but this will
be fixed with the use of real hardware clears and doesn't matter in
practice as no real application tries to scissor clear a 2x2 pixel
render target.
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Lucas Stach [Tue, 10 Jan 2012 11:41:01 +0000 (12:41 +0100)]
nvfx: say no to stream output caps
nvfx doesn't support any kind of stream out, so silence the
unused cap warnings.
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Marek Olšák [Thu, 12 Jan 2012 02:54:09 +0000 (03:54 +0100)]
mesa: update compute_version for GL3
only check ARB_fbo, add shader_texture_lod as a requirement
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Marek Olšák [Sat, 17 Dec 2011 22:12:45 +0000 (23:12 +0100)]
gallium: improve the pipe_stream_output_info struct (v2)
There are 3 changes:
1) stride is specified for each buffer, not just one, so that drivers don't
have to derive it from the outputs
2) new per-output property dst_offset, which specifies the offset
into the buffer in dwords where the output should be stored,
so that drivers don't have to compute the offsets manually;
this will also be useful for gl_SkipComponents
from ARB_transform_feedback3
3) register_mask is removed, instead, there is start_component
and num_components; register_mask with non-consecutive 1s
doesn't make much sense (some hardware cannot do packing of components)
Christoph Bumiller: fixed nvc0.
v2: resolve merge conflicts in Draw and clean it up
Dave Airlie [Sat, 14 Jan 2012 21:59:29 +0000 (21:59 +0000)]
r600g: add r600 version of UINT_TO_FLT conversion.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sat, 14 Jan 2012 19:55:17 +0000 (19:55 +0000)]
r600g: fix r600 f2i to be trans only emitted.
This fixes a lot of asserts about the trans unit being used already.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sat, 14 Jan 2012 18:49:55 +0000 (18:49 +0000)]
r600g: add missing case for uint->flt conversion.
fixes some piglits like vs-decrement-uint.shader_test
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sat, 14 Jan 2012 17:32:14 +0000 (17:32 +0000)]
r600g: add missing r32 uint/sint fbo formats.
Fixes the GL3 required formats test.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Jerome Glisse [Fri, 2 Dec 2011 15:20:29 +0000 (10:20 -0500)]
r600g: add support for virtual address space on cayman v11
Virtual address space put the userspace in charge of their GPU
address space. It's up to userspace to bind bo into the virtual
address space. Command stream can them be executed using the
IB_VM chunck.
This patch add support for this configuration. It doesn't remove
the 64K ib size limit thought this limit can be extanded up to
1M for IB_VM chunk.
v2: fix rendering
v3: fix rendering when using index buffer
v4: make vm conditional on kernel support add basic va management
v5: catch the case when we already have va for a bo
v6: agd5f: update on top of ioctl changes
v7: agd5f: further ioctl updates
v8: indentation cleanup + fix non cayman
v9: rebase against lastest mesa + improvement from Marek & Michel
v10: fix cut/paste bug
v11: don't rely on updated radeon_drm.h
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Roland Scheidegger [Fri, 13 Jan 2012 21:37:18 +0000 (22:37 +0100)]
scons: Fix libGL.so build.
Brian Paul [Fri, 13 Jan 2012 20:45:58 +0000 (13:45 -0700)]
docs: add links to xf86-video-vmware wiki pages
Chad Versace [Fri, 13 Jan 2012 18:26:01 +0000 (10:26 -0800)]
i965: Comment gen6_hiz_get_framebuffer_enum()
Make the comments precise. Explain why each branch is needed and correct.
Document the potential pitfall in the true-branch.
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Neil Roberts [Wed, 30 Nov 2011 22:29:21 +0000 (22:29 +0000)]
gen6_hiz: Don't bind GL_DRAW_FRAMEBUFFER on GLES
When using Mesa with a GLES API, calling _mesa_FramebufferRenderbuffer
with GL_DRAW_FRAMEBUFFER will report a 'user error' because
get_framebuffer_target validates that this enum from the framebuffer
blit extension is only used on GL. To work around it this patch makes
it use the GL_FRAMEBUFFER enum instead in that case.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43418
Note: This is a candidate for the 8.0 branch.
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Brian Paul [Fri, 13 Jan 2012 17:54:22 +0000 (10:54 -0700)]
docs: new page describing how to build, install VMware SVGA3D guest driver
Brian Paul [Fri, 13 Jan 2012 16:41:35 +0000 (09:41 -0700)]
mesa: s/GLushort/GLubyte/ in pack_ubyte_AL44()
The AL44 format occupies one byte, not two.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Fri, 13 Jan 2012 15:31:26 +0000 (08:31 -0700)]
osmesa: fix renderbuffer format selection
The gl_renderbuffer::Format field wasn't always set properly. This
didn't matter much in the past but with the recent swrast/renderbuffer
mapping changes, core Mesa will be directly touching OSMesa colorbuffers
so using the right MESA_FORMAT_x value is important.
Unfortunately, there aren't MESA_FORMATs for all the possible OSmesa
format/type combinations, such as GL_FLOAT / OSMESA_ARGB. If anyone
runs into these we can add new Mesa formats.
v2: add warnings for unsupported formats, fix ARGB_REV mix-up.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Fri, 13 Jan 2012 15:31:26 +0000 (08:31 -0700)]
docs: freshen up the introduction page with Mesa 8.0 info, etc
Tom Stellard [Thu, 5 Jan 2012 15:18:54 +0000 (10:18 -0500)]
gallivm: Allow target specific intrinsics in lp_declare_intrinsic()
Target specific intrinsics are also prefixed with llvm, so this assert
was preventing us from using them.
Rob Bradford [Tue, 20 Dec 2011 15:40:21 +0000 (15:40 +0000)]
gbm: Add documentation for the public facing API
Rob Bradford [Tue, 20 Dec 2011 15:39:29 +0000 (15:39 +0000)]
doxygen: Add link to the gbm documentation to the header
Rob Bradford [Tue, 20 Dec 2011 15:39:07 +0000 (15:39 +0000)]
doxygen: Add doxygen file and build infrastructure for gbm
Vinson Lee [Thu, 3 Nov 2011 07:36:27 +0000 (00:36 -0700)]
i965: Fix Coverity wrong sizeof argument defect.
NOTE: This is a candidate for stable release branches.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42542
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Paul Berry [Mon, 9 Jan 2012 23:36:27 +0000 (15:36 -0800)]
i965: Set pitch of pull constant buffers to 16.
We always access pull constant buffers using the message types "OWord
Block Read" or "OWord Dual Block Read". According to the Sandy Bridge
PRM, Vol 4 Part 1, pages 214 and 218, when using these messages:
"the surface pitch is ignored, the surface is treated as a
1-dimensional surface. An element size (pitch) of 16 bytes is
used to determine the size of the buffer for out-of-bounds
checking if using the surface state model."
Previously we were setting the pitch for pull constant buffers to the
size of the whole constant buffer--this made no sense and would have
led to incorrect behavior if it were not for the fact that the pitch
is ignored.
For clarity, this patch sets the pitch for pull constant buffers to 16
bytes, consistent with the hardware's behavior.
v2: Clarify the meaning of the ignored values by writing them as (16 - 1).
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Paul Berry [Mon, 9 Jan 2012 22:45:04 +0000 (14:45 -0800)]
i965 gen4-6: Fix off-by-one errors brw_create_constant_surface()
Commit
9bdc44a52804a64219a0ca1a061b18596863e524 (i965: Replace struct
with bit shifting for WM pull constant surfaces) accidentally
introduced off-by-one errors into the calculation of the surface
width, height, and depth. This patch restores the correct
computation.
The reason this wasn't noticed by Piglit tests is that the size of our
constant surfaces is always less than 2^20, therefore the off-by-one
error was causing the "depth" field of the surface to be set to all
1's. The hardware interpreted this as an extremely large surface, so
overflow checking was effectively disabled.
No Piglit regressions on Sandy Bridge.
NOTE: This is a candidate for the 7.11 and 8.0 branches.
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Christoph Bumiller [Thu, 12 Jan 2012 18:28:03 +0000 (19:28 +0100)]
nv50/ir: make use of TGSI_INTERPOLATE_COLOR
Flat SHADE_MODEL still overrides any non-flat interpolation
qualifier, but pulling that state out of the rasterizer cso
isn't really worth the effort, is it ?
NOTE: This is a candidate for the 8.0 branch.
Christoph Bumiller [Thu, 12 Jan 2012 18:12:02 +0000 (19:12 +0100)]
nvc0: fix submission of VertexID and EdgeFlag in push mode
NOTE: This is a candidate for the 8.0 branch.
Brian Paul [Thu, 12 Jan 2012 18:52:22 +0000 (11:52 -0700)]
osmesa: fix glReadPixels, etc
Needed to implement the Map/UnmapRenderbuffer() driver hooks.
This fixes glRead/Draw/CopyPixels, etc.
See https://bugs.freedesktop.org/show_bug.cgi?id=44723
Note: This is a candidate for the 8.0 branch.
Tested-by: Kevin Hobbs <hobbsk@ohiou.edu>
Brian Paul [Thu, 12 Jan 2012 18:41:42 +0000 (11:41 -0700)]
intel: move declaration before code
Brian Paul [Sat, 7 Jan 2012 22:05:35 +0000 (15:05 -0700)]
intel: fix mapping of malloc'd renderbuffers
This fixes accum buffer operations. The accumulation buffer is the
only malloc-based renderbuffer for the intel drivers.
v2: apply x/y offset to returned pointer
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Eric Anholt <eric@anholt.net>
Eric Anholt [Wed, 11 Jan 2012 22:06:17 +0000 (14:06 -0800)]
mesa: Throw the required error for glCopyPixels from multisample FBO.
Fixes piglit EXT_framebuffer_multisample/negative-copypixels.
Reviewed-by: Brian Paul <brianp@vmware.com>
NOTE: This is a candidate for the 8.0 branch.
Eric Anholt [Wed, 11 Jan 2012 22:02:41 +0000 (14:02 -0800)]
mesa: Throw the required error for glCopyTex{Sub,}Image from multisample FBO.
Fixes piglit EXT_framebuffer_multisample/negative-copyteximage.
Reviewed-by: Brian Paul <brianp@vmware.com>
NOTE: This is a candidate for the 8.0 branch.
Eric Anholt [Wed, 11 Jan 2012 21:54:53 +0000 (13:54 -0800)]
mesa: Throw the required error for glReadPixels() from a multisampled FBO.
Fixes piglit EXT_framebuffer_multisample-negative-readpixels.
Reviewed-by: Brian Paul <brianp@vmware.com>
NOTE: This is a candidate for the 8.0 branch.