mesa.git
14 years agosoftpipe: per-unit sampler varients
Brian Paul [Fri, 21 Aug 2009 18:11:44 +0000 (12:11 -0600)]
softpipe: per-unit sampler varients

Can't share sampler varients across multiple tex units because the texture
pointer is in the sampler varient.  That prevents different textures per unit.

Fixes progs/demos/multiarb, progs/glsl/samplers, etc.

14 years agosoftpipe: add missing PIPE_TEXTURE_CUBE case in get_lambda_func()
Brian Paul [Fri, 21 Aug 2009 17:47:27 +0000 (11:47 -0600)]
softpipe: add missing PIPE_TEXTURE_CUBE case in get_lambda_func()

Fixes progs/demos/cubemap

14 years agosoftpipe: add missing sp_sampler_varient_destroy
Keith Whitwell [Fri, 21 Aug 2009 17:44:27 +0000 (18:44 +0100)]
softpipe: add missing sp_sampler_varient_destroy

14 years agosoftpipe: remove redundant comparison, make test easier to understand
Brian Paul [Fri, 21 Aug 2009 17:43:48 +0000 (11:43 -0600)]
softpipe: remove redundant comparison, make test easier to understand

14 years agosoftpipe: fix min/mag filter typo
Brian Paul [Fri, 21 Aug 2009 17:41:29 +0000 (11:41 -0600)]
softpipe: fix min/mag filter typo

14 years agosoftpipe: fix s/t/p typos
Brian Paul [Fri, 21 Aug 2009 17:40:33 +0000 (11:40 -0600)]
softpipe: fix s/t/p typos

14 years agosoftpipe: rework texture sampling code
Keith Whitwell [Fri, 21 Aug 2009 16:13:11 +0000 (17:13 +0100)]
softpipe: rework texture sampling code

Split into component pieces, stitch together at runtime using function
pointers.  Make it possible to utilize the existing fastpaths as image-level
filters for generic mip-filtering routines.

Remove special case for rectangle filtering, as it can now be handled by
the 2d path.

As most of the mesa demo texturing was already covered by fast paths, its
harder to find examples of speedups, but tunnel gets a boost as mip-nearest
filtering is now able to access the img_2d_linear_wrap_POT functions
for sampling within a mipmap level.

14 years agoutil: add util_is_power_of_two function
Keith Whitwell [Fri, 21 Aug 2009 17:07:35 +0000 (18:07 +0100)]
util: add util_is_power_of_two function

14 years agosoftpipe: allow the existing sampler routines to be hooked up directly
Keith Whitwell [Thu, 20 Aug 2009 17:36:57 +0000 (18:36 +0100)]
softpipe: allow the existing sampler routines to be hooked up directly

Let eg. sp_get_samples_rect be hooked directly in as the tgsi sampler
routine.

Add a field to determine whether this is a vertex or fragment sampling
call, and massage parameters to match the tgsi call.

14 years agosoftpipe: fix xpot calculation typo in sp_get_samples_2d_nearest_clamp_POT
Keith Whitwell [Thu, 20 Aug 2009 17:13:25 +0000 (18:13 +0100)]
softpipe: fix xpot calculation typo in sp_get_samples_2d_nearest_clamp_POT

14 years agosoftpipe: slightly optimized tiling calculation
Keith Whitwell [Thu, 20 Aug 2009 17:12:44 +0000 (18:12 +0100)]
softpipe: slightly optimized tiling calculation

14 years agosoftpipe: fix glitch in texel lookups on fastpaths
Keith Whitwell [Thu, 20 Aug 2009 14:46:51 +0000 (15:46 +0100)]
softpipe: fix glitch in texel lookups on fastpaths

Fixes two issues - firstly for mipmap levels with one or more
dimensions smaller than tilesize, the code was sampling off the edge
of the texture (but still within the tile).

Secondly, in the linear_mipmap_linear case, both the default code and
new fastpath were incorrect.  This change fixes the fastpath and adds
a comment to the default path, which still needs to be fixed.
Basically the issue is that the coordinates in the smaller texture
level are/were being computed by just dividing thecoordinates from the
larger texture level by two, as in:

               x0[j] /= 2;
               y0[j] /= 2;
               x1[j] /= 2;
               y1[j] /= 2;

