Commit Graph

34179 Commits

Author SHA1 Message Date
Marek Olšák
304b9e2ccc r300g: fix warnings when printing uint64_t
Though not nice, this is the correct way.
2010-04-26 20:32:38 +02:00
Marek Olšák
7d164fc359 r300g: fix warnings by using the const qualifier
See also the libdrm commit af98ccf4dd5dcb1b904ec32b9bd1521e6bf7dda5.
2010-04-26 20:31:17 +02:00
Matt Turner
30c9bca502 r300g: use CS_OUT_TABLE better
Reviewed-by: Corbin Simpson <MostAwesomeDude@gmail.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Marek Olšák <maraeo@gmail.com>
2010-04-26 20:30:37 +02:00
Alex Deucher
a53e8b7def r600: avoid setting invalid bit on r7xx for blits 2010-04-26 13:45:01 -04:00
Alan Hourihane
06574e45b4 gallivm: BGNFOR/ENDFOR fallthrough to BGNLOOP/ENDLOOP 2010-04-26 17:42:51 +01:00
José Fonseca
6ecbbc3c05 draw: Always use the llvm middle end when available & enabled. 2010-04-26 16:05:06 +01:00
José Fonseca
7fd9e3cfb0 svga: Pass-through max_index to translate. 2010-04-26 16:05:06 +01:00
José Fonseca
2a30d3d74a draw: Pass-through pipe_buffer::max_index to translate.
max_index must be observed to prevent crashes due to bad index data.

I've been using this patch for some time without regressions.

