Commit Graph

8094 Commits

Author SHA1 Message Date
Unknown W. Brackets
0d7f151167 jit-ir: Add a utility func for applying passes. 2016-05-08 16:08:35 -07:00
Unknown W. Brackets
d19174b52b jit-ir: Skip const flush on downcount op.
This allows discarding more unused constants.
2016-05-08 14:56:43 -07:00
Henrik Rydgard
c7e4658b6d More constant propagation 2016-05-08 23:25:47 +02:00
Henrik Rydgard
d4480d50fd jit-ir: Less instructions cause flushing in constant propagation. 2016-05-08 23:25:08 +02:00
Unknown W. Brackets
5dbac165f4 Qt, gcc, and Symbian buildfixes. 2016-05-08 14:10:07 -07:00
Henrik Rydgard
4e52f613f1 Additional fixes and buildfixes 2016-05-08 22:23:51 +02:00
Henrik Rydgard
f8659b8e1e Move the IR interpreter out into its own file. Rename it in the UI. First CMake and Android fixes. 2016-05-08 22:06:13 +02:00
Henrik Rydgard
492ea5fac4 Address a bunch of comments, thanks for the review 2016-05-08 21:38:03 +02:00
Henrik Rydgard
3eb5480ade Initial VFPU 2016-05-08 13:32:22 +02:00
Henrik Rydgard
98113edbd4 More simplify pass 2016-05-08 11:29:11 +02:00
Henrik Rydgard
14df39d7c9 Fix IRTEMP clash bug. Add more cases to the constant propagation pass. 2016-05-08 10:36:37 +02:00
Henrik Rydgard
aae32bd929 ir-jit: Re-enable mult. Fix bvf/bvt 2016-05-08 02:47:19 +02:00
Henrik Rydgard
46e839b2b2 ir-jit: Fix bugs in rounding 2016-05-08 02:26:36 +02:00
Henrik Rydgard
e750987052 ir-jit: Fix bug in ext 2016-05-08 02:09:01 +02:00
Henrik Rydgard
7d4774db4c Fix wsbw 2016-05-08 02:08:25 +02:00
Henrik Rydgard
1a2edc67d0 Add support for float store/load 2016-05-08 02:03:11 +02:00
Henrik Rydgard
ce8aae5ed1 Make the IRJit core selectable in developer tools 2016-05-08 01:43:27 +02:00
Henrik Rydgard
09969c0156 Use the regcache in a new (incomplete) pass, PropagateConstants. 2016-05-08 01:06:07 +02:00
Henrik Rydgard
a33f8b68c6 ir-jit: Get rid of the regcache. Should be replaced with optimization passes. 2016-05-07 23:12:53 +02:00
Henrik Rydgard
750d520cc7 Initial work on mult and friends. Fix another bug. 2016-05-07 22:27:58 +02:00
Henrik Rydgard
3c5510e5a3 Disable debug file logging, fix issue with replacement functions, etc 2016-05-07 21:35:12 +02:00
Henrik Rydgard
38b7d89dfb Fix a performance issue in CallSyscall 2016-05-07 21:34:27 +02:00
Henrik Rydgard
12edfcea5a Enough to run cpu_alu.prx. 2016-05-07 21:00:30 +02:00
Henrik Rydgard
4acf85aa06 It's kind of starting to run 2016-05-07 17:37:19 +02:00
Henrik Rydgard
d399c4a470 Initial commit for IRJit 2016-05-07 13:58:29 +02:00
Henrik Rydgard
49a6a2f6cf Minor refactor - let's not access a global when we don't need to 2016-05-06 21:22:36 +02:00
Unknown W. Brackets
9280bb3eda Merge pull request #8715 from unknownbrackets/tex-replace
Initial texture replacement support
2016-05-01 09:58:16 -07:00
Unknown W. Brackets
2e1986d0c8 Fix a few reorder warnings. 2016-05-01 09:50:03 -07:00
Henrik Rydgård
b6d7aab8dc Merge pull request #8716 from hrydgard/remove-preprocessor-hacks
Remove preprocessor hacks around the JITs
2016-05-01 18:47:59 +02:00
Henrik Rydgard
ccce19e14a Fix accidentally truncated comment. 2016-05-01 18:47:32 +02:00
Unknown W. Brackets
994d2dd85e Skip video in replacement saving by default. 2016-05-01 08:58:14 -07:00
Unknown W. Brackets
c20075b0e0 Pass video info to texture replacements. 2016-05-01 08:54:43 -07:00
Unknown W. Brackets
f5b93bc6f0 Remove global num videos hack. 2016-05-01 08:53:48 -07:00
Unknown W. Brackets
329be68f57 Fix error when disabled.
We want to return a reference here, so let's always return.
2016-05-01 08:04:15 -07:00
Henrik Rydgård
e91fc59bbe Merge pull request #8693 from sum2012/pmp-video
Temporarily disable PMP video for non-windows
2016-05-01 11:49:55 +02:00
Henrik Rydgard
ffe4c266ef Add CodeBlockCommon base class to remove further arch-specificity in JitBlockCache
Remove unused ArmThunk.
2016-05-01 11:40:00 +02:00
Henrik Rydgard
8b450c8034 Merge NativeJit.cpp/h with JitCommon.cpp/h 2016-05-01 11:39:59 +02:00
Henrik Rydgard
5aadce59a2 Move architecture-specific code out of JitBlockCache 2016-05-01 11:39:58 +02:00
Henrik Rydgard
a5be0976bd Remove preprocessor hacks to choose JIT implementation.
Opens up for having multiple JIT implementations available at runtime,
which could be use for experimenting with new JIT compiler types or for
unit testing one JIT on another architecture.

