mesa.git
14 years agost/mesa: Fix a call to st_get_stobj_sampler_view().
Michal Krol [Mon, 15 Mar 2010 14:04:12 +0000 (15:04 +0100)]
st/mesa: Fix a call to st_get_stobj_sampler_view().

14 years agost/mesa: Pass in correct sampler view object to blitter.
Michal Krol [Mon, 15 Mar 2010 14:03:44 +0000 (15:03 +0100)]
st/mesa: Pass in correct sampler view object to blitter.

14 years agoutil: Fix nil pointer reference.
Michal Krol [Mon, 15 Mar 2010 13:42:44 +0000 (14:42 +0100)]
util: Fix nil pointer reference.

14 years agonv40: remove leftover nv40_transfer.c from unification into nvfx
Luca Barbieri [Mon, 15 Mar 2010 13:35:41 +0000 (14:35 +0100)]
nv40: remove leftover nv40_transfer.c from unification into nvfx

14 years agogallium: util_blit_pixels() takes source sampler view as argument.
Michal Krol [Mon, 15 Mar 2010 12:20:37 +0000 (13:20 +0100)]
gallium: util_blit_pixels() takes source sampler view as argument.

14 years agost/mesa: Cache FBO texture's sampler view object.
Michal Krol [Mon, 15 Mar 2010 12:18:30 +0000 (13:18 +0100)]
st/mesa: Cache FBO texture's sampler view object.

14 years agost/mesa: Update the comments in st_manager.c.
Chia-I Wu [Mon, 15 Mar 2010 11:15:29 +0000 (19:15 +0800)]
st/mesa: Update the comments in st_manager.c.

14 years agonvfx: fix up after merge
Keith Whitwell [Mon, 15 Mar 2010 10:27:25 +0000 (10:27 +0000)]
nvfx: fix up after merge

14 years agor300g: fix up after merge
Keith Whitwell [Mon, 15 Mar 2010 10:24:55 +0000 (10:24 +0000)]
r300g: fix up after merge

14 years agoMerge commit 'origin/master' into gallium-sampler-view
Keith Whitwell [Mon, 15 Mar 2010 09:44:52 +0000 (09:44 +0000)]
Merge commit 'origin/master' into gallium-sampler-view

Conflicts:
src/gallium/drivers/nv30/nv30_context.h
src/gallium/drivers/nv30/nv30_state.c
src/gallium/drivers/nv40/nv40_context.h
src/gallium/drivers/nv40/nv40_state.c
src/gallium/drivers/r300/r300_emit.c

14 years agor300g: rebuild screen/winsys interface
Dave Airlie [Fri, 12 Feb 2010 05:39:51 +0000 (15:39 +1000)]
r300g: rebuild screen/winsys interface

This creates a cleaner winsys and drop the simple screen stuff.

It makes r300g use pb_bufmgr structs.

It also tries to avoid overheads from mapping too often.

v5: clean warnings

v6: break out of cache check on first buffer - since most likely
the first busy one implies all after it are busy.

v7: cleanup a bit

v8-merged: drop cman for now to just get all the interface changes in first.
rework to changes that happened upstream

Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agonv50: reset vbo_fifo before each validate
Ben Skeggs [Mon, 15 Mar 2010 06:52:25 +0000 (16:52 +1000)]
nv50: reset vbo_fifo before each validate

14 years agonvfx: remove src_native_swz, which was a no-op
Luca Barbieri [Sat, 13 Mar 2010 16:42:57 +0000 (17:42 +0100)]
nvfx: remove src_native_swz, which was a no-op

src_native_swz was used to translate 0/1 swizzles back when Gallium
supported them.

That support was later removed from Gallium, and the function currently
always returns true.

Remove it.

14 years agonvfx: clean up shader header
Luca Barbieri [Sun, 21 Feb 2010 17:17:03 +0000 (18:17 +0100)]
nvfx: clean up shader header

Currently the behavior of shader.h depends on some constants that
are defined differently in vertex and fragment programs.

This patch cleans that up by splitting the relevant symbols in
vertex program and fragment program variants

