mesa.git
15 years agoradeon: fix max indx/vertex emission due to state checker
Dave Airlie [Fri, 24 Jul 2009 01:46:20 +0000 (11:46 +1000)]
radeon: fix max indx/vertex emission due to state checker

15 years agomesa: gitignore
Younes Manton [Thu, 27 Aug 2009 00:13:11 +0000 (20:13 -0400)]
mesa: gitignore

15 years agonv04: Handle more Z formats.
Younes Manton [Thu, 27 Aug 2009 00:07:51 +0000 (20:07 -0400)]
nv04: Handle more Z formats.

Based on the patch from Luo Jinghua.

15 years agor300/compiler: Fix vertex program MAD emit
Nicolai Hähnle [Wed, 26 Aug 2009 21:31:37 +0000 (23:31 +0200)]
r300/compiler: Fix vertex program MAD emit

Only use the macro variant of MAD when absolutely necessary.
Apparently it cannot deal with relative addressing.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agor300/compiler: Fix bug in rc_find_free_temporary
Nicolai Hähnle [Wed, 26 Aug 2009 20:53:24 +0000 (22:53 +0200)]
r300/compiler: Fix bug in rc_find_free_temporary

Find used temporaries even if they are only written to in dead code.
This fixes a bug in the NQSSADCE stage.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agoegl: Remove Xdpy from EGLDisplay.
Chia-I Wu [Wed, 26 Aug 2009 08:06:39 +0000 (16:06 +0800)]
egl: Remove Xdpy from EGLDisplay.

It is not used anymore.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl_glx: Make fbconfigs and visuals per display.
Chia-I Wu [Wed, 26 Aug 2009 06:45:17 +0000 (14:45 +0800)]
egl_glx: Make fbconfigs and visuals per display.

This is to allow a driver to drive multiple displays.  Remove the use of
_EGL_PLATFORM_X and obsolete code along the way.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl_softpipe: Make winsys and pipe screen per display.
Chia-I Wu [Wed, 26 Aug 2009 07:42:35 +0000 (15:42 +0800)]
egl_softpipe: Make winsys and pipe screen per display.

This is to allow a driver to drive multiple displays.  Remove the use of
_EGL_PLATFORM_X along the way.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoEGL_i915: Make struct drm_device per display.
Chia-I Wu [Wed, 26 Aug 2009 08:39:29 +0000 (16:39 +0800)]
EGL_i915: Make struct drm_device per display.

This is to allow a driver to drive multiple displays.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoMerge branch 'fix_r300_swtcl' into push_master
Pauli Nieminen [Wed, 26 Aug 2009 21:08:30 +0000 (00:08 +0300)]
Merge branch 'fix_r300_swtcl' into push_master

15 years agoradeon: Fix loop en condition so debug output doesn't flood meaningless values.
Pauli Nieminen [Wed, 26 Aug 2009 21:07:05 +0000 (00:07 +0300)]
radeon: Fix loop en condition so debug output doesn't flood meaningless values.

15 years agoradeon: Make RADEON_CMDBUF more fine grained.
Pauli Nieminen [Wed, 26 Aug 2009 21:05:57 +0000 (00:05 +0300)]
radeon: Make RADEON_CMDBUF more fine grained.

15 years agoradeon/r200/r300: Fix swtcl flushing not to invalidate dma region.
Pauli Nieminen [Wed, 26 Aug 2009 19:24:25 +0000 (22:24 +0300)]
radeon/r200/r300: Fix swtcl flushing not to invalidate dma region.

We were check command buffer sizes too alte so allocated dma regions
were freed before relocations so space checking failed.

15 years agoMerge branch 'mesa_7_5_branch'
Brian Paul [Wed, 26 Aug 2009 20:49:15 +0000 (14:49 -0600)]
Merge branch 'mesa_7_5_branch'