The issues with this are signficant.  Initially x1 is most often equal
to x0+1, but after this, it will likely be equal to x0, so we will not
actually be performing the linear blend within the smaller mipmap.

The fastpath code avoided this (recalculated x1), but was still using
the weighting factors from the larger mipmap level (xw, yw), which
were incorrect.

Change the fastpath code to do two full, independent linear samples of
the two mipmap levels before blending.  The default code needs to do
the same thing.

14 years agosoftpipe: optimized path for simple mipmap sampling
Keith Whitwell [Thu, 20 Aug 2009 10:25:20 +0000 (11:25 +0100)]
softpipe: optimized path for simple mipmap sampling

linear-mip-linear-repeat-POT sampling faspath, provides a very nice
speedup to apps that do this common type of texturing.

Test case: demos/terrain, turn fog off, turn texturing on.
Without patch: 12 fps
With patch: 20 fps.

14 years agosoftpipe: move flatshade-first check out of loop
Keith Whitwell [Tue, 18 Aug 2009 15:21:12 +0000 (16:21 +0100)]
softpipe: move flatshade-first check out of loop

14 years agoRevert "softpipe: rearrange blend fastpaths"
Keith Whitwell [Tue, 11 Aug 2009 17:23:28 +0000 (18:23 +0100)]
Revert "softpipe: rearrange blend fastpaths"

This reverts commit 1295cf423e21dad04a947960782ffa8db2739709.

The original formulation was easier to understand & work with.  Will
revisit this later.

14 years agosoftpipe: reduce textual differences between exec and sse shader paths
Keith Whitwell [Tue, 11 Aug 2009 17:06:16 +0000 (18:06 +0100)]
softpipe: reduce textual differences between exec and sse shader paths

Unshare one function (setup_pos_vector) as we want to push this code
into the generated shader in the SSE case.

14 years agosoftpipe: remove gallivm fragment shaders
Keith Whitwell [Tue, 11 Aug 2009 17:03:01 +0000 (18:03 +0100)]
softpipe: remove gallivm fragment shaders

However we do llvm integration, it will be different & more comprehensive
than this.

14 years agosoftpipe: setup quad outputs from with fs->run
Keith Whitwell [Thu, 30 Jul 2009 10:59:32 +0000 (11:59 +0100)]
softpipe: setup quad outputs from with fs->run

14 years agosoftpipe: rearrange blend fastpaths
Keith Whitwell [Thu, 30 Jul 2009 10:35:50 +0000 (11:35 +0100)]
softpipe: rearrange blend fastpaths

14 years agosoftpipe: add depth-lequal z16 path
Keith Whitwell [Thu, 30 Jul 2009 10:35:08 +0000 (11:35 +0100)]
softpipe: add depth-lequal z16 path

14 years agosoftpipe: remove unused variable in shade_quad
Keith Whitwell [Thu, 30 Jul 2009 10:34:36 +0000 (11:34 +0100)]
softpipe: remove unused variable in shade_quad

14 years agosoftpipe: fix off-by-one in nearest texcoord routines
Keith Whitwell [Mon, 27 Jul 2009 14:51:15 +0000 (15:51 +0100)]
softpipe: fix off-by-one in nearest texcoord routines

Stray '- 0.5' copied from linear versions.

14 years agosoftpipe: example fast paths for simple samplers
Keith Whitwell [Mon, 27 Jul 2009 11:44:58 +0000 (12:44 +0100)]
softpipe: example fast paths for simple samplers

All these fastpaths are examples of the types of things we'd code-generate
in a more sophisticated version of softpipe.

14 years agosoftpipe: fastpath for interpolated z16 less depthtesting
Keith Whitwell [Mon, 27 Jul 2009 11:11:16 +0000 (12:11 +0100)]
softpipe: fastpath for interpolated z16 less depthtesting

Because this is interpolated (ie. early) depth, we can build in an
assumption about the quads emitted by triangle setup, ie that they
are actually linear spans.  Interpolate z over those spans in z16
format to save on math & conversion.

14 years agosoftpipe: cope with nr_cbufs == 0
Keith Whitwell [Mon, 27 Jul 2009 10:23:51 +0000 (11:23 +0100)]
softpipe: cope with nr_cbufs == 0

Disable blend code when no color buffer

14 years agosoftpipe: move all depth/stencil/alpha pixel processing into one stage
Keith Whitwell [Mon, 27 Jul 2009 07:17:45 +0000 (08:17 +0100)]
softpipe: move all depth/stencil/alpha pixel processing into one stage

