Marek Olšák [Tue, 8 Nov 2011 20:58:27 +0000 (21:58 +0100)]
r600g: implement transform feedback
r600: DONE.
r700: MOSTLY (done but locks up).
Evergreen: MOSTLY (done but doesn't work for an unknown reason).
The kernel support will come soon.
Marek Olšák [Tue, 13 Dec 2011 17:11:00 +0000 (18:11 +0100)]
st/mesa: expose conservative_depth if GLSL 1.3 is supported
It's not yet, but it can be enabled by the override environment variable.
Vinson Lee [Tue, 13 Dec 2011 01:54:54 +0000 (17:54 -0800)]
gallivm: Fix build with llvm-3.1svn.
llvm-3.1svn r145714 moved global variables into a new TargetOptions
class. TargetMachine constructor now needs a TargetOptions object as
well.
Signed-off-by: Vinson Lee <vlee@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Vinson Lee [Sat, 10 Dec 2011 22:46:13 +0000 (14:46 -0800)]
mesa: Fix memory leak on error path.
Fixes Coverity resource leak defect.
Signed-off-by: Vinson Lee <vlee@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Vinson Lee [Tue, 6 Dec 2011 08:15:28 +0000 (00:15 -0800)]
st/mesa: Fix memory leak in out-of-memory path.
Fixes Coverity resource leak defect.
Signed-off-by: Vinson Lee <vlee@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Brian Paul [Thu, 15 Dec 2011 14:36:49 +0000 (07:36 -0700)]
meta: use _mesa_prepare_mipmap_level() in the mipmap generation code
See previous commit for more information.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Thu, 15 Dec 2011 23:30:33 +0000 (16:30 -0700)]
mesa: new _mesa_prepare_mipmap_level() function for mipmap generation
This helper function is used during mipmap generation to prepare space
for the destination mipmap levels.
This improves/fixes two things:
1. If the texture object was created with glTexStorage2D, calling
_mesa_TexImage2D() to allocate the new image would generate
INVALID_OPERATION since the texture is marked as immutable.
2. _mesa_TexImage2D() always frees any existing texture image memory
before allocating new memory. That's inefficient if the existing
image is the right size already.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Fri, 16 Dec 2011 00:33:33 +0000 (17:33 -0700)]
mesa: make update_fbo_texture() non-static
We'll call this from the mipmap generation code.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Fri, 16 Dec 2011 15:44:43 +0000 (08:44 -0700)]
mesa: whitespace and comment fixes in fbobject.c
Brian Paul [Fri, 16 Dec 2011 15:44:43 +0000 (08:44 -0700)]
mesa: add MESA_FORMAT_RGB565[_REV] as candidates for GL_R3_G3_B2
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Fri, 16 Dec 2011 15:44:43 +0000 (08:44 -0700)]
vbo: add comment for map_vp_non[] array
Brian Paul [Fri, 16 Dec 2011 15:44:42 +0000 (08:44 -0700)]
mesa: add a few comments for the z unpacking functions
Anuj Phogat [Tue, 13 Dec 2011 19:52:59 +0000 (11:52 -0800)]
Enabling display list support for glClearBuffer functions with minor fixes
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Ian Romanick <idr@freedesktop.org>
Fredrik Höglund [Thu, 15 Dec 2011 19:41:42 +0000 (20:41 +0100)]
gallium: fix a crash in drivers that don't support stream output
Christoph Bumiller [Thu, 15 Dec 2011 19:10:16 +0000 (20:10 +0100)]
llvmpipe: adapt to struct stream_output_info modifications
My fault, I broke it with v5 of
861a029ddb31e91bb4d8e18ab708d0d172f63aad.
Christoph Bumiller [Fri, 9 Dec 2011 17:46:09 +0000 (18:46 +0100)]
nvc0: implement new stream output interface
Christoph Bumiller [Thu, 15 Dec 2011 17:46:10 +0000 (18:46 +0100)]
d3d1x: implement new stream output interface
Marek Olšák [Fri, 9 Dec 2011 17:33:58 +0000 (18:33 +0100)]
st/mesa: implement EXT_transform_feedback and ARB_transform_feedback2
Marek Olšák [Fri, 9 Dec 2011 17:32:41 +0000 (18:32 +0100)]
u_blitter: implement copy_buffer using stream output
Marek Olšák [Sat, 19 Nov 2011 20:44:28 +0000 (21:44 +0100)]
u_blitter: restore stream output targets
Christoph Bumiller [Fri, 9 Dec 2011 18:12:38 +0000 (19:12 +0100)]
trace: implement stream output interface
Marek Olšák [Sat, 19 Nov 2011 20:44:27 +0000 (21:44 +0100)]
noop: implement stream output
Marek Olšák [Fri, 9 Dec 2011 17:12:55 +0000 (18:12 +0100)]
gallium: utility helper functions for stream output
Marek Olšák [Thu, 15 Dec 2011 17:42:21 +0000 (18:42 +0100)]
gallium: interface changes necessary to implement transform feedback (v5)
Namely:
- EXT_transform_feedback
- ARB_transform_feedback2
- ARB_transform_feedback_instanced
The old interface was not useful for OpenGL and had to be reworked.
This interface was originally designed for OpenGL, but additional
changes have been made in order to make st/d3d1x support easier.
The most notable change is the stream-out info must be linked
with a vertex or geometry shader and cannot be set independently.
This is due to limitations of existing hardware (special shader
instructions must be used to write into stream-out buffers),
and it's also how OpenGL works (stream outputs must be specified
prior to linking shaders).
Other than that, each stream output buffer has a "view" into it that
internally maintains the number of bytes which have been written
into it. (one buffer can be bound in several different transform
feedback objects in OpenGL, so we must be able to have several views
around) The set_stream_output_targets function contains a parameter
saying whether new data should be appended or not.
Also, the view can optionally be used to provide the vertex
count for draw_vbo. Note that the count is supposed to be stored
in device memory and the CPU never gets to know its value.
OpenGL way | Gallium way
------------------------------------
BeginTF = set_so_targets(append_bitmask = 0)
PauseTF = set_so_targets(num_targets = 0)
ResumeTF = set_so_targets(append_bitmask = ~0)
EndTF = set_so_targets(num_targets = 0)
DrawTF = use pipe_draw_info::count_from_stream_output
v2: * removed the reset_stream_output_targets function
* added a parameter append_bitmask to set_stream_output_targets,
each bit specifies whether new data should be appended to each
buffer or not.
v3: * added PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME for ARB_tfb2,
note that the draw-auto subset is always required (for d3d10),
only the pause/resume functionality is limited if the CAP is not
advertised
v4: * update gallium/docs
v5: * compactified struct pipe_stream_output_info, updated dump/trace
Marek Olšák [Sat, 19 Nov 2011 20:44:24 +0000 (21:44 +0100)]
gallium: disable stream output in drivers that support it
I am going to make interface changes and I don't want to break compilation.
Marek Olšák [Fri, 9 Dec 2011 16:00:23 +0000 (17:00 +0100)]
mesa: implement DrawTransformFeedback from ARB_transform_feedback2
It's like DrawArrays, but the count is taken from a transform feedback
object.
This removes DrawTransformFeedback from dd_function_table and adds the same
function to GLvertexformat (with the function parameters matching GL).
The vbo_draw_func callback has a new parameter
"struct gl_transform_feedback_object *tfb_vertcount".
The rest of the code just validates states and forwards the transform
feedback object into vbo_draw_func.
Thomas Hellstrom [Wed, 14 Dec 2011 15:18:06 +0000 (16:18 +0100)]
st/xa: Disable composite solid fill with mask
Xa doesn't support it yet. Trying to do that would cause a segfault.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Thomas Hellstrom [Wed, 14 Dec 2011 15:02:54 +0000 (16:02 +0100)]
st/xa: Fix format conversion copy alpha channel
When doing format conversion copies between a format without an
alpha channel and a format with an alpha channel, make sure the
destination alpha is set to 1.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Thomas Hellstrom [Wed, 14 Dec 2011 08:37:09 +0000 (09:37 +0100)]
st/xa: Fix component alpha check
Component alpha only affects mask pictures.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Chia-I Wu [Thu, 15 Dec 2011 07:06:25 +0000 (15:06 +0800)]
st/egl: fix compiler warnings
One is about casting a pointer to integer and the other is about an unused
function when HAVE_WAYLAND_BACKEND is not defined.
Fredrik Höglund [Wed, 14 Dec 2011 20:06:29 +0000 (21:06 +0100)]
st/egl: Implement EGL_NOK_swap_region for x11
v2: inline x11_drawable_copy_buffers().
Signed-off-by: Fredrik Höglund <fredrik@kde.org>
[olv: s/inline/INLINE/]
Fredrik Höglund [Wed, 14 Dec 2011 20:06:28 +0000 (21:06 +0100)]
st/egl: Add support for EGL_NOK_swap_region
Backends indicate that they support this extension by returning
EGL_TRUE when native_display::get_param() is called with
NATIVE_PARAM_PRESENT_REGION and NATIVE_PARAM_PRESERVE_BUFFER.
native_present_control is extended to include the region that should
be presented. When native_present_control::num_rects is zero,
the whole surface is to be presented.
Signed-off-by: Fredrik Höglund <fredrik@kde.org>
Eric Anholt [Thu, 8 Dec 2011 02:12:04 +0000 (18:12 -0800)]
i965: Drop separate stencil assertions in update_draw_buffer().
The comment said they deserved to be in emit_depthbuffer, and at this
point they were all there already.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Thu, 8 Dec 2011 01:51:14 +0000 (17:51 -0800)]
intel: Simplify and touch up the FBO completeness test.
Now that we have miptrees for everything, we can more easily test for
!has_separate_stencil completeness. Also, test for whether the
stencil rb is the wrong kind of format for separate stencil, or if we
are trying to do packed to different images of a single miptree.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Wed, 7 Dec 2011 23:44:02 +0000 (15:44 -0800)]
intel: Remove another renderbuffer allocation path.
Now there's the thing that CALLOCs and sets up window system vtable,
and the thing that CALLOCs and sets up user renderbuffer vtable. The
user renderbuffer vtable gets replaced later by
intel_renderbuffer_update_wrapper for wrapped renderbuffers (things
with name == ~0).
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Wed, 7 Dec 2011 23:38:08 +0000 (15:38 -0800)]
intel: Make the separate stencil RB storage path match texture more.
There were too many things making intel_renderbuffer *s and tweaking
their bits.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Thu, 8 Dec 2011 00:37:26 +0000 (16:37 -0800)]
intel: Move S8 width/height alignment to miptree creation.
We were doing it in the caller in the renderbuffer code, but it was
missed in the separate stencil creation for textures. Apparently our
testing was using renderbuffers or pre-aligned sizes.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Wed, 7 Dec 2011 22:50:02 +0000 (14:50 -0800)]
intel: Drop check for wrapped_depth in RB mapping.
This used to be needed because irb->mt would be unset for fake packed
depth/stencil, but no longer.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Tue, 13 Dec 2011 20:03:37 +0000 (12:03 -0800)]
intel: Fix uninitialized values in debug output for renderbuffer mapping.
Eric Anholt [Thu, 8 Dec 2011 17:28:32 +0000 (09:28 -0800)]
swrast: Add a note about overlapping support for framebuffer blit.
Reviewed-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Sat, 3 Dec 2011 01:32:53 +0000 (17:32 -0800)]
swrast: Don't do Z24S8 drawpixels fast-paths with Z32_X24S8 input data.
The cool part was that in the "fbo-depthstencil -drawpixels
GL_DEPTH24_STENCIL8 32F_24_8_REV" testcase, the shifting happened to
end up with a value awfully close to the expected value, except for
every other pixel being 0 (the stencil value, shifted away to
nothing).
Reviewed-by: Brian Paul <brianp@vmware.com>
Christian König [Mon, 12 Dec 2011 15:51:12 +0000 (16:51 +0100)]
st/vdpau: fix unwanted output scaling
vlVdpPresentationQueueDisplay shouldn't scale, so
use size of destination surface as source rectangle.
Based on work of Maarten Lankhorst <m.b.lankhorst@gmail.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
Christian König [Mon, 12 Dec 2011 15:28:24 +0000 (16:28 +0100)]
st/vdpau: some mixer fixes
Correctly use destination_rect and destination_video_rect
in the mixer, and also use a dirty area tracking for output surfaces.
Based on work of Maarten Lankhorst <m.b.lankhorst@gmail.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
Christian König [Mon, 12 Dec 2011 14:27:34 +0000 (15:27 +0100)]
g3dvl/compositor: improve dirty area handling
Take viewport and scissors into account and make
the dirty area a parameter instead of a member.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Jian Zhao [Tue, 13 Dec 2011 05:31:41 +0000 (13:31 +0800)]
Add mismatch check for glGetTexImage or it will return -1 and may lead to segment fault.
Reviewed-by: Brian Paul <brianp@vmware.com>
Kenneth Graunke [Thu, 8 Dec 2011 09:35:48 +0000 (01:35 -0800)]
glsl: Fix crashes caused by Bison error messages involving "'%'".
Invalid shaders containing the character % at an unexpected location
would cause Bison to call yyerror with a message of:
syntax error, unexpected '%'
Bison expects yyerror() to take a string, while _mesa_glsl_error() is a
printf-style function. This hit the classic printf string escape issue:
_mesa_glsl_error(loc, state, "unexpected '%'"); // invalid!
_mesa_glsl_error(loc, state, "%s", "unexpected '%'"); // correct.
This caused assertion failures after ralloc_asprintf_append called
vsnprintf to determine the length of the text that would be printed:
vsnprintf would see the invalid format and return -1, an invalid length.
The solution is to define a proper yyerror() wrapper function that calls
_mesa_glsl_error with the "%s". Since we compile with -p "_mesa_glsl",
yyerror is defined as:
#define yyerror _mesa_glsl_error
So we have to #undef yyerror in order to be able to declare it.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43564
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Acked-by: Paul Berry <stereotype441@gmail.com>
Ian Romanick [Thu, 8 Dec 2011 20:27:38 +0000 (12:27 -0800)]
Regenerate files from previous commits
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Ian Romanick [Thu, 8 Dec 2011 18:58:06 +0000 (10:58 -0800)]
glapi/glx: For GLX code, use the existing _X_HIDDEN and _X_INTERNAL defines
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Ian Romanick [Mon, 5 Dec 2011 23:24:49 +0000 (15:24 -0800)]
glapi/glx: Generate glapi_gentable.c so that the xserver can use it
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Ian Romanick [Mon, 5 Dec 2011 23:24:05 +0000 (15:24 -0800)]
glapi/glx: Generate dispatch.h so that the xserver can use it
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Ian Romanick [Mon, 5 Dec 2011 23:20:06 +0000 (15:20 -0800)]
glapi/glx: Xserver wants dispatch.h, not glapidispatch.h
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Ian Romanick [Mon, 5 Dec 2011 23:18:54 +0000 (15:18 -0800)]
glapi/glx: Don't send GL API files to the xserver
The versions in the xserver and in libGL have diverged enough that the
xserver doesn't want these.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Ian Romanick [Mon, 5 Dec 2011 23:12:07 +0000 (15:12 -0800)]
glapi: Remove mention of nonexistent enums
glext.h doesn't have GL_MIN_PROGRAM_TEXEL_OFFSET_EXT or
GL_MAX_PROGRAM_TEXEL_OFFSET_EXT. Using them in the XML causes code to
be generated for the xserver that won't compile. Use the names that
exist instead.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Ian Romanick [Mon, 5 Dec 2011 23:10:55 +0000 (15:10 -0800)]
glapi/glx: Remove g_disptab.h from xserver generated files
That file was removed from the xserver with commit:
commit
a80780a7638f847c3be20e5e0c7fe85e83d9bdd1
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 17 09:03:06 2010 -0500
glx: Remove swap barrier and hyperpipe support
Never implemented in any open source driver. The implementation
assumed explicit DDX driver knowledge of how the client-side driver
worked, since at the time the server's GL renderer was not a DRI driver.
But now, it is, so any implementation of these should be done with
additional DRI driver API, like the swap control extension.
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Marek Olšák [Tue, 13 Dec 2011 19:27:48 +0000 (20:27 +0100)]
r300g: take advantage of KEEP_TILING_FLAGS flush flag
This fixes at least two multi-context-related races.
Marcin Slusarz [Fri, 2 Dec 2011 21:02:51 +0000 (22:02 +0100)]
nouveau: get rid of winsys object
Its only purpose was to destroy itself.
Stéphane Marchesin [Fri, 9 Dec 2011 03:22:13 +0000 (19:22 -0800)]
i915g: Roll back to the previous shader limits.
Those shader limits seem to be responsible for a piglit hang.
Stéphane Marchesin [Fri, 4 Nov 2011 23:13:50 +0000 (16:13 -0700)]
i915g: Update TODO.
Marek Olšák [Mon, 24 Oct 2011 23:44:45 +0000 (01:44 +0200)]
winsys/radeon: add flush option not to rewrite tiling flags in registers
Not used yet.
Marek Olšák [Sat, 10 Dec 2011 03:14:46 +0000 (04:14 +0100)]
mesa: add const flags to skip MaxVarying and MaxUniform linker checks (v2)
This is only temporary until a better solution is available.
v2: print warnings and add gallium CAPs
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Marek Olšák [Mon, 12 Dec 2011 05:29:31 +0000 (06:29 +0100)]
mesa: fix an out-of-bounds access in prog_print.c
Reviewed-by: Brian Paul <brianp@vmware.com>
Bryan Cain [Tue, 13 Dec 2011 16:33:44 +0000 (10:33 -0600)]
glsl_to_tgsi: fix typo in comment
Bryan Cain [Tue, 13 Dec 2011 16:30:59 +0000 (10:30 -0600)]
glsl_to_tgsi: emit both operands of shift and bitwise operations
Fixes these operations when native integers are enabled.
Benjamin Franzke [Tue, 13 Dec 2011 13:43:48 +0000 (14:43 +0100)]
egl_dri2: Fix some valgrind reported leaks
Free the device_name, reported by Pekka Paalanen.
Destroy wayland display and drm resources,
if created by dri2_initialize_wayland.
Brian Paul [Sat, 10 Dec 2011 18:44:44 +0000 (11:44 -0700)]
mesa: update comments for _DepthBuffer, _StencilBuffer fields
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Sat, 10 Dec 2011 18:44:44 +0000 (11:44 -0700)]
mesa: remove _DepthBuffer, _StencilBuffer resize code
This is handled in swrast now when we validate the framebuffer state.
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Sat, 10 Dec 2011 18:44:44 +0000 (11:44 -0700)]
swrast: add debug code to test combined depth/stencil buffers
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Sat, 10 Dec 2011 18:44:43 +0000 (11:44 -0700)]
mesa: remove unused depthstencil.[ch] files
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Sat, 10 Dec 2011 18:44:43 +0000 (11:44 -0700)]
mesa: move depth/stencil buffer validation to swrast
Since gl_framebuffer::_DepthBuffer and _StencilBuffer are only used
by swrast, do the validation of those fields in swrast too.
The main/depthstencil.[ch] code is no longer used and will be removed
next.
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Sat, 10 Dec 2011 18:44:43 +0000 (11:44 -0700)]
swrast: update depth/stencil wrapper sizes
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Sat, 10 Dec 2011 18:44:43 +0000 (11:44 -0700)]
mesa: build swrast/s_depthstencil.c
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Sat, 10 Dec 2011 18:44:43 +0000 (11:44 -0700)]
swrast: add new s_depthstencil.[ch] files
These files are copies of main/depthstencil.[ch] with s/mesa/swrast/.
The main/depthstencil.[ch] will go away soon.
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Sat, 10 Dec 2011 18:44:43 +0000 (11:44 -0700)]
mesa: move update_depth/stencil_buffer() functions
These functions update the gl_framebuffer::_DepthBuffer and _StencilBuffer
fields, possibly creating renderbuffer wrappers that make a shared
depth+stencil accessible as depth-only or stencil only.
This stuff is only used by swrast now and will be moved there next.
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Sat, 10 Dec 2011 18:44:43 +0000 (11:44 -0700)]
radeon: stop using _DepthBuffer, _StencilBuffer fields
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Sat, 10 Dec 2011 18:44:43 +0000 (11:44 -0700)]
nouveau: stop using _DepthBuffer, _StencilBuffer fields
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Sat, 10 Dec 2011 18:44:43 +0000 (11:44 -0700)]
mesa: stop using _Depth, _StencilBuffer fields in _mesa_BlitFramebufferEXT()
We're just looking at the depth/stencil renderbuffers to do error
checking. We don't need to look at the depth/stencil wrappers to do
that. Also, remove pointless readRb = depthRb = NULL assignments.
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Sat, 10 Dec 2011 18:44:43 +0000 (11:44 -0700)]
st/mesa: stop using _DepthBuffer, _StencilBuffer fields
We never want to use the depth/stencil buffer wrappers so always just
use the attachment renderbuffers. This is a step toward removing the
_DepthBuffer, _StencilBuffer fields.
Reviewed-by: Eric Anholt <eric@anholt.net>
Brian Paul [Sat, 10 Dec 2011 18:44:43 +0000 (11:44 -0700)]
swrast: add missing state validation calls for Blit, Clear
Alex Deucher [Mon, 12 Dec 2011 14:48:15 +0000 (09:48 -0500)]
r600g: add some new pci ids
fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=43739
Note: this is a candidate for the stable branches.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Marek Olšák [Sun, 11 Dec 2011 15:18:36 +0000 (16:18 +0100)]
mesa: fix possible precision issues in pack/unpack/fetch functions
GLfloat doesn't have enough precision to exactly represent 0xffffff
and 0xffffffff. (and a reciprocal of those, if I am not mistaken)
If -ffast-math is enabled, using GLfloat causes assertion failures in:
- fbo-blit-d24s8
- fbo-depth-sample-compare
- fbo-readpixels-depth-formats
- glean/depthStencil
For example:
fbo-depth-sample-compare: main/format_unpack.c:1769:
unpack_float_z_Z24_X8: Assertion `dst[i] <= 1.0F' failed.
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Sun, 11 Dec 2011 12:25:56 +0000 (13:25 +0100)]
r300g: integer and fixed-point 16.16 textures are not supported
Marek Olšák [Tue, 22 Nov 2011 14:05:29 +0000 (15:05 +0100)]
st/mesa: add color varyings to MaxVarying
The linker now adds color varyings to the number of used varyings and checks
against that limit.
NOTE: This is a candidate for the 7.11 branch.
Michael Karcher [Sun, 11 Dec 2011 21:24:10 +0000 (13:24 -0800)]
i915g: fix debug dump on 64 bit systems
Fatih Aşıcı [Sun, 11 Dec 2011 21:21:53 +0000 (13:21 -0800)]
i915g: Fix wrong indices for LINE_LOOP case
Maarten Lankhorst [Fri, 2 Dec 2011 00:00:54 +0000 (01:00 +0100)]
vl: Add missing mpeg fields to pipe_mpeg12_picture_desc
Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Tobias Droste [Sun, 11 Dec 2011 04:13:47 +0000 (05:13 +0100)]
g3dvl/xlib: fix build by changing include order
fixes the following build error since
c83fb4d45f2a47042f395271efe6e5489b2c4aee:
/usr/include/strings.h:46:13: error: expected declaration specifiers or
‘...’ before numeric constant
/usr/include/strings.h:46:13: error: conflicting types for ‘memset’
In file included from
../../../../src/gallium/winsys/g3dvl/xlib/xsp_winsys.c:34:0:
../../../../src/gallium/auxiliary/util/u_inlines.h: In function
‘pipe_buffer_create’:
../../../../src/gallium/auxiliary/util/u_inlines.h:189:4: error: too
many arguments to function ‘memset’
/usr/include/strings.h:46:13: note: declared here
bzero is defined in X11 as: #define bzero(b,len) memset(b,0,len)
including strings.h after the X11 header results in preprocessor
replacing 'bzero' in strings.h and generating unbuildable code.
Signed-off-by: Tobias Droste <tdroste@gmx.de>
Dave Airlie [Sat, 10 Dec 2011 17:30:37 +0000 (17:30 +0000)]
st/mesa: move frag depth up a level.
This fixes the segfault, and seems to put this closer to where other
properties are being set. Hopefully it still conforms.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sat, 10 Dec 2011 09:04:46 +0000 (09:04 +0000)]
Revert "st/mesa: only resolve is number of samples is > 1"
This reverts commit
8c713626db33c40c18e24c880fe47d7948f4dcd7.
Didn't mean to push this at all
Dave Airlie [Wed, 30 Nov 2011 20:10:33 +0000 (20:10 +0000)]
st/mesa: only resolve is number of samples is > 1
This fixes the firefox crash but I've no idea if its correct.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sun, 4 Dec 2011 20:14:09 +0000 (20:14 +0000)]
mesa: add missing RG_INTEGER and some RED_INTEGER_EXT checks.
This just adds the correct checks and asserts in the right places. This doesn't
fix all the tests that I've sent to piglit, need to add int paths to go alongside the uint paths that don't go via float to fix it up properly.
I'm not sure how much of that could be templated/shared will have a look
once I write it the long way.
Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Marek Olšák [Fri, 18 Nov 2011 14:45:03 +0000 (15:45 +0100)]
gallium: implement ARB_conservative_depth
This adds a new TGSI property to represent the GLSL layout qualifier in TGSI.
José Fonseca [Fri, 9 Dec 2011 20:05:27 +0000 (20:05 +0000)]
util: Add strings.h include on unices
Fixes -Wimplicit-function-declaration for ffs with GCC. Spotted/tested
by Kai Wasserbäch.
José Fonseca [Thu, 8 Dec 2011 13:25:10 +0000 (13:25 +0000)]
mesa/st: Don't modify the context draw/read buffers.
It sets the wrong values (GL_XXX_LEFT instead of GL_XXX), and no other
Mesa driver does this, given that Mesa sets the right draw/read buffers
provided the Mesa visual has the doublebuffer flag filled correctly
which is the case.
Reviewed-by: Brian Paul <brianp@vmware.com>
nobled [Wed, 19 Oct 2011 06:35:53 +0000 (06:35 +0000)]
mesa,intel: use _mesa_image_offset() for PBOs
This avoids forming invalid pointers needlessly, which even if
never dereferenced is undefined behavior. It also makes
_mesa_validate_pbo_access() more comprehensible.
Reviewed-by: Brian Paul <brianp@vmware.com>
nobled [Tue, 18 Oct 2011 20:50:16 +0000 (20:50 +0000)]
mesa: add _mesa_image_offset()
Reviewed-by: Brian Paul <brianp@vmware.com>
nobled [Mon, 17 Oct 2011 21:34:44 +0000 (21:34 +0000)]
mesa/image: assert on bad format
NULL as an error indicator is meaningless, since it will return NULL
on success anyway if the caller passes in zero as the image's address
and asks to calculate the offset of the first pixel. For example,
_mesa_validate_pbo_access() does this.
This also matches the code in the non-GL_BITMAP codepath, which
already has an assert like this.
v2: Per Brian Paul's review, remove the function call entirely
and tighten the assert to only accept the two formats compatible with
GL_BITMAP. They always have one component per pixel.
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
nobled [Mon, 17 Oct 2011 21:27:55 +0000 (21:27 +0000)]
mesa/image: delete dead store
The return value here is a) always zero, b) never used.
Reviewed-by: Brian Paul <brianp@vmware.com>
Bryan Cain [Thu, 8 Dec 2011 19:48:27 +0000 (13:48 -0600)]
glsl_to_tgsi: fix a bug in eliminate_dead_code_advanced()
The bug, reported to me by Vadim Girlin on IRC, was causing overzealous
elimination of code in parallel if statements such as the following:
if (x) {
r = false;
}
if (y) {
r = true;
}
Before this commit, the assignment inside the first if block would be
misdetected as dead code and removed.
José Fonseca [Wed, 30 Nov 2011 17:12:00 +0000 (17:12 +0000)]
llvmpipe: Trim the fragment shader cached based on LLVM IR instruction count.
Number of fragment shader variants is not very representative of the
memory used by LLVM, neither is number of shader instructions, as often
texture sampling constitutes most of the generated code.
This change adds an additional trim criteria: least recently used
fragment shader variants will be freed until the total number of LLVM IR
instruction falls below a specified threshold.
Reviewed-by: Brian Paul <brianp@vmware.com>
José Fonseca [Mon, 28 Nov 2011 16:54:09 +0000 (16:54 +0000)]
llvmpipe,draw,gallivm: Ensure we don't walk beyond the end of the shader variant list.
u_simple_list.h uses a sentinel element, and not a NULL element. So
ensure list is not empty when reducing the list of shader variants.
Something I noticed while trying to free variants more aggressively.
Reviewed-by: Brian Paul <brianp@vmware.com>