14 years agonvfx: draw: make swtnl draw_elements actually work.
Luca Barbieri [Mon, 22 Feb 2010 12:22:24 +0000 (13:22 +0100)]
nvfx: draw: make swtnl draw_elements actually work.

It was totally broken: the index buffer was passed as NULL!

14 years agonvfx: draw: emit color as floating point
Luca Barbieri [Mon, 22 Feb 2010 12:18:10 +0000 (13:18 +0100)]
nvfx: draw: emit color as floating point

Don't lose precision by converting to u8.

14 years agonvfx: draw: make perspective corrective texturing work
Luca Barbieri [Mon, 22 Feb 2010 12:15:24 +0000 (13:15 +0100)]
nvfx: draw: make perspective corrective texturing work

We must divide everything in the position by w, and emit position as
a 4-component vector.

Not sure why we must divide, but it works (see progs/redbook/checker).

14 years agonvfx: draw: create draw vp with ureg
Luca Barbieri [Mon, 22 Feb 2010 11:35:18 +0000 (12:35 +0100)]
nvfx: draw: create draw vp with ureg

This avoids duplicating the vertex program generation logic and
makes the same code work for both nv30 and nv40.

14 years agonvfx: add NOUVEAU_SWTNL to force swtnl at runtime
Luca Barbieri [Mon, 22 Feb 2010 10:44:31 +0000 (11:44 +0100)]
nvfx: add NOUVEAU_SWTNL to force swtnl at runtime

Replace the FORCE_SWTNL macro with a NOUVEAU_SWTNL environment variable.

14 years agonvfx: move nv04_surface_2d.c into nvfx directory
Luca Barbieri [Mon, 22 Feb 2010 19:14:32 +0000 (20:14 +0100)]
nvfx: move nv04_surface_2d.c into nvfx directory

It is only used on pre-nv50 and nvfx is the only Gallium pre-nv50 driver.

14 years agonvfx: fix quads drawing
Luca Barbieri [Mon, 22 Feb 2010 13:13:17 +0000 (14:13 +0100)]
nvfx: fix quads drawing

The primitive splitting code is totally broken and will be rewritten.

Fix the most important bug now though.

14 years agonvfx: fix viewport state after bypass removal for swtnl
Luca Barbieri [Tue, 2 Mar 2010 21:51:39 +0000 (22:51 +0100)]
nvfx: fix viewport state after bypass removal for swtnl

The adjustment of nv30/nv40 after the removal of bypass incorrectly
removed the hardware viewport bypass code, which we still need for
swtnl and also forgot to remove NVFX_NEW_RAST from pipe.

14 years agonv30, nv40: move last files to nvfx/ and rm -rf nv30 nv40
Luca Barbieri [Sun, 21 Feb 2010 14:13:12 +0000 (15:13 +0100)]
nv30, nv40: move last files to nvfx/ and rm -rf nv30 nv40

This is the last nvfx unification patch.

nv[34]0_fragtex.c are moved to the common directory
nv[34]0_shader.h are renamed to nv[34]0_vertprog.h and moved to
the common directory

The separate nv30 and nv40 directories are removed from the build
system

14 years agonv30, nv40: partially non-trivially unify sampler state in nv[34]0_state.c
Luca Barbieri [Wed, 24 Feb 2010 14:08:48 +0000 (15:08 +0100)]
nv30, nv40: partially non-trivially unify sampler state in nv[34]0_state.c

Many things, like texture wrap modes and min/mag filters are common.

Some others, like annisotropy and lod settings, are not.

14 years agonv30, nv40: partially non-trivially unify nv[34]0_fragtex.c
Luca Barbieri [Sun, 21 Feb 2010 14:07:17 +0000 (15:07 +0100)]
nv30, nv40: partially non-trivially unify nv[34]0_fragtex.c

The bulk files cannot be unified, but the frontend can and allows to
share some code and simplify state_emit.c

14 years agonv30, nv40: unify nv[34]0_context.c
Luca Barbieri [Sun, 21 Feb 2010 13:40:32 +0000 (14:40 +0100)]
nv30, nv40: unify nv[34]0_context.c

