Commit Graph

4215 Commits

Author SHA1 Message Date
Triang3l 486a5725e3 [GPU] xenos.h: tessellation, memexport constant 2018-12-19 22:50:43 +03:00
Triang3l c84511a5f1 [GPU/D3D12] Update tessellation enums 2018-12-19 18:23:54 +03:00
Triang3l cbba86fcf0 [D3D12] Split DXBC shader translator into multiple files 2018-12-19 14:24:16 +03:00
Triang3l 2de0e26606 [D3D12] DXBC: Remove ugly useless indexable temp fallback 2018-12-16 13:03:03 +03:00
Triang3l 03f440582d Merge branch 'master' into d3d12 2018-12-16 12:49:09 +03:00
gibbed eee4d91621 [App] Hopefully fix CPU support check for AVX so it will function on CPUs without AVX. 2018-12-15 23:36:07 -06:00
gibbed 85b714f2af [Base] Make --win32_high_freq=false actually work. 2018-12-15 22:56:36 -06:00
Wildenhaus 798e88224a Ordinal offset calculation for games with many files 2018-12-15 20:27:15 -05:00
Triang3l 574f85cc15 [D3D12] Refactoring: DXBC -> Dxbc 2018-12-14 13:25:07 +03:00
Triang3l 952819ed87 [D3D12] Don't 4KB-align sizes of resolve destinations 2018-12-13 15:22:16 +03:00
Triang3l 2b55ec86ea [GPU] Shader Compiler: Expose domain shader output 2018-12-13 14:52:50 +03:00
Triang3l 2b646ff425 [D3D12] Fake per-edge tessellation with continuous 2018-12-12 22:12:32 +03:00
Triang3l 19d7e0ce3d [D3D12] Use WideCharToMultiByte for graphics adapter name 2018-12-11 09:41:06 +03:00
Triang3l 7698944673 [D3D12] Swap red and blue in 8bpp gamma ramp 2018-12-09 15:53:57 +03:00
Triang3l 1ee3ed03fd [D3D12] DXBC: Skip loading and some ALU ops for identical operands 2018-12-09 00:20:13 +03:00
Triang3l 352a443c67 [D3D12] DXBC: Small cleanup of something ugly in subs_prev 2018-12-08 19:18:56 +03:00
Triang3l e1f0e9c84a [D3D12] DXBC: Slightly shorten SM3 mul behavior emulation 2018-12-08 16:42:30 +03:00
Triang3l 9427667a27 [D3D12] Experimental 2x resolution scale 2018-12-06 10:38:13 +03:00
Triang3l 132af3e266 [D3D12] DXBC: Don't skip invariant driver optimizations 2018-12-04 12:29:27 +03:00
Triang3l 21def8a522 Merge branch 'master' into d3d12 2018-12-03 21:27:28 +03:00
gibbed 64b2be92d6 [Kernel] Retain handle in ExCreateThread. Game closing a created thread's handle shouldn't result in its handle being freed. 2018-12-03 12:09:24 -06:00
gibbed dcde6308bb [Kernel] Simplify KeWaitForMultipleObjects. 2018-12-03 12:08:22 -06:00
gibbed 12629fe101 [Kernel] Change dummy HDD to 3GB free/4GB total. 2018-12-03 12:07:42 -06:00
gibbed 9dc46eee85 [Kernel] Null terminate string in XamContentGetDeviceName. 2018-12-03 12:00:56 -06:00
gibbed 947eef4701 [Kernel] Static size assert for X_CONTENT_DEVICE_DATA. 2018-12-03 11:54:47 -06:00
gibbed aa38d4b77b [Kernel] Zero out device data in XamContentGetDeviceData. 2018-12-03 11:54:23 -06:00
Triang3l bb53d722f9 [D3D12] Don't use switch in shaders on Intel, log GPU name 2018-12-03 16:31:49 +03:00
gibbed 6824905b78 Merge branch 'master' into d3d12 2018-11-29 12:39:13 -06:00
gibbed 919882dd68 [Kernel] Fix use of wrong macro in XamEnumerate for extended error. 2018-11-29 12:34:56 -06:00
Wildhaus 151a955c6a Support EGDF and XSF layouts 2018-11-28 10:08:07 -05:00
Triang3l 5b9e4b5886 Merge branch 'master' into d3d12 2018-11-27 11:05:14 +03:00
gibbed 527f960288 [Kernel] Proper size in XamUserCreateAchievementEnumerator. 2018-11-26 20:43:41 -06:00
gibbed 248b661d14 [Kernel] Maybe fix XamEnumerate, again?
Some titles, when using XamEnumerate synchronously, expect X_ERROR_NO_MORE_FILES as the return value.
Some titles, when using XamEnumerate asynchronously, expect X_ERROR_FUNCTION_FAILED as the overlapped result.
2018-11-26 19:53:03 -06:00
Triang3l f634e94227 [D3D12] ROV: Don't mark Z of PS SV_Position as used in dcl 2018-11-26 20:53:34 +03:00
gibbed 2398b1b8f4 [Vulkan] Use epsilon equality for checking rectangle list form. 2018-11-26 11:51:02 -06:00
gibbed af206addd1 Optimize SPIRV code generated via genspirv command. 2018-11-26 11:49:36 -06:00
Triang3l b56f8f9c7c Merge branch 'master' into d3d12 2018-11-26 20:45:52 +03:00
gibbed da8f094bf8 [App] Fix Travis whining. 2018-11-26 11:21:37 -06:00
gibbed e7d77f4780 Clarify AVX requirement error message. 2018-11-26 10:33:22 -06:00
gibbed 08be8af5c0 [App] Abort out early with an error message if CPU does not support AVX. 2018-11-26 10:24:17 -06:00
gibbed 28b494dadc [Kernel] Stub XMsg app 0x000000FE/msg 0x00020021. 2018-11-26 10:21:09 -06:00
gibbed 5b2b2a3cc1 [Kernel] Fix logging of app for XMsgInProcessCall/XMsgSystemProcessCall/XMsgStartIORequest/XMsgStartIORequestEx. 2018-11-26 09:04:10 -06:00
gibbed 9058868c96 Merge branch 'master' into d3d12 2018-11-26 07:41:47 -06:00
gibbed 03d6de997c [Kernel] Some titles seem to explicitly expect X_ERROR_FUNCTION_FAILED to mean no more files when enumerating content. 2018-11-26 07:33:21 -06:00
Triang3l d5f7d96be9 [D3D12] Rename d3d12_adapter_index to d3d12_adapter 2018-11-26 08:03:16 +03:00
Triang3l f3d34c1d88 [D3D12] Add max GPU virtual address bits to D3D12Provider 2018-11-26 08:02:15 +03:00
Triang3l a03dd839f0 [D3D12] Change error message link to HTTPS 2018-11-26 07:33:13 +03:00
Triang3l 355d33dadd [D3D12] Rename feature gflags 2018-11-25 23:25:56 +03:00
Triang3l ab2e1b1ca7 Merge branch 'master' into d3d12 2018-11-25 20:13:44 +03:00
gibbed bd45a5defd [Kernel] Fix timeout in NtWaitForMultipleObjectsEx. 2018-11-25 11:06:57 -06:00
gibbed e91e1c8824 [Kernel] Tag XAudioGetVoiceCategoryVolume as high frequency. 2018-11-25 10:19:40 -06:00
gibbed 894034a9b0 [Kernel] Tag RtlMultiByteToUnicodeN, RtlUnicodeToMultiByteN as high frequency. 2018-11-25 10:02:29 -06:00
gibbed 70b07712b2 [Kernel] Research on C++ exceptions. 2018-11-25 10:01:22 -06:00
gibbed 64403d5dc6 [Kernel] Don't directly call RtlNtStatusToDosError export. 2018-11-25 09:58:03 -06:00
gibbed 216bec15f6 [Kernel] Stub XamQueryLiveHiveW. 2018-11-25 09:56:22 -06:00
Triang3l 9a58841219 [D3D12] ROV: Use MSAA instead of SSAA 2018-11-25 16:37:38 +03:00
gibbed 9709a230fb Merge branch 'master' into d3d12 2018-11-25 05:12:41 -06:00
gibbed 4dfe83af6c [Kernel] Fix threading issues caused by direct use of exports. 2018-11-25 05:08:16 -06:00
gibbed e6dbd8905c [Kernel] Stub XLiveBaseGetNatType. 2018-11-25 03:46:44 -06:00
Triang3l beebed4ca2 Merge branch 'master' into d3d12 2018-11-25 12:44:30 +03:00
gibbed 20315850db [Kernel] Stub XamFeatureEnabled. 2018-11-24 20:53:45 -06:00
gibbed 08fb15fcca [Kernel] Oops. 2018-11-24 19:16:14 -06:00
gibbed 3baf668055 [Kernel] Implement ExAcquireReadWriteLockExclusive, ExReleaseReadWriteLock. 2018-11-24 19:04:42 -06:00
gibbed c98f6af1d8 [Kernel] Better stub XAM online schema. 2018-11-24 17:47:24 -06:00
gibbed 9162bc2af9 [CPU] Fix Travis whining. 2018-11-24 16:21:06 -06:00
gibbed 5679b0f0c7 [CPU] Fix XEX2 delta patching. 2018-11-24 15:16:39 -06:00
gibbed 77f9e1516e [CPU] Minor cleanup in LZX. 2018-11-24 15:16:02 -06:00
gibbed 5f764fc752 [CPU] Move LZX code to its own files. 2018-11-24 15:02:03 -06:00
gibbed dd3a049b23 [CPU] Oops. 2018-11-24 15:00:00 -06:00
Triang3l cb4fb451bf Merge branch 'master' into d3d12 2018-11-24 18:40:22 +03:00
gibbed f7501750d9 [CPU/Kernel] Correct size check when parsing XEX_HEADER_IMPORT_LIBRARIES. 2018-11-24 09:38:21 -06:00
gibbed fb50f02a98 [Base] Properly flush remaining writes out before shutting down logging. 2018-11-24 08:54:46 -06:00
Triang3l 5c1efe7b9a Merge branch 'master' into d3d12 2018-11-24 16:26:27 +03:00
gibbed 24dd0267bf [Kernel] Oops. 2018-11-24 04:07:56 -06:00
gibbed 207589e5a1 [CPU/Kernel] Correct parsing of XEX_HEADER_IMPORT_LIBRARIES. 2018-11-24 04:05:41 -06:00
Dr. Chat b3d509eb01 [x64] Swap to using anchor variables instead of dummy function calls 2018-11-23 18:02:04 -06:00
Dr. Chat df964015a4 [x64] Fix improper use of compare_exchange_strong when adjusting code commit mark 2018-11-23 18:02:04 -06:00
Dr. Chat 384ec98a42 [x64] Allow the JIT to use volatile registers 2018-11-23 18:02:04 -06:00
Dr. Chat b57bb74965 [x64] Change the parameters to host_to_guest_thunk
Shuffle some code around in x64_backend.cc
Add GetNativeParam to avoid hardcoding parameters
2018-11-23 18:02:04 -06:00
Dr. Chat c451fda819 [x64] Template-ize a few vector emulation functions 2018-11-23 18:02:03 -06:00
Dr. Chat 4571e8207a [x64] Minor cleanups in emitter 2018-11-23 18:02:03 -06:00
Dr. Chat b2f9d54e7e [x64] Factor out memory handling code 2018-11-23 18:02:03 -06:00
Dr. Chat bb74114cab [x64] Factor out control code 2018-11-23 18:02:03 -06:00
Dr. Chat c318009733 [x64] Factor out vector handling code 2018-11-23 18:02:03 -06:00
Dr. Chat 6861cce492 [x64] Factor out a lot of the opcode handling code 2018-11-23 18:02:02 -06:00
Dr. Chat 696c3cd439 [x64] Remove most of RegisterSequences 2018-11-23 18:02:02 -06:00
gibbed d87ae26895 [CI] Fix mspack linking even more. 2018-11-23 17:58:38 -06:00
gibbed 213e688173 [Kernel] Fix some stuff from PR merge. 2018-11-23 17:27:35 -06:00
emoose 933588717e [Kernel] Add XamGetOnlineSchema export, returns dummy data 2018-11-23 16:38:34 -06:00
emoose 8c6e0b86f9 [Kernel] swprintf_s -> swprintf, change how Format*String/Build*ResourceLocator exports copy text
New way of copying the text should make it less likely for any buffer overflows to occur.
2018-11-23 16:38:34 -06:00
emoose 958882a3ea [Kernel] Add ExConsoleGameRegion export variable (set to 0xFFFFFFFF) 2018-11-23 16:38:34 -06:00
emoose 65e8872dc1 [Kernel] Add _vsnwprintf export 2018-11-23 16:38:34 -06:00
emoose 8efbe32867 [Kernel] Add XamBuild*ResourceLocator & XamFormat*String exports
Resource locators are just strings that say where to find a resource, they can either point to a file path or to an XEX resource.
Normally the Gamercard/SharedSystem exports use XamBuildResourceLocator to make a locator for the resources inside xam.xex.
But since our xam won't have those resources I've made it point them to a local file instead (by passing 0 as the module param for XamBuildResourceLocator).
The resources will have to be extracted to the XEX's local path for it to find them though (and XEX will need to have media:\ symlinked too)