15 years agoi965: init the tex_units_used field
Brian Paul [Wed, 26 Aug 2009 20:47:50 +0000 (14:47 -0600)]
i965: init the tex_units_used field

15 years agoi965: fix incorrect tex unit in emit_tex() and emit_txb()
Brian Paul [Wed, 26 Aug 2009 20:46:58 +0000 (14:46 -0600)]
i965: fix incorrect tex unit in emit_tex() and emit_txb()

The instructions we're translating already went through the brw_wm_pass_fp()
function which does the sampler->texture unit mapping.  We were applying
the sample->unit mapping a second time in the GLSL texture emitters.
Often, this made no difference but other times it could lead to accessing
an invalid texture and could cause a GPU lockup.

15 years agoi965: clean-up tex target switches
Brian Paul [Wed, 26 Aug 2009 20:43:45 +0000 (14:43 -0600)]
i965: clean-up tex target switches

15 years agoglsl: asst. clean-ups in set_program_uniform()
Brian Paul [Wed, 26 Aug 2009 20:35:45 +0000 (14:35 -0600)]
glsl: asst. clean-ups in set_program_uniform()

Remove redunant type check for samplers (assert instead).
Move some local vars.  Update comments.

15 years agoglsl: signal that the program needs to be re-translated when samplers change
Brian Paul [Wed, 26 Aug 2009 20:29:50 +0000 (14:29 -0600)]
glsl: signal that the program needs to be re-translated when samplers change

15 years agoprogs/glsl: asst. changes in shtest.c
Brian Paul [Wed, 26 Aug 2009 18:16:07 +0000 (12:16 -0600)]
progs/glsl: asst. changes in shtest.c

15 years agoi965: added texture unit sanity check
Brian Paul [Wed, 26 Aug 2009 18:07:52 +0000 (12:07 -0600)]
i965: added texture unit sanity check

Check that all the textures needed by the current fragment program
actually exist and are valid.

15 years agoi965: keep track of which texture units the fragment shader accesses
Brian Paul [Wed, 26 Aug 2009 18:07:03 +0000 (12:07 -0600)]
i965: keep track of which texture units the fragment shader accesses

We'll use this for debug/sanity checking.

15 years agodocs: document sampler array bug fix
Brian Paul [Wed, 26 Aug 2009 18:04:35 +0000 (12:04 -0600)]
docs: document sampler array bug fix

15 years agoi965: clean up texture target switches
Brian Paul [Wed, 26 Aug 2009 17:05:04 +0000 (11:05 -0600)]
i965: clean up texture target switches

15 years agomesa: var renaming, new assertion
Brian Paul [Wed, 26 Aug 2009 16:58:06 +0000 (10:58 -0600)]
mesa: var renaming, new assertion

15 years agomesa: additional instruction field size assertions
Brian Paul [Wed, 26 Aug 2009 16:57:18 +0000 (10:57 -0600)]
mesa: additional instruction field size assertions

15 years agoMerge branch 'mesa_7_5_branch'
Brian Paul [Wed, 26 Aug 2009 18:01:23 +0000 (12:01 -0600)]
Merge branch 'mesa_7_5_branch'

15 years agoprogs/glsl: handle window resizes in texaaline.c
Brian Paul [Wed, 26 Aug 2009 17:56:19 +0000 (11:56 -0600)]
progs/glsl: handle window resizes in texaaline.c

15 years agoprogs/glsl: add special Makefile rule for samplers_array
Brian Paul [Wed, 26 Aug 2009 17:55:15 +0000 (11:55 -0600)]
progs/glsl: add special Makefile rule for samplers_array

15 years agoprogs/glsl: change samplers.c to better test sampler/texture indexing
Brian Paul [Wed, 26 Aug 2009 17:53:25 +0000 (11:53 -0600)]
progs/glsl: change samplers.c to better test sampler/texture indexing

Now the left half is yellow and the right half is red, with the gradients
going in opposite directions.