They are now almost identical, except for nv30 vs nv40 fragtex
initialization.

14 years agonv30, nv40: fully unify nv[34]0_context.h
Luca Barbieri [Sun, 21 Feb 2010 13:38:04 +0000 (14:38 +0100)]
nv30, nv40: fully unify nv[34]0_context.h

Move the remaining content to the common header.

14 years agonv30, nv40: non-trivially unify nv[34]0_screen.c
Luca Barbieri [Sun, 21 Feb 2010 13:31:27 +0000 (14:31 +0100)]
nv30, nv40: non-trivially unify nv[34]0_screen.c

The files have the same structure but are substantially different.

They are unified with appropriate conditionals.

14 years agonv30, nv40: non-trivially unify nv[34]0_vertprog.c
Luca Barbieri [Sun, 21 Feb 2010 12:33:48 +0000 (13:33 +0100)]
nv30, nv40: non-trivially unify nv[34]0_vertprog.c

vertprog.c is similar but has substantial differences:
1. nv40 supports clip planes
2. nv40 uses a more advanced register allocator
3. Some register setup is different
4. Constants with the same name have different values

This patch unifies the two files.
nv30 gains clip plane support and the nv40 register allocator.

A new NVFX_VP(x) macro is introduced that at runtime resolved to
either the nv30 or the nv40 constant value.

nv30 clip planes are not tested and might not work

14 years agonv30, nv40: partially unify nv[34]0_state.c
Luca Barbieri [Sun, 21 Feb 2010 11:39:21 +0000 (12:39 +0100)]
nv30, nv40: partially unify nv[34]0_state.c

state.c is identical except for:
1. Sampler state creation is different
2. nv40 swtnl support
3. Separate blend equations on nv40

This patch unifies nv[34]0_state.c, except the sampler state creation code.

14 years agonv30, nv40: unify nv[34]0_vbo.c
Luca Barbieri [Sun, 21 Feb 2010 10:12:08 +0000 (11:12 +0100)]
nv30, nv40: unify nv[34]0_vbo.c

The files are identical, except for swtnl support which is commented
out on nv30 and restart being initialized on nv30 to avoid a compiler
warning.

14 years agonv30, nv40: non-trivially unify nv[34]0_draw.c
Luca Barbieri [Sun, 21 Feb 2010 10:17:55 +0000 (11:17 +0100)]
nv30, nv40: non-trivially unify nv[34]0_draw.c

nv30_draw.c is a stub.

This patch makes both nv30 and nv40 use the nv40 swtnl path.

Note that this doesn't actually work on nv30 because the vertex program is
encoded in the nv40-only layout.

However, swtnl was unimplemented before on nv30, so this is not a regression.
Furthermore, a patch to fix this is available near the end of the patchset.

14 years agonv30, nv40: non-trivially unify nv[34]0_fragprog.c
Luca Barbieri [Sun, 21 Feb 2010 09:55:41 +0000 (10:55 +0100)]
nv30, nv40: non-trivially unify nv[34]0_fragprog.c

The files are mostly the same except:
1. On NV40, some TGSI instructions are emulated with several hardware ones
2. Some instructions such as DDX/DDY, and STR were missing from nv30
3. NV40 has more sophisticated register management

nv30 now supports all instructions and uses the nv40 register management.

14 years agonv30, nv40: non-trivially partially unify nv[34]0_shader.h
Luca Barbieri [Sun, 21 Feb 2010 01:26:25 +0000 (02:26 +0100)]
nv30, nv40: non-trivially partially unify nv[34]0_shader.h

shader.h is similar, except for the following differences:
1. The instruction sets are not exactly the same, but mostly similar
2. Vertex program fields are in different bit positions

This patch unifies all parts of nv[34]0_shader.h except the vertex
program fields.

Vertex opcodes are also changed so that the constant names includes
SCA if it is a scalar opcode and VEC if it is a vector opcode.

14 years agonv30, nv40: non-trivially unify nv[34]0_state_fb.c
Luca Barbieri [Sat, 20 Feb 2010 23:59:30 +0000 (00:59 +0100)]
nv30, nv40: non-trivially unify nv[34]0_state_fb.c

