mesa.git
13 years agoglsl: Reinstate constant-folding for division by zero
Chad Versace [Mon, 14 Feb 2011 21:22:39 +0000 (13:22 -0800)]
glsl: Reinstate constant-folding for division by zero

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

Commit e7c1f058d18f62aa4871aec623f994d7b68cb8c1 disabled constant-folding
when division-by-zero occured. This was a mistake, because the spec does
allow division by zero. (From section 5.9 of the GLSL 1.20 spec: Dividing
by zero does not cause an exception but does result in an unspecified
value.)

For floating-point division, the original pre-e7c1f05 behavior is
reinstated.

For integer division, constant-fold 1/0 to 0.

13 years agoRevert "glsl: Fix constant-folding for reciprocal expressions"
Chad Versace [Mon, 14 Feb 2011 19:16:42 +0000 (11:16 -0800)]
Revert "glsl: Fix constant-folding for reciprocal expressions"

This reverts commit b3cf92aa916ee0537ee37723c23a9897ac9cd3e0.

The reverted commit prevented constant-folding of reciprocal expressions
when the reciprocated expression was 0. However, since the spec allows
division by zero, constant-folding *is* permissible in this case.

From Section 5.9 of the GLSL 1.20 spec:
    Dividing by zero does not cause an exception but does result in an
    unspecified value.

13 years agotnl: Add support for datatype GL_FIXED in vertex arrays
Chad Versace [Tue, 15 Feb 2011 23:30:05 +0000 (15:30 -0800)]
tnl: Add support for datatype GL_FIXED in vertex arrays

Before populating the vertex buffer attribute pointer (VB->AttribPtr[]),
convert vertex data in GL_FIXED format to GL_FLOAT.

Fixes bug: http://bugs.freedesktop.org/show_bug.cgi?id=34047

NOTE: This is a candidate for the 7.9 and 7.10 branches.

13 years agor600g: add srgb compressed formats to the list.
Dave Airlie [Tue, 15 Feb 2011 22:50:30 +0000 (08:50 +1000)]
r600g: add srgb compressed formats to the list.

13 years agogallium: add usage parameter to pipe_buffer_create
Marek Olšák [Sun, 13 Feb 2011 08:13:14 +0000 (09:13 +0100)]
gallium: add usage parameter to pipe_buffer_create

And set a reasonable buffer usage flag everywhere instead of
just PIPE_USAGE_DEFAULT.

13 years agor600g: Fix RGB10_A2 format handling
Fabian Bieler [Thu, 10 Feb 2011 15:57:34 +0000 (16:57 +0100)]
r600g: Fix RGB10_A2 format handling

13 years agor600g: fix regression in r6/7xx since mipmap rework
Dave Airlie [Tue, 15 Feb 2011 08:42:48 +0000 (18:42 +1000)]
r600g: fix regression in r6/7xx since mipmap rework

I typod this when copy-pasting.

13 years agonvc0: Fix uninitialized variable warning.
Vinson Lee [Tue, 15 Feb 2011 08:25:08 +0000 (00:25 -0800)]
nvc0: Fix uninitialized variable warning.

Fixes this GCC warning.
nvc0_tgsi_to_nc.c: In function 'bld_tex':
nvc0_tgsi_to_nc.c:1392: warning: 'dim' may be used uninitialized in this function

13 years agor300g: offload the CS ioctl to another thread
Marek Olšák [Tue, 15 Feb 2011 04:43:44 +0000 (05:43 +0100)]
r300g: offload the CS ioctl to another thread

This is a multi-threading optimization which hides the kernel overhead
behind a thread. It improves performance in CPU-limited apps by 2-15%.
Of course you must have at least 2 cores for it to make any difference.

It can be disabled with:

export RADEON_THREAD=0

13 years agor600g: add support for s3tc formats.
Dave Airlie [Fri, 11 Feb 2011 03:42:52 +0000 (13:42 +1000)]
r600g: add support for s3tc formats.

On r600, s3tc formats require a 1D tiled texture format,
so we have to do uploads using a blit, via the 64-bit and 128-bit formats

Based on the r600c code we use a 64 and 128-bit type to do the
blits.

Still requires R600_ENABLE_S3TC until the kernel fixes are in,
this has only been tested on evergreen where the kernel doesn't
yet get in the way.

