Rémi Verschelde
e479bf7f7b
TextureDecoder: Fix misuse of NEON on all armv7
...
`ppsspp_config.h` properly defines `PPSSPP_ARCH(ARM_NEON)` already for
arm64v8 and armv7+NEON, so we use that instead of using NEON instructions
on all armv7.
2020-06-27 17:29:24 +02:00
Unknown W. Brackets
4a8839c99d
GPU: Avoid divide by zero in garbage displaylist.
2020-03-19 20:56:24 -07:00
Unknown W. Brackets
1199008641
TexCache: Align bufw properly even for VRAM.
...
Fixes minimap arrows in Manhunt 2 (see #9615.)
2019-03-24 19:21:08 -07:00
Unknown W. Brackets
bd294f658f
TexCache: Round DXT5 alpha up.
...
This isn't quite right, but it seems better than rounding down.
Experimented with a lower round up value, but none were right - the
weighting must be more complex.
2018-11-04 09:36:39 -08:00
Unknown W. Brackets
df200fc3d2
TexCache: In DXT3, don't swizzle alpha.
...
Hardware doesn't seem to.
2018-11-04 09:36:39 -08:00
Unknown W. Brackets
c31e01771e
TexCache: Respect color order in DXT3/5.
...
Hardware is still doing DXT1 style colors in this scenario.
2018-11-04 09:36:39 -08:00
Unknown W. Brackets
11ab4e8634
TexCache: Mix DXT colors using 2/3 not 3/8.
...
Hardware draws using 2/3. Adding this way matches rounding, too.
2018-11-04 09:36:39 -08:00
Unknown W. Brackets
35a1d8a1ef
TexCache: Decode DXT1 zero alpha as black.
...
Hardware tests show this is how it decodes, which is more like standard
DXT1 decoding.
2018-11-04 08:09:56 -08:00
Unknown W. Brackets
38eb9d12d0
TexCache: Don't swizzle DXT1 colors.
...
Hardware tests show that this shouldn't happen. May be important for
color tests, etc.
2018-11-04 08:09:13 -08:00
Unknown W. Brackets
97773d3dd5
TexCache: Fix texture alignment in GLES.
...
We must align to 4 bytes, and we aren't always aligned to 16 anymore, so
we must check when dealing with swizzle.
2018-09-08 19:00:30 -07:00
Unknown W. Brackets
f65edc20a3
TexCache: Optimize DXT5 alpha lerp.
...
This makes the overall DXT5 decode about 8% faster.
2018-09-02 11:41:27 -07:00
Unknown W. Brackets
3f35221f3b
TexCache: Avoid masking out alpha for DXT3/DXT5.
...
A little faster. Also refactor colors a bit to be more readable.
2018-09-02 09:53:31 -07:00
Unknown W. Brackets
8ae2b1e6fb
TexCache: Optimize DXT3/DXT5 decode to single pass.
...
This is significantly faster on Vulkan, and in other situations where
we're decoding directly to uncached memory.
2018-09-02 09:30:46 -07:00
Unknown W. Brackets
715a7b7318
Global: Silence some unused declaration warnings.
...
These things aren't used on Android.
2017-12-03 19:22:03 -08:00
Unknown W. Brackets
65e71f57c7
TexCache: Add NEON alpha checks for Vulkan.
2017-11-12 16:45:05 -08:00
Unknown W. Brackets
f087b87b0c
TexCache: Simplify CheckAlpha funcs and SIMD.
...
Only check for full alpha now, which is simpler.
2017-11-12 16:41:19 -08:00
Unknown W. Brackets
9fbcc01afa
TexCache: Remove simple 0/1 alpha check.
...
No practical optimizations have come of this, so it's a waste of time.
Slows down Vulkan too.
2017-11-12 16:17:46 -08:00
Henrik Rydgard
b0bd7e3c6f
Minor changes for compatibility with VS2017
2017-03-12 17:33:00 +01:00
Henrik Rydgard
b1971d266b
Protect Unswizzle from bad alignment of the destination. Might help #9134
2017-02-23 23:03:01 +01:00
Henrik Rydgard
b0cdcfca3c
D3D11: Proper fix for DXT5 crash. May also help #9134 .
2017-02-18 02:41:17 +01:00
Henrik Rydgård
e47138a5f3
Warning fixes
2017-01-17 20:26:48 +07:00
Henrik Rydgard
ea5e9f8c35
Fix ARM64 Android build
2016-11-03 22:15:50 +01:00
Jools Wills
afe8e2bfb4
Fix building on rpi - #9104
...
Check for PPSSPP_ARCH(ARM_NEON) for neon code
Fix up rpi armv6/armv6 toolchain to work around issue with CMAKE_*_FLAGS not being set.
2016-11-01 02:45:30 +00:00
Florent Castelli
8c3552de74
cmake: Detect features at compile time
...
Instead of relying on manually passed down flags from CMake,
we now have ppsspp_config.h file to create the platform defines for us.
This improves support for multiplatform builds (such as iOS).
2016-10-19 12:31:19 +02:00
Unknown W. Brackets
f039259a1a
Use a same-everywhere quick hash for now.
2016-05-01 00:30:43 -07:00
Unknown W. Brackets
3593a7963e
Cleanup and clarify texture swizzling funcs.
2016-03-26 21:55:32 -07:00
Unknown W. Brackets
6b3260df9a
Correct SSE alpha check for 4444 textures.
...
Oops, can't use cmplt here.
2016-01-12 00:20:36 -08:00
Unknown W. Brackets
7bfe100b0f
Fix some unused variable warnings.
...
The CheckAlpha one looks like it will matter.
2015-11-25 16:11:53 -08:00
Henrik Rydgard
2430c283a5
More GPU cleaning, removing uses of GPUState.h where not needed.
...
Want to get rid of direct accesses to GPUState in modules that may be reused in
my future next-gen backends, that will reformat display lists into command lists that will
then be optimized and executed, out of sync with the real GPUState.
Candidate modules that may be reused in full are Framebuffer and Depal, possibly TextureCache to some degree.
2015-07-29 12:37:49 +02:00
Unknown W. Brackets
7f8cf7f800
arm64: Use XXH64 for vertex hashing, etc.
...
Based on benchmarks, it performs better than XXH32 on an A57.
2015-07-22 21:38:01 -07:00
Unknown W. Brackets
401bd35691
Swizzle video texture data on write to mirrors.
2015-06-13 16:29:56 -07:00
Henrik Rydgård
2a1f6bca97
Fix NEON 4444 CheckAlpha, workaround for failed bNEON detection on ARM64
2015-05-31 12:29:08 +02:00
KentuckyCompass
880697f40a
Add NEON versions of the CheckAlpha family
2015-05-25 18:04:52 -07:00
Unknown W. Brackets
ba77ad607e
Erp, dumb typo.
2015-05-25 15:47:14 -07:00
Unknown W. Brackets
5d244229ba
Silence a type conversion warning.
2015-05-25 10:07:05 -07:00
Unknown W. Brackets
f78acfb867
Cleanup a few things in SSE CheckAlpha.
2015-05-25 07:39:31 -07:00
Unknown W. Brackets
c75010931c
Use SSE in CheckAlpha scanning.
2015-05-24 22:55:43 -07:00
Unknown W. Brackets
4880c29a90
Use TextureDecoderNEON funcs statically on arm64.
...
Not sure if they were being used before (HAVE_ARMV7...?)
2015-05-23 11:30:05 -07:00
Henrik Rydgard
c2cf2bd97e
Move some more color conversion functions to ColorConv
2015-04-08 22:52:47 +02:00
Henrik Rydgard
31961eace9
Color conv attempt 2. Start consolidating simple color conversion functions in a single header+cpp.
2015-04-08 22:52:46 +02:00
Henrik Rydgard
cae58cafee
Revert "Merge pull request #7361 from hrydgard/color-conv-centralize"
...
This reverts commit f1b57dabf5
, reversing
changes made to 41001637ce
.
2015-01-22 19:53:32 +01:00
Henrik Rydgard
2623a48b4a
Centralize color conversion functions in Common/ColorConv.
2015-01-20 17:32:54 +01:00
Unknown W. Brackets
3977f5a8ec
Add a non-SSE implementation of the QuickTexHash.
...
This way we can use it as a stable value for texture replacements.
2014-10-29 16:37:44 -07:00
Unknown W. Brackets
2b16b5b79b
Use XXH64 on 64-bit systems.
...
I'm not able to reproduce any real performance difference, but I know
there are some games which do more hashing and it may help there.
2014-10-26 17:49:24 -07:00
Sacha
4ed944a576
Remove redundant armv7 defines.
2014-06-11 15:15:39 +10:00
Unknown W. Brackets
e8d5866e5a
Use SSE some in framebuffers to memory.
...
Since people are using it (even though it seems dangerous), might as well
make it faster. 6% better in Tales of Phantasia X.
2014-05-04 01:03:48 -07:00
Unknown W. Brackets
006ed53e73
Use defines on x86/SSE to avoid func pointers.
...
Unfortunately no such luck for Android.
2014-03-25 01:28:09 -07:00
Unknown W. Brackets
b800762ceb
Add a NEON-optimized version of XXH32.
...
This takes at least 40% less time to hash on NEON/ARM devices.
2014-03-25 00:34:55 -07:00
Unknown W. Brackets
b44d10a91e
Move texture unswizzling to decoder, use NEON.
2014-03-22 21:35:16 -07:00
Unknown W. Brackets
d8e9ed73ab
Fix a code alignment warning.
...
I'm not really clear on why this code would not be 4 byte aligned,
but cmake says it ain't on iOS, so okay.
2014-01-10 22:21:31 -08:00