Commit Graph
39166 Commits
Author SHA1 Message Date
Unknown W. Brackets dbb015f427 samplerjit: Oops, fix Linux mipmap handling. 2022-01-01 16:40:02 -08:00
Unknown W. Brackets c31f746896 PPGe: Disable dither in UI drawing.
We perform it in software, but it looks bad.
2022-01-01 16:40:01 -08:00
Unknown W. Brackets 8c31f1bb38 softjit: Fix regcache error when clearing.
Happens for non-through clears.
2022-01-01 16:40:01 -08:00
Unknown W. Brackets 0ad4502dd2 GPU: Fix bone matrix CALL opt corruption.
If the matrix number is high and we have extra CALLs, we can't load it
into the memory after the bone matrixes.
2022-01-01 16:40:01 -08:00
Unknown W. Brackets 85b7b221be Debugger: Correct delayed symbol listbox updates.
With the dialogs no longer created on start, this message wasn't coming
through.
2021-12-31 09:10:40 -08:00
Unknown W. Brackets 8ea67b571b samplerjit: Tiny dependency optimizations.
This had a small but measureable impact (~0.3%.)
2021-12-31 08:11:57 -08:00
Unknown W. Brackets fc3688d273 samplerjit: Small AVX optimization to modulate.
Only gives about 0.5% but it's still something.
2021-12-31 08:10:04 -08:00
Henrik Rydgård 244b0a86f6 Merge pull request #15262 from unknownbrackets/samplerjit-vec
samplerjit: Use SSSE3/SSE4 in linear filtering
2021-12-31 09:29:59 +01:00
Henrik Rydgård 879e2842db Merge pull request #15263 from unknownbrackets/softgpu
softgpu: Skip zero size triangles
2021-12-31 09:28:15 +01:00
Unknown W. Brackets 33e9841a4a softgpu: Skip zero size triangles.
These were drawing before, incorrectly, which caused artifacts.
Noticeable in Blade Dancer.
2021-12-31 00:20:12 -08:00
Unknown W. Brackets 1addf84e90 samplerjit: Use SSSE3/SSE4 in linear filtering. 2021-12-30 23:22:56 -08:00
Henrik Rydgård fd540f1780 Merge pull request #15261 from unknownbrackets/x64-avx
Add AVX/AVX2 instructions to the x64 emitter
2021-12-30 10:31:32 +01:00
Unknown W. Brackets 7aa9664d20 x64jit: Add AVX2-only instructions. 2021-12-29 19:46:26 -08:00
Unknown W. Brackets 7508fcc22d x64jit: Add AVX-only instructions. 2021-12-29 19:46:26 -08:00
Unknown W. Brackets 147b81d6f7 x64jit: Add AVX/AVX2 encodings.
Also fix the FMA double ones, which were passing W wrongly.
2021-12-29 19:46:26 -08:00
Henrik Rydgård 08e1677d7c Merge pull request #15260 from unknownbrackets/samplerjit-vec
Correct level bug in samplerjit, minor SSE4 opt
2021-12-29 21:42:01 +01:00
Unknown W. Brackets 4bd94a4e5e samplerjit: Pass funcs as an argument.
Seeing computing the ID in some profiles, so want to avoid computing per
thread/invocation.
2021-12-29 07:11:53 -08:00
Unknown W. Brackets 28cfbe0e5a samplerjit: Add an alternate profiling method.
This is more useful to group common operations together for profiling.
2021-12-29 07:11:39 -08:00
Unknown W. Brackets 3aedea89eb samplerjit: Correct level lookup offset. 2021-12-29 07:09:36 -08:00
Unknown W. Brackets bf06342f9d samplerjit: Minor SSE4 optimizations.
These seem to be a bit faster.
2021-12-29 07:07:35 -08:00
Henrik Rydgård d4d6dea443 Merge pull request #15256 from unknownbrackets/samplerjit-vec
Move texture coords, mipmapping, and blending func into linear jit
2021-12-29 10:23:13 +01:00
Unknown W. Brackets 631706a8ba samplerjit: Set stackArgPos_ early.
Unfortunately, this has to match the value set lower...
2021-12-28 20:21:21 -08:00
Unknown W. Brackets 74eb450e76 samplerjit: Move texture function into jit.
Could do this also for nearest, might end up with a third set of functions
there for a direct sample lookup (for debug funcs.)
2021-12-28 17:52:17 -08:00
Unknown W. Brackets 940e6bb1d7 samplerjit: Lookup both mip tex values. 2021-12-28 16:22:54 -08:00
Unknown W. Brackets 6b55d328e5 samplerjit: Use regcache for linear filtering.
This makes it easier to reuse for mipmap filtering.
2021-12-28 15:37:25 -08:00
Unknown W. Brackets cdf14c8579 samplerjit: Calculate mip level U/V/offsets.
Not actually doing the sampling for the second mip level in the single jit
pass yet, but close.
2021-12-28 14:12:58 -08:00
Unknown W. Brackets a4558a5736 samplerjit: Take texptr/bufw as arrays.
Prep for moving mip map sampling into linear.
2021-12-28 12:04:16 -08:00
Unknown W. Brackets 4864850b3b samplerjit: Handle mipmap width/height in S/T calc. 2021-12-28 11:29:29 -08:00
Unknown W. Brackets a84accf713 samplerjit: Move S/T calculation into jit.
Gives a pretty decent 5-10% improvement in many places.
2021-12-28 09:58:23 -08:00
Unknown W. Brackets 476dfdf731 samplerjit: Add more bits for S/T, skip multiply.
For now, we're not using those other bits yet.
2021-12-27 18:24:37 -08:00
Unknown W. Brackets 9cc0883d53 softgpu: Correct non-SSE T clamp. 2021-12-27 15:31:37 -08:00
Henrik Rydgård 1f5680e614 Merge pull request #15253 from unknownbrackets/samplerjit-vec
Vectorize texture sampling a bit, make filtering more accurate
2021-12-27 21:00:51 +01:00
Unknown W. Brackets 39d5b1c221 softgpu: Reduce mipmap fraction to 4 bits.
For CONST (and SLOPE with flat w), this produces accurate values.
SLOPE is still wrong in its handling of w, and AUTO seems to calculate
using a different and less accurate ramp.  But they both produce values
with 16 steps, in any case.
2021-12-27 11:37:33 -08:00
Unknown W. Brackets d6b6ef4cb1 softgpu: Correct nearest filtering too.
Turns out to have the same behavior as linear, when it comes to the
subpixel offset.
2021-12-27 11:37:33 -08:00
Unknown W. Brackets 1dfaea9062 softgpu: Remove no longer possible report.
Also, it's known how this behaves, now.
2021-12-27 11:37:33 -08:00
Unknown W. Brackets 75f105f84b softgpu: Make linear filtering more accurate.
This matches tests for various u/v offsets and x/y subpixel offsets.
Mipmaps are probably still wrong.
2021-12-27 11:37:32 -08:00
Unknown W. Brackets 3cd19b02ac samplerjit: Handle unswizzled offsets too. 2021-12-27 11:37:32 -08:00
Unknown W. Brackets 820361f34b samplerjit: Calculate texel byte offset as vector. 2021-12-27 11:37:32 -08:00
Unknown W. Brackets 4d6a2f3919 samplerjit: Blend linear using integers. 2021-12-27 11:37:32 -08:00
Unknown W. Brackets 6f4e735757 samplerjit: Accumulate results in an XMM. 2021-12-27 11:37:32 -08:00
Unknown W. Brackets b00a66e34c samplerjit: Pass u/v coords as vector. 2021-12-27 11:37:32 -08:00
Henrik Rydgård cc767622d0 Merge pull request #15247 from unknownbrackets/debugger-hash
Debugger: Don't try to hash invalid RAM
2021-12-21 08:29:37 +01:00
Unknown W. Brackets 9017f91253 Debugger: Don't try to hash invalid RAM. 2021-12-20 16:17:18 -08:00
Unknown W. Brackets 31d7d1e55a Merge pull request #15244 from hrydgard/vulkan-profiler-toggle
Make the Vulkan GPU log profiler a runtime developer setting
2021-12-19 15:32:20 -08:00
Henrik Rydgård 74f76e5ef1 Missing stdarg.h include 2021-12-20 00:11:51 +01:00
Unknown W. Brackets fadf01dc7b Vulkan: Update profiler formatting for this. 2021-12-19 14:56:50 -08:00
Henrik Rydgård df2f0df155 Make the Vulkan GPU log profiler a runtime developer setting.
I keep forgetting to disable the define on commit, this is a better
solution.
2021-12-19 22:50:14 +01:00
Henrik Rydgård 748b8287a6 Add format string support to Vulkan log-profiler 2021-12-19 22:21:34 +01:00
Henrik Rydgård 2c38a14ad6 Merge pull request #15243 from unknownbrackets/icache-hash
jit: Use a hash for invalidate/clear all
2021-12-19 20:59:56 +01:00
Unknown W. Brackets 00f9707399 jit: Use a hash for invalidate/clear all.
This should make sceKernelICacheClearAll() more useful.
2021-12-19 10:40:33 -08:00