13 years agor600g: fix miptree calculations
Dave Airlie [Tue, 15 Feb 2011 03:21:50 +0000 (13:21 +1000)]
r600g: fix miptree calculations

the miptree setup and pitch storing didn't work so well for block
based things like compressed textures. The CB takes blocks, where
the texture sampler takes pixels, and transfers need bytes,

So now we store blocks/bytes and translate to pixels in the sampler.

This is necessary for s3tc to work properly.

13 years agor600g: drop tiled flag
Dave Airlie [Mon, 14 Feb 2011 03:34:11 +0000 (13:34 +1000)]
r600g: drop tiled flag

we can work this out from the array_mode and it makes more sense
to do that.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agost/mesa: fix compressed mipmap generation.
Dave Airlie [Tue, 15 Feb 2011 02:50:37 +0000 (12:50 +1000)]
st/mesa: fix compressed mipmap generation.

If the underlying transfer had a stride wider for hw alignment reasons,
the mipmap generation would generate badly strided images.

this fixes a few problems I found while testing r600g with s3tc

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agost/mesa: fix GLES build
Marek Olšák [Tue, 15 Feb 2011 03:41:57 +0000 (04:41 +0100)]
st/mesa: fix GLES build

Broken since d5062fb3a315c46d77d5c954a3e3c14be1907d33.

I wonder why this code is hidden behind #if by default.

13 years agor300g: actually implement the is_buffer_busy hook the right way
Marek Olšák [Tue, 15 Feb 2011 02:54:24 +0000 (03:54 +0100)]
r300g: actually implement the is_buffer_busy hook the right way

Ooops.

13 years agor300g: handle interaction between UNSYNCHRONIZED and DONTBLOCK flags in bo_map
Marek Olšák [Tue, 15 Feb 2011 02:43:57 +0000 (03:43 +0100)]
r300g: handle interaction between UNSYNCHRONIZED and DONTBLOCK flags in bo_map

The VBO module uses both, but they are somewhat opposite to each other.
In this case, we pick UNSYNCHRONIZED and ignore DONTBLOCK.

13 years agor300g: fix a possible race condition when mapping a buffer
Marek Olšák [Tue, 15 Feb 2011 01:34:05 +0000 (02:34 +0100)]
r300g: fix a possible race condition when mapping a buffer

This is the last one I think.

13 years agor300g: implement fences using dummy relocations
Marek Olšák [Tue, 15 Feb 2011 00:41:16 +0000 (01:41 +0100)]
r300g: implement fences using dummy relocations

So finally we have them.

13 years agor300g: fix SIGFPE on debug builds
Marek Olšák [Tue, 15 Feb 2011 00:19:01 +0000 (01:19 +0100)]
r300g: fix SIGFPE on debug builds

13 years agor300g: inline some of the pipe_buffer_map/unmap calls
Marek Olšák [Tue, 15 Feb 2011 00:17:29 +0000 (01:17 +0100)]
r300g: inline some of the pipe_buffer_map/unmap calls

13 years agor300g: do not track whether occlusion queries have been flushed
Marek Olšák [Mon, 14 Feb 2011 22:33:06 +0000 (23:33 +0100)]
r300g: do not track whether occlusion queries have been flushed

The winsys takes care of flushing automatically.

13 years agor300g: flush CS in bo_map even if we get USAGE_DONTBLOCK
Marek Olšák [Mon, 14 Feb 2011 22:15:55 +0000 (23:15 +0100)]
r300g: flush CS in bo_map even if we get USAGE_DONTBLOCK

Because an app may do something like this:

while (!(ptr = bo_map(..., DONT_BLOCK))) {
    /* Do some other work. */
}

And it would be looping endlessly if we didn't flush.

13 years agost/python: remove pipe_vertex_buffer::max_index
Vinson Lee [Mon, 14 Feb 2011 22:10:05 +0000 (14:10 -0800)]
st/python: remove pipe_vertex_buffer::max_index

This is a follow-up to commit cdca3c58aa2d9549f5188910e2a77b438516714f.

13 years agograw: remove pipe_vertex_buffer::max_index
Vinson Lee [Mon, 14 Feb 2011 21:53:09 +0000 (13:53 -0800)]
graw: remove pipe_vertex_buffer::max_index

This is a follow-up to commit cdca3c58aa2d9549f5188910e2a77b438516714f.

