mesa.git
13 years agoscons: Correct glapi USE_xxx_ASM flags.
José Fonseca [Fri, 17 Jun 2011 18:23:06 +0000 (19:23 +0100)]
scons: Correct glapi USE_xxx_ASM flags.

13 years agoscons: Accept verbose=yes instead of quiet=no.
José Fonseca [Fri, 17 Jun 2011 17:42:39 +0000 (18:42 +0100)]
scons: Accept verbose=yes instead of quiet=no.

'verbose' is affirmative, and much more common name for this sort of option.

13 years agoglx: implement drawable refcounting.
Stéphane Marchesin [Wed, 15 Jun 2011 22:09:12 +0000 (15:09 -0700)]
glx: implement drawable refcounting.

The current dri context unbind logic will leak drawables until the process
dies (they will then get released by the GEM code). There are two ways to fix
this: either always call driReleaseDrawables every time we unbind a context
(but that costs us round trips to the X server at getbuffers() time) or
implement proper drawable refcounting. This patch implements the latter.

Signed-off-by: Antoine Labour <piman@chromium.org>
Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
13 years agoscons: Move all env setup to scons/gallium.py
José Fonseca [Fri, 17 Jun 2011 15:28:27 +0000 (16:28 +0100)]
scons: Move all env setup to scons/gallium.py

13 years agoscons: make embedding orthogonal to the platform
José Fonseca [Fri, 17 Jun 2011 13:48:28 +0000 (14:48 +0100)]
scons: make embedding orthogonal to the platform

To enable embedding in platforms other than linux.

13 years agomesa: use helper functions to distinguish between user/winsys FBOs
Brian Paul [Thu, 16 Jun 2011 13:31:58 +0000 (07:31 -0600)]
mesa: use helper functions to distinguish between user/winsys FBOs

And replace IS_CUBE_FACE() macro w/ inline function.

13 years agomesa: refactor, create _mesa_update_draw_buffers() helper
Brian Paul [Thu, 16 Jun 2011 13:31:58 +0000 (07:31 -0600)]
mesa: refactor, create _mesa_update_draw_buffers() helper

Move this code out of _mesa_make_current() and put it into a
helper function.

13 years agomesa: updated comments in _make_current()
Brian Paul [Thu, 16 Jun 2011 13:31:58 +0000 (07:31 -0600)]
mesa: updated comments in _make_current()

13 years agor600: fix SPI inputs setup on r600/r700
Vadim Girlin [Tue, 14 Jun 2011 17:11:04 +0000 (21:11 +0400)]
r600: fix SPI inputs setup on r600/r700

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agointel: Fix typo in intel_offset_S8 comments
Chad Versace [Tue, 14 Jun 2011 19:56:49 +0000 (12:56 -0700)]
intel: Fix typo in intel_offset_S8 comments

Signed-off-by: Chad Versace <chad@chad-versace.us>
13 years agoi965/gen5,6: Fix hang when emitting hiz buffer without stencil buffer
Chad Versace [Thu, 9 Jun 2011 04:51:10 +0000 (21:51 -0700)]
i965/gen5,6: Fix hang when emitting hiz buffer without stencil buffer

When emitting either a hiz or stencil buffer, the 'separate stencil
enable' and 'hiz enable' bits are set in 3DSTATE_DEPTH_BUFFER. Therefore
we must emit both 3DSTATE_HIER_DEPTH_BUFFER and 3DSTATE_STENCIL_BUFFER.

Even if there is no stencil buffer, 3DSTATE_STENCIL_BUFFER must be
emitted; failure to do so causes a hang on gen5 and a stall on gen6.

This also fixes a silly, obvious segfault that occured when a hiz buffer
xor separate stencil buffer existed.

Fixes the piglit tests below on Gen5 when hiz and separate stencil are
manually enabled:
    fbo-alphatest-nocolor
    fbo-depth-sample-compare
    fbo
    hiz-depth-read-fbo-d24-s0
    hiz-depth-stencil-test-fbo-d24-s0
    hiz-depth-test-fbo-d24-s0
    hiz-stencil-read-fbo-d0-s8
    hiz-stencil-test-fbo-d0-s8
    fbo-missing-attachment-clear
    fbo-clear-formats
    fbo-depth-*

