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
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>
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
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>
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.
Pauli Nieminen [Mon, 24 Aug 2009 15:06:25 +0000 (18:06 +0300)]
r600: Fix indetion and add useful debug output.
Pauli Nieminen [Mon, 24 Aug 2009 14:09:27 +0000 (17:09 +0300)]
Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa into r600_state_predict
Maciej Cencora [Mon, 24 Aug 2009 12:52:33 +0000 (14:52 +0200)]
r300: add support for EXT_framebuffer_blit
Cooper Yuan [Mon, 24 Aug 2009 11:50:38 +0000 (19:50 +0800)]
tgsi: Fix build error due to commit
acc7da90
José Fonseca [Mon, 24 Aug 2009 10:40:56 +0000 (11:40 +0100)]
tgsi: Only free temp uregs.
Shorthand.
(cherry picked from commit
de911220bbbe74cff0c79b260456ff36122b7b5b)
José Fonseca [Mon, 24 Aug 2009 10:40:29 +0000 (11:40 +0100)]
tgsi: Pass pipe_context as a parameter to ureg_create_shader.
Simplifies migration to tgsi_ureg.
(cherry picked from commit
f574398c07c41cb8d31249a7186fc178ef7d552a)
Keith Whitwell [Mon, 24 Aug 2009 10:32:06 +0000 (11:32 +0100)]
tgsi: add generic instruction builder
When translating an incoming shader (rather than building one from scratch)
it's preferable to be able to call a single, generic instruction emitter
rather than figuring out which of the opcode-specific functions to call.
Cooper Yuan [Mon, 24 Aug 2009 05:56:23 +0000 (13:56 +0800)]
r300g: Set the vector address in the input memory for bypass_vs_clip_and_viewport case
Dave Airlie [Mon, 24 Aug 2009 04:56:40 +0000 (00:56 -0400)]
r600: scissor updates for dri2
Pulled from Dave's WIP patch.
Dave Airlie [Mon, 24 Aug 2009 04:47:34 +0000 (00:47 -0400)]
r600: switch to common cs functions
needed for dri2. Pulled from Dave's WIP patch.
Alex Deucher [Mon, 24 Aug 2009 04:33:33 +0000 (00:33 -0400)]
r600: map 16 VS outputs
Should cover everything exported from the VS
Alex Deucher [Mon, 24 Aug 2009 03:56:45 +0000 (23:56 -0400)]
r600: fix logic copy paste error
Spotted by airlied.
Pauli Nieminen [Sun, 23 Aug 2009 23:44:27 +0000 (02:44 +0300)]
r600: Improve emit prediction.
Pauli Nieminen [Sun, 23 Aug 2009 23:01:15 +0000 (02:01 +0300)]
r600: Predict emit size for next rendering.
Pauli Nieminen [Sun, 23 Aug 2009 22:54:01 +0000 (01:54 +0300)]
radeon: Fix dri1 ctx emit size.
Pauli Nieminen [Sun, 23 Aug 2009 21:57:05 +0000 (00:57 +0300)]
Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa into r600_state_predict
Conflicts:
src/mesa/drivers/dri/r300/r300_cmdbuf.c
src/mesa/drivers/dri/radeon/radeon_cmdbuf.h
Alex Deucher [Sun, 23 Aug 2009 20:22:01 +0000 (16:22 -0400)]
radeon: add radeon_cs_write_table to the legacy path
Alex Deucher [Sun, 23 Aug 2009 20:06:31 +0000 (16:06 -0400)]
r600: bump reloc_chunk size
This fixes openarena reloc errors. This needs to be
made more dynamic.
Alex Deucher [Sun, 23 Aug 2009 19:32:42 +0000 (15:32 -0400)]
r600: fix count for CB/DB target state
Maciej Cencora [Sun, 23 Aug 2009 19:11:55 +0000 (21:11 +0200)]
r300: fix a typo
Maciej Cencora [Sun, 23 Aug 2009 19:11:13 +0000 (21:11 +0200)]
radeon: use proper macro
Maciej Cencora [Sun, 23 Aug 2009 19:02:12 +0000 (21:02 +0200)]
radeon: use bo_is_idle interface for checking if OQ result is available
Maciej Cencora [Wed, 19 Aug 2009 21:35:00 +0000 (23:35 +0200)]
r300: minor optimization
use properly implemented OUT_BATCH_TABLE where possible
Ian Romanick [Sun, 23 Aug 2009 02:19:40 +0000 (19:19 -0700)]
ARB prog lexer: Fix lexer to eat both DOS and Unix line endings
Alex Deucher [Sun, 23 Aug 2009 17:41:43 +0000 (13:41 -0400)]
r600: use persistent bos for shaders
Alex Deucher [Sun, 23 Aug 2009 16:59:09 +0000 (12:59 -0400)]
r600: always emit CB base
Not doing so seems to cause lock-ups or rendering problems
on some chips. I think there is an logic issue related to
CB and VGT on some chips. We ran into similar issues in
r600_demo IIRC.
Pauli Nieminen [Sun, 23 Aug 2009 11:02:46 +0000 (14:02 +0300)]
radeon: Fix compilation with legacy memory manager.
Pauli Nieminen [Thu, 20 Aug 2009 14:57:37 +0000 (17:57 +0300)]
radeon: Check from kernel if dma buffer is idle.
This makes sure that objects are leaving wait list only when they are processed by gpu.
Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
Alex Deucher [Sat, 22 Aug 2009 22:02:03 +0000 (18:02 -0400)]
r600: make state emit more fine grained
Gives a nice speed boost in most apps since
we only emit what state we need.
Renato Caldas [Sat, 22 Aug 2009 19:22:03 +0000 (20:22 +0100)]
shader: fix compilation warnings
This patch fixes some "implicit declaration of function" compilation
errors/warnings on the new shader code.
Signed-off-by: Renato Caldas <seventhguardian@gmail.com>
Luo Jinghua [Sat, 22 Aug 2009 05:52:46 +0000 (13:52 +0800)]
ARB prog parser: include imports.h to kill some compiler warnings
Alex Deucher [Sat, 22 Aug 2009 19:03:41 +0000 (15:03 -0400)]
r600: move full state to radeon state atoms
Alex Deucher [Sat, 22 Aug 2009 15:44:05 +0000 (11:44 -0400)]
r600: add support for RS880
Ian Romanick [Sat, 22 Aug 2009 08:35:12 +0000 (01:35 -0700)]
i965: Implement frag prog DPH like DP4
DPH can output to any component, not just to X. This allows fpalu.c
to run without hitting the assertion in emit_dph.
Pauli Nieminen [Sat, 22 Aug 2009 01:37:24 +0000 (04:37 +0300)]
r300: Fix debug output.
Jakob Bornecrantz [Sat, 22 Aug 2009 00:35:10 +0000 (01:35 +0100)]
st/dri: Remove some debug prints
Jakob Bornecrantz [Sat, 22 Aug 2009 01:12:21 +0000 (02:12 +0100)]
st/dri: Find out if the drawable is a pixmap
Part of this code is disabled since no performance gains
where detected with it enabled.
This code only detects if it is a pixmap that it is
rendering to on the st/xorg DDX since it sets the fake
front to the same handle as front.
Jakob Bornecrantz [Sat, 22 Aug 2009 01:11:58 +0000 (02:11 +0100)]
st/dri: Fix frontbuffer rendering with DRI2
Jakob Bornecrantz [Fri, 21 Aug 2009 22:20:46 +0000 (23:20 +0100)]
st/xorg: Handle fake fronts correctly for pixmaps
Jakob Bornecrantz [Sat, 22 Aug 2009 01:06:29 +0000 (02:06 +0100)]
i915g: Remove bad assert on fence
Pauli Nieminen [Fri, 21 Aug 2009 23:43:41 +0000 (02:43 +0300)]
r300: Fix dri1 not to emit state that is not supported in old drm.
Pauli Nieminen [Fri, 21 Aug 2009 23:43:00 +0000 (02:43 +0300)]
radeon/r300: Code clean up and logic fix.
Michel Dänzer [Fri, 21 Aug 2009 23:33:37 +0000 (01:33 +0200)]
glx/dri2: Always use X drawable ID for DRI2 protocol.
Fixes protocol errors in cases where the GLX ID is different.
Michel Dänzer [Fri, 21 Aug 2009 23:24:39 +0000 (01:24 +0200)]
Fix r300 VBO support build on big endian.
Alex Deucher [Fri, 21 Aug 2009 21:41:43 +0000 (17:41 -0400)]
r600: better default state size.
Hopefully suokko's emit size impovements will
land soon.
Pauli Nieminen [Fri, 21 Aug 2009 20:48:39 +0000 (23:48 +0300)]
r300: Remove calls to rcommonEnsureCmdBufSpace.
All rendering is checked in r300PredictTryDrawPrimsSize which mamde these calls useless.
Pauli Nieminen [Fri, 21 Aug 2009 18:21:16 +0000 (21:21 +0300)]
radeon: protect against buffer overflow in state atom debug code.
Ian Romanick [Fri, 21 Aug 2009 18:34:30 +0000 (11:34 -0700)]
Merge branch 'asm-shader-rework-1'
Pauli Nieminen [Fri, 21 Aug 2009 17:44:54 +0000 (20:44 +0300)]
radeon: Improve state emit code.
Trying to make understanding code easier with small refactoring and renaming.
Pauli Nieminen [Fri, 21 Aug 2009 17:10:30 +0000 (20:10 +0300)]
r300: Add debug output to show how much was emited in TryDrawPrims.
Brian Paul [Fri, 21 Aug 2009 17:04:01 +0000 (11:04 -0600)]
radeon: fix incorrect loop limit (warned by -O3)
Brian Paul [Fri, 21 Aug 2009 17:03:30 +0000 (11:03 -0600)]
glx: initialize some local vars to silence warnings with -O3
Pauli Nieminen [Fri, 21 Aug 2009 15:55:34 +0000 (18:55 +0300)]
r300: Predict emit size for next rendering operation.
We do flush for cmd buffer in case there isn't enough space left for whole
rendering operation. This protects dma regions from getting released in middle
of state emit.
Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
Pauli Nieminen [Fri, 21 Aug 2009 15:29:06 +0000 (18:29 +0300)]
r300: Handle possible fall back if space check fails.