13 years agost/mesa: Use blend equation and function of first render target for all render target...
Fabian Bieler [Thu, 10 Feb 2011 15:45:41 +0000 (16:45 +0100)]
st/mesa: Use blend equation and function of first render target for all render targets if ARB_draw_buffers_blend is not supported

If EXT_draw_buffers2 is supported but ARB_draw_buffers_blend isn't
_mesa_BlendFuncSeparateEXT only sets up the blend equation and function for the
first render target. This patch makes sure that update_blend doesn't try to use
the data from other rendertargets in such cases.

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agor300g: implement pb_manager::is_buffer_busy
Marek Olšák [Sun, 13 Feb 2011 08:39:52 +0000 (09:39 +0100)]
r300g: implement pb_manager::is_buffer_busy

13 years agopb_bufmgr_cache: add is_buffer_busy hook and use it instead of non-blocking map
Marek Olšák [Sun, 13 Feb 2011 08:26:07 +0000 (09:26 +0100)]
pb_bufmgr_cache: add is_buffer_busy hook and use it instead of non-blocking map

This is cleaner and implementing the hook is optional.

13 years agogallium: notify drivers about possible changes in user buffer contents
Marek Olšák [Wed, 9 Feb 2011 00:10:11 +0000 (01:10 +0100)]
gallium: notify drivers about possible changes in user buffer contents

Also implement the redefine_user_buffer hook in the drivers.

13 years agost/mesa: set vertex arrays state only when necessary
Marek Olšák [Sun, 26 Dec 2010 03:30:51 +0000 (04:30 +0100)]
st/mesa: set vertex arrays state only when necessary

The vertex arrays state should be set only when (_NEW_ARRAY | _NEW_PROGRAM)
is dirty. This assumes user buffer content is mutable, which will be
sorted out in the next commit. The following usage case should be much faster
now:

for (i = 0; i < 1000; i++) {
   glDrawElements(...);
}

Or even:

for (i = 0; i < 1000; i++) {
   glSomeStateChangeOtherThanArraysOrProgram(...);
   glDrawElements(...);
}

The performance increase from this may be significant in some apps and
negligible in others. It is especially noticable in the Torcs game (r300g):
    Before: 15.4 fps
    After: 20 fps

Also less looping over attribs in st_draw_vbo yields slight speed-up
in apps with lots of glDraw* calls.

13 years agogallium: remove pipe_vertex_buffer::max_index
Marek Olšák [Mon, 10 Jan 2011 04:41:47 +0000 (05:41 +0100)]
gallium: remove pipe_vertex_buffer::max_index

This is redundant to pipe_draw_info::max_index and doesn't really fit
in the optimizations I plan.

13 years agogallium: always save and restore vertex buffers using cso_cache
Marek Olšák [Sun, 9 Jan 2011 08:25:56 +0000 (09:25 +0100)]
gallium: always save and restore vertex buffers using cso_cache

13 years agovbo: bind arrays only when necessary
Marek Olšák [Sat, 12 Feb 2011 02:57:19 +0000 (03:57 +0100)]
vbo: bind arrays only when necessary

We don't need to call bind_arrays in the vbo module if the states
which the function depends on are not dirty.

13 years agovbo: notify a driver that we change buffer offsets, strides, etc.
Marek Olšák [Mon, 27 Dec 2010 16:01:25 +0000 (17:01 +0100)]
vbo: notify a driver that we change buffer offsets, strides, etc.

13 years agor300g: Remove redundant initialization.
Vinson Lee [Mon, 14 Feb 2011 18:47:58 +0000 (10:47 -0800)]
r300g: Remove redundant initialization.

Remove redundant initialization from commit
3b01b52bd78e3d2fc857feacebd815a5fae00c94 noticed by tstellar.

13 years agor600g: add alignment cases for linear aligned
Alex Deucher [Mon, 14 Feb 2011 18:07:29 +0000 (13:07 -0500)]
r600g: add alignment cases for linear aligned

Matches the drm and ddx.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
13 years agodraw: Don't define the last two mipmap levels in aa lines.
José Fonseca [Mon, 14 Feb 2011 10:36:07 +0000 (10:36 +0000)]
draw: Don't define the last two mipmap levels in aa lines.

Some hardware needs to make a seperate copy of all levels to obey
max_lod, so simply do not define the last two levels instead of
clamping.

13 years agosvga: Set the appropriate flags when creating sampler/surface views.
José Fonseca [Fri, 11 Feb 2011 21:55:29 +0000 (21:55 +0000)]
svga: Set the appropriate flags when creating sampler/surface views.