14 years agosoftpipe: fix error in scissor state dependencies
Keith Whitwell [Sat, 25 Jul 2009 10:01:48 +0000 (11:01 +0100)]
softpipe: fix error in scissor state dependencies

14 years agosoftpipe: cleanup framebuffer state routine slightly
Keith Whitwell [Sat, 25 Jul 2009 09:01:06 +0000 (10:01 +0100)]
softpipe: cleanup framebuffer state routine slightly

14 years agosoftpipe: move all color-combine code into sp_quad_blend.c
Keith Whitwell [Fri, 24 Jul 2009 19:19:18 +0000 (20:19 +0100)]
softpipe: move all color-combine code into sp_quad_blend.c

Consolidate the read-modify-write color combining code from
the blend, colormask and output stages.

14 years agosoftpipe: fix typo
Keith Whitwell [Fri, 24 Jul 2009 19:18:52 +0000 (20:18 +0100)]
softpipe: fix typo

14 years agosoftpipe: example fastpaths in blending
Keith Whitwell [Fri, 24 Jul 2009 17:46:17 +0000 (18:46 +0100)]
softpipe: example fastpaths in blending

14 years agosoftpipe: actually pass >1 quad from triangle routine
Keith Whitwell [Fri, 24 Jul 2009 17:17:05 +0000 (18:17 +0100)]
softpipe: actually pass >1 quad from triangle routine

First attempt

14 years agosoftpipe: expand quad pipeline to process >1 quad at a time
Keith Whitwell [Fri, 24 Jul 2009 15:49:35 +0000 (16:49 +0100)]
softpipe:  expand quad pipeline to process >1 quad at a time

This is part one -- we still only pass a single quad down, but
the code can now cope with more.  The quads must all be from the same
tile.

14 years agosoftpipe: rip out old mulithread support
Keith Whitwell [Fri, 24 Jul 2009 15:12:48 +0000 (16:12 +0100)]
softpipe: rip out old mulithread support

14 years agosoftpipe: avoid flushing depth buffer cache on swapbuffers
Keith Whitwell [Thu, 23 Jul 2009 10:14:39 +0000 (11:14 +0100)]
softpipe: avoid flushing depth buffer cache on swapbuffers

There's no need to push out depth buffer contents on swapbuffers.

Note that this change doesn't throw away depth buffer changes, it simply
holds them in the cache over calls to swapbuffers.  The hope is
that swapbuffers will be followed by a clear() which means in that case
we won't have to write the changes out.

14 years agosoftpipe: also shortcircuit non-texture tile lookups
Keith Whitwell [Wed, 22 Jul 2009 14:36:25 +0000 (15:36 +0100)]
softpipe: also shortcircuit non-texture tile lookups

14 years agosoftpipe: shortcircuit repeated lookups of the same tile
Keith Whitwell [Wed, 22 Jul 2009 14:08:42 +0000 (15:08 +0100)]
softpipe: shortcircuit repeated lookups of the same tile

The sp_tile_cache is often called repeatedly to look up the same
tile.  Add a cache (to the cache) of the single tile most recently
retreived and make a quick inline check to see if this matches the
subsequent request.

Add a tile_address bitfield struct to make this check easier.

14 years agosoftpipe: remove unused vars in sp_setup.c
Keith Whitwell [Fri, 17 Jul 2009 11:12:04 +0000 (12:12 +0100)]
softpipe: remove unused vars in sp_setup.c

14 years agosoftpipe: use bitwise logic to setup quad masks in sp_setup
Keith Whitwell [Fri, 17 Jul 2009 11:03:51 +0000 (12:03 +0100)]
softpipe: use bitwise logic to setup quad masks in sp_setup

14 years agosoftpipe: simplify flush_spans
Keith Whitwell [Fri, 17 Jul 2009 09:47:32 +0000 (10:47 +0100)]
softpipe: simplify flush_spans

No loss of performance, but simpler code.

14 years agosoftpipe: make some small steps to flush texture cache less frequently
Keith Whitwell [Fri, 17 Jul 2009 09:44:22 +0000 (10:44 +0100)]
softpipe: make some small steps to flush texture cache less frequently

No performance gain yet, but the code is a bit cleaner.