The files are significantly different due to:
1. nv30 support 2 render targets, nv40 4
2. z-buffer pitch is set differently
3. nv30 has a limitation of colour_bits >= zeta_bits. This may not
   actually exist in the driver though
4. nv30 points color0 at depth in the depth-only case
5. nv30 sets NV34TCL_VIEWPORT_TX_ORIGIN to 0. This is probably
   unnecessary

This patch attempts to unify the two files and preserve the existing
behavior.

14 years agonv30, nv40: unify nv[34]0_state_viewport.c
Luca Barbieri [Sat, 20 Feb 2010 22:30:59 +0000 (23:30 +0100)]
nv30, nv40: unify nv[34]0_state_viewport.c

The files are identical, except for an extra comment in nv30.

14 years agonv30, nv40: unify nv[34]0_query.c
Luca Barbieri [Sat, 20 Feb 2010 18:39:24 +0000 (19:39 +0100)]
nv30, nv40: unify nv[34]0_query.c

The files are identical except formatting.

14 years agonv30, nv40: unify nv[34]0_miptree.c
Luca Barbieri [Sat, 20 Feb 2010 18:32:29 +0000 (19:32 +0100)]
nv30, nv40: unify nv[34]0_miptree.c

The only difference between nv30 and nv40 is that nv30 allowed swizzling
for more texture types.

This patch preserves the existing behavior, using conditional code.

Note however that this does not make sense, since all texture types can
be swizzled on nv40 and probably on nv30 too.

However, the handling of swizzled surfaces in the current 2D code is
partially broken, so it's best not to touch this.

A whole rewrite of the 2D code will be submitted, which will solve this
problem.

14 years agonv30, nv40: unify nv[34]0_state_stipple.c
Luca Barbieri [Sat, 20 Feb 2010 18:22:57 +0000 (19:22 +0100)]
nv30, nv40: unify nv[34]0_state_stipple.c

The files are identical, except for the fact that the nv40 version
forgets to unreference the stateobj.

Unified to the correct nv30 version.

14 years agonv30, nv40: unify identical nv[34]0_state_zsa.c
Luca Barbieri [Sat, 20 Feb 2010 22:19:40 +0000 (23:19 +0100)]
nv30, nv40: unify identical nv[34]0_state_zsa.c

14 years agonv30, nv40: unify identical nv[34]0_state_scissor.c
Luca Barbieri [Sat, 20 Feb 2010 22:17:41 +0000 (23:17 +0100)]
nv30, nv40: unify identical nv[34]0_state_scissor.c

14 years agonv30, nv40: unify identical nv[34]0_state_rasterizer.c
Luca Barbieri [Sat, 20 Feb 2010 22:16:01 +0000 (23:16 +0100)]
nv30, nv40: unify identical nv[34]0_state_rasterizer.c

14 years agonv30, nv40: unify identical nv[34]0_state_blend.c
Luca Barbieri [Sat, 20 Feb 2010 19:37:17 +0000 (20:37 +0100)]
nv30, nv40: unify identical nv[34]0_state_blend.c

14 years agonv30, nv40: non-trivially unify nv[34]0_state_emit.c
Luca Barbieri [Sun, 21 Feb 2010 10:33:15 +0000 (11:33 +0100)]
nv30, nv40: non-trivially unify nv[34]0_state_emit.c

The files are the same except for swtnl support on nv40 and for
texture cache flushing on nv40.

Unify them, and use a macro to define 4 versions of render_states,
for all combinations of nvfx and hwtnl/swtnl.

14 years agonv30, nv40: unify identical nv[34]0_transfer.c
Luca Barbieri [Sat, 20 Feb 2010 19:07:10 +0000 (20:07 +0100)]
nv30, nv40: unify identical nv[34]0_transfer.c

14 years agonv30, nv40: unify identical nv[34]0_clear.c
Luca Barbieri [Sat, 20 Feb 2010 19:04:54 +0000 (20:04 +0100)]
nv30, nv40: unify identical nv[34]0_clear.c