15 years agoglsl: fix bug in sampler array indexing
Brian Paul [Wed, 26 Aug 2009 17:39:24 +0000 (11:39 -0600)]
glsl: fix bug in sampler array indexing

Need to add the 'offset' parameter when indexing the parameter array.
Before, if we were setting arrays of samplers, we were actually only
setting the 0th sampler's value.

Because of how progs/glsl/samplers.c is constructed, this wasn't showing
up as a failure in the samplers_array output.

15 years agor600: fix two sided stencil
Alex Deucher [Wed, 26 Aug 2009 17:33:06 +0000 (13:33 -0400)]
r600: fix two sided stencil

15 years agor600: add missing radeon_cs_space_set_flush call
Alex Deucher [Wed, 26 Aug 2009 17:08:49 +0000 (13:08 -0400)]
r600: add missing radeon_cs_space_set_flush call

fixes crash in etracer reported by kdekorte on IRC

15 years agost/xorg: create basic vertex shader
Zack Rusin [Wed, 26 Aug 2009 16:50:14 +0000 (12:50 -0400)]
st/xorg: create basic vertex shader

15 years agost/xorg: create basic fragment shader
Zack Rusin [Wed, 26 Aug 2009 16:14:27 +0000 (12:14 -0400)]
st/xorg: create basic fragment shader

15 years agor600: make reloc_chunk size dynamic
Alex Deucher [Wed, 26 Aug 2009 16:17:44 +0000 (12:17 -0400)]
r600: make reloc_chunk size dynamic

15 years agor600: fix memory leak
Alex Deucher [Wed, 26 Aug 2009 15:09:59 +0000 (11:09 -0400)]
r600: fix memory leak

15 years agor300: r4xx and rs4xx also have lte discard regs
Alex Deucher [Wed, 26 Aug 2009 14:53:30 +0000 (10:53 -0400)]
r300: r4xx and rs4xx also have lte discard regs

15 years agost/dri: Add some debug code
Jakob Bornecrantz [Wed, 26 Aug 2009 12:30:54 +0000 (14:30 +0200)]
st/dri: Add some debug code

15 years agost/xorg: Temporary fix for none stencil visuals
Jakob Bornecrantz [Wed, 26 Aug 2009 12:27:50 +0000 (14:27 +0200)]
st/xorg: Temporary fix for none stencil visuals

Should be replaced with something looking at the proper
glx visual for the buffers.

15 years agost/xorg: Find out correct type for depth stencil buffers
Jakob Bornecrantz [Wed, 26 Aug 2009 11:45:31 +0000 (13:45 +0200)]
st/xorg: Find out correct type for depth stencil buffers

15 years agost/dri: Redo config generation
Jakob Bornecrantz [Wed, 26 Aug 2009 10:26:14 +0000 (12:26 +0200)]
st/dri: Redo config generation

15 years agost/xorg: Add support for dirty framebuffer region reporting.
Michel Dänzer [Wed, 26 Aug 2009 11:18:37 +0000 (13:18 +0200)]
st/xorg: Add support for dirty framebuffer region reporting.

Add a BlockHandler which flushes the context and reports the dirty region
gathered using the X server damage layer.

In the interim, with dirty region reporting only allocate textures for the
framebuffer and shared pixmaps (e.g. DRI2 buffers) and fall back to software
for other pixmaps. This will be improved in the future.

15 years agor600: Update vertex fetch shader if necessary
Cooper Yuan [Wed, 26 Aug 2009 08:21:10 +0000 (16:21 +0800)]
r600: Update vertex fetch shader if necessary

15 years agost/dri: make the GL_ARB_map_buffer_range entrypoints available
Ben Skeggs [Wed, 26 Aug 2009 06:17:37 +0000 (16:17 +1000)]
st/dri: make the GL_ARB_map_buffer_range entrypoints available