The XamFormat*String exports are really windows-only right now, but they'll at least empty the buffer for other platforms.
They'll also always output MM/DD/YYYY no matter what locale the system is, on 360 this is localized properly of course.

I've renamed XamBuildSharedResourceLocator_ to XamBuildLegacySystemResourceLocator too since that seems to be the proper name for it.
In earlier Xams this just pointed to ...SharedSystemResourceLocator (as does this code), but later versions seem to have their own function.
2018-11-23 16:38:34 -06:00
emoose c5056c644f [Kernel] Add XamNotifyCreateListenerInternal export (1 unknown param)
Just changed the existing XamNotifyCreateListener import to ...CreateListenerInternal, and made a new XamNotifyCreateListener that just calls the internal version.
2018-11-23 16:38:34 -06:00
emoose 5e9e226c94 [Kernel] Add XamContentCreateDeviceEnumerator export
Also changed name field of DeviceInfo to be a wchar_t* of known length, makes it match the X360 DeviceInfo struct more closely and it's easier to make sure things reading it won't overflow anything.
2018-11-23 16:37:04 -06:00
gibbed d68c27d78b [CI] Fix mspack linking. 2018-11-23 15:57:21 -06:00
gibbed 7226c9e047 Update mspack, add to premake, and fix missing license. Fixes #1252. 2018-11-23 15:32:55 -06:00
gibbed 4c53bc5c9a [x64] Fix Travis whining. 2018-11-23 12:03:09 -06:00
gibbed 5fbcb8991e [JIT] Run the SimplificationPass/ConstantPropagationPass until there are no changes. 2018-11-23 12:01:10 -06:00
gibbed b121f45c7f [JIT] Assert that other is constant in set_from. 2018-11-23 10:46:27 -06:00
Triang3l ff363d85be Merge branch 'master' into d3d12 2018-11-23 19:08:43 +03:00
gibbed 996093e499 [x64] Support constant src1 for Int32 VECTOR_SHL_V128/VECTOR_SHR_V128. 2018-11-23 09:33:30 -06:00
gibbed b24936d248 [Kernel] Tag XamUserGetSigninState as high frequency. 2018-11-23 09:02:49 -06:00
gibbed 7d07720de1 [JIT] Zero constant propagation for OPCODE_SHL/OPCODE_SHR. 2018-11-23 08:02:09 -06:00
gibbed 4c04a9383a [JIT] Fix constant propagation for OPCODE_SELECT. 2018-11-23 07:52:14 -06:00
gibbed 94284ea9aa [CPU] Fix null termination in HIRBuilder::CommentFormat. 2018-11-23 07:50:42 -06:00
gibbed d04c748773 [App] Log content root. 2018-11-22 17:40:38 -06:00
gibbed 00261b9ca0 [App] Get absolute path of content root in all cases. 2018-11-22 17:40:22 -06:00
gibbed 69463033b1 [Kernel] Don't trust buffer length in XamEnumerate when it matches items per enumerate. 2018-11-22 16:49:01 -06:00
gibbed db234309bf [Kernel] Fix logging of broken XamEnumerate usage. 2018-11-22 16:36:19 -06:00
Triang3l da280347c4 Merge branch 'master' into d3d12 2018-11-22 21:01:05 +03:00
gibbed 086d7e9da7 [Input] Dynamically link to XInput. 2018-11-22 10:46:48 -06:00
gibbed 86d2c9ae1e Fix Travis whining. 2018-11-22 09:48:04 -06:00
Margen67 896ac4a682 Update documentation.
- Convert http to https, provide archive link when possible.
- Made CPU-JIT.png more readable on dark themes;
Added a white background so there isn't black text on a black
background.
2018-11-22 09:20:09 -06:00
gibbed 9f895c3f14 [UI] Use DPI APIs when available. 2018-11-22 08:30:30 -06:00
gibbed 5c473a5203 [Base] Fix missing include in filesystem_posix. 2018-11-22 06:41:58 -06:00
gibbed 463f21e484 [Kernel] Cleanup XamLoaderSetLaunchData, XamLoaderGetLaunchData. 2018-11-22 04:29:35 -06:00
gibbed 473b9d3c3a [Kernel] Don't trust buffer_length in XamEnumerate. 2018-11-22 04:28:46 -06:00
gibbed 683de76b9b [Kernel] Remove stray logging in NtReleaseMutant. 2018-11-21 18:07:46 -06:00
gibbed 1ba5dd5eb1 Use platform-specific user directory to store content. Create a file named portable.txt next to xenia.exe to restore previous behavior. 2018-11-21 18:07:45 -06:00
gibbed eb55d68e1f [Kernel] Tag MmQueryAddressProtect as high frequency. 2018-11-21 17:54:28 -06:00
Rick Gibbed b7a4abc6f6
Merge pull request #1178 from Jeremy517/master
Persist title-specific profile content
2018-11-21 16:47:28 -06:00
Triang3l 14b623465c [D3D12] ROV: ForcedSampleCount=1 for safety 2018-11-21 20:53:11 +03:00
Triang3l 70fae20072 [D3D12] Apply scissor to resolve regions 2018-11-21 17:15:09 +03:00
Triang3l a9e83872eb [D3D12] Fix mid-frame pool destruction (in case of device losses) 2018-11-21 15:40:26 +03:00
Triang3l e6bd8f37aa Merge branch 'master' into d3d12 2018-11-21 13:17:18 +03:00
gibbed 22e7500f63 [CPU] Handle NaN in fctidxx, fctiwxx. 2018-11-20 23:21:38 -06:00
gibbed 0206e90398 [Kernel] Simplify RtlNtStatusToDosError logging. 2018-11-20 16:25:07 -06:00
gibbed 7ae0e2b8e5 [Kernel] Fix Travis whining. 2018-11-20 16:05:45 -06:00
gibbed 4f2326e5d7 [Kernel] Oops. 2018-11-20 15:52:15 -06:00
gibbed 5b776b99da [Kernel] Move xboxkrnl_threading to new shim convention. 2018-11-20 15:49:06 -06:00
gibbed d7fc74d788 [Kernel] Move xam_ui to new shim convention. 2018-11-20 14:53:00 -06:00
gibbed 2247742494 [Kernel] Add command-line flag to toggle XEX patching. 2018-11-20 14:48:32 -06:00
gibbed 7e78a79a2d [Kernel] Add a note to previous commit. 2018-11-20 14:25:18 -06:00
gibbed de34bd81db [Kernel] Set default license mask when available in XamContentCreateEx. 2018-11-20 14:24:13 -06:00
Triang3l 2c8bdcd1b0 Merge branch 'master' into d3d12 2018-11-20 23:10:25 +03:00
gibbed ff0b8a67cd [Kernel] Tag XamContentGetLicenseMask as high frequency. 2018-11-20 13:53:46 -06:00
gibbed e1d448f630 [Kernel] Move xam_content to new shim convention. 2018-11-20 13:50:31 -06:00
gibbed 927acf1902 [Kernel] Fix a minor typo. 2018-11-20 13:05:38 -06:00
Triang3l a6b3bddf13 Merge branch 'master' into d3d12 2018-11-20 22:04:55 +03:00
gibbed 394105d359 [CPU/Kernel] Cleanup and rework of how kernel exports are declared. 2018-11-20 13:03:17 -06:00
gibbed 613be1425e [Kernel] Update XamContentOpenFile argument names. 2018-11-20 13:03:17 -06:00
Triang3l c061836649 [D3D12] Enable ROV by default 2018-11-20 21:30:36 +03:00
Triang3l b0b1e684f7 [D3D12] Fix UAV binding in EDRAM clear root signature 2018-11-20 21:29:04 +03:00
Triang3l 3139e2d33b Merge branch 'master' into d3d12 2018-11-20 20:22:59 +03:00
Rick Gibbed c65ee2aa48
Merge pull request #1226 from chris-hawley/master
[JIT] stmw/lmw
2018-11-20 08:43:26 -06:00
Triang3l f8ecd47490 Merge branch 'master' into d3d12 2018-11-20 10:26:31 +03:00
gibbed dafed58e98 [Kernel] Implement MmAllocatePhysicalMemory. 2018-11-19 22:04:44 -06:00
gibbed 4f50e0e6c7 [Kernel] Implement RtlCopyString, RtlCopyUnicodeString. 2018-11-19 21:03:05 -06:00
Triang3l e2122379b1 Merge branch 'master' of github.com:xenia-project/xenia into d3d12 2018-11-19 12:51:01 +03:00
Dr. Chat 95701f188d [x64] Dynamically link to growable function tables 2018-11-18 21:21:36 -06:00
Triang3l d35be635d6 Merge branch 'master' of github.com:xenia-project/xenia into d3d12 2018-11-18 22:21:32 +03:00
Triang3l 7fa453c813 [GPU] Fix 1-component ALU instruction swizzle (hopefully) 2018-11-18 22:20:43 +03:00
Triang3l c9fdb72b72 Merge branch 'master' of github.com:xenia-project/xenia into d3d12 2018-11-18 20:44:47 +03:00
Dr. Chat c9797dde2a [CPU] Fix switch variable scoping 2018-11-18 11:35:23 -06:00
Triang3l 0c1431df46 Merge branch 'master' into d3d12 2018-11-18 17:17:45 +03:00
gibbed 4436616e6d [x64] Use constant a bit earlier in VECTOR_SHL_V128. 2018-11-18 08:17:04 -06:00
Triang3l 44e8b1c91b Merge branch 'master' into d3d12 2018-11-18 17:16:16 +03:00
gibbed 44f194be35 [x64] Fix constant access in VECTOR_SHL_V128. 2018-11-18 08:13:37 -06:00
gibbed 3ced6c5cf2 [CPU] Add constant VectorAverage. 2018-11-18 08:13:37 -06:00
Triang3l 251ce2af6b Merge branch 'master' into d3d12 2018-11-18 12:13:26 +03:00
Rick Gibbed 21b8620bf5
Merge pull request #1264 from bmzhao/fix-failing-linux-build
Fix Linux build errors due to missing virtual destructors
2018-11-17 18:03:09 -06:00
NPCompete da66c68bf6 [CPU] Made xe::cpu::StackWalker destructor virtual since it is an abstract class. 2018-11-17 14:50:30 -08:00
NPCompete 7c24f8e09f [Kernel] Made xe::kernel::App destructor virtual since it is an abstract class. 2018-11-17 14:50:00 -08:00
Rick Gibbed b8b1775837
Merge pull request #1260 from alan-shaffer/thread-name-fix
[Kernel] Don't dereference null pointers in SetThreadName.
2018-11-17 16:40:23 -06:00
Dr. Chat aa14741e74 [x64] Fix unwind info bug; Cleanup win code cache 2018-11-17 14:40:25 -06:00
Triang3l 55fa9e6917 Merge branch 'master' into d3d12 2018-11-17 20:06:55 +03:00
Dr. Chat 69af4a21ac [x64] Fill unwind reservation info bytes with 0xCC as well 2018-11-17 11:04:25 -06:00
Triang3l 66a37c0cc3 [D3D12] ROV: Aliasing and bounds checking, retc instead of discard 2018-11-17 17:15:15 +03:00
Triang3l 6901c3ea17 [D3D12] DXBC: Fix operands in scalar multiplication zero check 2018-11-16 19:25:24 +03:00
Triang3l e46244a996 [D3D12] Put shared memory in PS resource state because vfetch seems allowed in PS 2018-11-16 13:12:51 +03:00
Triang3l 38f421e89f [D3D12] GPUTEXTUREFORMAT_6_5_5 as RBG 2018-11-16 12:56:19 +03:00
Triang3l e1d771ab9c [D3D12] GPUTEXTUREFORMAT_11_11_10 support 2018-11-14 17:02:19 +03:00
Triang3l 5e51306660 [D3D12] Integer texture comment and UpdateSystemConstantValues cleanup 2018-11-14 16:45:31 +03:00
Triang3l 8ff03bcfa0 [D3D12] Allow different loading modes for unsigned and signed textures 2018-11-14 13:52:16 +03:00
Triang3l b4706054d0 [D3D12] U11V11W10 texture loading shader 2018-11-13 22:00:10 +03:00
alan bad8c4b0c5 [Kernel] Don't dereference null pointers in SetThreadName. 2018-11-13 11:10:21 -05:00
Triang3l 4ad1c2c538 [D3D12] R11G11B10 unorm textures 2018-11-13 19:00:01 +03:00
Wildhaus 80375c62e8 Add support for STFS Metadata V2 2018-11-11 15:27:34 -05:00
Wildhaus 19fb21da7d Games on Demand / Multifile STFS (SVOD) Support 2018-11-11 15:27:29 -05:00
Triang3l ae48b3ffa8 [D3D12] Disable placed resources for RTV/DSV because of Nvidia 2018-11-10 22:45:55 +03:00
Triang3l 6a8a080703 [D3D12] DXBC: Source map comment output 2018-11-10 19:01:05 +03:00
Triang3l 95ed3ea158 Merge branch 'master' into d3d12 2018-11-10 16:34:20 +03:00
Triang3l c949ce3d9c
[Base] StringBuffer: Clear the C string in Reset 2018-11-10 16:33:40 +03:00
Triang3l 1f33c221a2 Merge branch 'master' into d3d12 2018-11-10 11:47:13 +03:00
Rick Gibbed 128fb32698
Merge pull request #1253 from emoose/compressed-xex-fix
[CPU] Fix some compressed XEXs trying to decompress past the actual image size, causing errors
2018-11-09 20:27:01 -06:00
Triang3l 6274f664f9 Merge branch 'master' into d3d12 2018-11-08 19:45:56 +03:00
emoose 7f479ffb79 [Kernel] Remove item limit from enumerators, fixes #1255
Like said in that issue, it seems the limit passed to XamContentCreateEnumerator is actually a limit on how many results XamEnumerate should return per call, not a limit on the number of enumeration items in total.
These changes fix Sonic Unleashed not loading more than 1 DLC (it passes 1 as the limit, but then loops over XamEnumerate to load in each DLC one at a time), and likely many other games.
2018-11-07 22:47:59 +00:00
emoose ab53cf2a82 [CPU] Fix some compressed XEXs decompressing past the image size 2018-11-05 19:47:18 +00:00
Triang3l 3b57c82fe4 [D3D12] ROV: Don't use the D24FS8-specific clear shader with ROV 2018-11-03 20:55:50 +03:00
Triang3l 7935bcf49f [D3D12] Fix resolving of non-top-left sample 2018-11-02 20:21:33 +03:00
Triang3l 3af93e547a [D3D12] Fix triangle fan winding order 2018-11-02 09:57:35 +03:00
Triang3l d55a2a586f Merge branch 'master' into d3d12 2018-11-02 09:30:53 +03:00
Triang3l 5a79f675bd [D3D12] ROV: Unbind resolve RT after using 2018-11-01 22:13:45 +03:00
emoose bbb5c938ec [CPU] Fix XexModule::FindSaveRest not finding functions properly 2018-11-01 15:50:56 +00:00
Triang3l fd12302108 [D3D12] DXBC: Fix setp_inv output when the predicate is set 2018-10-31 16:18:19 +03:00
Triang3l de141e0ee3 [D3D12] DXBC: Rewrite conditional execution 2018-10-30 21:31:59 +03:00
Triang3l 251f078baf [D3D12] Fix mipmapped cubemaps and stacked textures 2018-10-29 22:40:29 +03:00
Triang3l e4a7d1dc5e Merge branch 'master' into d3d12 2018-10-29 11:22:26 +03:00
Triang3l 3b584a5f1c [Kernel] Clang-format user_module.cc 2018-10-29 11:21:26 +03:00
Triang3l e39bb04875 [D3D12] ROV: Fix min/max blending operation 2018-10-29 10:24:49 +03:00
Triang3l c7befee395 Merge branch 'master' into d3d12 2018-10-28 20:31:49 +03:00
Dr. Chat c95ba803a8 Merge branch 'xexp' 2018-10-28 12:20:02 -05:00
Dr. Chat 7443b7e61f [CPU] Rename ImportLibrary fields to follow naming conventions 2018-10-28 09:41:31 -05:00
Triang3l 83c99bc811 [D3D12] Fix resolve region handling 2018-10-28 14:36:41 +03:00
Triang3l 4162716a54 Merge branch 'master' into d3d12 2018-10-26 22:04:59 +03:00
Triang3l 1d45a4f67e [D3D12] Round to nearest when converting to fixed-point 2018-10-26 22:04:11 +03:00
Triang3l f4844207ad [D3D12] Mark 8_8_8_8_GAMMA_EDRAM as non-texture in the texture format list 2018-10-25 09:45:10 +03:00
Triang3l fb5030171e [D3D12] RGBA32F resolve 2018-10-25 09:32:19 +03:00
Triang3l 64d5574023 [D3D12] Don't apply the epsilon offset to cubemap face 2018-10-24 17:30:28 +03:00
Triang3l cabffea4d7 [D3D12] Write pixel, not sample, position to ps_param_gen 2018-10-24 17:08:15 +03:00
Triang3l e68a0c37b9 [D3D12] Add epsilon to texture coordinates to resolve tie in nearest-neighbor filtering 2018-10-24 16:35:00 +03:00
Rick Gibbed 6a39d4b1f5
Merge pull request #1240 from 0x8080/Exports
[Kernel] Define all exports for xboxkrnl/xam/xbdm
2018-10-23 18:30:04 -05:00
0x7FFFFFFF 96bb9b04da [Kernel] Define all exports for xboxkrnl/xam/xbdm 2018-10-23 17:26:47 -06:00
gibbed a33b13c174 [Kernel] Stub XamShowNuiTroubleshooterUI. 2018-10-23 17:48:10 -05:00
gibbed 3a64cf64e0 [Kernel] Stub HidReadKeys. 2018-10-23 16:43:31 -05:00
Triang3l 119342dbac Merge branch 'master' into d3d12 2018-10-23 23:35:06 +03:00
Triang3l 76c14f7e58 [APU] Load XAudio2_8.dll dynamically 2018-10-23 23:34:41 +03:00
Triang3l aef0675c31 [GPU] Don't ignore vector instructions with side effects when they write to nowhere 2018-10-23 22:46:03 +03:00
Triang3l 43f34d804a [D3D12] Load D3D dynamically 2018-10-23 19:21:01 +03:00
Triang3l b81bb4d68c [D3D12] Code cleanup 2018-10-23 16:42:53 +03:00
Triang3l 31e0581304 [D3D12] Indexed line loops 2018-10-23 13:36:03 +03:00
Triang3l 096d78a2f9 [D3D12] Expose ROV toggle in xenia-gpu-shader-compiler 2018-10-23 11:04:36 +03:00
Triang3l 404535cdd8 Merge branch 'master' into d3d12 2018-10-23 10:54:58 +03:00
Triang3l 00adfcadf9
[UI] Fix build error in file_picker_win.cc using decltype 2018-10-23 10:54:16 +03:00
Triang3l f78c48d6f9 [D3D12] Triangle fans with primitive restart 2018-10-23 08:14:41 +03:00
Triang3l fb12ee72cb [D3D12] Compilation fixes related to 8_8_8_8_GAMMA_EDRAM texture format 2018-10-22 23:30:11 +03:00
Triang3l 2b03a9e095 [GPU] Synchronize GPU frontend with the D3D12 branch 2018-10-22 23:28:52 +03:00
Triang3l abdb37464d
Merge branch 'master' into d3d12 2018-10-22 23:15:07 +03:00
emoose bf039172cf [Kernel] Add null pointer checks to xmp_app handlers 2018-10-22 18:01:09 +01:00
emoose 67f0e487f4 [Kernel] Fix _snwprintf not having format_core wide = true 2018-10-22 18:00:01 +01:00
Triang3l 729406dee2 [D3D12] ROV: Blend in linear color space 2018-10-22 15:54:41 +03:00
emoose 6e74ba93d6 [CPU] Add support for delta patches using *_offset fields 2018-10-22 12:26:14 +01:00
Triang3l 6b09c02c42 [D3D12] ROV: Alpha saturate blending factor 2018-10-22 07:45:59 +03:00
Triang3l f8d3e0c82f [D3D12] ROV: Small stencil-related cleanup 2018-10-21 22:14:48 +03:00
Triang3l b183b13868 [D3D12] ROV: Fix 7e3 alpha converted twice 2018-10-21 15:33:51 +03:00
Triang3l 8cfff36ec1 [D3D12] ROV: UAV barrier in Resolve 2018-10-21 14:53:29 +03:00
Triang3l b6006dc4b2 [D3D12] ROV: Fix 32-bit storing 2018-10-21 14:16:23 +03:00
Triang3l 24bf39e942 [D3D12] ROV: Don't clamp during blending for floats 2018-10-21 13:44:35 +03:00
Triang3l eb185ab64c [D3D12] ROV: Clamp float16 to 65504 to prevent Infinity 2018-10-20 21:50:57 +03:00
Triang3l 24ebe6b1a7 [D3D12] ROV: Non-IEEE multiplication in blending 2018-10-20 17:58:02 +03:00
emoose d2fd109af3 [CPU] Add more asserts for XEXP descriptor (+ log a warning) 2018-10-20 05:08:14 +01:00
emoose 265903fe66 [CPU] Add XEXP support to XexModule, if XEXP is in same folder as XEX
This was a headache to work out, big thanks to the lack of documentation on .xexp files... a ton of guesswork was involved here but luckily it turned out well.