13 years agor300g: put indices in CS if there's just a few of them and are in user memory
Marek Olšák [Mon, 14 Feb 2011 09:58:24 +0000 (10:58 +0100)]
r300g: put indices in CS if there's just a few of them and are in user memory

13 years agor300g: cleanup the draw functions
Marek Olšák [Mon, 14 Feb 2011 09:11:50 +0000 (10:11 +0100)]
r300g: cleanup the draw functions

13 years agor300g: do not create a user buffer struct for misaligned ushort indices fallback
Marek Olšák [Mon, 14 Feb 2011 09:08:59 +0000 (10:08 +0100)]
r300g: do not create a user buffer struct for misaligned ushort indices fallback

13 years agor300g: fix fallback for misaligned ushort indices with num vertices >= 65535
Marek Olšák [Mon, 14 Feb 2011 09:05:52 +0000 (10:05 +0100)]
r300g: fix fallback for misaligned ushort indices with num vertices >= 65535

13 years agor300g: consolidate emission of common draw regs
Marek Olšák [Mon, 14 Feb 2011 08:52:15 +0000 (09:52 +0100)]
r300g: consolidate emission of common draw regs

13 years agodocs: Fix typo in GL3.txt
Sedat Dilek [Mon, 14 Feb 2011 08:45:44 +0000 (00:45 -0800)]
docs: Fix typo in GL3.txt

13 years agor300g: Move declaration before code.
Vinson Lee [Mon, 14 Feb 2011 08:07:07 +0000 (00:07 -0800)]
r300g: Move declaration before code.

Fixes SCons build.

13 years agor600g: do not destroy the original index buffer when translating indices
Marek Olšák [Mon, 14 Feb 2011 05:59:00 +0000 (06:59 +0100)]
r600g: do not destroy the original index buffer when translating indices

Because we only translate a subrange of the buffer.

13 years agor300g: emit 3D_LOAD_VBPNTR only when necessary
Marek Olšák [Mon, 14 Feb 2011 05:45:55 +0000 (06:45 +0100)]
r300g: emit 3D_LOAD_VBPNTR only when necessary

I thought I couldn't skip emitting this packet in some cases.
Well it looks like I can.

13 years agor300g: fix reference counting when translating indices
Marek Olšák [Mon, 14 Feb 2011 05:26:56 +0000 (06:26 +0100)]
r300g: fix reference counting when translating indices

13 years agou_index_modify: map buffers with PIPE_TRANSFER_UNSYNCHRONIZED
Marek Olšák [Mon, 14 Feb 2011 05:03:18 +0000 (06:03 +0100)]
u_index_modify: map buffers with PIPE_TRANSFER_UNSYNCHRONIZED

13 years agor300g: remove the relocation after AARESOLVE_PITCH
Marek Olšák [Sun, 13 Feb 2011 23:55:18 +0000 (00:55 +0100)]
r300g: remove the relocation after AARESOLVE_PITCH

13 years agoegl_dri2: add nouveau support.
Dave Airlie [Sun, 13 Feb 2011 21:52:26 +0000 (07:52 +1000)]
egl_dri2: add nouveau support.

but really wtf? all these PCI IDs need to be ripped out of here, its totally
unscalable and the drivers already have this info so could export it some better way.

tested by Darxus on #wayland.

13 years agonv50: fix query assertion
Marcin Slusarz [Sun, 13 Feb 2011 21:05:28 +0000 (22:05 +0100)]
nv50: fix query assertion

13 years agor300g: correctly determine if a texture is blittable in texture_get_transfer
Marek Olšák [Sun, 13 Feb 2011 06:06:22 +0000 (07:06 +0100)]
r300g: correctly determine if a texture is blittable in texture_get_transfer

13 years agor300g: fixup the handle_compare function
Marek Olšák [Sat, 12 Feb 2011 23:31:04 +0000 (00:31 +0100)]
r300g: fixup the handle_compare function

Accidentally negated in 685c3262b945a7f0e9f1f3a9409a12fdda08c828.

13 years agor300g: when printing shader linker errors to stderr, report it's not a bug
Marek Olšák [Sat, 12 Feb 2011 22:38:00 +0000 (23:38 +0100)]
r300g: when printing shader linker errors to stderr, report it's not a bug