15 years agoradeon/r100/r200: actually init the OQ support properly
Dave Airlie [Wed, 26 Aug 2009 04:16:54 +0000 (14:16 +1000)]
radeon/r100/r200: actually init the OQ support properly

15 years agoradeon/r200: OQ support for r200 in theory.
Dave Airlie [Wed, 26 Aug 2009 04:03:48 +0000 (14:03 +1000)]
radeon/r200: OQ support for r200 in theory.

this is an untested port of the r100 OQ code

15 years agoradeon: add r100 OQ support with kms.
Dave Airlie [Wed, 26 Aug 2009 03:56:45 +0000 (13:56 +1000)]
radeon: add r100 OQ support with kms.

This adds OQ support for the r100 chipsets, it requires
KMS unless someone wants to make a kernel patch to add support
for OQ regs.

15 years agoprogs/glsl: call ValidateShaderProgram()
Brian Paul [Tue, 25 Aug 2009 23:45:50 +0000 (17:45 -0600)]
progs/glsl: call ValidateShaderProgram()

15 years agomesa: validate shader before drawing (for debugging, disabled)
Brian Paul [Tue, 25 Aug 2009 23:43:54 +0000 (17:43 -0600)]
mesa: validate shader before drawing (for debugging, disabled)

15 years agoglsl: update a texture/sampler comment
Brian Paul [Tue, 25 Aug 2009 23:43:16 +0000 (17:43 -0600)]
glsl: update a texture/sampler comment

15 years agoglsl: implement shader sampler validation
Brian Paul [Tue, 25 Aug 2009 23:42:47 +0000 (17:42 -0600)]
glsl: implement shader sampler validation

Shader validation should fail if there are two samplers of different types
which reference the same texture unit.  For example, if a cubemap sampler
and a 2D sampler both reference texture unit 0, that's invalid.

15 years agomesa: use gl_texture_index type for gl_program::SamplerTargets
Brian Paul [Tue, 25 Aug 2009 23:37:38 +0000 (17:37 -0600)]
mesa: use gl_texture_index type for gl_program::SamplerTargets

15 years agoprogs/util: added ValidateShaderProgram() to shaderutil.c
Brian Paul [Tue, 25 Aug 2009 23:36:28 +0000 (17:36 -0600)]
progs/util: added ValidateShaderProgram() to shaderutil.c

15 years agoi965: add some texture unit/target assertions
Brian Paul [Tue, 25 Aug 2009 22:12:46 +0000 (16:12 -0600)]
i965: add some texture unit/target assertions

15 years agomesa: print some program fields in binary too
Brian Paul [Tue, 25 Aug 2009 22:11:39 +0000 (16:11 -0600)]
mesa: print some program fields in binary too

15 years agor200: Add scissor to state atom list.
Pauli Nieminen [Tue, 25 Aug 2009 22:43:27 +0000 (01:43 +0300)]
r200: Add scissor to state atom list.

Scissors are jsut one of states that we have to emit so it should be in state list

15 years agoradeon/r600: Fix remaining warnings when building 64 bit binary.
Pauli Nieminen [Tue, 25 Aug 2009 18:46:32 +0000 (21:46 +0300)]
radeon/r600: Fix remaining warnings when building 64 bit binary.

15 years agor200: Addd missing parameter to debug output.
Pauli Nieminen [Tue, 25 Aug 2009 18:39:39 +0000 (21:39 +0300)]
r200: Addd missing parameter to debug output.

15 years agor200: Fix commit size prediction.
Pauli Nieminen [Tue, 25 Aug 2009 18:36:19 +0000 (21:36 +0300)]
r200: Fix commit size prediction.

Scissor are emited for every primitive so fix that in prediction.

15 years agoxorg: insert shaders into the cache
Zack Rusin [Tue, 25 Aug 2009 18:22:26 +0000 (14:22 -0400)]
xorg: insert shaders into the cache