I did have to make some pretty major changes to the way XEX files are loaded though.
Previously it'd just load everything in one go: XEX headers -> decrypt/decompress data -> load imports/symbols -> set loader data table entries, etc...

Now it's changed to something like this:
- Load base XEX headers + decrypted/decompressed image data, return X_STATUS_PENDING
- In the LoadFromFile call used to load the XEX, search for XEXP patch file (only .xexp in same folder atm)
- If patch exists: load XEXP, decrypt headers/data, apply patch to base XEX, dispose of XEXP
- Finish XEX load via LoadXexContinue() (handles imports/symbols/loader data...)

This saves us from needing to reset the imports/function/symbol stuff after patching (since all the XEX code will be a lot different), but I'm not really sure if I went about it the best way.
2018-10-20 04:36:21 +01:00
emoose 0b7f7e1657 [CPU] Move XEX2 code into XexModule class, autodetect XEX key
Code is mainly just copy/pasted from kernel/util/xex2.cc, I've tried fixing it up to work better in a class, but there's probably some things I missed.

Also includes some minor improvements to the XEX loader, like being able to try both XEX keys (retail/devkit) automatically, and some fixes to how the base address is determined.

(Previously there was code that would get base address from optional header, code that'd get it from xex_security_info, code that'd use a stored base address value...
Now everything reads it from a single stored value instead, which is set either from the xex_security_info, or if it exists from the optional header instead.
Maybe this can help improve compatibility with any weird XEX's that don't have a base address optional header?)

