José Fonseca
6971be783b
util: Improve the cpuid assembly.
...
No need to save ebx on 64bit. Use just xchgl. Refer to gcc's cpuid.h header.
Thanks to Uros Bizjak for pointing this out.
2009-10-05 16:49:21 +01:00
José Fonseca
75e0a376cd
mesa: Copy textures' base format into wrapper renderbuffer.
...
Otherwise st_copy_texsubimage will fallback to software blit due to
inconsistent base formats.
2009-10-05 16:49:21 +01:00
Keith Whitwell
b02ef740b9
mesa/st: add ST_DEBUG environment variable
...
At last it's possible to turn on tgsi dumps and other debugging in the
state tracker without modifying sources...
2009-10-05 15:51:55 +01:00
Keith Whitwell
6a085184eb
util: add lost code to util_make_fragment_tex_shader_writemask()
...
This got ported to ureg at some point, but lost the code that
distinguishes it from regular util_make_fragment_tex_shader().
2009-10-05 15:51:55 +01:00
Andre Maasikas
0b032eabc7
r600: update vertex program selection for draw path
2009-10-05 13:38:53 +03:00
Michel Dänzer
43750f1575
Use _mesa_select_tex_image() rather than hardcoding face 0.
...
Fixes crash loading a map in sauerbraten with
hwmipmap 1
in ~/.sauerbraten/config.cfg.
2009-10-05 12:31:51 +02:00
Ben Skeggs
d47de50540
st/dri: avoid segfault if we can't get a pixmap's buffers
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-10-05 15:52:33 +10:00
Ben Skeggs
7bfc3172e8
nv50: support PIPE_FORMAT_X8R8G8B8_UNORM
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-10-05 15:36:06 +10:00
Ben Skeggs
5313f1be11
nouveau: return pitch value from local_handle_from_texture()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-10-05 15:36:02 +10:00
Ben Skeggs
7aeaca33c3
mesa: fix return value when clipping {Read,Draw}Pixels height <= 0
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-10-05 15:35:40 +10:00
Ben Skeggs
1336989ec6
st/dri: no need to request fake front buffer, only handle it being returned
...
The previous behaviour was incorrect, and resulted in EXT_tfp being broken
for DDX drivers that implement the correct behaviour (intel/radeon/nouveau).
In the cases where a fake front buffer is required, the X server will
return one when requesting __DRI_BUFFER_FRONT_LEFT.
The Xorg state tracker (aka modesetting_drv) is likely broken now until
it's modified to match the other drivers.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-10-05 15:32:55 +10:00
Frederic Crozat
3856c3cc46
r200: remove subpixel offset from viewport
...
Fixes bug fdo 20340 for r200.
2009-10-04 17:50:16 -04:00
José Fonseca
7a2271c659
util: Make assert a no-op on non-debug builds.
...
This ensures that an assertion like
assert(expensive_test());
won't have any penalty on release builds. It also implies that no vital
code should be in assert expressions.
2009-10-04 22:03:16 +01:00
José Fonseca
77ef705058
llvmpipe: Ensure tile cache transfers are mapped before flushing it.
2009-10-04 22:03:16 +01:00
José Fonseca
589ec337f0
llvmpipe: Autogenerate lp_tile_soa.c from u_format.csv.
...
This is just a temporary change until we code generate the tile read/write
functions in runtime. The new code avoids an extra memcpy that exists in
u_tile.c functions, from which lp_tile_soa.c was originally based.
This achieves up to 5% improvement, particularly in frames with
little geometry overlap.
2009-10-04 22:03:16 +01:00
José Fonseca
7a7dfb09aa
util: Fix cpuid invocation for x86_64.
2009-10-04 22:03:15 +01:00
José Fonseca
eb2e41f0c6
llvmpipe: Remove loop testing from format testing.
...
Loop building will be rewritten.
2009-10-04 22:03:15 +01:00
José Fonseca
10981c0a76
llvmpipe: Match header's protection macro with filename.
2009-10-04 22:03:15 +01:00
José Fonseca
cd0a396813
llvmpipe: Adjust format assertion.
...
We support array layout too -- if it has a single channel.
2009-10-04 22:03:15 +01:00
Nicolai Hähnle
a6b300ac98
r300/compiler Add support for more of the Sxx set instructions
...
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-04 18:31:18 +02:00
Nicolai Hähnle
12e89e0e51
r300/compiler: Emit flow control instructions and ALU result writes on R500
...
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-04 18:30:52 +02:00
Corbin Simpson
2a929a08ab
r300g: xRGB and RGBx formats.
...
We now have 48 GLX visuals. Pretty soon, we'll have 90+ visuals,
only five of which ever get tested. :3
2009-10-04 09:30:30 -07:00
Nicolai Hähnle
a30560e6f0
r300/compiler: Refactor the radeon_pair code to support control flow instructions
...
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-04 16:50:07 +02:00
Nicolai Hähnle
995135479d
r300/compiler: Refactor to allow different instruction types
...
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-04 11:41:03 +02:00
Nicolai Hähnle
e6b137dcce
r300/compiler: Introduce aluresult register for branch operation support
...
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-04 11:13:13 +02:00
Chris Wilson
f194d2737b
intel: Suppress a compiler warning for an pointer->int cast
...
intel_pixel_read.c: In function ‘do_blit_readpixels’:
intel_pixel_read.c:221: warning: cast from pointer to integer of
different size
Cast via an intermediate (GLintptr) instead and hope the result fits
within GLuint... [It should as we simply do not support textures *that*
large!]
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-10-03 23:08:39 +01:00
Chris Wilson
470ec8d42e
intel: Assert that relocation offsets are within the target
...
This should catch the common programming error where we attempt to
emit a relocation to beyond the end of the target buffer.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-10-03 23:06:39 +01:00
Nicolai Hähnle
b7cf887ca7
r300/compiler: Introduce control flow instructions and refactor dataflow
...
Note that control flow instruction support isn't actually fully functional yet.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-03 23:37:16 +02:00
José Fonseca
cbb57bf726
llvmpipe: Fetch tile only if a color buffer is bound.
2009-10-03 19:42:22 +01:00
Nicolai Hähnle
6d25b9125e
Merge branch 'master' into r300-compiler
2009-10-03 19:30:48 +02:00
Nicolai Hähnle
7d2699aedc
prog_parameter: Document the fact that Size may be > 4
...
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-03 19:30:05 +02:00
Nicolai Hähnle
81e5188f66
r300g: Do not abort on fragment program compiler error
...
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-03 19:29:48 +02:00
Nicolai Hähnle
59b20b760d
r300g: Fix memory leak in radeon_texture_from_shared_handle
...
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-03 18:07:34 +02:00
Sedat Dilek
aa6aa77a1b
r300g: Build in the trace and softpipe driver for xorg state tracker
...
Same as in src/gallium/winsys/drm/intel/xorg/Makefile
Thanks MrCooper for explanations on IRC
[ Summary amended by Michel Dänzer to clarify that this is related to the xorg
state tracker ]
2009-10-03 18:01:58 +02:00
Michel Dänzer
b330cebe01
radeon: Cope better with texture images with no miptrees.
...
Fixes crash with compiz magnifier plugin.
2009-10-03 18:01:58 +02:00
Michel Dänzer
f741c1eed4
swrast: Move up state validation in _swrast_ReadPixels.
...
This ensures the driver won't map the wrong set of textures.
2009-10-03 18:01:58 +02:00
Michel Dänzer
4a6759b778
meta: Make sure texImage->TexFormat is valid for CopyTex(Sub)Image.
2009-10-03 18:01:57 +02:00
Nicolai Hähnle
26df8af4fe
r300g: Remove an unnecessarily created pipe buffer (and thus fix a leak)
...
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-03 17:51:09 +02:00
Nicolai Hähnle
fce2095a90
st/dri: Install APPLE_vertex_array_object functions
...
Besides from being necessary to use that extension, it also fixes a crash
when deleting the currently bound vertex array object.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-03 17:42:50 +02:00
Nicolai Hähnle
751aa58e01
r300g: Reset vbo_offset after allocation of a new buffer
...
This fixes the glxgears bug, among other things.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-03 17:27:50 +02:00
Nicolai Hähnle
ebbd65eb06
st/dri: Install ARB_vertex_array_object functions
...
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-03 11:45:19 +02:00
Nicolai Hähnle
bbe384c86a
r300: Workaround problem on R500 with very large fragment programs
...
The non-KMS interface is to blame here. In theory, a proper fix
could be produced that works for the KMS interface only, but it
require cleaning a lot of mess. Easier to just do it right in r300g.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-03 01:39:13 +02:00
Brian Paul
be16acaafa
mesa: optimized _mesa_meta_BlitFramebuffer() for src=texture case
...
If the src renderbuffer is actually a texture, we can directly use that
texture as the src and avoid a copy.
2009-10-02 14:00:02 -06:00
Eric Anholt
4182b58169
i965: Use a little stack space to avoid a malloc in wm_get_binding_table.
2009-10-02 11:42:19 -07:00
Eric Anholt
6d0fc3cfde
mesa: Remove another unexplained Flush call, this time from BindFramebuffer.
...
Combined with the previous fix, it takes cairo-gl firefox-talos-gfx time
from 120 seconds to 90 seconds on my GM45.
2009-10-02 11:42:07 -07:00
Eric Anholt
f019577f0c
Revert "Flush driver, not just tnl module."
...
This reverts commit df058298e1 . It didn't
explain why it was required, doesnt appear to be required, and is a
significant performance penalty for cairo-gl firefox.
Conflicts:
src/mesa/main/fbobject.c
2009-10-02 11:41:29 -07:00
Eric Anholt
3d78a86cd7
intel: Remove an unexplained flush from intelClearWithBlit.
2009-10-02 11:38:36 -07:00
Alex Deucher
3f623cfffe
r600: remove support for host-based ibs
...
no longer used now that the hw supports this natively.
Also, clean up some formatting.
2009-10-02 14:34:28 -04:00
Keith Whitwell
918199fb0f
mesa/st: don't reuse vertex buffers for bitmap, clear quads
...
Currently using max_slots > 1 will cause synchronous rendering
if the driver flushes its command buffers between one bitmap and the
next.
Need to improve buffer_write to allow NO_WAIT (as well as no_flush)
updates to buffers where we know there is no conflict with previous
data.
2009-10-02 19:03:15 +01:00
Michel Dänzer
316b4ddcf7
st/xorg: Use PIPE_TRANSFER_MAP_DIRECTLY flag in EXA PrepareAccess hook.
...
Propagate NULL return value.
This also allows removing the DRM_MODE_FEATURE_DIRTYFB specific pixmap
management hacks.
2009-10-02 18:13:26 +02:00