15 years agoexa: add basic code to cache vertex and fragment shaders
Zack Rusin [Tue, 25 Aug 2009 18:01:58 +0000 (14:01 -0400)]
exa: add basic code to cache vertex and fragment shaders

15 years agoexa: check whether the op is accelerated
Zack Rusin [Tue, 25 Aug 2009 17:22:20 +0000 (13:22 -0400)]
exa: check whether the op is accelerated

15 years agoradeon: Fix all compiler warnings.
Pauli Nieminen [Tue, 25 Aug 2009 16:28:00 +0000 (19:28 +0300)]
radeon: Fix all compiler warnings.

15 years agomesa: remove -I$(TOP)/src/gallium/drivers from sources.mak
Brian Paul [Tue, 25 Aug 2009 15:42:25 +0000 (09:42 -0600)]
mesa: remove -I$(TOP)/src/gallium/drivers from sources.mak

Core Mesa and the state tracker do not depend on any gallium drivers.

15 years agoRevert "glapi: Fix a possible race in getting current context/dispatch."
Brian Paul [Tue, 25 Aug 2009 15:37:43 +0000 (09:37 -0600)]
Revert "glapi: Fix a possible race in getting current context/dispatch."

This reverts commit 17090cf3efb0db8fa01b502a9c0df27cbd1a67da.

We're reverting this because it causes ABI breakage with the X server.
Maybe re-attempt with another patch.

15 years agoxorg: revert bad merge
Zack Rusin [Tue, 25 Aug 2009 13:55:42 +0000 (09:55 -0400)]
xorg: revert bad merge

15 years agoAdd support for building the Xorg state tracker with scons.
Michel Dänzer [Tue, 25 Aug 2009 13:39:05 +0000 (15:39 +0200)]
Add support for building the Xorg state tracker with scons.

scons ... statetrackers=xorg

15 years agoRevert "glx: Make drawables persistent untill they are changed by glXMakeCurrent"
Pauli Nieminen [Tue, 25 Aug 2009 02:03:58 +0000 (05:03 +0300)]
Revert "glx: Make drawables persistent untill they are changed by glXMakeCurrent"

This commit was not mean to end in to master yet. It is still queston if this
right design to fix the problem.

This reverts commit 45e3be3c07f543f3f2869ba7750ba4695cd25122.

15 years agoMerge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa into r600_state_predict
Pauli Nieminen [Mon, 24 Aug 2009 23:36:13 +0000 (02:36 +0300)]
Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa into r600_state_predict

15 years agor300: fix condition logic
Maciej Cencora [Mon, 24 Aug 2009 23:27:40 +0000 (01:27 +0200)]
r300: fix condition logic

The s3tc extensions are properly enabled now, when force_s3tc_enable option is set in driconf.

15 years agor300: set proper CS section size
Maciej Cencora [Mon, 24 Aug 2009 23:26:28 +0000 (01:26 +0200)]
r300: set proper CS section size

15 years agoradeon/r200/r300/r600: Warn if we emit more than prediction was.
Pauli Nieminen [Mon, 24 Aug 2009 23:23:52 +0000 (02:23 +0300)]
radeon/r200/r300/r600: Warn if we emit more than prediction was.

Prediction code making too small prediction may cause space check aserttion
failure later in rendering. So warning about any failure to predict correctly
should be fixed.

15 years agoxorg: fix compilation
Zack Rusin [Mon, 24 Aug 2009 22:42:16 +0000 (18:42 -0400)]
xorg: fix compilation

15 years agoxorg: start on code accelerating render
Zack Rusin [Mon, 24 Aug 2009 22:38:46 +0000 (18:38 -0400)]
xorg: start on code accelerating render

15 years agor300: add support for getting Z pipe info from drm
Alex Deucher [Thu, 20 Aug 2009 14:56:35 +0000 (10:56 -0400)]
r300: add support for getting Z pipe info from drm

