Commit Graph

4450 Commits

Author SHA1 Message Date
Brett Lawson
7d699a5a9f gpu/vulkan: Switch to using XXHash for hashing.
This algorithm has improved performance characteristics
compared our previous hashing algorithm (murmur3).
2018-12-18 14:32:36 -08:00
Brett Lawson
c93a9db908 gpu/vulkan: Add some ignored validation errors for Xfb.
There is an error in the validation layers for some
Xfb related operations.  We need to hide them for now
or else validation fails when it should not.
2018-12-18 14:32:36 -08:00
Brett Lawson
81f1fbc3a1 gpu/vulkan: Batch draws into render-pass oriented groups.
This is a performance optimization to avoid needing to
switch render passes constantly.
2018-12-18 14:32:36 -08:00
Brett Lawson
3e46438242 gpu/vulkan: Implemented GPU retiling.
The GPU retiler has far better performance than the CPU version,
and allows us to emulate the correct memory layout on the GPU side
of things rather than having a missmatch due to tiling.
2018-12-18 14:32:36 -08:00
Brett Lawson
cbb105b938 gpu7/tiling: Optimized the Vulkan retiler a bit. 2018-12-18 14:32:35 -08:00
Brett Lawson
b2e601a38f cafe/gx2: Improve some memory semantics. 2018-12-18 14:32:35 -08:00
Brett Lawson
5c7befb680 gpu/vulkan: Fixed memory caches not being included in perf debug info. 2018-12-18 14:32:35 -08:00
Brett Lawson
841d5414d7 gpu/pm4: Fixed copy-paste assertion placement error. 2018-12-18 14:32:35 -08:00
Brett Lawson
e7f974c2a2 sdl/input: Fixed compiler warning due to implicit type-casting. 2018-12-18 14:32:35 -08:00
Brett Lawson
720410d922 Remove some accidentally included pragma optimize directives. 2018-12-18 14:32:35 -08:00
James Benton
646e58d446 Fix oopsy 2018-12-18 18:25:50 +00:00
Witold Baryluk
0edbcf9667 cafe/hle: Properly initialize LibraryFunction fields
Most notably hostPtr might contain garbage, that will subsequently
lead to write to random memory location when doing relocations.