13 years agor300g: add debug options nozmask and nohiz which disable some hyper-z features
Marek Olšák [Sat, 12 Feb 2011 22:37:14 +0000 (23:37 +0100)]
r300g: add debug options nozmask and nohiz which disable some hyper-z features

13 years agor300g: typecast void* to unsigned correctly
Marek Olšák [Sat, 12 Feb 2011 22:36:48 +0000 (23:36 +0100)]
r300g: typecast void* to unsigned correctly

13 years agodri: Remove the old metaops code which has been superceded by ../common/
Eric Anholt [Sat, 12 Feb 2011 20:24:41 +0000 (12:24 -0800)]
dri: Remove the old metaops code which has been superceded by ../common/

13 years agoradeon: Remove setup of the old dri/ meta code, which is now unused.
Eric Anholt [Sat, 12 Feb 2011 20:23:43 +0000 (12:23 -0800)]
radeon: Remove setup of the old dri/ meta code, which is now unused.

13 years agointel: Remove setup of the old dri/ meta code, which is now unused.
Eric Anholt [Sat, 12 Feb 2011 19:52:06 +0000 (11:52 -0800)]
intel: Remove setup of the old dri/ meta code, which is now unused.

13 years agoupdate GL3.txt for GL_EXT_framebuffer_sRGB status
Dave Airlie [Sat, 12 Feb 2011 08:08:04 +0000 (18:08 +1000)]
update GL3.txt for GL_EXT_framebuffer_sRGB status

13 years agor300/compiler: Don't erase sources when converting RGB->Alpha
Tom Stellard [Wed, 9 Feb 2011 09:43:29 +0000 (01:43 -0800)]
r300/compiler: Don't erase sources when converting RGB->Alpha

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

NOTE: This is a candidate for the 7.10 branch.

13 years agomesa: Optionally build a dricore support library (v3)
Christopher James Halse Rogers [Thu, 3 Feb 2011 00:19:32 +0000 (11:19 +1100)]
mesa: Optionally build a dricore support library (v3)

This an adds --enable-shared-dricore option to configure.  When enabled,
DRI modules will link against a shared copy of the common mesa routines
rather than statically linking these.

This saves about 30MB on disc with a full complement of classic DRI
drivers.

v2: Only enable with a gcc-compatible compiler that handles rpath
    Handle DRI_CFLAGS without filter-out magic
    Build shared libraries with the full mklib voodoo
    Fix typos
v3: Resolve conflicts with talloc removal patches

Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
13 years agoglx: Put null check before use
nobled [Thu, 19 Aug 2010 18:06:21 +0000 (14:06 -0400)]
glx: Put null check before use

'dpy' was being checked for null *after* it was already used once.

Also add a null check for psc, and drop gc's redundant initialization.

13 years agor300g: improve function radeon_bo_is_referenced_by_cs
Marek Olšák [Fri, 11 Feb 2011 06:52:10 +0000 (07:52 +0100)]
r300g: improve function radeon_bo_is_referenced_by_cs

This should prevent calling into radeon_get_reloc when there's
only one context.

13 years agou_vbuf_mgr: fix segfault
Marek Olšák [Sat, 12 Feb 2011 02:04:21 +0000 (03:04 +0100)]
u_vbuf_mgr: fix segfault

max_index could have been less than min_index, which later caused integer
underflow followed by a segfault in memcpy.

13 years agoir_to_mesa: Don't dereference a NULL pointer during copy propagation
Ian Romanick [Fri, 11 Feb 2011 23:19:05 +0000 (15:19 -0800)]
ir_to_mesa: Don't dereference a NULL pointer during copy propagation

The ACP may already be NULL, so don't try to make it NULL again.

This should fix bugzilla #34119.

13 years agoglcpp: regerated files
Ian Romanick [Fri, 11 Feb 2011 23:42:09 +0000 (15:42 -0800)]
glcpp: regerated files

These should have been committed right after fd1252ab, but they were
missed.  Soon, we'll never have to do this again...

13 years agoglsl: Regenerate files modified by previous commits
Ian Romanick [Fri, 28 Jan 2011 02:19:54 +0000 (18:19 -0800)]
glsl: Regenerate files modified by previous commits

13 years agoglsl: Finish out the reduce/reduce error fixes
Ian Romanick [Fri, 28 Jan 2011 01:52:19 +0000 (17:52 -0800)]
glsl: Finish out the reduce/reduce error fixes

