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.
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>
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>
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>
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>
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>
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>
Pauli Nieminen [Wed, 26 Aug 2009 21:08:30 +0000 (00:08 +0300)]
Merge branch 'fix_r300_swtcl' into push_master
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.
Pauli Nieminen [Wed, 26 Aug 2009 21:05:57 +0000 (00:05 +0300)]
radeon: Make RADEON_CMDBUF more fine grained.
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.
Brian Paul [Wed, 26 Aug 2009 20:49:15 +0000 (14:49 -0600)]
Merge branch 'mesa_7_5_branch'
Brian Paul [Wed, 26 Aug 2009 20:47:50 +0000 (14:47 -0600)]
i965: init the tex_units_used field
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.
Brian Paul [Wed, 26 Aug 2009 20:43:45 +0000 (14:43 -0600)]
i965: clean-up tex target switches
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.
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
Brian Paul [Wed, 26 Aug 2009 18:16:07 +0000 (12:16 -0600)]
progs/glsl: asst. changes in shtest.c
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.
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.
Brian Paul [Wed, 26 Aug 2009 18:04:35 +0000 (12:04 -0600)]
docs: document sampler array bug fix
Brian Paul [Wed, 26 Aug 2009 17:05:04 +0000 (11:05 -0600)]
i965: clean up texture target switches
Brian Paul [Wed, 26 Aug 2009 16:58:06 +0000 (10:58 -0600)]
mesa: var renaming, new assertion
Brian Paul [Wed, 26 Aug 2009 16:57:18 +0000 (10:57 -0600)]
mesa: additional instruction field size assertions
Brian Paul [Wed, 26 Aug 2009 18:01:23 +0000 (12:01 -0600)]
Merge branch 'mesa_7_5_branch'
Brian Paul [Wed, 26 Aug 2009 17:56:19 +0000 (11:56 -0600)]
progs/glsl: handle window resizes in texaaline.c
Brian Paul [Wed, 26 Aug 2009 17:55:15 +0000 (11:55 -0600)]
progs/glsl: add special Makefile rule for samplers_array
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.
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.
Alex Deucher [Wed, 26 Aug 2009 17:33:06 +0000 (13:33 -0400)]
r600: fix two sided stencil
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
Zack Rusin [Wed, 26 Aug 2009 16:50:14 +0000 (12:50 -0400)]
st/xorg: create basic vertex shader
Zack Rusin [Wed, 26 Aug 2009 16:14:27 +0000 (12:14 -0400)]
st/xorg: create basic fragment shader
Alex Deucher [Wed, 26 Aug 2009 16:17:44 +0000 (12:17 -0400)]
r600: make reloc_chunk size dynamic
Alex Deucher [Wed, 26 Aug 2009 15:09:59 +0000 (11:09 -0400)]
r600: fix memory leak
Alex Deucher [Wed, 26 Aug 2009 14:53:30 +0000 (10:53 -0400)]
r300: r4xx and rs4xx also have lte discard regs
Jakob Bornecrantz [Wed, 26 Aug 2009 12:30:54 +0000 (14:30 +0200)]
st/dri: Add some debug code
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.
Jakob Bornecrantz [Wed, 26 Aug 2009 11:45:31 +0000 (13:45 +0200)]
st/xorg: Find out correct type for depth stencil buffers
Jakob Bornecrantz [Wed, 26 Aug 2009 10:26:14 +0000 (12:26 +0200)]
st/dri: Redo config generation
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.
Cooper Yuan [Wed, 26 Aug 2009 08:21:10 +0000 (16:21 +0800)]
r600: Update vertex fetch shader if necessary
Ben Skeggs [Wed, 26 Aug 2009 06:17:37 +0000 (16:17 +1000)]
st/dri: make the GL_ARB_map_buffer_range entrypoints available
Dave Airlie [Wed, 26 Aug 2009 04:16:54 +0000 (14:16 +1000)]
radeon/r100/r200: actually init the OQ support properly
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
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.
Brian Paul [Tue, 25 Aug 2009 23:45:50 +0000 (17:45 -0600)]
progs/glsl: call ValidateShaderProgram()
Brian Paul [Tue, 25 Aug 2009 23:43:54 +0000 (17:43 -0600)]
mesa: validate shader before drawing (for debugging, disabled)
Brian Paul [Tue, 25 Aug 2009 23:43:16 +0000 (17:43 -0600)]
glsl: update a texture/sampler comment
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.
Brian Paul [Tue, 25 Aug 2009 23:37:38 +0000 (17:37 -0600)]
mesa: use gl_texture_index type for gl_program::SamplerTargets
Brian Paul [Tue, 25 Aug 2009 23:36:28 +0000 (17:36 -0600)]
progs/util: added ValidateShaderProgram() to shaderutil.c
Brian Paul [Tue, 25 Aug 2009 22:12:46 +0000 (16:12 -0600)]
i965: add some texture unit/target assertions
Brian Paul [Tue, 25 Aug 2009 22:11:39 +0000 (16:11 -0600)]
mesa: print some program fields in binary too
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
Pauli Nieminen [Tue, 25 Aug 2009 18:46:32 +0000 (21:46 +0300)]
radeon/r600: Fix remaining warnings when building 64 bit binary.
Pauli Nieminen [Tue, 25 Aug 2009 18:39:39 +0000 (21:39 +0300)]
r200: Addd missing parameter to debug output.
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.
Zack Rusin [Tue, 25 Aug 2009 18:22:26 +0000 (14:22 -0400)]
xorg: insert shaders into the cache
Zack Rusin [Tue, 25 Aug 2009 18:01:58 +0000 (14:01 -0400)]
exa: add basic code to cache vertex and fragment shaders
Zack Rusin [Tue, 25 Aug 2009 17:22:20 +0000 (13:22 -0400)]
exa: check whether the op is accelerated
Pauli Nieminen [Tue, 25 Aug 2009 16:28:00 +0000 (19:28 +0300)]
radeon: Fix all compiler warnings.
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.
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.
Zack Rusin [Tue, 25 Aug 2009 13:55:42 +0000 (09:55 -0400)]
xorg: revert bad merge
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
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.
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
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.
Maciej Cencora [Mon, 24 Aug 2009 23:26:28 +0000 (01:26 +0200)]
r300: set proper CS section size
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.
Zack Rusin [Mon, 24 Aug 2009 22:42:16 +0000 (18:42 -0400)]
xorg: fix compilation
Zack Rusin [Mon, 24 Aug 2009 22:38:46 +0000 (18:38 -0400)]
xorg: start on code accelerating render
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>
Alex Deucher [Mon, 24 Aug 2009 21:41:01 +0000 (17:41 -0400)]
r600: code cleanup
Dave Airlie [Mon, 24 Aug 2009 21:20:37 +0000 (07:20 +1000)]
radeon: fix fbo size calculation to after pitch
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
Zack Rusin [Mon, 24 Aug 2009 20:38:43 +0000 (16:38 -0400)]
openvg: fix vgTransformPath with relative coords
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)
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.
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.
Brian Paul [Mon, 24 Aug 2009 19:02:33 +0000 (13:02 -0600)]
docs: recent 7.5.1 bug fixes
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...
Brian Paul [Mon, 24 Aug 2009 18:43:57 +0000 (12:43 -0600)]
vbo: fix divide by zero exception
Fixes bug 23489.
Vinson Lee [Mon, 24 Aug 2009 17:43:02 +0000 (11:43 -0600)]
glsl: Silence gcc uninitialized variable warning.
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>
Brian Paul [Mon, 24 Aug 2009 19:02:33 +0000 (13:02 -0600)]
docs: recent 7.5.1 bug fixes
Ian Romanick [Mon, 24 Aug 2009 18:59:58 +0000 (11:59 -0700)]
ARB prog parser: Regenerate parser from previous commit
Brian Paul [Mon, 24 Aug 2009 17:05:11 +0000 (11:05 -0600)]
ARB prog parser: use correct context limits
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...
Brian Paul [Mon, 24 Aug 2009 18:43:57 +0000 (12:43 -0600)]
vbo: fix divide by zero exception
Fixes bug 23489.
Alex Deucher [Mon, 24 Aug 2009 18:39:25 +0000 (14:39 -0400)]
r600: fix state emit sizes
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>
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>
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>
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>
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>
Vinson Lee [Mon, 24 Aug 2009 17:43:02 +0000 (11:43 -0600)]
glsl: Silence gcc uninitialized variable warning.
Brian Paul [Mon, 24 Aug 2009 16:50:07 +0000 (10:50 -0600)]
mesa: _mesa_layout_parameters() returns a boolean value
Pauli Nieminen [Mon, 24 Aug 2009 15:44:53 +0000 (18:44 +0300)]
radeon: Add debug output to radeonCountStateEmitSize.