Brian Paul
b9b04872d5
vbo: fix divide by zero exception
...
Fixes bug 23489.
2009-08-24 12:44:00 -06:00
Alex Deucher
29473d25a3
r600: fix state emit sizes
2009-08-24 14:40:40 -04:00
Chia-I Wu
58ac57c2b7
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>
2009-08-24 11:49:45 -06:00
Chia-I Wu
17090cf3ef
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>
2009-08-24 11:46:15 -06:00
Chia-I Wu
3076d1617d
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>
2009-08-24 11:46:15 -06:00
Chia-I Wu
fc2feea685
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>
2009-08-24 11:45:57 -06:00
Chia-I Wu
99939982ec
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>
2009-08-24 11:45:57 -06:00
Vinson Lee
f785b35b47
glsl: Silence gcc uninitialized variable warning.
2009-08-24 11:43:02 -06:00
Brian Paul
53db19b57d
mesa: _mesa_layout_parameters() returns a boolean value
2009-08-24 10:50:07 -06:00
Pauli Nieminen
55c0457fe9
radeon: Add debug output to radeonCountStateEmitSize.
2009-08-24 18:45:30 +03:00
Pauli Nieminen
ec61f677c3
r600: Fix indetion and add useful debug output.
2009-08-24 18:06:25 +03:00
Pauli Nieminen
75da0a6a56
Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa into r600_state_predict
2009-08-24 17:09:27 +03:00
Maciej Cencora
ed14a4cb7b
r300: add support for EXT_framebuffer_blit
2009-08-24 14:52:33 +02:00
Cooper Yuan
a88678d3ee
tgsi: Fix build error due to commit acc7da90
2009-08-24 19:50:38 +08:00
José Fonseca
02c523dfbb
tgsi: Only free temp uregs.
...
Shorthand.
(cherry picked from commit de911220bbbe74cff0c79b260456ff36122b7b5b)
2009-08-24 12:11:24 +01:00
José Fonseca
acc7da9035
tgsi: Pass pipe_context as a parameter to ureg_create_shader.
...
Simplifies migration to tgsi_ureg.
(cherry picked from commit f574398c07c41cb8d31249a7186fc178ef7d552a)
2009-08-24 12:11:22 +01:00
Keith Whitwell
b570a7e6b6
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.
2009-08-24 11:33:38 +01:00
Keith Whitwell
67d4a5b15c
mesa/swrast: use one fewer divide in swrast's choose_cube_face also
...
Same change as for softpipe
2009-08-24 08:26:33 +01:00
Keith Whitwell
fd19e8adcd
softpipe: use one fewer divide in sample_cube
...
GCC won't do this for us. Makes a bigger difference to cubemap fps
than previous set of compilcated rearrangements.
2009-08-24 08:26:33 +01:00
Keith Whitwell
60adc15ba5
softpipe: separate out 2d and cube img filter functions
2009-08-24 08:26:32 +01:00
Keith Whitwell
81601d85ef
softpipe: make the various get_texel routines more similar
...
Remove arguments, return const float * by default. Add specialized 3d
versions and remove 3d texture support from the others.
2009-08-24 08:26:17 +01:00
Cooper Yuan
7ee4f32dcd
r300g: Set the vector address in the input memory for bypass_vs_clip_and_viewport case
2009-08-24 13:56:23 +08:00
Dave Airlie
2b29d21018
r600: scissor updates for dri2
...
Pulled from Dave's WIP patch.
2009-08-24 00:56:40 -04:00
Dave Airlie
f758a8bf2e
r600: switch to common cs functions
...
needed for dri2. Pulled from Dave's WIP patch.
2009-08-24 00:47:34 -04:00
Alex Deucher
436fb34369
r600: map 16 VS outputs
...
Should cover everything exported from the VS
2009-08-24 00:33:33 -04:00
Alex Deucher
d6f7ebd603
r600: fix logic copy paste error
...
Spotted by airlied.
2009-08-23 23:56:45 -04:00
Pauli Nieminen
fe42b4b757
r600: Improve emit prediction.
2009-08-24 02:44:27 +03:00
Pauli Nieminen
885906840d
r600: Predict emit size for next rendering.
2009-08-24 02:01:15 +03:00
Pauli Nieminen
ccde276838
radeon: Fix dri1 ctx emit size.
2009-08-24 01:54:01 +03:00
Keith Whitwell
75312b6555
progs/demos: add fps output to cubemap
2009-08-23 23:53:41 +01:00
Pauli Nieminen
7bb0f880db
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
2009-08-24 00:57:05 +03:00
Alex Deucher
4484ce9c7b
radeon: add radeon_cs_write_table to the legacy path
2009-08-23 16:22:01 -04:00
Alex Deucher
becb50f84d
r600: bump reloc_chunk size
...
This fixes openarena reloc errors. This needs to be
made more dynamic.
2009-08-23 16:06:31 -04:00
Alex Deucher
670bd47df9
r600: fix count for CB/DB target state
2009-08-23 15:35:55 -04:00
Maciej Cencora
e1801d861a
r300: fix a typo
2009-08-23 21:30:43 +02:00
Maciej Cencora
bcbe27d0ca
radeon: use proper macro
2009-08-23 21:11:13 +02:00
Maciej Cencora
7e7f0f61bf
radeon: use bo_is_idle interface for checking if OQ result is available
2009-08-23 21:09:55 +02:00
Maciej Cencora
4aadda5f66
r300: minor optimization
...
use properly implemented OUT_BATCH_TABLE where possible
2009-08-23 20:21:48 +02:00
Ian Romanick
9b70c33e73
ARB prog lexer: Fix lexer to eat both DOS and Unix line endings
2009-08-23 11:15:32 -07:00
Alex Deucher
7a05a4c65c
r600: use persistent bos for shaders
2009-08-23 13:41:43 -04:00
Alex Deucher
41934be254
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.
2009-08-23 13:05:52 -04:00
Keith Whitwell
153e474d22
softpipe: lift tex_address construction up to img_filter
...
For fastpaths at least, can avoid recalculating this sometimes.
2009-08-23 13:38:10 +01:00
Pauli Nieminen
b34695375e
radeon: Fix compilation with legacy memory manager.
2009-08-23 14:02:46 +03:00
Pauli Nieminen
66bbafb6f9
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>
2009-08-23 13:39:32 +03:00
Keith Whitwell
4fe0fc3eba
softpipe: remove old prim_setup draw stage
...
Everything now goes through the draw_vbuf handler, the same as
regular drivers.
2009-08-23 11:22:41 +01:00
Keith Whitwell
47800c572f
softpipe: add missing header
2009-08-23 11:13:20 +01:00
Keith Whitwell
7670102468
Merge branch 'tex-tilecache' into softpipe-opt
...
Conflicts:
src/gallium/drivers/softpipe/sp_state_derived.c
src/gallium/drivers/softpipe/sp_state_sampler.c
src/gallium/drivers/softpipe/sp_tex_sample.c
src/gallium/drivers/softpipe/sp_tex_sample.h
src/gallium/drivers/softpipe/sp_tile_cache.c
2009-08-23 10:23:46 +01:00
Alex Deucher
bf6d0ae598
r600: make state emit more fine grained
...
Gives a nice speed boost in most apps since
we only emit what state we need.
2009-08-22 18:03:26 -04:00
Renato Caldas
08e91e0315
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>
2009-08-22 14:00:23 -07:00
Luo Jinghua
523cb80d0f
ARB prog parser: include imports.h to kill some compiler warnings
2009-08-22 13:59:48 -07:00