| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
might need further cleanup. Using surfaces internally just to be able to use
the existing code might cause unnecessary copies afaict.
|
|
|
|
|
| |
might need further cleanup. Using surfaces internally for the u_blitter code
seems nonoptimal.
|
|
|
|
|
| |
this probably needs further cleanup (just getting a surface for the resource
seems quite nonoptimal and potentially cause unnecessary copies I think)
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
not even compile tested but fairly trivial
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\ |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
This is a better place than in u_rect.c
|
| | |
|
| |
| |
| |
| |
| | |
Disabled as it doesn't make VS/PSPrecision DCT happy, and it would
unnecessarily slow some cases where it is not needed.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 <[email protected]>
Signed-off-by: José Fonseca <[email protected]>
|
| | |
|
| |
| |
| |
| | |
supplied for tgsi translation.
|
| |
| |
| |
| |
| | |
PIPE_FORMAT_R10G10B10X2_USCALED, half floats, were not supported, so
just rely on u_format for (almost) universal format support.
|
| |
| |
| |
| | |
Unneeded since we code generate the vertex fecthes.
|
| | |
|
| |
| |
| |
| |
| | |
It was only used for D3D's REP/END/BGNFOR/ENDFOR. D3D's aL register is
just like another address register now.
|
| | |
|
| |
| |
| |
| | |
Saves time and trouble.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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 <[email protected]>
|
| |
| |
| |
| |
| |
| |
| | |
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)
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Re-add commit 2d65a7caf97684aa654088c76a74b632fbd685fa
Signed-off-by: Xavier Chantry <[email protected]>
Signed-off-by: José Fonseca <[email protected]>
|
| |
| |
| |
| |
| | |
Signed-off-by: Xavier Chantry <[email protected]>
Signed-off-by: José Fonseca <[email protected]>
|
| |
| |
| |
| |
| |
| | |
All affected operations have already been moved to context.
More cleanup work can be done, in particular with the buffer transfers.
|
| | |
|
| | |
|