14 years agogallium/xlib: use XSHM for swapbuffers
Keith Whitwell [Thu, 16 Jul 2009 16:57:00 +0000 (17:57 +0100)]
gallium/xlib: use XSHM for swapbuffers

Makes some difference, but suprisingly little.  Barely worth the effort.

14 years agoutil: _debug_printf should print even when DEBUG is not defined
Keith Whitwell [Thu, 16 Jul 2009 16:51:02 +0000 (17:51 +0100)]
util: _debug_printf should print even when DEBUG is not defined

The leading underscore is meaningful...  This function is used by
_warning and _error functions as well as the more common
debug_printf().

debug_printf (without underscore) gets turned off when DEBUG is
disabled, but warning/error messages still use this function to get
their message out.

14 years agosoftpipe: remove backwards dependency from tilecache to softpipe
Keith Whitwell [Thu, 16 Jul 2009 13:14:32 +0000 (14:14 +0100)]
softpipe: remove backwards dependency from tilecache to softpipe

The tile cache is a utility, it shouldn't know anything about the
entity which is making use of it (ie softpipe).

Remove softpipe parameter to all the tilecache function calls, and
also remove the need to keep a softpipe pointer in the sampler structs.

14 years agogallium: remove multiple aliases for TGSI opcodes
Keith Whitwell [Fri, 12 Jun 2009 10:59:01 +0000 (11:59 +0100)]
gallium: remove multiple aliases for TGSI opcodes

This is a source of ongoing confusion.  TGSI has multiple names for
opcodes where the same semantics originate in multiple shader APIs.

For instance, TGSI includes both Mesa/GLSL and DX/SM30 names for
opcodes with the same semantics, but aliases those names to the same
underlying opcode number.

This makes it very difficult to visually inspect two sets of opcodes
(eg in state tracker & driver) and check if they implement the same
functionality.

This patch arbitarily rips out the versions of the opcodes not currently
favoured by the mesa state tracker and leaves us with a single name
for each distinct operation.

14 years agogallium: simplify tgsi_full_immediate struct
Keith Whitwell [Tue, 21 Jul 2009 23:39:00 +0000 (00:39 +0100)]
gallium: simplify tgsi_full_immediate struct

Remove the need to have a pointer in this struct by just including
the immediate data inline.  Having a pointer in the struct introduces
complications like needing to alloc/free the data pointed to, uncertainty
about who owns the data, etc.  There doesn't seem to be a need for it,
and it is unlikely to make much difference plus or minus to performance.

Added some asserts as we now will trip up on immediates with more
than four elements.  There were actually already quite a few such asserts,
but the >4 case could be used in the future to specify indexable immediate
ranges, such as lookup tables.

14 years agor600: fix dst reg indexing for real
Richard Li [Tue, 21 Jul 2009 21:56:06 +0000 (17:56 -0400)]
r600: fix dst reg indexing for real

This fixes segfaults in apps like teapot and tunnel

14 years agoRevert "r600: fix dst reg indexing"
Alex Deucher [Tue, 21 Jul 2009 21:44:36 +0000 (17:44 -0400)]
Revert "r600: fix dst reg indexing"

This reverts commit cc893d9a98255d3c26df7123ba5cc02e478c9328.

Richard has the proper fix.

14 years agor600: add stencil support
Alex Deucher [Tue, 21 Jul 2009 21:07:17 +0000 (17:07 -0400)]
r600: add stencil support

14 years agor600: use state functions to set default state
Alex Deucher [Tue, 21 Jul 2009 18:06:47 +0000 (14:06 -0400)]
r600: use state functions to set default state

14 years agor600: fill in point functions
Alex Deucher [Tue, 21 Jul 2009 17:46:15 +0000 (13:46 -0400)]
r600: fill in point functions

14 years agor600: set provoking vertex to last vertex for OGL
Alex Deucher [Tue, 21 Jul 2009 17:28:12 +0000 (13:28 -0400)]
r600: set provoking vertex to last vertex for OGL

14 years agor600: fill in r700UpdateViewportOffset
Alex Deucher [Tue, 21 Jul 2009 17:19:46 +0000 (13:19 -0400)]
r600: fill in r700UpdateViewportOffset

14 years agor600: first pass at polyoffset support
Alex Deucher [Tue, 21 Jul 2009 17:10:26 +0000 (13:10 -0400)]
r600: first pass at polyoffset support