Very few of the newly virtual calls are on any sort of critical path so
hopefully there will not be a performance loss.
2016-05-01 11:39:53 +02:00
Henrik Rydgard
106a7d6a3b Remove more unused code (advanceCallback) 2016-05-01 11:35:16 +02:00
Henrik Rydgard
4645473dab Remove unused code 2016-05-01 11:35:16 +02:00
Unknown W. Brackets
450554450f Attempt to buildfix Symbian. 2016-05-01 00:48:11 -07:00
Unknown W. Brackets
cd6f36a439 Correct handling of 8 bit and no-alpha PNGs. 2016-05-01 00:30:54 -07:00
Unknown W. Brackets
f26c0328da Check alpha when loading replaced textures. 2016-05-01 00:30:53 -07:00
Unknown W. Brackets
c4b27525e0 Disable texture replacement on Qt. 2016-05-01 00:30:52 -07:00
Unknown W. Brackets
bed82da352 Make ini case insensitive. 2016-05-01 00:30:51 -07:00
Unknown W. Brackets
223f95f28c Allow a short alias for video frames, etc. 2016-05-01 00:30:51 -07:00
Unknown W. Brackets
e1fd6b6f21 Account for scaleFactor when saving clipped PNG. 2016-05-01 00:30:50 -07:00
Unknown W. Brackets
7a4af06cee Save new textures into a separate path.
This way you can tell which ones you've done already.
2016-05-01 00:30:49 -07:00
Unknown W. Brackets
f536182b37 Cache texture replacement lookup info.
This way we can avoid hitting the disk where possible.  We could even
preload.
2016-05-01 00:30:48 -07:00
Unknown W. Brackets
9ffc717de1 Properly save 16-bit textures for replacements. 2016-05-01 00:30:47 -07:00
Unknown W. Brackets
149de4147a Skip replacements for PPGe textures. 2016-05-01 00:30:47 -07:00
Unknown W. Brackets
c1a8edfedf Replace textures from PNGs. 2016-05-01 00:30:46 -07:00
Unknown W. Brackets
6d0c7a9faf Skip gaps in texture replacement hashing.
This should hopefully provide the least duplicates possible.
2016-05-01 00:30:45 -07:00
Unknown W. Brackets
120cd0fb7e Don't convert pixels we're not going to use anyway. 2016-05-01 00:30:44 -07:00
Unknown W. Brackets
0c357c0ea3 Pass w/h in for replacement lookup.
So we can scale the w/h properly.
2016-05-01 00:30:44 -07:00
Unknown W. Brackets
f039259a1a Use a same-everywhere quick hash for now. 2016-05-01 00:30:43 -07:00
Unknown W. Brackets
4f3bac1b0a Actually load the texture replacement ini file. 2016-05-01 00:30:42 -07:00
Unknown W. Brackets
59ada74deb Allow hashes to be ignored explicitly.
Still need the actual ini hookup.
2016-05-01 00:30:42 -07:00
Unknown W. Brackets
d6e5df6f21 Save individual mip levels. 2016-05-01 00:30:41 -07:00
Unknown W. Brackets
565653c77b Save and load textures using full key.
Of course, need this, not just the hash.
2016-05-01 00:30:40 -07:00
Unknown W. Brackets
9039dd606f Move TextureReplacer to Core.
Probably makes more sense here after all.
2016-05-01 00:30:40 -07:00
Unknown W. Brackets
c4e98433b8 Add config to save or load replaced textures. 2016-04-30 14:05:03 -07:00
Unknown W. Brackets
bc03aa11f2 Log module id as hex, clearer. 2016-04-18 20:19:27 -07:00
Unknown W. Brackets
5a74826372 Use new logging in utility module load/unload. 2016-04-18 20:17:49 -07:00
Unknown W. Brackets
f9ba0d7321 Correct dependency handling when loading modules.
Should help #8700.
2016-04-18 20:08:27 -07:00
sum2012
5e20ba1811 Temporarily disable PMP video for non-windows 2016-04-13 20:06:51 +08:00
Henrik Rydgard
7cb6192005 Rename the TransformPipeline files to DrawEngine, and GLES_GPU to GPU_GLES 2016-04-10 10:31:42 +02:00
Henrik Rydgard
e611915a52 Rename some GPU classes and enums to fix some consistency issues between the backends. 2016-04-10 10:21:48 +02:00
Henrik Rydgard
4197148dc4 Add some paranoid checks hoping to fix crashes reported in Google Play developer console. 2016-04-09 18:27:35 +02:00
Henrik Rydgard
774539dea8 Add more error checking in net resolve. 2016-04-09 18:27:35 +02:00
Henrik Rydgard
727058fc27 Remove an entry from GPUStats that didn't really belong. 2016-04-02 11:06:05 +02:00
Henrik Rydgard
ad0da06f65 Forgot to remove these from the debug string. 2016-04-02 10:36:51 +02:00
Henrik Rydgard
5ef608fa50 GPU stats: Have each backend format its own string. 2016-03-31 10:17:02 +02:00
Henrik Rydgard
004c8b0fca Make debug stats more compact. 2016-03-31 09:47:25 +02:00
Unknown W. Brackets
3593a7963e Cleanup and clarify texture swizzling funcs. 2016-03-26 21:55:32 -07:00
Henrik Rydgård
e8758c1ea0 Merge pull request #8652 from unknownbrackets/savestates
Fix some old savestates
2016-03-21 17:05:58 +01:00
Unknown W. Brackets
2461a849f9 Correct some warnings reported by clang. 2016-03-20 23:13:28 -07:00
Unknown W. Brackets
3976e840a1 Fix some old savestates. 2016-03-20 23:03:48 -07:00
Unknown W. Brackets
ef1dc583a2 Fix various minor warnings. 2016-03-20 14:17:51 -07:00
Henrik Rydgård
2b46ae59a0 Merge pull request #8601 from hrydgard/vulkan
Vulkan rendering backend. Early Work-In-Progress
2016-03-20 21:08:58 +01:00
Henrik Rydgard
29bc07eb0a SoftGPU with Vulkan runs but displays black 2016-03-20 20:04:49 +01:00
Henrik Rydgard
f7113bb2e3 Use separate pushbuffers for UBO/Index/Vertex. This will make decoding directly into the pushbuffers easier, plus other benefits later.
(For example, we'll often be able to avoid rebinding the vertex and
index buffers at new offsets by just keep counting upwards between draws,
if the vertex format is the same but other state changed)
2016-03-20 19:31:02 +01:00
Unknown W. Brackets
add506a0d3 Cleanup differences in aniso handling.
Some places were not handling it as a power of two.
2016-03-20 19:31:02 +01:00
Henrik Rydgard
e45c24b75f Show how much pushbuffer space is used each frame.
Optimizing this number (by avoiding redundant UBO uploads etc) will probably help performance.
2016-03-20 19:31:02 +01:00
Unknown W. Brackets
0b7e43d05c Allow the graphicsContext to be overridden.
This is useful when coming from, for example, headless.
2016-03-20 19:31:02 +01:00
Henrik Rydgard
01e3fbae95 Fix clearing bug, add FIFO_RELAXED flag, etc 2016-03-20 19:30:11 +01:00
Henrik Rydgard
4063f7e0db Fill out GPU_Vulkan.cpp with what's mostly a copy of GLES_GPU.cpp 2016-03-20 19:30:11 +01:00
Henrik Rydgard
2a449f78bb More vulkan fixing 2016-03-20 19:25:30 +01:00
Henrik Rydgard
c64064024d Initial vulkan code.
This was squashed from nine commits but using old versions of Vulkan.
2016-03-20 19:18:35 +01:00
Henrik Rydgård
b3402ef1fb Merge pull request #8560 from unknownbrackets/prescale-uv
Enable UV prescaling by default
2016-03-20 18:10:19 +01:00
Henrik Rydgård
538d801f17 Merge pull request #8588 from sum2012/net-minor
Add sceNetIfhandle staff
2016-03-20 18:07:24 +01:00
Henrik Rydgard
92c6810954 Not using a GL config chooser seems to be the way to go, really, and was the way we used before the EGL attempt. 2016-03-17 22:22:57 +01:00
Henrik Rydgard
b137bf1af4 Oops 2016-03-13 18:42:26 +01:00
Henrik Rydgard
c8457d39ed Fix a bunch of compiler warnings, delete some unused code 2016-03-13 15:17:31 +01:00
Henrik Rydgard
b94572e3ba Assorted cleanup 2016-03-13 15:17:31 +01:00
Henrik Rydgard
3924d8bdea Fix bug in ZIP file extraction breaking the Mega Drops homebrew, and others.
Was rounding file sizes up to the nearest 128k...
2016-03-09 17:02:15 +01:00
Unknown W. Brackets
da03b80c97 Standardize on just one mutex implementation. 2016-03-06 14:49:15 -08:00
Henrik Rydgård
301571359c Buildfix 2016-03-06 15:21:16 +01:00
Henrik Rydgard
d4e432dadd Fix issue with lazy loading directory entries. Fixes #8613. 2016-03-06 14:28:14 +01:00
Henrik Rydgard
082d839965 Fix minor issues in ISOFileSystem 2016-03-06 14:28:10 +01:00
Unknown W. Brackets
ef566a3adf SaveState: Clean up some constant usage. 2016-02-28 18:21:57 -08:00
Henrik Rydgard
cef0a6311d ISOFileSystem: Remove the "restrictTree" functionality which is now obsolete with lazy directory loading. 2016-02-29 01:13:57 +01:00
Henrik Rydgard
6f9755d498 ISOFileSystem: Lazily load directory information as needed. Should speed up game icon loading a bit. 2016-02-28 12:02:01 +01:00
Henrik Rydgard
0b95c4bbd1 ISOFileSystem: Move the level into the tree nodes 2016-02-28 11:51:15 +01:00
Henrik Rydgard
afc8736b9a ISOFileSystem: Move the startsector and dirsize information into the tree nodes 2016-02-28 11:46:21 +01:00
Henrik Rydgard
0458c7a590 ISOFileSystem coding style cleanup to reduce future diffs 2016-02-28 11:39:57 +01:00
sum2012
1df833cc16 Small fix and change log format 2016-02-21 13:18:03 +08:00
sum2012
5894e8f18f Add save status support 2016-02-21 07:33:06 +08:00
Henrik Rydgard
6ef779402a Update PPGE atlas (font used for in-game save dialogs etc) 2016-02-15 19:24:39 +01:00
Henrik Rydgard
e954768a84 sceAtrac: Work-around crash with older versions of FFMPEG when free-ing.
Better leaking than dead, although there has to be a better way.
2016-02-14 17:19:32 +01:00
Henrik Rydgard
eb3706c20a Fix version parsing for upgrade checker for short versions like "1.2" 2016-02-14 16:24:33 +01:00
sum2012
29f24a600e Add sceNetIfhandle staff
Used in Yu-Gi-Oh 5Ds Tag Force 4
2016-02-13 20:27:07 +08:00
Unknown W. Brackets
8bea240c25 Atrac: Specify endianness for reset info. 2016-02-10 21:02:41 -08:00
zhyk
fa6fe85dc3 Fix audio lag in Qt without SDL. 2016-02-10 23:34:38 +08:00
Henrik Rydgard
d60f5ba285 Fix minor memory leak in JIT block cache 2016-02-10 15:43:36 +01:00
Henrik Rydgard
35b6c7341b Fix a bunch of memory leaks, after enabling file+line-number memory leak tracking for the MS Debug CRT.
Few of these were serious, most were on-exit, but good to have a cleaner memory report after running.
2016-02-10 15:36:10 +01:00
Unknown W. Brackets
0ea8cc9753 Minor const cleanup. 2016-02-07 14:07:21 -08:00
Unknown W. Brackets
19ec8c9502 Enable UV prescaling by default.
Fixes #4583.  It's been relatively stable since #8283.
2016-02-07 14:05:53 -08:00
Henrik Rydgård
6accac3b33 Merge pull request #8556 from unknownbrackets/diskcache
Correct recovery of locked disk cache files
2016-02-07 11:42:57 +01:00
Henrik Rydgård
eb72f16701 Merge pull request #8559 from unknownbrackets/savestate
Limit savestate screenshots to top left of screen
2016-02-07 11:42:37 +01:00
Henrik Rydgård
329d58e3db Merge pull request #8557 from unknownbrackets/hle-minor
Handle floats and sign extension in HLE logs
2016-02-07 11:42:29 +01:00
Unknown W. Brackets
76ed1e10c4 Limit savestate screenshots to top left of screen.
Sometimes framebuffers have extra stuff outside, we don't need that in the
screenshot.  Fixes #8552.
2016-02-07 00:04:12 -08:00
Unknown W. Brackets
0e85225e29 Bring back the depth range hack. 2016-02-06 20:28:45 -08:00
Unknown W. Brackets
e75af43f0a Handle floats and sign extension in HLE logs.
In some cases, we were previously logging sign-extended error codes.  This
handles that better using type_traits.
2016-02-06 19:53:56 -08:00
Unknown W. Brackets
0517d3721c Correct recovery of locked disk cache files.
We were keeping the index when creating a new file, rather than clearing
it.  Additionally, flush before all reads - in case of overlap.
2016-02-06 19:49:33 -08:00
Henrik Rydgard
b68f2deca8 Set the reverb type when loading a savestate. May help #8528 2016-01-31 11:20:26 +01:00
Henrik Rydgård
f14dcb15db Merge pull request #8532 from unknownbrackets/armjit-linking
armjit: Fix block exit safety writes
2016-01-31 10:09:07 +01:00
Henrik Rydgård
dc407023fb Merge pull request #8533 from unknownbrackets/diskcache
Lock the HTTP diskcache while in use
2016-01-31 10:06:51 +01:00
Unknown W. Brackets
666f1898c6 Fix crash loading old savestates.
Oops.  Forgot that this could be saved as -1 when loading an old
savestate, and then resaving it.