Needed for occulsion queries on rv530 chips

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
15 years agor600: code cleanup
Alex Deucher [Mon, 24 Aug 2009 21:41:01 +0000 (17:41 -0400)]
r600: code cleanup

15 years agoradeon: fix fbo size calculation to after pitch
Dave Airlie [Mon, 24 Aug 2009 21:20:37 +0000 (07:20 +1000)]
radeon: fix fbo size calculation to after pitch

15 years agoMerge branch 'master' of ssh://zack@git.freedesktop.org/git/mesa/mesa
Zack Rusin [Mon, 24 Aug 2009 20:39:25 +0000 (16:39 -0400)]
Merge branch 'master' of ssh://zack@git.freedesktop.org/git/mesa/mesa

15 years agoopenvg: fix vgTransformPath with relative coords
Zack Rusin [Mon, 24 Aug 2009 20:38:43 +0000 (16:38 -0400)]
openvg: fix vgTransformPath with relative coords

15 years agoARB prog: Set error instead of falling through with incorrect value
Brian Paul [Mon, 24 Aug 2009 19:56:01 +0000 (13:56 -0600)]
ARB prog: Set error instead of falling through with incorrect value

If a fragment program only parameter was queried of a vertex program
(e.g., GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB) no error would be set and
a random value would be returned.  This caused 'glxinfo -l' to show
the same values for GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB,
GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB,
GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB,
GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB,
GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB as for
GL_MAX_PROGRAM_ENV_PARAMETERS_ARB.  This is confusing and incorrect.

(cherry picked from master, commit 4bccd693a72a0b42dffc849034263a68e779ca91)

15 years agoARB prog: Set error instead of falling through with incorrect value
Ian Romanick [Mon, 24 Aug 2009 19:48:01 +0000 (12:48 -0700)]
ARB prog: Set error instead of falling through with incorrect value

If a fragment program only parameter was queried of a vertex program
(e.g., GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB) no error would be set and
a random value would be returned.  This caused 'glxinfo -l' to show
the same values for GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB,
GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB,
GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB,
GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB,
GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB as for
GL_MAX_PROGRAM_ENV_PARAMETERS_ARB.  This is confusing and incorrect.

15 years agomesa: add new program parser sources to tarball
Brian Paul [Mon, 24 Aug 2009 19:12:04 +0000 (13:12 -0600)]
mesa: add new program parser sources to tarball

The end user doesn't need the .y or .l or Makefile but include them anyway
in case someone wants to patch or debug things.

15 years agodocs: recent 7.5.1 bug fixes
Brian Paul [Mon, 24 Aug 2009 19:02:33 +0000 (13:02 -0600)]
docs: recent 7.5.1 bug fixes

15 years agoxlib: fix single buffer window resize bug
Brian Paul [Mon, 24 Aug 2009 18:58:47 +0000 (12:58 -0600)]
xlib: fix single buffer window resize bug

When a single-buffered window was resized the new window size was never
detected.  This fix that, but there's still a bug which causes window
contents corruption for certain window sizes...

15 years agovbo: fix divide by zero exception
Brian Paul [Mon, 24 Aug 2009 18:43:57 +0000 (12:43 -0600)]
vbo: fix divide by zero exception

Fixes bug 23489.

15 years agoglsl: Silence gcc uninitialized variable warning.
Vinson Lee [Mon, 24 Aug 2009 17:43:02 +0000 (11:43 -0600)]
glsl: Silence gcc uninitialized variable warning.

15 years agost/mesa: flush bitmap cache if Z value changes
Brian Paul [Fri, 21 Aug 2009 16:24:50 +0000 (10:24 -0600)]
st/mesa: flush bitmap cache if Z value changes

When adding a new bitmap to the cache we have to check if the Z value is
changing and flush first if it is.

This is a modified version of a patch from Justin Dou <justin.dou@intel.com>

15 years agodocs: recent 7.5.1 bug fixes
Brian Paul [Mon, 24 Aug 2009 19:02:33 +0000 (13:02 -0600)]
docs: recent 7.5.1 bug fixes