not working yet

14 years agoradeon: fix colorbuffer pitch emission regarding tiling in KMS/CS case
Jerome Glisse [Tue, 21 Jul 2009 19:12:40 +0000 (21:12 +0200)]
radeon: fix colorbuffer pitch emission regarding tiling in KMS/CS case

We need to emit a relocation for pitch register so that kernel can
check and properly setup tiling on the color buffer.

14 years agoR600: fix up some build problems
Alex Deucher [Tue, 21 Jul 2009 15:09:05 +0000 (11:09 -0400)]
R600: fix up some build problems

14 years agor600: add alpha test support
Alex Deucher [Tue, 21 Jul 2009 05:58:05 +0000 (01:58 -0400)]
r600: add alpha test support

14 years agoTrack Radeon driver symlinks in Git.
Michel Dänzer [Tue, 21 Jul 2009 08:46:29 +0000 (10:46 +0200)]
Track Radeon driver symlinks in Git.

14 years agoAdd missing X11_INCLUDES to egl/drivers/demo and egl/main.
Peter Hutterer [Mon, 20 Jul 2009 06:11:26 +0000 (16:11 +1000)]
Add missing X11_INCLUDES to egl/drivers/demo and egl/main.

Compiling mesa on a system with no X headers installed in the default
include paths fails due to missing X11 includes. The header includes are
picked up by configure but not applied.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agoi965: Don't clip everything if FRONT_AND_BACK culling while culling disabled.
Eric Anholt [Tue, 21 Jul 2009 00:58:12 +0000 (17:58 -0700)]
i965: Don't clip everything if FRONT_AND_BACK culling while culling disabled.

Fixes everything-black with meta_clear_tris on quake4-mpdemo and doom3-demo.

Bug #18844, 22077.

14 years agor600: fix typo in blend code
Alex Deucher [Mon, 20 Jul 2009 23:33:05 +0000 (19:33 -0400)]
r600: fix typo in blend code

14 years agor600: fix dst reg indexing
Kevin DeKorte [Mon, 20 Jul 2009 22:56:47 +0000 (18:56 -0400)]
r600: fix dst reg indexing

This fixes segfaults in apps like teapot and tunnel

14 years agor600: add blending support
Alex Deucher [Mon, 20 Jul 2009 22:50:59 +0000 (18:50 -0400)]
r600: add blending support

14 years agor600: add user clip plane support
Alex Deucher [Mon, 20 Jul 2009 21:22:59 +0000 (17:22 -0400)]
r600: add user clip plane support

14 years agor600: add logicop support
Alex Deucher [Mon, 20 Jul 2009 19:27:28 +0000 (15:27 -0400)]
r600: add logicop support

14 years agotgsi: get texturing working in vertex shader sse2 path
Keith Whitwell [Mon, 20 Jul 2009 18:45:24 +0000 (19:45 +0100)]
tgsi: get texturing working in vertex shader sse2 path

Missing file from previous commit.

14 years agoMerge branch 'mesa_7_5_branch'
Michel Dänzer [Mon, 20 Jul 2009 18:41:11 +0000 (20:41 +0200)]
Merge branch 'mesa_7_5_branch'

14 years agoradeon: With DRI1, if we have HW stencil, only expose fbconfigs with stencil.
Michel Dänzer [Mon, 20 Jul 2009 18:26:28 +0000 (20:26 +0200)]
radeon: With DRI1, if we have HW stencil, only expose fbconfigs with stencil.

Otherwise simple apps like glxgears pick up a DirectColor visual since the X
server mixes the depth 32 visual in with the other GLX visuals, and this seems
to result in a (mostly) black screen due to a bad ColorMap for a lot of people.

The bad ColorMap may be a bug in the apps, the X server or X driver, and
regardless of that I think the X server should ideally make the depth 32 GLX
visual separate from the rest again, but in the meantime this makes us cope.

(depth_bits is either 16 or 24, never 0)

14 years agotgsi: get texturing working in vertex shader sse2 path
Keith Whitwell [Mon, 20 Jul 2009 18:29:22 +0000 (19:29 +0100)]
tgsi: get texturing working in vertex shader sse2 path

14 years agotgsi: fix regression in indexed const lookups
Keith Whitwell [Mon, 20 Jul 2009 18:28:34 +0000 (19:28 +0100)]
tgsi: fix regression in indexed const lookups

