Commit graph

8804 commits

Author SHA1 Message Date
Roland Scheidegger
8bd87b662f st/python: adapt to interface changes
compile tested only.
Should probably change the python surface_copy/fill functions
also into resource_copy/fill_region functions and adapt the code
using them.
2010-05-17 21:32:41 +02:00
Roland Scheidegger
eb2b668b37 svga: adapt to interface changes
might need further cleanup. Using surfaces internally just to be able to use
the existing code might cause unnecessary copies afaict.
2010-05-17 21:30:01 +02:00
Roland Scheidegger
39b4bf71b5 r300g: adapt to interface changes
might need further cleanup. Using surfaces internally for the u_blitter code
seems nonoptimal.
2010-05-17 21:29:17 +02:00
Roland Scheidegger
b59b23a51d nouveau: adapt to interface changes
this probably needs further cleanup (just getting a surface for the resource
seems quite nonoptimal and potentially cause unnecessary copies I think)
2010-05-17 21:28:14 +02:00
Roland Scheidegger
433701a721 fo: adapt to interface changes 2010-05-17 21:25:27 +02:00
Roland Scheidegger
fd578be828 identity: adapt to interface changes 2010-05-17 21:25:16 +02:00
Roland Scheidegger
bd771cda8e trace: adapt to interface changes 2010-05-17 21:25:07 +02:00
Roland Scheidegger
a02ddd48c5 i965g: adapt to interface changes 2010-05-17 21:24:50 +02:00
Roland Scheidegger
bccf31bf5f i915g: adapt to interface changes 2010-05-17 21:24:04 +02:00
Roland Scheidegger
6c32670706 softpipe: adapt to interface changes 2010-05-17 21:23:46 +02:00
Roland Scheidegger
e121a73d62 llvmpipe: adapt to interface changes 2010-05-17 21:23:31 +02:00
Roland Scheidegger
57a0171225 cell: adapt to interface changes
not even compile tested but fairly trivial
2010-05-17 21:22:23 +02:00
Roland Scheidegger
815b75705f gallium/util: adapt util code to interface changes
The util blit functions change their interface (apart from some rename) too
(in particular util_blit_pixels now also takes a pipe_resource as the src blit
argument instead of a surface, as it might just call resource_copy_region).
Maybe the blit util code might need a bit more cleanup, it still doesn't feel
very clean. In particular it seems that util_blit_pixels_tex should probably
disappear, and I think it would be great if the code called by drivers for
blitting (u_blitter.c, which isn't really touched by this change) could somehow
be merged with the u_blit code.
2010-05-17 21:15:20 +02:00
Roland Scheidegger
379db6a36b gallium: clean up resource_copy_region function
Previously, surface_copy was said to allow overlapping blits, and it was
"optional". However, some state trackers actually assumed it is always present,
and quite some code (like in u_blit) assumed overlapping isn't allowed.
Hence, resource_copy_region (and in the same spirit, resource_fill_region) is
now mandatory, but overlapping blits are no longer allowed. A driver can plug
in the cpu fallback util_resource_copy_region if it does not want to provide its
own implementation, though this is not optimal.
2010-05-17 21:02:24 +02:00
Roland Scheidegger
6272d7632a gallium: another interface change for multisampling
due to popular request, use nr_samples parameter in is_format_supported()
instead of new is_msaa_supported() query.
This makes it easily possible to query if a format with a given sample count
is also supported not only as render target, but for sampler views (note that
texture sampling from multisampled resources isn't supported yet).
It is not quite how dx10 format msaa queries work, but we might need to revisit
format queries completely in the future anyway.
2010-05-17 20:52:08 +02:00
Roland Scheidegger
0ae2f59c02 Merge commit 'origin/master' into gallium-msaa 2010-05-04 15:58:29 +02:00
José Fonseca
ec43b2eb45 gallivm: Proper implementation of TXL opcode. 2010-05-04 13:51:54 +01:00
José Fonseca
4554cdc289 gallivm: Fix several glitches introduced in the prev commit. 2010-05-04 13:32:40 +01:00
José Fonseca
962558daae gallivm: Implement TXD. 2010-05-04 10:08:10 +01:00
Brian Paul
8b0c217f2b gallium: move surface utility functions into u_surface.c
This is a better place than in u_rect.c
2010-05-03 17:28:32 -06:00
José Fonseca
6c8c88f02f gallivm: Increase the TGSI translation limits and centralize them in a header. 2010-05-04 00:22:16 +01:00
José Fonseca
a9d1a85f81 gallicm: Newton-Raphson step to improve precision.
Disabled as it doesn't make VS/PSPrecision DCT happy, and it would
unnecessarily slow some cases where it is not needed.
2010-05-04 00:22:16 +01:00
Brian Paul
9b02f41cac cso: use framebuffer utility functions 2010-05-03 17:13:21 -06:00
Brian Paul
1fc5a318a6 gallium: move framebuffer utility functions into a new file 2010-05-03 17:08:17 -06:00
Marek Olšák
ac6a26b429 r300g: use util_format_short_name and util_format_is_plain 2010-05-03 20:39:43 +02:00
Marek Olšák
5a6b9f3855 util: add util_format_short_name 2010-05-03 20:39:43 +02:00
Marek Olšák
bc3d9a8b18 util: add util_format_is_plain 2010-05-03 20:39:43 +02:00
Marek Olšák
5cdedaaf29 r300g: refuse to create a texture with size 0 2010-05-03 20:39:40 +02:00
Marek Olšák
0bcb4f1001 r300g: improve texture debug output, split into TEX and TEXALLOC flags 2010-05-03 19:29:32 +02:00
Török Edwin
15af543f10 Reorder LLVM passes, running mem2reg earlier.
This gives a ~30% shader optimization time improvement on blender.
Tested by comparing the dumped LLVM modules.
Current ordering:
time ~/llvm-git/obj/Release-Asserts/bin/opt l.bc  -constprop -instcombine
-mem2reg -gvn  -simplifycfg
real    0m1.126s
user    0m1.108s
sys     0m0.012s

With this patch:
time ~/llvm-git/obj/Release-Asserts/bin/opt l.bc -mem2reg -constprop -instcombine   -gvn  -simplifycfg
real    0m0.885s
user    0m0.880s
sys     0m0.000s

The overall improvement in blender is ~15%.
Blender without the patch takes 1m13s:
edwin     5934 87.6 11.5 729440 458296 pts/5   SLl+ 17:35   1:13 blender

Blender with the patch takes 1m3s:
edwin     5726 94.2 11.2 716424 446168 pts/5   SLl+ 17:32   1:03 blender

It is still slow with the patch, but better (most of the optimization time is
taken up by GVN, see LLVM PR7023).

Signed-off-by: Török Edwin <edwintorok@gmail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-05-03 17:01:20 +01:00
José Fonseca
723ab664f6 svga: Silent warning. 2010-05-03 17:01:20 +01:00
José Fonseca
9db4a211e9 gallivm: Display message instead of crashing when sampler generator was not supplied for tgsi translation. 2010-05-03 13:18:53 +01:00
José Fonseca
4b891234f8 translate: Make translate_generic truly generic.
PIPE_FORMAT_R10G10B10X2_USCALED, half floats, were not supported, so
just rely on u_format for (almost) universal format support.
2010-05-03 12:18:55 +01:00
José Fonseca
caede7528d draw: Remove draw_pt_fetch_prepare call from llvm middle end.
Unneeded since we code generate the vertex fecthes.
2010-05-03 12:15:32 +01:00
José Fonseca
14a0328d4b tgsi: Parse and dump predicates. 2010-05-03 12:13:54 +01:00
José Fonseca
d288698a76 gallium: Remove loop register file.
It was only used for D3D's REP/END/BGNFOR/ENDFOR. D3D's aL register is
just like another address register now.
2010-05-03 10:53:32 +01:00
José Fonseca
e27983bc08 gallivm: Replace predicate assertion failure with warning message. 2010-05-03 09:54:01 +01:00
José Fonseca
d44c8ee568 draw: Disable rtasm compilation when using LLVM.
Saves time and trouble.
2010-05-03 09:53:12 +01:00
Dave Airlie
e8f48b1dc9 softpipe: invalidate cache view when swizzles are different.
Current code only invalidated if the texture was different, however we
store swizzled values in the cache, so we need to invalidate in that case
also.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-03 16:27:42 +10:00
Zack Rusin
d2b6ed7c4d gallivm: fix nested break and continue statements
we were resetting the mask on each new break/continue statement within
the same scope. we always need to and the current execution mask
with the current break/continue mask to get the correct result (the
masks are always ~1 initially)
2010-05-02 21:40:30 -04:00
Jakob Bornecrantz
c2c1f60391 identity: Move sampler view create and destroy to id_objects.c 2010-05-03 00:27:38 +01:00
Jakob Bornecrantz
59b160d286 identity: s/texture/resource/ 2010-05-03 00:27:37 +01:00
Jakob Bornecrantz
eda7c2506a identity: Whitespace & Style 2010-05-03 00:27:37 +01:00
Luca Barbieri
d0f9e7521c gallium/util: print \n after DXTn printf
Re-add commit 2d65a7caf9

Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-05-03 00:14:20 +01:00
Xavier Chantry
5362f77b47 llvmpipe: add lp_test_* to .gitignore
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-05-03 00:13:36 +01:00
José Fonseca
b84590994c svga: Remove the screen private context.
All affected operations have already been moved to context.

More cleanup work can be done, in particular with the buffer transfers.
2010-05-03 00:13:36 +01:00
José Fonseca
49e37469bd svga: Remove empty file. 2010-05-03 00:13:36 +01:00
José Fonseca
7e28479c3a svga: Update flags documentation. 2010-05-03 00:13:36 +01:00
José Fonseca
4885cd4ff7 softpipe: Fix alpha blending for formats without alpha channel.
Don't use the dst alpha channel from the tile cache when it does not
exist in the true format.
2010-05-03 00:13:36 +01:00
José Fonseca
59253a79d8 llvmpipe: Fix alpha blending for formats without alpha channel.
Don't use the dst alpha channel from the swizzled tile when it does not
exist in the true format.
2010-05-03 00:13:36 +01:00