15 years agoARB prog parser: Regenerate parser from previous commit
Ian Romanick [Mon, 24 Aug 2009 18:59:58 +0000 (11:59 -0700)]
ARB prog parser: Regenerate parser from previous commit

15 years agoARB prog parser: use correct context limits
Brian Paul [Mon, 24 Aug 2009 17:05:11 +0000 (11:05 -0600)]
ARB prog parser: use correct context limits

15 years agoxlib: fix single buffer window resize bug
Brian Paul [Mon, 24 Aug 2009 18:58:47 +0000 (12:58 -0600)]
xlib: fix single buffer window resize bug

When a single-buffered window was resized the new window size was never
detected.  This fix that, but there's still a bug which causes window
contents corruption for certain window sizes...

15 years agovbo: fix divide by zero exception
Brian Paul [Mon, 24 Aug 2009 18:43:57 +0000 (12:43 -0600)]
vbo: fix divide by zero exception

Fixes bug 23489.

15 years agor600: fix state emit sizes
Alex Deucher [Mon, 24 Aug 2009 18:39:25 +0000 (14:39 -0400)]
r600: fix state emit sizes

15 years agoegl_xdri: Revive the driver.
Chia-I Wu [Sun, 16 Aug 2009 00:51:58 +0000 (08:51 +0800)]
egl_xdri: Revive the driver.

egl_xdri does not compile for some time.  This commit revives the
driver.  It no longer depends on libGL.so for GLX related functions.
Instead, it uses code from src/glx/ directly.  Both DRI and DRI2 are
supported.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoglapi: Fix a possible race in getting current context/dispatch.
Chia-I Wu [Fri, 10 Jul 2009 07:28:55 +0000 (15:28 +0800)]
glapi: Fix a possible race in getting current context/dispatch.

There is a possbile race that _glapi_Context is reset by another thread
after it is tested in GET_CURRENT_CONTEXT but before it is returned.  We
definitely do not want a lock here to solve the race.  To have correct
results even under a race, no other threads should reset _glapi_Context
(or _glapi_Dispatch).

This patch adds a new global variable _glapi_SingleThreaded.  Since
_glapi_Context or _glapi_Dispatch are no longer reset,
_glapi_SingleThreaded is tested instead, before accessing them.

DRI drivers compiled with this patch applied will not work with existing
libGL.so because of the missing new symbol.  If this turns out to be a
real problem, this patch should be reverted.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoglapi: Static mutex does not work on WIN32_THREADS.
Chia-I Wu [Tue, 14 Jul 2009 05:17:25 +0000 (13:17 +0800)]
glapi: Static mutex does not work on WIN32_THREADS.

This re-introduces the race in _glapi_check_multithread, but avoids a
crash on windows.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoglapi: Fix a race in accessing context/dispatch TSD.
Chia-I Wu [Fri, 10 Jul 2009 09:35:11 +0000 (17:35 +0800)]
glapi: Fix a race in accessing context/dispatch TSD.

If multiple threads set/get a TSD at roughly same time for the first
time, glthread might (wrongly) initialize it more than once.  This patch
solves the race by initializing context/dispatch TSDs early.

Acked-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoglapi: Protect _glapi_check_multithread by a mutex.
Chia-I Wu [Fri, 10 Jul 2009 07:21:42 +0000 (15:21 +0800)]
glapi: Protect _glapi_check_multithread by a mutex.

Multiple threads might call _glapi_check_multithread at roughly the same
time.  It is possbile that all of them are wrongly regarded as firstCall
if there is no mutex.  This bug causes xeglthreads to crash sometimes.

Acked-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoglsl: Silence gcc uninitialized variable warning.
Vinson Lee [Mon, 24 Aug 2009 17:43:02 +0000 (11:43 -0600)]
glsl: Silence gcc uninitialized variable warning.