This function was calling get_input_base() and get_output_base() to
get the names of a couple of register to use as temps.  Those
functions no longer return registers, so adjust it to get the
registers elsewhere.

This change doesn't address the issue that it's a fairly poor way to
grab a register name by calling a function with an apparently
unrelated meaning.

14 years agor600: Fix compilation
Kevin DeKorte [Mon, 20 Jul 2009 13:27:17 +0000 (09:27 -0400)]
r600: Fix compilation

14 years agoR6xx/r7xx: Fix line stipple and width issue
Cooper Yuan [Mon, 20 Jul 2009 09:42:47 +0000 (17:42 +0800)]
R6xx/r7xx: Fix line stipple and width issue

14 years agoAdd common_ppc.c to MESA_GALLIUM_SOURCES.
Michel Dänzer [Mon, 20 Jul 2009 00:11:17 +0000 (02:11 +0200)]
Add common_ppc.c to MESA_GALLIUM_SOURCES.

14 years agor300g: Fix SCons build.
Michel Dänzer [Mon, 20 Jul 2009 00:06:37 +0000 (02:06 +0200)]
r300g: Fix SCons build.

14 years agogallium/trace: Fix SCons build.
Michel Dänzer [Mon, 20 Jul 2009 00:05:38 +0000 (02:05 +0200)]
gallium/trace: Fix SCons build.

14 years agor300g: Guard R500 register writes by is_r500 check.
Michel Dänzer [Sun, 19 Jul 2009 23:53:15 +0000 (01:53 +0200)]
r300g: Guard R500 register writes by is_r500 check.

Flagged by the DRM command stream checker. This allows the driver to work on
non-R500 cards.

14 years agogallium: make g3dvl build again
Dave Airlie [Sat, 18 Jul 2009 07:44:44 +0000 (17:44 +1000)]
gallium: make g3dvl build again

14 years agoMerge branch 'mesa_7_5_branch'
Brian Paul [Sat, 18 Jul 2009 04:00:47 +0000 (22:00 -0600)]
Merge branch 'mesa_7_5_branch'

Conflicts:

Makefile
progs/glsl/multitex.c
src/mesa/main/enums.c
src/mesa/main/state.c
src/mesa/main/texenvprogram.c
src/mesa/main/version.h

14 years agoR6xx/R7xx: add fine grained syncing support
Alex Deucher [Fri, 17 Jul 2009 23:04:19 +0000 (19:04 -0400)]
R6xx/R7xx: add fine grained syncing support

14 years agoR6xx/r7xx: send depth state in it's own function
Alex Deucher [Fri, 17 Jul 2009 21:08:40 +0000 (17:08 -0400)]
R6xx/r7xx: send depth state in it's own function

14 years agost/egl: Fix broken build after EGL thread changes
Andrew Randrianasulu [Fri, 17 Jul 2009 22:55:12 +0000 (00:55 +0200)]
st/egl: Fix broken build after EGL thread changes

14 years agoR200: fix build when RADEON_DEBUG_BO is set
Alex Deucher [Fri, 17 Jul 2009 22:10:48 +0000 (18:10 -0400)]
R200: fix build when RADEON_DEBUG_BO is set

14 years agoradeon: disable BO debug
Dave Airlie [Fri, 17 Jul 2009 22:00:23 +0000 (08:00 +1000)]
radeon: disable BO debug

14 years agoprogs/util: remove extfuncs.h (we use GLEW instead)
Brian Paul [Fri, 17 Jul 2009 20:43:29 +0000 (14:43 -0600)]
progs/util: remove extfuncs.h (we use GLEW instead)

14 years agoegl: commit missing eglcurrent.[ch] files
Brian Paul [Fri, 17 Jul 2009 19:36:06 +0000 (13:36 -0600)]
egl: commit missing eglcurrent.[ch] files

Not sure how these got left out from earlier commit.

14 years agoprogs/glsl: finish conversion to GLEW
Brian Paul [Fri, 17 Jul 2009 19:23:11 +0000 (13:23 -0600)]
progs/glsl: finish conversion to GLEW

This is a follow-on to b799af91d5ffbee1481161fec29eb4c92b161272.
Remove _func function suffix and unneeded #includes.