Fixes #8531.
2016-01-30 21:39:25 -08:00
Unknown W. Brackets
288a5c7aab Lock the diskcache while in use.
This prevents it from being corrupted due to a crash.
2016-01-30 20:50:37 -08:00
Unknown W. Brackets
eebe3e7bce armjit: Fix block exit safety writes.
This ensures we don't link to invalid blocks, fixes BKPTs on relinking,
and fixes BKPTs when relinking a prelinked block.

Should help #8524.
2016-01-30 20:44:57 -08:00
daniel229
9385fed5d2 Enable extra ram support for Saints Row 2 alpha 2016-01-30 10:07:00 +08:00
Henrik Rydgård
194e9eddec Merge pull request #8503 from unknownbrackets/hle-minor
Minor logging adjustments, not used yet
2016-01-27 12:29:43 +01:00
Unknown W. Brackets
65a5c92c7e Io: Change some logging flags.
Not used yet, just prep work.
2016-01-24 22:52:19 -08:00
Unknown W. Brackets
3a64388eee Support 64-bit args/return in new HLE logging.
Pulls in a new header, unfortunately, but this is a mostly clean way to do
it.
2016-01-24 22:22:23 -08:00
Unknown W. Brackets
f1896abf74 Atrac: Move buffer offset only if needed.
Hmm, need to manage this buffer smarter, though, when streaming.  Right
now it's only getting it right enough to ask for the right amount of data,
really...