As a minor additional tweak, initialize LibraryFunctionCall::func
in constructor.
2018-12-18 11:06:42 +00:00
James Benton
1fab30785d travis: Enable ffmpeg and Vulkan 2018-12-17 12:45:12 +00:00
James Benton
fc2118ac79 ios/acp: Fix casts between unsigned long and uint32_t. 2018-12-15 09:45:11 +00:00
James Benton
78af29a1b3 cafe/nlibcurl: Initial curl implementation. 2018-12-15 08:46:51 +00:00
James Benton
bcbd8e729a cmake: Copy ffmpeg .dll to output directory. 2018-12-15 08:46:51 +00:00
James Benton
f082d6038a cmake: Cleanup some library dependencies. 2018-12-15 08:36:59 +00:00
James Benton
a462efc074 cmake: Use find_package for ffmpeg. 2018-12-15 08:36:59 +00:00
James Benton
62357dabd8 Remove SDL and zlib as a submodule and use find_package instead. 2018-12-15 08:36:59 +00:00
James Benton
aabe1dc890 nn/ac: Stub ReadConfig. 2018-12-15 08:36:59 +00:00
James Benton
fa1c444e7f coreinit/im: Fix imCopyData. 2018-12-15 08:36:59 +00:00
James Benton
329ef4e6aa cafe/nn_ac: Stub GetStartupId. 2018-12-15 08:36:59 +00:00
James Benton
21b1459d91 cafe/sysapp: Stub SYSGetCaller{UPID,TitleID,PFID}. 2018-12-15 08:36:59 +00:00
James Benton
3827798a60 ios/acp: Implement ACPGetTitleMetaXML. 2018-12-15 08:36:59 +00:00
James Benton
42960177d4 cafe/nn_acp: Implement ACPGetTitleIdOfMainApplication. 2018-12-12 10:11:14 +00:00
James Benton
f0bf9ea7a6 Refactor decaf input API to sample per controller rather than per button. 2018-12-09 11:38:14 +00:00
James Benton
1b1028d312 common/enum: Add operator |= &= ^= for flag enums. 2018-12-09 11:18:55 +00:00
Brett Lawson
8f5ea0fabf gpu7/tiling: Added Vulkan GPU retiling support. 2018-12-09 03:11:33 -08:00
Brett Lawson
b63d637608 gpu7/tiling: Added support for 16/32bpp depth surfaces.
Note that 64bpp is currently broken for some unknown reason.
2018-12-09 03:11:33 -08:00
Brett Lawson
cc08e9476a gpu7/tiling: Moved some things to header for vulkan retiler. 2018-12-08 02:56:13 -08:00
Brett Lawson
176d31b66d gpu7/tiling: Fixed a few compiler warnings. 2018-12-07 13:43:44 -08:00
James Benton
37220b1a4e gpu7/tiling: Change to rely on addrlib ComputeSurfaceInfo and fix bank swap. 2018-12-07 13:28:07 -08:00
Andrew Church
de8c26671f vulkan: Don't take the address of temporaries.
GCC treats this as an error.
2018-12-05 15:05:21 -08:00
James Benton
66022dce9a vulkan: Fix missing function declarations. 2018-12-04 18:08:07 +00:00
James Benton
ff1daaf5a8 gpu7/tiling: Calculate offset within thick slices for current slice. 2018-12-03 22:08:41 +00:00
James Benton
ad109a2163 gpu7/tiling: Degrade from macrotiling to microtiling for mip level when appropriate. 2018-12-03 22:08:35 +00:00
James Benton
6a4b434f5e gpu7/tiling: Add calculateMipSurfaceInfo method.
Computes a SurfaceInfo for the mip level of the given SurfaceInfo.
2018-12-03 22:08:28 +00:00
James Benton
5ae30574e1 gpu7/tiling: Fix pitch alignment for macro tiled formats. 2018-12-03 22:08:21 +00:00
James Benton
f3ca5712fe gpu7/tiling: Fix pitch alignment for bank swapped formats. 2018-12-03 22:08:12 +00:00
James Benton
ae07002d99 gpu7/tiling: Fix wrong elemBytes for MicroTiler128.
128/8 is 16...
2018-12-03 22:08:04 +00:00
James Benton
fa932ab77d gpu7/tiling: Fix missing tileThickness for pitch alignment. 2018-12-03 22:07:54 +00:00
James Benton
a780617b31 gpu7/tiling: Fix missing offsetLow for macro tiling. 2018-12-03 22:07:40 +00:00
James Benton
c22594e297 gpu7/tiling: Some fixes to getMipSurfaceInfo. 2018-12-03 22:07:21 +00:00
James Benton
eb927bf99f gpu7/tiling: Change untileImage to untile up to aligned numSlices. 2018-12-03 22:07:12 +00:00
James Benton
776da1d391 gpu7/tiling: Use mipmap level baseAddressAlignment. 2018-12-03 22:07:04 +00:00
James Benton
aaa89da998 gpu7/tiling: Calculate offset within thick slices for current slice 2018-12-03 22:06:57 +00:00
James Benton
a6ca032647 gpu7/tiling: Fix mipmap tileMode calculation. 2018-12-03 22:06:41 +00:00
Witold Baryluk
0192a4c51f cafe/hle: Unpack name and symbol in when for looping over mSymbolMap
This improves clarity of the code, by not using pair.second.

Similar construct is already used in cafe_hle_library.h
2018-12-04 03:08:12 -08:00
Brett Lawson
c7173b9c39 vulkan: Implement stream-out support using transform feedback. 2018-12-04 01:34:06 -08:00
Brett Lawson
80d9069fd0 vulkan: Fix depth/stencil group copies. 2018-12-04 01:32:59 -08:00