Some places, where we use internal vertex buffer, it is not entirely
clear what max_index should be, so passing just ~0 to avoid regressions
for now.
2010-04-26 16:05:06 +01:00
José Fonseca
fc431a58dc translate: Take and respect a max_index argument. 2010-04-26 16:05:06 +01:00
Corbin Simpson
b02f1c86f5 r300g: Rudimentary stats, printed on exit.
Whoo!
2010-04-26 07:13:51 -07:00
Corbin Simpson
bf98d61708 r300g: Add stats debug flag. 2010-04-26 07:13:51 -07:00
Andre Maasikas
12172071b5 r600: enable VERT_RESULT_PSIZ - makes point size & attenuation work
doc additions: shader export ARRAY_BASE for EXPORT_POS: 60 is position,
61 is misc vec(VS_OUT_MISC_VEC - used here),
62, 63 are clip distance vectors(VS_OUT_CCDIST#)

sorry for formating - there seem to be so many different styles in r600
2010-04-26 13:30:01 +03:00
Andre Maasikas
04a148629f r600: adjust point sprites after 911fa4a4a1
there's no more vp results for point coords so we cannot iterate
over vp outputs. Use only Point.CoordReplace[i]
2010-04-26 13:30:01 +03:00
Vinson Lee
5fd97573e3 scons: Include headers from the local include directory first.
Certain headers, such as GL/glew.h, are in both the Mesa include and the
default installed include directories. On recent distros the needed
symbols can be found in both places. On older distros the installed
headers could be lacking symbols, so for a header that exists in both
places, the local one should be found first.
2010-04-26 01:08:34 -07:00
Vinson Lee
31db310be4 os: Check for spurious wakeups in pipe_barrier_wait.
The POSIX function pthread_cond_wait can have spurious wakeups when
waiting on a condition variable.

Add a 64-bit counter that is incremented whenever the barrier becomes
full. A woken thread checks the counter. If the counter has not changed
then it has been spuriously woken and goes back to sleep. If the counter
has changed then it was properly signaled and exits the barrier.

Tested on Mac OS X.

This patch was based on ideas from Luca Barbieri.
2010-04-26 00:31:20 -07:00
Corbin Simpson
59fcbc0ac5 r300g: Use table CS writing when applicable.
I just broke the 2000 fps barrier on glxgears. Yay?
2010-04-26 00:24:26 -07:00
Corbin Simpson
c53142c3f4 r300g: Add CS table writing. 2010-04-26 00:24:26 -07:00
Vinson Lee
2d1b95477f et/egl: Remove dead code.
proc_name cannot be NULL after the switch statement. proc_name is
assigned a value or the function has already returned.
2010-04-26 00:19:14 -07:00
Vinson Lee
310ec9a17c nvfx: Add include path to SCons build. 2010-04-25 22:51:14 -07:00
Marek Olšák
671f1e1229 r300g: support index bias on r500 and DRM 2.3.0 2010-04-26 07:22:00 +02:00
Marek Olšák
54bcee1e40 r300g: support rendering more than 65535 vertices in one batch on r500
and disable batch splitting on these chipsets.
2010-04-26 07:22:00 +02:00
Marek Olšák
2579fe4044 r300g: emit MSPOS regs 2010-04-26 07:22:00 +02:00
Marek Olšák
b9e637e8cf r300g: force prefetch for non-indexed vertices 2010-04-26 07:22:00 +02:00
Marek Olšák
537d117ed5 r300g: use the dummy FS shader for shaders with zero instructions 2010-04-26 07:22:00 +02:00
Marek Olšák
52e591383b r300g: allow unaligned vertex formats if the stride is dword-aligned 2010-04-26 07:22:00 +02:00
Marek Olšák
824e2afea0 r300g: abort on unsupported vertex formats 2010-04-26 07:21:59 +02:00
Marek Olšák
d00b2560d5 r300g: abort if a vertex buffer offset is not dword-aligned 2010-04-26 07:21:59 +02:00
Vinson Lee
210218bb96 st/wgl: s/st_manager_create_api/st_gl_api_create/
commit 0c572c6828 replaced
st_manager_create_api with st_gl_api_create.

Fixes MSVC build.
2010-04-25 21:42:19 -07:00
Vinson Lee
78b47c337f nvfx: Add missing header. 2010-04-25 21:22:40 -07:00
Jakob Bornecrantz
1372a8f90d st/dri: Refactor dri_st_api into other files 2010-04-26 00:40:17 +01:00
Jakob Bornecrantz
27779ddad5 st/dri: Make st_framebuffer_iface the base for dri_drawable 2010-04-26 00:40:17 +01:00
Jakob Bornecrantz
a66b391edf st/dri: Make st_manager the base for dri_screen 2010-04-26 00:40:17 +01:00
Jakob Bornecrantz
ea6a52a1f8 st/dri: Add hooks for framebuffer functions 2010-04-26 00:40:17 +01:00
Jakob Bornecrantz
ab12d4f647 st/dri: Make lookup_egl_image a hook 2010-04-26 00:40:17 +01:00
Jakob Bornecrantz
0c572c6828 st_api: Remove st_module
The struct st_module isn't needed as it is the same thing as the st_api
struct. That is they both represent the API. Instead just use a single
function entry point to the the API.
2010-04-26 00:40:17 +01:00
José Fonseca
81ab19de04 llvmpipe: Respect pipe_sampler_view::swizzle_r/g/b/a
This allows u_sampler_view_default_dx9_template to do its magic on DX9.
2010-04-26 00:32:13 +01:00
José Fonseca
4dd1a56840 draw: Respect pipe_vertex_buffer::max_index in llvm generated code.
Everybody should respect max_index, specially llvm generated code, which
likes to eat vertices 4 at a time, so it may end up chew a bit a bit more
than actually exists.
2010-04-25 23:41:49 +01:00
José Fonseca
2cd128ab44 llvmpipe: No need to flush the caches for buffers. 2010-04-25 23:41:48 +01:00
José Fonseca
53e94bd4ad softpipe: Make softpipe transfers in-order.
Transfer, being now a context operation, should happen in order with
all other contexts operations. If there is rendering pending on the
resource then the driver must flush and potentially wait itself
internally.

Instead of avoiding using transfers internally (as done in llvmpipe) I've
opted to simply pass PIPE_TRANSFER_UNSYNCHRONIZED in all internal
transfers, to avoid infinite recursion.
2010-04-25 23:41:48 +01:00
José Fonseca
43b85af56e llvmpipe: Cleanup/improve llvmpipe_flush_resource usage.
Recognize PIPE_TRANSFER_UNSYNCHRONIZED and PIPE_TRANSFER_DONTBLOCK.
2010-04-25 23:41:48 +01:00
Vinson Lee
8352983e2a llvmpipe: Remove unused variable. 2010-04-25 13:10:02 -07:00
José Fonseca
7951630d08 llvmpipe: llvmpipe_flush_texture -> llvmpipe_flush_resource 2010-04-25 15:54:32 +01:00
José Fonseca
5745bcb2db llvmpipe: Fix buffer overflow unswizzling several formats.
Array formats without for channels were being advanced as four channels,
causing buffer overflows.
2010-04-25 15:54:32 +01:00
José Fonseca
89f244931f softpipe: Hardcode TILE_CLEAR_OPTIMIZATION to 1.
The un-optimized path relies on surface_fill which can only handle formats
with depth <= 32, so it is pointless to keep it around.
2010-04-25 15:54:32 +01:00
José Fonseca
23df86d851 llvmpipe: Replace tile_read/write with more descriptive swizzle/unswizzle verbs. 2010-04-25 15:54:31 +01:00
José Fonseca
adc7cd6240 llvmpipe: Cleanup llvmpipe_is_format_supported().
It should be just cosmetic.
2010-04-25 15:54:31 +01:00
José Fonseca
7e4ce65d71 softpipe: More accurate softpipe_is_format_supported().
Unfortunately there are some heavy limitations on supported render target
formats due to the way clear values are used internally.
2010-04-25 15:54:31 +01:00
José Fonseca
8a70c47c4c llvmpipe: Remove sp2lp.sh.
Irrelevant now that llvmpipe and softpipe grew so far apart.
2010-04-25 15:54:30 +01:00
José Fonseca
7cebd16fbb llvmpipe: lp_tex_sample_llvm.c -> lp_tex_sample.c
'llvm' suffix unnecessary now that the C sampling version disappeared.
2010-04-25 15:54:30 +01:00
Vinson Lee
7b7a9e8927 st/dri: Add missing header.
Add GL/internal/dri_interface.h for __DRI_TEXTURE_FORMAT_RGB.
2010-04-25 02:18:52 -07:00