Fixes #8498.
2016-01-24 09:09:07 -08:00
sum2012
bbeaf67cd6 Support port offset by @ANR2ME
Useful of adhoc of non-windows
2016-01-24 16:52:39 +08:00
daniel229
d032c3895b Replace function in Omerta Chinmoku No Okite The Legacy 2016-01-24 11:58:20 +08:00
daniel229
0ab6c544b7 Replace function in unENDing Bloody Call 2016-01-24 11:55:56 +08:00
daniel229
80952d5e06 Replace function in ATV Offroad Fury Pro (US) demo 2016-01-24 11:53:46 +08:00
Unknown W. Brackets
9232a0cdb4 Merge branch 'font-subpixel' 2016-01-23 16:02:21 -08:00
Unknown W. Brackets
e8fb61cf43 Font: Fix clipping when x/y aren't 0.
The final X2/Y2 are relative to the glyph at x,y.
2016-01-23 16:01:25 -08:00
Unknown W. Brackets
b8a2a6647d Font: Turns out this happens a lot. 2016-01-23 15:59:47 -08:00
Henrik Rydgård
fac38ba624 Merge pull request #8491 from unknownbrackets/font-subpixel
Respect subpixel offsets in PGF rendering
2016-01-24 00:58:01 +01:00
Unknown W. Brackets
621f86c7f1 Font: Blend after swizzling to 8 bit.
This is much closer, but the values still are slightly off.
2016-01-23 15:42:42 -08:00
Unknown W. Brackets
1860180c2e Font: Implement subpixel rendering. 2016-01-23 15:37:19 -08:00
Unknown W. Brackets
9ff8d719de Add function to determine ppst title. 2016-01-23 13:06:30 -08:00
Unknown W. Brackets
6a5096e546 Save the game title in savestates, if available.
So that the UI can show them.  Old savestates still load fine, just don't
have the title.
2016-01-23 12:56:36 -08:00
Henrik Rydgard
e866d83547 Temporarily revert "Mpeg: Return errors when no audio is available."
This reverts commit c03f6c23ed.

This caused trouble as seen in #8464, but is probably right - needs other fixes though so
it will have to wait until after 1.2.0.
2016-01-23 17:08:01 +01:00