14 years agonvfx: add nvfx directory to build system
Luca Barbieri [Sat, 20 Feb 2010 18:52:22 +0000 (19:52 +0100)]
nvfx: add nvfx directory to build system

Will be used to hold source files unified between nv30 and nv40.

Eventually all nv30 and nv40 code will be moved there and the
nv30 and nv40 directories will be removed.

14 years agonv30, nv40: add is_nv4x member to context and screen structs
Luca Barbieri [Sun, 21 Feb 2010 12:40:49 +0000 (13:40 +0100)]
nv30, nv40: add is_nv4x member to context and screen structs

This will make it faster to check for nv40.

14 years agonv30, nv40: unify all structures and headers, except shaders
Luca Barbieri [Sat, 20 Feb 2010 17:37:43 +0000 (18:37 +0100)]
nv30, nv40: unify all structures and headers, except shaders

This patch unifies nv[34]0_screen.h, nv[34]0_context.h and
nv[34]0_state.h

The unified files are put in a new "nvfx" directory.

nv30_context.h and nv40_context.h still exist to hold the function
prototypes and include nvfx_context.h

nv[34]0_screen.h and nv[34]0_state.h are deleted, replaced by the
unified versions.

nv40 includes some extra fields for swtnl and user clip planes
support.

These fields will be unused on nv30 until that functionality gets
added to it too (by unification with nv40).

14 years agonouveau: s/rankine/eng3d/g; s/curie/eng3d/g
Luca Barbieri [Sat, 20 Feb 2010 17:34:00 +0000 (18:34 +0100)]
nouveau: s/rankine/eng3d/g; s/curie/eng3d/g

