Age | Commit message (Collapse) | Author |
|
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>
|
|
|
|
|
|
supplied for tgsi translation.
|
|
Pointed out by Colin Harrison.
|
|
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 <airlied@redhat.com>
|
|
update for fbconfig_style_tags
|
|
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 <chantry.xavier@gmail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
|
|
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
|
|
All affected operations have already been moved to context.
More cleanup work can be done, in particular with the buffer transfers.
|
|
|
|
|
|
Don't use the dst alpha channel from the tile cache when it does not
exist in the true format.
|
|
Don't use the dst alpha channel from the swizzled tile when it does not
exist in the true format.
|
|
Even though swrast defines its own __DriverAPIRec it still shares the
driCreateNewContext() implementation from dri_util.c. So the CreateContext
prototypes have to match in the two __DriverAPIRecs.
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
|
|
Fixes svga_screen_init_surface_functions implicit declaration warning.
|
|
|
|
|
|
Fixes _mesa_alloc_dispatch_table implicit declaration warning.
|
|
It's already done in r300_emit_buffer_validate.
This also fixes Total Annihilation 3D on debug builds at least.
|
|
No accelerated blitting for these, it's too messy.
|
|
|
|
|
|
This still requieres manual generation of the es1 and es2 glapis and is
disabled by default.
|
|
Seems to get everything building again here.
|
|
|
|
|
|
Conflicts:
src/mesa/drivers/dri/common/dri_util.h
|
|
|
|
|
|
|
|
This further reduces the number of DRM calls and flushes.
|
|
This reverts commit 3e0f1719d411b34f77fd2a053ecf83b43bb836ca.
|
|
These two should be tied together because what's set in VAP or stuffed in GA
should be rasterized in RS. Not doing so causes a hardlock.
The reason for the merge is that if stuffed texture coordinates (e.g. point
sprite texgen) happen to occupy the texcoord slot dedicated to fog or wpos,
the two must be relocated to other free slots, which needs remapping the vertex
shader outputs.
The rasterizer code is now literally a sequence read-rasterize-write.
|
|
|
|
Resetting tiling flags might happen after a texture is destroyed...
Looking at the kernel sources, we don't actually need to reset the tiling
flags.
|
|
|
|
|