14 years agoMerge branch 'master' of git+ssh://agd5f@git.freedesktop.org/git/mesa/mesa into r6xx...
Alex Deucher [Fri, 17 Jul 2009 18:46:40 +0000 (14:46 -0400)]
Merge branch 'master' of git+ssh://agd5f@git.freedesktop.org/git/mesa/mesa into r6xx-rewrite

14 years agoR6xx/r7xx: warning fixes
Kevin DeKorte [Fri, 17 Jul 2009 18:43:42 +0000 (14:43 -0400)]
R6xx/r7xx: warning fixes

patch from Kevin DeKorte with some minor fixes from me.

14 years agomesa: set version to 7.5
Brian Paul [Fri, 17 Jul 2009 18:40:48 +0000 (12:40 -0600)]
mesa: set version to 7.5

14 years agomesa: set version to 7.5
Brian Paul [Fri, 17 Jul 2009 18:40:44 +0000 (12:40 -0600)]
mesa: set version to 7.5

14 years agodocs: set date for 7.5 release
Brian Paul [Fri, 17 Jul 2009 18:40:24 +0000 (12:40 -0600)]
docs: set date for 7.5 release

14 years agoxeglthreads: Check current context for EGL per-thread support.
Chia-I Wu [Fri, 17 Jul 2009 04:21:59 +0000 (21:21 -0700)]
xeglthreads: Check current context for EGL per-thread support.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agoegl: Remove redundant DeletePending flag.
Chia-I Wu [Fri, 17 Jul 2009 17:56:00 +0000 (11:56 -0600)]
egl: Remove redundant DeletePending flag.

A context or surface that is neither linked to a display nor current to
a thread should be destroyed.  Therefore, an unlinked context or surface
implies a pending delete automatically.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agoegl: Destroy display's resources upon termination.
Chia-I Wu [Fri, 17 Jul 2009 04:21:57 +0000 (21:21 -0700)]
egl: Destroy display's resources upon termination.

eglTerminate should destroy the contexts and surfaces of the display.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agoegl: Return the same EGL Display for the same native display.
Chia-I Wu [Fri, 17 Jul 2009 04:21:56 +0000 (21:21 -0700)]
egl: Return the same EGL Display for the same native display.

The latest revision of the spec explicitly requires the same handle to
be returned for the same native display.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agoegl: Use the link functions to manage resources.
Chia-I Wu [Fri, 17 Jul 2009 17:53:03 +0000 (11:53 -0600)]
egl: Use the link functions to manage resources.

This commit uses the newly introduced link functions to manage EGL
contexts and surfaces.  As a result of this, the API for drivers are
changed.  All drivers are updated for the change.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agoegl: Add funtions to link contexts and surfaces to displays.
Chia-I Wu [Fri, 17 Jul 2009 17:48:27 +0000 (11:48 -0600)]
egl: Add funtions to link contexts and surfaces to displays.

EGL contexts and surfaces are resources of displays.  They should be
managed by displays.  This commit adds a bunch of functions to
egldisplay.c to help establish the links between contexts/surfaces and
displays.  How links are established is considered opaque outside
display.  Functions like _eglGetSurfaceHandle or _eglLookupSurface are
therefore moved to egldisplay.c, with some small modifications.

The idea is also extended to display.  That is, displays need to link to
themselves to be looked up.

This commit only adds the functions.  A commit to use them should
follow.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agoegl: Extend per-thread info for multiple current contexts.
Chia-I Wu [Fri, 17 Jul 2009 17:42:04 +0000 (11:42 -0600)]
egl: Extend per-thread info for multiple current contexts.

EGL allows multiple current contexts, as long as they are bound to
different client APIs.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agoegl: Support per-thread info.
Chia-I Wu [Fri, 17 Jul 2009 17:41:02 +0000 (11:41 -0600)]
egl: Support per-thread info.

This commit introduces a "current" system to manage per-thread info.  It
uses TLS, if GLX_USE_TLS is defined, or pthread, if PTHREADS is defined.
If none of them are defined, it uses a dummy implementation that is just
like before.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agoegl: Add eglcompiler.h for compiler features.
Chia-I Wu [Fri, 17 Jul 2009 04:21:51 +0000 (21:21 -0700)]
egl: Add eglcompiler.h for compiler features.

Only INLINE (from mesa/main/compiler.h) is defined now.  It may be used
to deal with symbol visibility and int/pointer conversion in the future.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>