Result of running:
perl -i -p -e 's/rankine/eng3d/g; s/curie/eng3d/g;' nv[34]0/*.[ch]

This will allow to more easily unify nv30 and nv40.

14 years agonv30: remove unused on_hw field and constant fp_reg_control field
Luca Barbieri [Sat, 20 Feb 2010 17:18:48 +0000 (18:18 +0100)]
nv30: remove unused on_hw field and constant fp_reg_control field

This makes nv30_state.h equivalent to nv40_state.h

14 years agonv40: use NV34TCL_ constants where available
Luca Barbieri [Sat, 20 Feb 2010 16:43:31 +0000 (17:43 +0100)]
nv40: use NV34TCL_ constants where available

It was decided to just use the NV34TCL_ constants for constants
common between nv30 and nv40, and deprecate the NV40TCL_ versions.

This patch changes the nv40 driver to use NV34TCL_ constants for
common functionality.

This reduces differences between nv30 and nv40 to ease further
unification.

14 years agor300g: Remove unnecessary headers.
Vinson Lee [Sun, 14 Mar 2010 23:43:01 +0000 (16:43 -0700)]
r300g: Remove unnecessary headers.

14 years agodri/common: mv __driUtilMessage to utils.c
George Sapountzis [Sun, 14 Mar 2010 09:36:47 +0000 (11:36 +0200)]
dri/common: mv __driUtilMessage to utils.c

allows to link with xmlconfig without dri_util, and has nothing drm-specific.

14 years agodri/swrast: add comment in case it's not clear
George Sapountzis [Sun, 14 Mar 2010 09:36:46 +0000 (11:36 +0200)]
dri/swrast: add comment in case it's not clear

14 years agodri/swrast: drop mtypes.h from dri_sw
George Sapountzis [Sun, 14 Mar 2010 09:36:46 +0000 (11:36 +0200)]
dri/swrast: drop mtypes.h from dri_sw

14 years agodri/swrast: update copyright email
George Sapountzis [Sun, 14 Mar 2010 09:36:46 +0000 (11:36 +0200)]
dri/swrast: update copyright email

14 years agodri/swrast: port to dri_sw (drawable)
George Sapountzis [Sun, 14 Mar 2010 09:36:46 +0000 (11:36 +0200)]
dri/swrast: port to dri_sw (drawable)

14 years agodri/swrast: port to dri_sw (context)
George Sapountzis [Sun, 14 Mar 2010 09:36:45 +0000 (11:36 +0200)]
dri/swrast: port to dri_sw (context)

14 years agodri/swrast: port to dri_sw
George Sapountzis [Sun, 14 Mar 2010 09:36:45 +0000 (11:36 +0200)]
dri/swrast: port to dri_sw

14 years agodri: add dri_sw.c helper
George Sapountzis [Sun, 14 Mar 2010 09:36:45 +0000 (11:36 +0200)]
dri: add dri_sw.c helper

This is dri_util.c stripped from the drm-specific bits and will be used for
both classic and gallium swrast_dri.so

14 years agotrace: Remove unnecessary headers.
Vinson Lee [Sun, 14 Mar 2010 22:47:05 +0000 (15:47 -0700)]
trace: Remove unnecessary headers.

14 years agosvga: Remove unnecessary header.
Vinson Lee [Sun, 14 Mar 2010 22:38:04 +0000 (15:38 -0700)]
svga: Remove unnecessary header.

14 years agoglapi: exec_malloc for dispatch stubs
George Sapountzis [Thu, 11 Mar 2010 16:04:03 +0000 (18:04 +0200)]
glapi: exec_malloc for dispatch stubs

14 years agoglapi: this one should be by THREAD
George Sapountzis [Thu, 11 Mar 2010 16:04:03 +0000 (18:04 +0200)]
glapi: this one should be by THREAD

14 years agoglapi: more organize code by arch
George Sapountzis [Thu, 11 Mar 2010 16:04:03 +0000 (18:04 +0200)]
glapi: more organize code by arch

It seems that x86-64 with tls will fail to compile or load due to a missining
gl_dispatch_functions_start symbol. Not changing though, since this is how it
used to be and cannot test.

14 years agoglapi: organize arch-specific code by arch (2)
George Sapountzis [Thu, 11 Mar 2010 16:04:02 +0000 (18:04 +0200)]
glapi: organize arch-specific code by arch (2)

14 years agoglapi: organize arch-specific code by arch
George Sapountzis [Thu, 11 Mar 2010 16:04:02 +0000 (18:04 +0200)]
glapi: organize arch-specific code by arch

14 years agor300g: remove pipe_context from r300_screen
Marek Olšák [Sun, 14 Mar 2010 13:32:50 +0000 (14:32 +0100)]
r300g: remove pipe_context from r300_screen

14 years agost/glx: Fix glXCopySubBufferMESA.
Chia-I Wu [Sun, 14 Mar 2010 06:58:27 +0000 (14:58 +0800)]
st/glx: Fix glXCopySubBufferMESA.

Honor the (x, y) and (width, height) pairs.

14 years agost/glx: Sync the back buffer to the front buffer.
Chia-I Wu [Sun, 14 Mar 2010 04:01:27 +0000 (12:01 +0800)]
st/glx: Sync the back buffer to the front buffer.

Consider this rendering sequence

  * render to the back buffer
  * swap buffers
  * read from the front buffer

The front buffer is expected to have the contents of the back buffer.

14 years agost/glx: Add support for GLX_MESA_copy_sub_buffer.
Chia-I Wu [Sun, 14 Mar 2010 03:34:16 +0000 (11:34 +0800)]
st/glx: Add support for GLX_MESA_copy_sub_buffer.

Create a per-display pipe_context as needed to copy the contents between
framebuffer attachments.  This allows us to support
GLX_MESA_copy_sub_buffer.

14 years agost/glx: Add xmesa_display to hold per-display variables.
Chia-I Wu [Sun, 14 Mar 2010 03:20:58 +0000 (11:20 +0800)]
st/glx: Add xmesa_display to hold per-display variables.

This basically adds a static xmesa_display to collect per-display static
variables in xm_api.c.  Multiple display support is still missing, but
this is a step forward.

14 years agost/mesa: Fix handling of FBO.
Chia-I Wu [Sat, 13 Mar 2010 16:10:09 +0000 (00:10 +0800)]
st/mesa: Fix handling of FBO.

FBOs are created by st_new_framebuffer and cannot be casted to
st_framebuffer.

14 years agosoftpipe: Remove unnecessary header.
Vinson Lee [Sun, 14 Mar 2010 02:05:39 +0000 (18:05 -0800)]
softpipe: Remove unnecessary header.

14 years agogallium: Respect user's CFLAGS for including X headers
Dan Nicholson [Sat, 13 Mar 2010 19:56:59 +0000 (11:56 -0800)]
gallium: Respect user's CFLAGS for including X headers

This can break on systems that don't have a system X installation.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
14 years agoUse X_LIBS from pkg-config, instead of libdir, for locating libX11
Jeff Smith [Sat, 13 Mar 2010 00:55:09 +0000 (18:55 -0600)]
Use X_LIBS from pkg-config, instead of libdir, for locating libX11

Signed-off-by: Jeff Smith <whydoubt@yahoo.com>
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
14 years agollvmpipe: Switch to PIPE_TEX_MIPFILTER_NONE when texture has no mipmaps.
José Fonseca [Sat, 13 Mar 2010 19:11:08 +0000 (19:11 +0000)]
llvmpipe: Switch to PIPE_TEX_MIPFILTER_NONE when texture has no mipmaps.

14 years agor300g: add high quality anisotropic filtering for R5xx (disabled by default)
Marek Olšák [Sat, 13 Mar 2010 16:38:43 +0000 (17:38 +0100)]
r300g: add high quality anisotropic filtering for R5xx (disabled by default)

Oh look, an undocumented feature. It's a nice tool for benchmarking
texturing.

14 years agor300g: fix anisotropic filtering, fix macrotiling
Marek Olšák [Sat, 13 Mar 2010 15:24:50 +0000 (16:24 +0100)]
r300g: fix anisotropic filtering, fix macrotiling

Two bug fixes at the same time. :)

14 years agor300g: refrain from using immediate mode if it causes slowdown
Marek Olšák [Sat, 13 Mar 2010 05:07:33 +0000 (06:07 +0100)]
r300g: refrain from using immediate mode if it causes slowdown

E.g. when mapping buffers could flush CS or cause waiting
for a busy buffer.

The side effect of this is it also fixes progs/demos/arbocclude however
a separate fix should be proposed to address this issue in other cases
it might occur.

14 years agor300g: fix up function names
Marek Olšák [Sat, 13 Mar 2010 03:43:46 +0000 (04:43 +0100)]
r300g: fix up function names

14 years agoradeon: add some debuging info for glCopyTex(Sub)Image
Maciej Cencora [Sat, 13 Mar 2010 16:33:48 +0000 (17:33 +0100)]
radeon: add some debuging info for glCopyTex(Sub)Image

14 years agor300: blits for small dst pitch work just fine
Maciej Cencora [Sat, 13 Mar 2010 16:28:33 +0000 (17:28 +0100)]
r300: blits for small dst pitch work just fine

14 years agoradeon: fix gl format to mesa format mapping and add GL_BGRA formats
Maciej Cencora [Sat, 13 Mar 2010 16:27:51 +0000 (17:27 +0100)]
radeon: fix gl format to mesa format mapping and add GL_BGRA formats

14 years agoradeon: fix glCopyTex(Sub)Image
Maciej Cencora [Sat, 13 Mar 2010 15:46:19 +0000 (16:46 +0100)]
radeon: fix glCopyTex(Sub)Image

Fallback to swrast for software renderbuffers

14 years agollvmpipe: Ensure the context is flushed before modifying textures.
José Fonseca [Sat, 13 Mar 2010 16:13:26 +0000 (16:13 +0000)]
llvmpipe: Ensure the context is flushed before modifying textures.

14 years agollvmpipe: Don't use texture transfer internally.
José Fonseca [Sat, 13 Mar 2010 16:04:06 +0000 (16:04 +0000)]
llvmpipe: Don't use texture transfer internally.

Now that transfers are context objects their sideeffects must happen in
order when used by the state tracker, but that synchronization must be
bypassed when used inside the driver, or it would cause infinite
recursion.

14 years agoMerge commit 'origin/master' into gallium-sampler-view
Keith Whitwell [Sat, 13 Mar 2010 15:06:35 +0000 (15:06 +0000)]
Merge commit 'origin/master' into gallium-sampler-view

Conflicts:
src/gallium/auxiliary/util/u_tile.c
src/gallium/auxiliary/util/u_tile.h
src/gallium/drivers/identity/id_context.c
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_setup.h
src/gallium/drivers/softpipe/sp_tex_tile_cache.c
src/gallium/include/pipe/p_context.h
src/mesa/state_tracker/st_cb_bitmap.c
src/mesa/state_tracker/st_cb_drawpixels.c

14 years agost/mesa: Validate the state in st_readpixels.
Chia-I Wu [Sat, 13 Mar 2010 12:30:03 +0000 (20:30 +0800)]
st/mesa: Validate the state in st_readpixels.

The front renderbuffer of a framebuffer is usually added as needed when
glReadBuffer(GL_FRONT) is called.  When the call is followed by
glReadPixels, we should validate the state before reading from the
renderbuffer.

14 years agollvmpipe: Obey rasterization rules.
José Fonseca [Sat, 13 Mar 2010 11:22:39 +0000 (11:22 +0000)]
llvmpipe: Obey rasterization rules.

Replicates softpipe.

14 years agollvmpipe: setup_context -> lp_setup_context
José Fonseca [Sat, 13 Mar 2010 10:45:52 +0000 (10:45 +0000)]
llvmpipe: setup_context -> lp_setup_context

Otherwise IDEs and debuggers have trouble distinguishing from softpipe's
setup_context.

14 years agomesa: Fix memory leak in decompress-with-blit.
Keith Whitwell [Fri, 12 Mar 2010 18:32:10 +0000 (18:32 +0000)]
mesa: Fix memory leak in decompress-with-blit.
(cherry picked from commit f05a4ee6f2840590c90da4be2fe5c6295410a5af)

14 years agonv50: fixup after gallium-context-transfers merge
Xavier Chantry [Sat, 13 Mar 2010 10:33:27 +0000 (11:33 +0100)]
nv50: fixup after gallium-context-transfers merge

14 years agopython: Temporarily disable python state tracker until transfers are done by contexts
José Fonseca [Fri, 12 Mar 2010 13:12:15 +0000 (13:12 +0000)]
python: Temporarily disable python state tracker until transfers are done by contexts

It requires changes not ony to the state tracker but to the python
scripts too.

14 years agost/glx: Fix framebuffer validation.
Chia-I Wu [Sat, 13 Mar 2010 09:40:24 +0000 (17:40 +0800)]
st/glx: Fix framebuffer validation.

When xmesa_st_framebuffer_validate was called twice with different sets
of attachments, the second call was ignored.  Add a texture_mask to
remember which textures have been requested to make sure the missing
ones get created.

14 years agost/glx: Correctly set buffer_mask of a visual.
Chia-I Wu [Sat, 13 Mar 2010 09:39:14 +0000 (17:39 +0800)]
st/glx: Correctly set buffer_mask of a visual.

Stupid typos again..

14 years agost/mesa: Set revalidate in st_framebuffer_update_attachments.
Chia-I Wu [Sat, 13 Mar 2010 09:00:24 +0000 (17:00 +0800)]
st/mesa: Set revalidate in st_framebuffer_update_attachments.

There are two conditions that a validation is required.  One is when the
the framebuffer becomes invalid.  The other is when we request for
textures that we did not request before.

14 years agost/glx: Make xmesa_create_st_api a callback of xm_driver.
Chia-I Wu [Sat, 13 Mar 2010 07:57:15 +0000 (15:57 +0800)]
st/glx: Make xmesa_create_st_api a callback of xm_driver.

Instead of guessing the API in st/glx, let the target decide how to
create st_api.

14 years agost/egl: Fix eglCopyBuffers.
Chia-I Wu [Sat, 13 Mar 2010 06:57:32 +0000 (14:57 +0800)]
st/egl: Fix eglCopyBuffers.

Use a (real) pipe context to copy between pipe surfaces.  Fix a NULL
dereference of the temporary native surface created for copying.