Changes piglit test result from crash to fail:
    hiz-depth-stencil-test-fbo-d0-s8

Signed-off-by: Chad Versace <chad@chad-versace.us>
13 years agor600g: disable render condition for some blitter operations
Marek Olšák [Wed, 15 Jun 2011 12:26:41 +0000 (14:26 +0200)]
r600g: disable render condition for some blitter operations

13 years agor600g: fix TXD src regs needing fetching.
Mike Kaplinskiy [Wed, 15 Jun 2011 06:56:10 +0000 (16:56 +1000)]
r600g: fix TXD src regs needing fetching.

[airlied: final chunk of Mike's patch from bug 37476
this uses a loop to emit the GRADIENTS and does a check to
see if we need to fetch to a temporary register. It also
increases the context src gpr to 4 which is needed here.]

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agor600g: use inlines for some common tex instr setup code.
Mike Kaplinskiy [Wed, 15 Jun 2011 06:26:17 +0000 (16:26 +1000)]
r600g: use inlines for some common tex instr setup code.

[airlied: taken from Mike's patch in bug 37476]

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agoglsl/builtins: Actually implement int/ivec variants of abs().
Kenneth Graunke [Wed, 15 Jun 2011 04:36:43 +0000 (21:36 -0700)]
glsl/builtins: Actually implement int/ivec variants of abs().

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
NOTE: This is a candidate for stable release branches (and don't forget
      to re-run "make builtins" after cherry-picking.)

13 years agor600g: fix TXD when shadowing is enabled.
Mike Kaplinskiy [Wed, 15 Jun 2011 05:54:21 +0000 (15:54 +1000)]
r600g: fix TXD when shadowing is enabled.

Mike had actually done a lot of the TXD support in a patch in bug
37476 which I see now, I'll add the bits of his work that I didn't think
to add to my work.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agor600g: add TXD support.
Dave Airlie [Wed, 15 Jun 2011 05:15:41 +0000 (15:15 +1000)]
r600g: add TXD support.

This at least passes the piglit arb_shader_texture_lod-texgrad test,
the AMD shader analyzer seems to multiply the V component by an unspecified
constant value no idea why.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agoi915g: add const qualifier to silence warning
Brian Paul [Wed, 15 Jun 2011 02:47:47 +0000 (20:47 -0600)]
i915g: add const qualifier to silence warning

13 years agor600g: also set TILE_MODE of the base level
Marek Olšák [Wed, 15 Jun 2011 02:16:05 +0000 (04:16 +0200)]
r600g: also set TILE_MODE of the base level

13 years agor600g: force OpenGL's BASE_LEVEL behavior on r600-r700
Marek Olšák [Wed, 15 Jun 2011 00:24:03 +0000 (02:24 +0200)]
r600g: force OpenGL's BASE_LEVEL behavior on r600-r700

This sets the base level as the zero level, which fixes
piglit/texturing/tex-miplevel-selection*.

The r600 hardware ignores the BASE_LEVEL field in some cases, so we can't
use it.

Evergreen might need this too.

13 years agoglsl/generate_builtins.py: Remove regexp to kill pointer addresses.
Kenneth Graunke [Tue, 14 Jun 2011 00:43:32 +0000 (17:43 -0700)]
glsl/generate_builtins.py: Remove regexp to kill pointer addresses.

Commit 56ef62d9885f805bbfb2243dc860ff425d5b4d3b
"glsl: Generate readable unique names at print time."
changed ir_print_visitor to not generate @0x1234567 suffixes except
where necessary.  So there's no need to manually remove them.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
13 years agoglapi: _glapi_create_table_from_handle: Set missing pointers to NoOp rather than...
Jeremy Huddleston [Tue, 14 Jun 2011 19:34:49 +0000 (12:34 -0700)]
glapi: _glapi_create_table_from_handle: Set missing pointers to NoOp rather than NULL

This change to _glapi_create_table_from_handle causes it to fill the dispatch
table with NoOps for unimplemented functionality.  This matches what is done
in indirect_init.c and also allows us to enable logging (when built with
-DDEBUG and the MESA_DEBUG or LIBGL_DEBUG environment variables are set) to
catch cases where clients are trying to use these unimplemented extentions.

Additionally, this fixes some gcc -pedantic warnings.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
13 years agost/mesa: fix indentation, whitespace
Brian Paul [Tue, 14 Jun 2011 15:24:50 +0000 (09:24 -0600)]
st/mesa: fix indentation, whitespace

13 years agost/mesa: replace st->ctx with ctx
Brian Paul [Tue, 14 Jun 2011 15:15:36 +0000 (09:15 -0600)]
st/mesa: replace st->ctx with ctx

13 years agost/mesa: fix comments, whitespace
Brian Paul [Tue, 14 Jun 2011 14:40:43 +0000 (08:40 -0600)]
st/mesa: fix comments, whitespace

13 years agodocs: 7.10.3 updates
Brian Paul [Tue, 14 Jun 2011 00:32:39 +0000 (18:32 -0600)]
docs: 7.10.3 updates

13 years agost/mesa: improved is_interleaved_arrays() checking
Brian Paul [Mon, 13 Jun 2011 23:34:20 +0000 (17:34 -0600)]
st/mesa: improved is_interleaved_arrays() checking

Check that the difference in array pointers/offsets from the 0th
array are less than the stride, for both VBOs and user-space arrays.
Previously, we were only doing this for the later.

This tightens up the interleaved array test and fixes a problem with
the llvmpipe driver where we were creating way too many vertex fetch
variants only because the pipe_vertex_element::src_offset values were
changing frequently.  This change results in a 5x speed-up for one of
the viewperf tests.

Also, clean up the function to make it easier to understand.

13 years agor600c: add tiling support for evergreen+
Alex Deucher [Tue, 14 Jun 2011 22:39:59 +0000 (18:39 -0400)]
r600c: add tiling support for evergreen+

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
13 years agor600g: fix RGB32F texturing
Marek Olšák [Tue, 14 Jun 2011 18:47:57 +0000 (20:47 +0200)]
r600g: fix RGB32F texturing

13 years agor600g: fix indentation and comments
Marek Olšák [Tue, 14 Jun 2011 18:25:00 +0000 (20:25 +0200)]
r600g: fix indentation and comments

13 years agomesa: Switch generate_mipmaps_compressed() to using TexImage2D to upload.
Eric Anholt [Fri, 10 Jun 2011 19:58:56 +0000 (12:58 -0700)]
mesa: Switch generate_mipmaps_compressed() to using TexImage2D to upload.

The code was playing fast and loose with rowstrides, which meant that
if a driver chose anything different for its alignment requirements,
the generated mipmaps came out garbage.  Unlike the uncompressed case,
we can't generate mipmaps directly into image->Data, so by using
TexImage2D we cut out most of the weird logic that existed to generate
in-place into ->Data.  The up/downside is that the driver recovery
code for the fact that _mesa_generate_mipmaps whacked ->Data has to be
turned off for compressed now.

Fixes 6 piglit tests about compressed mipmap gen.

13 years agomesa: Remove uncompressed code from generate_mipmaps_compressed().
Eric Anholt [Fri, 10 Jun 2011 19:10:33 +0000 (12:10 -0700)]
mesa: Remove uncompressed code from generate_mipmaps_compressed().

13 years agomesa: Remove compressed code from generate_mipmaps_uncompressed().
Eric Anholt [Fri, 10 Jun 2011 19:04:19 +0000 (12:04 -0700)]
mesa: Remove compressed code from generate_mipmaps_uncompressed().

13 years agomesa: Split _mesa_generate_mipmap along compressed/uncompressed lines.
Eric Anholt [Fri, 10 Jun 2011 19:00:23 +0000 (12:00 -0700)]
mesa: Split _mesa_generate_mipmap along compressed/uncompressed lines.

The path taken is wildly different based on this (do we generate from
a temporary image, or from level-1's data), and we appear to have
stride bugs in the compressed case that are tough to disentangle.

This just duplicates the code for the moment, the followon commit will
do the actual changes.  Only real code change here is handling
maxLevel in one common place.

13 years agointel: Fix miptree height alignment for compressed NPOT textures.
Eric Anholt [Fri, 10 Jun 2011 00:04:12 +0000 (17:04 -0700)]
intel: Fix miptree height alignment for compressed NPOT textures.

This is effectively just "round up when dividing by 4" compared to the
previous code.  Fixes the broken stripe at the top of
fbo-generatemipmap-formats GL_EXT_texture_compression_rgtc.

13 years agointel: Drop dead preinitialization of align_w, align_h.
Eric Anholt [Fri, 10 Jun 2011 00:01:57 +0000 (17:01 -0700)]
intel: Drop dead preinitialization of align_w, align_h.

13 years agointel: Drop the cpp argument to intel_miptree_create().
Eric Anholt [Thu, 9 Jun 2011 17:23:17 +0000 (10:23 -0700)]
intel: Drop the cpp argument to intel_miptree_create().

13 years agointel: Calculate compress_byte in intel_miptree_create.
Eric Anholt [Thu, 9 Jun 2011 17:18:36 +0000 (10:18 -0700)]
intel: Calculate compress_byte in intel_miptree_create.

One less argument and thing to get wrong.

13 years agointel: Use the gl_format to get the base_format for miptree create.
Eric Anholt [Thu, 9 Jun 2011 17:07:56 +0000 (10:07 -0700)]
intel: Use the gl_format to get the base_format for miptree create.

One less argument to this insanely long function call.

13 years agointel: Drop the internal_format field of the mipmap tree.
Eric Anholt [Thu, 9 Jun 2011 17:00:44 +0000 (10:00 -0700)]
intel: Drop the internal_format field of the mipmap tree.

This has been replaced with the gl_format now.

13 years agointel: Make the intel_miptree_match_image format check more specific.
Eric Anholt [Thu, 9 Jun 2011 17:00:59 +0000 (10:00 -0700)]
intel: Make the intel_miptree_match_image format check more specific.

We don't care just about the internalFormat/cpp/compressed, but about
the specific format chosen.  We have no support for format
translations as part of texture validation, and furthermore it has
restrictions in the GL specification.  However, we should be making
consistent decisions for this check anyway.

13 years agoi915: Drop dead argument to translate_texture_format().
Eric Anholt [Thu, 9 Jun 2011 16:58:38 +0000 (09:58 -0700)]
i915: Drop dead argument to translate_texture_format().

13 years agointel: Add block alignment for RGTC textures.
Eric Anholt [Thu, 9 Jun 2011 16:28:19 +0000 (09:28 -0700)]
intel: Add block alignment for RGTC textures.

We were using the default 4x2 alignment instead of the 4x4 required
for RGTC textures.

13 years agointel: Add the MESA_FORMAT as a field of the miptree.
Eric Anholt [Thu, 9 Jun 2011 16:16:47 +0000 (09:16 -0700)]
intel: Add the MESA_FORMAT as a field of the miptree.

We only had internal_format before, which is way more irritating to
work with.

13 years agointel: Fix 2x2 and 1x1 compressed teximages from _mesa_generate_mipmap()
Eric Anholt [Wed, 8 Jun 2011 23:38:01 +0000 (16:38 -0700)]
intel: Fix 2x2 and 1x1 compressed teximages from _mesa_generate_mipmap()

Generally image uploads to a the region occur at TexImage time, but
that's not the case for fallback _mesa_generate_mipmap(), and in this
path we were forgetting to align the width when dividing height.  We
were just leaving out parts of the compressed block at 2x2 and 1x1
levels.

Fixes gen-compressed-teximage.

13 years agor600g: disable shader_texture_lod until there is driver support
Marek Olšák [Tue, 14 Jun 2011 18:03:04 +0000 (20:03 +0200)]
r600g: disable shader_texture_lod until there is driver support

13 years agollvmpipe: SSE2 fastpaths for b8g8r8x8 {un,}swizzle
Adam Jackson [Fri, 10 Jun 2011 16:56:51 +0000 (12:56 -0400)]
llvmpipe: SSE2 fastpaths for b8g8r8x8 {un,}swizzle

Copy-and-paste from the bgra cases.  The C paths attempt to avoid
copying the 'x' channel, but it's harmless, you might as well.  Good for
about 5% in glxgears (740 to 780 fps).

Signed-off-by: Adam Jackson <ajax@redhat.com>
13 years agonv50: fix copy/paste error in nv50_gmtyprog_validate
Christoph Bumiller [Tue, 14 Jun 2011 15:15:08 +0000 (17:15 +0200)]
nv50: fix copy/paste error in nv50_gmtyprog_validate

Used the vertprog instead of gmtyprog.

13 years agoapple: Set the glapi dispatch table on context bind
Jeremy Huddleston [Tue, 14 Jun 2011 07:45:12 +0000 (00:45 -0700)]
apple: Set the glapi dispatch table on context bind

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
13 years agoconfigure.ac: cleanup the gallium-r300 option
Marek Olšák [Tue, 14 Jun 2011 02:03:17 +0000 (04:03 +0200)]
configure.ac: cleanup the gallium-r300 option

13 years agost/xorg: remove unused variable
Marek Olšák [Tue, 14 Jun 2011 01:48:06 +0000 (03:48 +0200)]
st/xorg: remove unused variable

13 years agor600g: do not link with softpipe
Marek Olšák [Mon, 13 Jun 2011 23:41:39 +0000 (01:41 +0200)]
r600g: do not link with softpipe

13 years agor300g: do not link with softpipe
Marek Olšák [Mon, 13 Jun 2011 23:41:11 +0000 (01:41 +0200)]
r300g: do not link with softpipe

13 years agoxorg-radeon: rename to xorg-r300
Marek Olšák [Mon, 13 Jun 2011 23:00:36 +0000 (01:00 +0200)]
xorg-radeon: rename to xorg-r300

13 years agotarget-helpers: remove copy-pasted function inline_noop_helper
Marek Olšák [Mon, 13 Jun 2011 23:23:20 +0000 (01:23 +0200)]
target-helpers: remove copy-pasted function inline_noop_helper

13 years agor600g: skip SPI setup for position and face inputs
Vadim Girlin [Mon, 13 Jun 2011 01:43:47 +0000 (05:43 +0400)]
r600g: skip SPI setup for position and face inputs

fixes fdo bug 38145

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agor600g: move depth texture flushing out of line.
Dave Airlie [Tue, 7 Jun 2011 05:41:30 +0000 (15:41 +1000)]
r600g: move depth texture flushing out of line.

this needs a piglit run.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agometa: Fix glCopyTexImage(GL_LUMINANCE) from non-GL_LUMINANCE source.
Eric Anholt [Wed, 8 Jun 2011 20:00:51 +0000 (13:00 -0700)]
meta: Fix glCopyTexImage(GL_LUMINANCE) from non-GL_LUMINANCE source.

glReadPixels() was performing RGB -> L conversion differently from the
glTexImage() style conversion appropriate for glCopyTexImage().

Fixes gles2conform copy_texture.

13 years agointel: Fix mipmap and format handling of blit glCopyPixels().
Eric Anholt [Wed, 8 Jun 2011 19:06:43 +0000 (12:06 -0700)]
intel: Fix mipmap and format handling of blit glCopyPixels().

Fixes fbo-mipmap-copypix.

13 years agointel: Do the drawable x/y offset in intel_renderbuffer_map() for spans.
Eric Anholt [Tue, 31 May 2011 22:38:17 +0000 (15:38 -0700)]
intel: Do the drawable x/y offset in intel_renderbuffer_map() for spans.

We were mapping the renderbuffer once, then walking over all the
buffers to map just the texture ones using the other texture mapping
function that handled the x/y offset to the image in the region.  But
then we would go and overwrite *those* mappings with the original
mappings for depth/stencil, which was wrong.

Instead, just walk over the attachments once and map the attachments.
Wasn't that easy?

13 years agointel: Use rb->Data and rb->RowStride to handle spans Y flipping.
Eric Anholt [Tue, 31 May 2011 22:33:36 +0000 (15:33 -0700)]
intel: Use rb->Data and rb->RowStride to handle spans Y flipping.

This is already pointing at 0 or Height - 1 and with an appropriate
pitch, so no need to recompute those values per customization of the
spans code.  Cuts 3 out of 21kb of the compiled size.

Reviewed-by: Chad Versace <chad@chad-versace.us>
13 years agointel: Clean up intel_render_texture with a rename and a helper function.
Eric Anholt [Tue, 31 May 2011 22:07:56 +0000 (15:07 -0700)]
intel: Clean up intel_render_texture with a rename and a helper function.

The "newImage" isn't particularly new -- it might be the same texture
that was attached to the same attachment point before.  This function
also gets called when just rebinding back to an FBO with a texture
attachment.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chad Versace <chad@chad-versace.us>
13 years agointel: Move the draw_x/draw_y to the renderbuffer where it belongs.
Eric Anholt [Tue, 31 May 2011 21:27:18 +0000 (14:27 -0700)]
intel: Move the draw_x/draw_y to the renderbuffer where it belongs.

It was originally located in the region because the tracking of
depth/color buffers was on the regions, and getting back to the irb
would have been tricky.  Now, we're keying off of the renderbuffer in
more places, which means we can move these fields where they belong.

This could fix potential rendering failure with a single texture
having multiple images attached to different renderbuffers across
shareCtx (as far as I can tell, this was the only failure we could
cause, since anything else should trigger intel_render_texture in
between, for example a BindFramebuffer).

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chad Versace <chad@chad-versace.us>
13 years agodri: include swrast.h, not s_texrender.h
Brian Paul [Mon, 13 Jun 2011 22:07:32 +0000 (16:07 -0600)]
dri: include swrast.h, not s_texrender.h

13 years agoglx: Remove check for gc->vtable->destroy
Jeremy Huddleston [Mon, 13 Jun 2011 19:13:44 +0000 (12:13 -0700)]
glx: Remove check for gc->vtable->destroy

gc->vtable->destroy is always set and is used unconditionally
in other places, so don't bother checking for it first.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
13 years agoapple: applegl_destroy_context: Pass along the correct display
Jeremy Huddleston [Mon, 13 Jun 2011 19:00:55 +0000 (12:00 -0700)]
apple: applegl_destroy_context: Pass along the correct display

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
13 years agoapple: Dead code removal
Jeremy Huddleston [Mon, 13 Jun 2011 19:10:38 +0000 (12:10 -0700)]
apple: Dead code removal

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
13 years agoglapi: Add check for NULL symbol_prefix in gentable and fix warnings
Jeremy Huddleston [Mon, 13 Jun 2011 18:35:18 +0000 (11:35 -0700)]
glapi: Add check for NULL symbol_prefix in gentable and fix warnings

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
13 years agoi915g: add a few more render target formats
Daniel Vetter [Mon, 13 Jun 2011 21:03:00 +0000 (23:03 +0200)]
i915g: add a few more render target formats

Snatched from xvmc.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agomesa: move texrender.c to swrast
Brian Paul [Mon, 13 Jun 2011 19:44:35 +0000 (13:44 -0600)]
mesa: move texrender.c to swrast

This stuff is really for software rendering, it's not core Mesa.
A small step toward pushing the FetchTexel() stuff down into swrast.

Reviewed-by: Eric Anholt <eric@anholt.net>
13 years agovbo: minor simplification in print_draw_arrays() debug function
Brian Paul [Mon, 13 Jun 2011 19:42:53 +0000 (13:42 -0600)]
vbo: minor simplification in print_draw_arrays() debug function

13 years agomesa: move invariant code out of loop in get_tex_rgba()
Brian Paul [Mon, 13 Jun 2011 14:18:11 +0000 (08:18 -0600)]
mesa: move invariant code out of loop in get_tex_rgba()

13 years agor600g: Put shaders into immutable buffers.
Mathias Fröhlich [Fri, 3 Jun 2011 22:21:29 +0000 (00:21 +0200)]
r600g: Put shaders into immutable buffers.

Put the shader programs into an immutable buffer object.
Also make sure that those object can be taken from the user
space buffer object pool.

13 years agor600g: Allow VRAM for the initial domain for every buffer binding.
Mathias Fröhlich [Sun, 12 Jun 2011 12:32:03 +0000 (14:32 +0200)]
r600g: Allow VRAM for the initial domain for every buffer binding.

13 years agor600g: Set the domains value also for recycled buffer objects.
Mathias Fröhlich [Sun, 12 Jun 2011 12:25:26 +0000 (14:25 +0200)]
r600g: Set the domains value also for recycled buffer objects.

13 years agor600g: Fix typo.
Mathias Fröhlich [Wed, 8 Jun 2011 15:33:57 +0000 (17:33 +0200)]
r600g: Fix typo.

Fix an obvious typo in the yet unused part of the shader setup.

13 years agor600g: remove useless call to u_upload_flush
Pierre-Eric Pelloux-Prayer [Fri, 10 Jun 2011 13:45:01 +0000 (15:45 +0200)]
r600g: remove useless call to u_upload_flush

No regressions found with :
- piglit (quick.tests)
- Unigine Heaven
- Lightsmark
- openarena
- Imprudence (Second Life fork)

agd5f Note: this patch was previously reverted due to piglit
regressions, but I'm not able to reproduce them here.
See this bug:
https://bugs.freedesktop.org/show_bug.cgi?id=34008
and discussion:
http://lists.freedesktop.org/archives/dri-devel/2011-June/011996.html

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
13 years agost/mesa: rebind vertex arrays if _NEW_BUFFER_OBJECT is dirty
Marek Olšák [Sun, 12 Jun 2011 21:21:41 +0000 (23:21 +0200)]
st/mesa: rebind vertex arrays if _NEW_BUFFER_OBJECT is dirty

This fixes piglit/vbo-bufferdata. It's a regression in 7.11.

Reviewed-by: Brian Paul <brianp@vmware.com>
13 years agor600g: fixed bo memory leak issue
Pierre-Eric Pelloux-Prayer [Fri, 10 Jun 2011 11:57:21 +0000 (13:57 +0200)]
r600g: fixed bo memory leak issue

pipe_resource_reference call was miossing, thus creating massive memory under certain conditions.
Fix : https://bugs.freedesktop.org/show_bug.cgi?id=37168

13 years agomapi: declare x86_entry_start/end static
Chia-I Wu [Mon, 13 Jun 2011 03:41:41 +0000 (11:41 +0800)]
mapi: declare x86_entry_start/end static

x86_entry_start and x86_entry_end are defined by the inline assembly.
Declaring them static saves one instruction in entry_get_public.

13 years agomapi: Fix tls with shared/es-glapi on x86-64
Benjamin Franzke [Wed, 8 Jun 2011 13:50:25 +0000 (15:50 +0200)]
mapi: Fix tls with shared/es-glapi on x86-64

x86_64_entry_start needs to be declared static in the C code,
in order to have the correct address in entry_get_public
(seems not to be needed on x86).

The compiler needs to lookup a local not a global object.

Otherwise addresses needed for _glapi_proc_address will be computed
from some random offset (0x6400229a61058b48 in my case).

13 years agowayland-drm: remove depend on "make clean"
Chia-I Wu [Mon, 13 Jun 2011 03:35:21 +0000 (11:35 +0800)]
wayland-drm: remove depend on "make clean"

13 years agoegl_dri2: try swrastg_dri if swrast_dri fails
Chia-I Wu [Wed, 8 Jun 2011 08:33:56 +0000 (16:33 +0800)]
egl_dri2: try swrastg_dri if swrast_dri fails

Per libGL.

13 years agoegl_dri2: add dri2_load_driver_swrast
Chia-I Wu [Wed, 8 Jun 2011 08:33:55 +0000 (16:33 +0800)]
egl_dri2: add dri2_load_driver_swrast

Refactor dri2_load_driver and add dri2_load_driver_swrast for loading
swrast DRI driver.

13 years agoegl_dri2: Compare configs before matching them
Benjamin Franzke [Sat, 11 Jun 2011 21:00:40 +0000 (23:00 +0200)]
egl_dri2: Compare configs before matching them

This compares attribs like buffer size, and will prevent merging
unequal configs because of match criterion is e.g. ATLEAST.

13 years agost/eglwayland: Add support for EGL_DEFAULT_DISPLAY
Benjamin Franzke [Sat, 11 Jun 2011 20:24:14 +0000 (22:24 +0200)]
st/eglwayland: Add support for EGL_DEFAULT_DISPLAY

13 years agoegl_dri2/wayland: Add support for EGL_DEFAULT_DISPLAY
Benjamin Franzke [Sat, 11 Jun 2011 20:07:02 +0000 (22:07 +0200)]
egl_dri2/wayland: Add support for EGL_DEFAULT_DISPLAY

13 years agoapple: Request OpenGL 3.2 from OpenGL.framework if available
Jeremy Huddleston [Sun, 12 Jun 2011 06:43:38 +0000 (23:43 -0700)]
apple: Request OpenGL 3.2 from OpenGL.framework if available

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
13 years agoapple: Store the CGL API version number for future reference
Jeremy Huddleston [Sun, 12 Jun 2011 06:43:03 +0000 (23:43 -0700)]
apple: Store the CGL API version number for future reference

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
13 years agoapple: Use a struct glx_config * rather than a void * in apple_visual_create_pfobj
Jeremy Huddleston [Sun, 12 Jun 2011 05:54:59 +0000 (22:54 -0700)]
apple: Use a struct glx_config * rather than a void * in apple_visual_create_pfobj

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
13 years agoapple: Use _glapi_create_table_from_handle to initialize our dispatch table
Jeremy Huddleston [Fri, 10 Jun 2011 00:29:51 +0000 (17:29 -0700)]
apple: Use _glapi_create_table_from_handle to initialize our dispatch table

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
13 years agoglapi: Add API that can create a _glapi_table from a dlfcn handle
Jeremy Huddleston [Thu, 9 Jun 2011 23:59:49 +0000 (16:59 -0700)]
glapi: Add API that can create a _glapi_table from a dlfcn handle

Example usage:

void *handle = dlopen(opengl_library_path, RTLD_LOCAL);
struct _glapi_table *disp = _glapi_create_table_from_handle(handle, "gl");

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
13 years agor300g: max_anisotropy of 1 is not anisotropic filtering
Marek Olšák [Sat, 11 Jun 2011 21:01:36 +0000 (23:01 +0200)]
r300g: max_anisotropy of 1 is not anisotropic filtering

13 years agoi915g: implement fence signalling
Daniel Vetter [Tue, 7 Jun 2011 20:22:16 +0000 (22:22 +0200)]
i915g: implement fence signalling

v2: Incorporated feedback from Jakob Bornecrantz.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agoi965: Add support for GL_FIXED vertex attributes.
Eric Anholt [Wed, 8 Jun 2011 20:44:00 +0000 (13:44 -0700)]
i965: Add support for GL_FIXED vertex attributes.

This sadly requires work in the VS to rescale them, because the
hardware doesn't support this format natively.

Fixes arb_es2_compatibility-fixed-type and gtf/fixed_data_type.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agoglsl: Fix incorrect optimization of instructions before discard statements.
Eric Anholt [Wed, 8 Jun 2011 18:25:04 +0000 (11:25 -0700)]
glsl: Fix incorrect optimization of instructions before discard statements.

The function was named "find_unconditional_discard", but didn't
actually check that the discard statement found was unconditional.
Fixes piglit glsl-fs-discard-04.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
13 years agoFix format not a string literal error with -Werror=format-security
Eugeni Dodonov [Fri, 10 Jun 2011 18:26:02 +0000 (15:26 -0300)]
Fix format not a string literal error with -Werror=format-security

A trivial fix for error: format not a string literal and no format
arguments with compiling with -Werror=format-security flags.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
13 years agoi965/brw: Fix emit_depthbuffer() when packed depth/stencil texture is attached
Chad Versace [Fri, 10 Jun 2011 17:27:54 +0000 (10:27 -0700)]
i965/brw: Fix emit_depthbuffer() when packed depth/stencil texture is attached

If either depth or stencil buffer has packed depth/stencil format, then do
not use separate stencil.

Before this commit, emit_depthbuffer() incorrectly assumed that the
texture's stencil renderbuffer wrapper was a *separate* stencil buffer,
because the depth and stencil renderbuffer wrappers are distinct for
depth/stencil textures (that is, depth_irb != stencil_irb).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38134
Signed-off-by: Chad Versace <chad@chad-versace.us>
13 years agor600g: VGT_PRIMITIVE_TYPE is special
Alex Deucher [Thu, 9 Jun 2011 20:54:23 +0000 (16:54 -0400)]
r600g: VGT_PRIMITIVE_TYPE is special

It's a special reg and does not require a flush like
the other CONFIG regs.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
13 years agor600g: Handle CONFIG regs properly
Alex Deucher [Thu, 9 Jun 2011 20:26:50 +0000 (16:26 -0400)]
r600g: Handle CONFIG regs properly

CONFIG regs (byte offsets 0x8000-0xac00) are single state and the pipeline
must be flushed and hw idle when they are changed.  Border color regs
are in the CONFIG range and this is why a flush is required when changing
them.  CONTEXT regs (byte offset 0x28000+) are multi-state and those do
not require flushes when changing them.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>