Compressed XEX loader also has some extra checks to make sure the compressed data hash matches what's expected.
Might increase loading times by a fraction, but could save reports from people unknowingly using corrupt XEXs.
(still no checks for non-compressed data though, maybe need to compare data with xex_security_info->ImageHash?)
2018-10-20 04:18:18 +01:00
Triang3l 1d97fe7d53 [D3D12] ROV: Declare SV_IsFrontFace in the depth-only shader 2018-10-19 12:30:09 +03:00
Triang3l 18ef1248f9 [D3D12] ROV: Use front face stencil for back face when needed 2018-10-19 11:55:01 +03:00
Triang3l c1e78f6953 [D3D12] ROV: Broken stencil test 2018-10-19 11:33:50 +03:00
Triang3l ea2864d21e [D3D12] ROV: Stencil constant declarations 2018-10-18 23:02:25 +03:00
Triang3l d214c62c78 [D3D12] ROV: Fix write mask source 2018-10-18 20:59:24 +03:00
Triang3l f48ea20880 [D3D12] ROV: Track which RTs and components have been actually written 2018-10-18 14:54:33 +03:00
Triang3l 1860bc6a59 [D3D12] Display whether ROV is actually used in the title 2018-10-17 17:53:37 +03:00
Triang3l f5a90faeab [D3D12] ROV: Separate depth and stencil discard/writing 2018-10-17 16:22:24 +03:00
Triang3l 1c6d753e55 [D3D12] ROV: Depth test refactoring 2018-10-17 15:23:58 +03:00
Triang3l 6c0ffe881a [D3D12] ROV: Min/max blend operations 2018-10-17 13:04:03 +03:00
Triang3l 17a737a358 [D3D12] Display ROV support in the window title 2018-10-16 21:19:45 +03:00
Triang3l 37fe120fe0 [D3D12] ROV: Write mask, write in ascending RT number order 2018-10-16 20:50:01 +03:00
Triang3l e8414da5dd [D3D12] ROV: Fix depth format system constant setting 2018-10-16 18:08:18 +03:00
Triang3l 5f2c4500d6 [D3D12] ROV: Clamp values participating in blending 2018-10-16 15:02:08 +03:00
Triang3l 2d56c9ae30 [D3D12] ROV: Empty pixel shader for depth-only drawing 2018-10-16 14:02:43 +03:00
Triang3l 6e9964b43e [D3D12] ROV: Fix depth testing 2018-10-15 23:16:34 +03:00
Triang3l e455467c32 [D3D12] ROV: Non-working depth testing code 2018-10-15 22:13:06 +03:00
Christian Hawley add23849bf [CPU] Implement lmw and stmw instructions 2018-10-14 13:57:45 -04:00
Triang3l fa968a9ecd [D3D12] ROV: Fix 7e3 denormal read 2018-10-14 16:05:11 +03:00
Triang3l 5395183d98 [D3D12] ROV: 64bpp load/store 2018-10-14 14:38:04 +03:00
Triang3l eb8596d72a [D3D12] ROV: Cleanup format system constants 2018-10-14 12:04:39 +03:00
Triang3l 518535bbd3 [D3D12] ROV 7e3 reading 2018-10-13 20:19:42 +03:00
Triang3l 148a713280 [D3D12] ROV 7e3 writing 2018-10-13 19:10:25 +03:00
Triang3l c8a48f9c1c [D3D12] ROV: Blending fixes 2018-10-13 17:44:04 +03:00
Triang3l efc7f794ed [D3D12] DXBC: Fix position/color use after free, fix ROV color load/store 2018-10-13 15:38:49 +03:00
Triang3l f98a4d11ea [D3D12] ROV: A bit of non-working blending code 2018-10-13 14:33:22 +03:00
Triang3l 60c7f11fe0 [D3D12] Blend constant values 2018-10-12 23:56:49 +03:00
Triang3l 5f108246b6 [D3D12] ROV: Blending constant declaration 2018-10-12 22:28:07 +03:00
Triang3l 10a3dc6d94 [D3D12] ROV: 32-bit loading, except for 7e3 2018-10-12 20:07:00 +03:00
Triang3l 3dc15dbb44 [D3D12] ROV: 32bpp storing (except for 7e3) 2018-10-12 09:59:31 +03:00
Triang3l 615fade64e
[D3D12] ROV: Fix EDRAM pitch shader constant size 2018-10-11 19:59:35 +03:00
Triang3l 197b1d8114 [D3D12] ROV: EDRAM offset calculation 2018-10-11 10:16:36 +03:00
Triang3l 8cde541596 [D3D12] ROV: Binding 2018-10-10 18:33:39 +03:00
Triang3l 67e5cb8681 [D3D12] ROV: Disable RTs when using ROV 2018-10-10 16:37:35 +03:00
Triang3l 6d2e74325c [D3D12] ROV: Check if supported 2018-10-10 14:30:29 +03:00
Triang3l 90f700c785 [D3D12] Analysis: Display fetch constant contents if type is wrong 2018-10-10 12:44:02 +03:00
Triang3l 7bc79cbd01 [D3D12] Signed texture SRVs 2018-10-09 21:44:18 +03:00
Triang3l 7603de218b [D3D12] DXBC part of signed textures 2018-10-09 08:31:09 +03:00
Triang3l 6a6e63060b [D3D12] Submit barriers before uploading gamma ramp 2018-10-08 19:42:02 +03:00
Triang3l fccebae703 [D3D12] PIX: Capture with F4, disable tiled resources when attached 2018-10-08 12:05:15 +03:00
Triang3l 16dc6e4100 [D3D12] DXBC: In getWeights, apply the offset for unnormalized coordinates only when needed 2018-10-07 21:51:18 +03:00
Triang3l 685d3074f4 [D3D12] Hash sampler bindings and refactor names in UpdateBindings 2018-10-07 20:21:18 +03:00
Triang3l 3de2b5e692 [D3D12] Code style fixes 2018-10-07 17:30:12 +03:00
Triang3l 400e6b7137 [D3D12] Don't replace strip reset index when not used, profile ConvertPrimitives 2018-10-07 15:26:47 +03:00
Triang3l 9194c3f8b0 [D3D12] Primitive converter cache and strip restart, texture invalidation acquire/release 2018-10-06 20:27:48 +03:00
Triang3l 128ac2a3f9 [D3D12] Align mipmap storage size to power of 2 when untiling 2018-10-05 20:48:11 +03:00
Triang3l 34946c57b0 [D3D12] Rename XeTextureCopy to XeTextureLoad in shaders 2018-10-05 20:02:36 +03:00
Triang3l 9dc7dfab02 [D3D12] Fix currently bound textures not reloaded if not needed immediately 2018-10-05 09:20:51 +03:00
Triang3l d827bbeb6c [D3D12] Fix texture binding hashing 2018-10-04 23:57:08 +03:00
Triang3l 131525e44d [D3D12] Don't create SRVs if textures not changed 2018-10-04 14:36:48 +03:00
Triang3l b77ffe3df6 [D3D12] Output gamma ramp 2018-10-03 14:36:17 +03:00
Triang3l c624bf8c49 [D3D12] DXBC: Use a0 for maxas scratch because ps must not be modified without a write mask 2018-10-02 21:24:50 +03:00
Triang3l 90f586383a [D3D12] Make tiled resources optional - not available on old Intel HD Graphics 2018-10-02 17:36:10 +03:00
Triang3l 9e17bbf016 [D3D12] Refactor system and bool/loop constants into separate descriptor ranges 2018-10-02 16:34:22 +03:00
Triang3l 2588aab89d [GPU/D3D12] Float constant remapping fixes 2018-10-01 20:15:00 +03:00
Triang3l c4599ff211 [D3D12] Compact float constants and don't split them into pages 2018-09-30 20:17:26 +03:00