Track variables, functions, and types during parsing.  Use this
information in the lexer to return the currect "type" for identifiers.

Change the handling of structure constructors.  They will now show up
in the AST as constructors (instead of plain function calls).

Fixes piglit tests constructor-18.vert, constructor-19.vert, and
constructor-20.vert.  Also fixes bugzilla #29926.

NOTE: This is a candidate for the 7.9 and 7.10 branches.

13 years agoglsl: Eliminate reduce/reduce conflicts in glsl grammar
Keith Packard [Fri, 8 Oct 2010 00:25:34 +0000 (17:25 -0700)]
glsl: Eliminate reduce/reduce conflicts in glsl grammar

This requires lexical disambiguation between variable and type
identifiers (as most C compilers do).

Signed-off-by: Keith Packard <keithp@keithp.com>
NOTE: This is a candidate for the 7.9 and 7.10 branches.

13 years agost/mesa: Fix surfaceless opengl with non-dummy contexts
Benjamin Franzke [Tue, 8 Feb 2011 18:04:15 +0000 (19:04 +0100)]
st/mesa: Fix surfaceless opengl with non-dummy contexts

main/context.c:check_complatible() detecs an incomplete
framebuffer using its pointer, so do not copy it.

This should fix https://bugs.freedesktop.org/show_bug.cgi?id=34042

13 years agosvga: disable a debug_printf() call
Brian Paul [Fri, 11 Feb 2011 21:07:43 +0000 (14:07 -0700)]
svga: disable a debug_printf() call

13 years agosvga: comments and debug code
Brian Paul [Fri, 11 Feb 2011 20:56:06 +0000 (13:56 -0700)]
svga: comments and debug code

13 years agosvga: more comments for need_pipeline field
Brian Paul [Fri, 11 Feb 2011 20:54:15 +0000 (13:54 -0700)]
svga: more comments for need_pipeline field

13 years agoscons: Need c99 also when cross compiling.
José Fonseca [Fri, 11 Feb 2011 17:59:36 +0000 (17:59 +0000)]
scons: Need c99 also when cross compiling.

13 years agoscons: builtin_glsl_function on windows needs bundled getopt.
José Fonseca [Fri, 11 Feb 2011 17:38:54 +0000 (17:38 +0000)]
scons: builtin_glsl_function on windows needs bundled getopt.

13 years agoscons: Try to support building 64bit binaries on 32bit windows.
José Fonseca [Fri, 11 Feb 2011 16:44:13 +0000 (16:44 +0000)]
scons: Try to support building 64bit binaries on 32bit windows.

13 years agoscons: Fix MSVC 64bit build.
José Fonseca [Fri, 11 Feb 2011 16:29:01 +0000 (16:29 +0000)]
scons: Fix MSVC 64bit build.

13 years agomesa: remove some unused gl_shader fields
Brian Paul [Fri, 11 Feb 2011 15:40:54 +0000 (08:40 -0700)]
mesa: remove some unused gl_shader fields

13 years agodraw: tweak AA line texture minimum alpha
Brian Paul [Wed, 9 Feb 2011 20:11:12 +0000 (13:11 -0700)]
draw: tweak AA line texture minimum alpha

AA lines drawn as textured quads look a little better with this change.
Conformance/piglit tests still pass.

13 years agosvga: add max DMA size check in svga_winsys_buffer_create()
Brian Paul [Fri, 11 Feb 2011 18:56:44 +0000 (11:56 -0700)]
svga: add max DMA size check in svga_winsys_buffer_create()

This fixes a problem when trying to use large (2K x 2K) texture
images.  We'll DMA the image in chunks.

Patch written by Jose.

13 years agosvga: remove old comment, remove extra whitespace
Brian Paul [Wed, 9 Feb 2011 16:03:03 +0000 (09:03 -0700)]
svga: remove old comment, remove extra whitespace

13 years agoglsl: Fix parallel build.
Tobias Jakobi [Fri, 11 Feb 2011 18:36:14 +0000 (10:36 -0800)]
glsl: Fix parallel build.

Broken since e0c1fc32832b66b52e6352ba563288ee48a1face.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
13 years agosvga: Enable the draw pipeline for smooth lines.
José Fonseca [Fri, 11 Feb 2011 11:22:02 +0000 (11:22 +0000)]
svga: Enable the draw pipeline for smooth lines.

Spotted by Brian Paul.

13 years agosvga: Don't use the draw pipeline for non-AA lines with a fractional width.
José Fonseca [Fri, 11 Feb 2011 11:20:54 +0000 (11:20 +0000)]
svga: Don't use the draw pipeline for non-AA lines with a fractional width.

Spotted by Jakob Bornecrantz.

13 years agodraw: Don't use the pipeline when drawing lines with fractional widths.
José Fonseca [Fri, 11 Feb 2011 11:14:27 +0000 (11:14 +0000)]
draw: Don't use the pipeline when drawing lines with fractional widths.

Spotted by Jakob Bornecrantz.

13 years agollvmpipe: Use u_math's round.
José Fonseca [Fri, 11 Feb 2011 11:14:44 +0000 (11:14 +0000)]
llvmpipe: Use u_math's round.

13 years agoutil: Define round and roundf on MSVC.
José Fonseca [Fri, 11 Feb 2011 11:11:33 +0000 (11:11 +0000)]
util: Define round and roundf on MSVC.

13 years agosvga: Stippled lines can also be drawn with triangles.
José Fonseca [Fri, 11 Feb 2011 07:47:34 +0000 (07:47 +0000)]
svga: Stippled lines can also be drawn with triangles.

13 years agor300g: remove unused function prototypes, update copyright
Marek Olšák [Fri, 11 Feb 2011 04:59:02 +0000 (05:59 +0100)]
r300g: remove unused function prototypes, update copyright

13 years agoegl_dri2: rename loader_extension to dri2_loader_extension
Haitao Feng [Wed, 9 Feb 2011 07:05:11 +0000 (15:05 +0800)]
egl_dri2: rename loader_extension to dri2_loader_extension

Signed-off-by: Haitao Feng <haitao.feng@intel.com>
13 years agost/egl wayland: Sync front buffer release
Benjamin Franzke [Fri, 11 Feb 2011 01:23:38 +0000 (02:23 +0100)]
st/egl wayland: Sync front buffer release

13 years agoegl_dri2 wayland: Sync front buffer release
Benjamin Franzke [Fri, 11 Feb 2011 01:23:14 +0000 (02:23 +0100)]
egl_dri2 wayland: Sync front buffer release

13 years agoegl_dri2: Always unbind old contexts
Benjamin Franzke [Wed, 9 Feb 2011 20:19:45 +0000 (21:19 +0100)]
egl_dri2: Always unbind old contexts

This fixes __DRIdrawable refcounting.
Binding a context increases their refcount,
so we need to decrease it.

13 years agoegl_dri2: Use double buffering for window surfaces
Benjamin Franzke [Wed, 9 Feb 2011 14:30:20 +0000 (15:30 +0100)]
egl_dri2: Use double buffering for window surfaces

13 years agost/dri: Set render_buffer in dri_fill_st_visual
Benjamin Franzke [Wed, 9 Feb 2011 14:26:26 +0000 (15:26 +0100)]
st/dri: Set render_buffer in dri_fill_st_visual

st/mesa/st_managaer.c needs render_buffer in order
to determinde which buffer should be rendered to.

13 years agost/dri: img_from_renderbuf: Fix incorrect usage of dri_context()
Benjamin Franzke [Wed, 9 Feb 2011 19:48:38 +0000 (20:48 +0100)]
st/dri: img_from_renderbuf: Fix incorrect usage of dri_context()

13 years agost/dri: Fix surfaceless gl using contexts with previous bound surfaces
Benjamin Franzke [Wed, 9 Feb 2011 19:42:50 +0000 (20:42 +0100)]
st/dri: Fix surfaceless gl using contexts with previous bound surfaces

ctx->dPriv might be != NULL then draw which is NULL is accessed:

struct dri_drawable *draw = dri_drawable(driDrawPriv);
[..]
if (ctx->dPriv != driDrawPriv) {
      ctx->dPriv = driDrawPriv;
      draw->texture_stamp = driDrawPriv->lastStamp - 1;
}

13 years agost/egl wayland: Set color_format according to wl_visual
Benjamin Franzke [Wed, 9 Feb 2011 19:40:37 +0000 (20:40 +0100)]
st/egl wayland: Set color_format according to wl_visual

13 years agor600g: get correct height alignment
Dave Airlie [Fri, 11 Feb 2011 01:47:43 +0000 (11:47 +1000)]
r600g: get correct height alignment

useful for s3tc