Commit Graph

3178 Commits

Author SHA1 Message Date
Dr. Chat 16cff62d36 Base: Remove memory::DeallocationType::kDecommitRelease (an invalid combination) 2017-05-14 00:59:52 -05:00
Dr. Chat 66dbd86989 PPC: Support NaN in fcmp[o/u]x. 2017-05-14 00:24:35 -05:00
gibbed eff9ba31d2 Fixed PPCContext::cr() returning incorrectly shifted state. 2017-05-14 00:02:47 -05:00
Dr. Chat 6e2bf0b4b1 Native test runner: Support FPSCR 2017-05-13 23:12:53 -05:00
Dr. Chat 84758a3a3f Vulkan CP: Use the color blitter 2017-05-13 10:15:56 -05:00
Dr. Chat a41cf1a9ba Vulkan UI: Properly transition the frontbuffer to avoid validation errors. 2017-05-13 10:05:02 -05:00
Dr. Chat 7fdfb90e3d Vulkan: Allow command buffer level specification on allocation rather than construction.
Free unused descriptor sets properly.
2017-05-13 10:03:59 -05:00
Dr. Chat 0c1a46d708 Vulkan UI: Set up the blitter. 2017-05-13 10:02:22 -05:00
Dr. Chat 6990d21a8d Update test framework documentation 2017-05-12 18:34:01 -05:00
Dr. Chat 8aac7a6007 Fix vkDebugMarkerSetObjectNameEXT for now. 2017-05-12 18:00:31 -05:00
Dr. Chat d3ed53c43e PPC: Support v[u]pkd3d128 VPACK_NORMSHORT4 2017-05-12 17:55:52 -05:00
Dr. Chat 82efbd7bc5 HIR: Add opcode SET_ROUNDING_MODE (taking FPSCR as an argument) 2017-05-12 14:05:27 -05:00
Dr. Chat dbece71945 native-tests: Add altivec save/restore support (only up to 32 registers) 2017-05-12 12:00:35 -05:00
Dr. Chat af493ffbc7 xenia-base: Use unique_ptr constructor rather than make_unique to support GCC 4.8.4 2017-05-12 10:17:56 -05:00
Dr. Chat 7e9d63e33d Gracefully handle test suites failing to load without exiting. 2017-05-11 15:59:34 -05:00
Dr. Chat 747f7d65d8 PPC-nativetests: Zero out the context between runs 2017-05-11 15:59:34 -05:00
Dr. Chat 737b78ad49 Last stretch to get PPC native tests working 2017-05-11 15:09:43 -05:00
Dr. Chat 7eceb9db09 PPC nativetests require gflags! 2017-05-11 11:41:34 -05:00
Dr. Chat cf838439b7 Whoops! Fix formatting. 2017-05-11 11:38:50 -05:00
Dr. Chat 7194c9e49b filesystem_posix: Add missing cstring include 2017-05-11 10:34:26 -05:00
Dr. Chat 254fd3631f Math: Fix [l/t]zcnt intrinsics on GCC
X64Context: Surround with architecture ifdef
2017-05-11 10:32:13 -05:00
Dr. Chat 5fde9fa720 Fix typo in xenia-vfs premake generator. Fixes #701. 2017-05-10 22:15:03 -05:00
Dr. Chat be962e6de1 More WIP architecture fixes (exception_handler/string_util) 2017-05-09 22:32:27 -05:00
Dr. Chat 096a0230c4 Fix Travis :| 2017-05-09 21:10:53 -05:00
Dr. Chat c2160c2504 Fix mapped_memory_posix.cc build on GCC 2017-05-09 21:00:30 -05:00
Dr. Chat 66a73128dd Fix debugging_posix.cc 2017-05-09 20:57:35 -05:00
Dr. Chat dbc2d233fb (for now) Stub X64Context out on non-AMD64 platforms 2017-05-09 20:53:25 -05:00
Dr. Chat bb3291e331 Add generic memory swap routines. 2017-05-09 20:52:09 -05:00
Dr. Chat 6dcbee18da Whoops - fix linux builds. 2017-05-08 22:26:48 -05:00
Dr. Chat ccd6d4b199 (WIP) Add a native PowerPC testing frontend 2017-05-08 22:21:43 -05:00
Dr. Chat 095f65c19e (maybe) Proper POSIX memory allocation support 2017-05-07 19:52:15 -05:00
Dr. Chat e26aa6c189 Add XE_ARCH_* 2017-05-07 18:25:06 -05:00
DrChat cff80bd782 fctiw[z]x: Sign-extend the result (verified by HW) 2017-04-26 12:28:35 -05:00
DrChat 8ccefa1600 Xam: (possibly) fix XamContentCreateEx extended result being incorrectly put as an extended error. 2017-04-24 15:11:46 -05:00
Dr. Chat 7f4ee2a070 Fix typo in XamAlloc
Few other inconsistencies in xboxkrnl_memory
2017-04-17 22:57:29 -05:00
Dr. Chat ab1690b0b1 Fixing formatting errors. 2017-04-08 12:46:52 -05:00
Dr. Chat b40d75aa3d TextureInfo: Store the texture format, not a pointer to texture format info. 2017-04-07 15:16:09 -05:00
Cesys d2605bce18 Fixing Altivec lvrx and stvrx 2017-03-31 11:00:51 -07:00
Megamouse c38accbb76 format shim conversion on some files
xam_info.cc, xam_msg.cc, xam_notify.cc, xboxkrnl_memory.cc,
xboxkrnl_misc.cc
2017-03-28 00:39:37 +02:00
Cesys 8c4ca35a35 Ringbuffer init fix 2017-03-25 20:00:48 -07:00
DrChat 9d721df061 Don't log the result of RtlNtStatusToDosError as an error 2017-03-24 16:31:09 -05:00
DrChat e699be0118 Logging: Add a flag to specify the minimum log level
--log_level = (0=error, 1=warning, 2=info, 3=debug)
2017-03-24 16:28:41 -05:00
Dr. Chat 92a4b90ed0 TextureInfo: Use round_up rather than floating point math for calculating tile width. 2017-03-19 20:20:43 -05:00
DrChat f012845cb6 JIT: Propagate mul/div by constant one 2017-03-16 18:49:55 -05:00
Dr. Chat 5ed086f03f x64 Code Cache: Notify Intel VTune of generated functions. 2017-03-16 17:45:47 -05:00
Dr. Chat 78433f70bd Vulkan CP: Supply the correct endianness to resolve TextureInfo 2017-03-16 01:55:07 -05:00
Dr. Chat b4c4ad4e76 SamplerInfo: Add LOD bias and border color 2017-03-14 23:33:22 -05:00
Dr. Chat b34350e9e7 TextureCache: Remove distinction between resolve textures and regular textures. 2017-03-14 23:18:53 -05:00
Dr. Chat 4a815e62cb TextureInfo: PrepareResolve, Reorganize source, add better documentation 2017-03-14 22:46:47 -05:00
Dr. Chat 581875b339 SPIR-V: Load operands after handling predicated blocks. 2017-03-14 21:41:50 -05:00
Dr. Chat e4ece12371 BufferCache: Clear the transient cache when invalidated. 2017-03-14 19:07:28 -05:00
Dr. Chat 44e7c3712a Vulkan: Fix register constants on AMD 2017-03-14 00:50:49 -05:00
Dr. Chat 5f5dc61428 Vulkan CP / Render Cache: Proper synchronization barriers for transfer
Use an event rather than a semaphore for swap
Update some calculations in IssueCopy TextureInfo
2017-03-13 18:03:33 -05:00
Dr. Chat 0c2e0e4119 RenderCache: Update to register bitfield structs 2017-03-13 17:54:41 -05:00
Dr. Chat 3cae25f36f VdSwap: Supply more (accurate) information to the CP 2017-03-12 22:50:04 -05:00
gibbed e3552a0601 Temporary hack for swaps until better texture info building can be implemented. 2017-03-12 22:03:20 -05:00
gibbed 8dbf3d240b Make the previous commit slightly more performant. 2017-03-12 01:15:43 -06:00
gibbed 69b92c6c31 Maybe fix texture uploads where mipmaps are packed in linear textures. 2017-03-12 01:12:02 -06:00
Dr. Chat 284aa14a67 Update a few Xenos enums/structs 2017-03-12 01:05:34 -06:00
gibbed 5875b79cc4 Compressed textures apparently don't have to have a height multiple of 32 either. 2017-03-11 23:40:43 -06:00
gibbed c0ee30c6b4 Linear textures apparently don't have to have a height multiple of 32. 2017-03-11 22:56:17 -06:00
Dr. Chat f87e55d030 Textures: Untiled textures do not need to have a size multiple of 32 2017-03-11 20:58:12 -06:00
Dr. Chat c4b728b121 MMIO Handler: Don't allow more than one watch to occupy the same region (fire old watches if a new one overlaps) 2017-03-11 20:55:01 -06:00
Dr. Chat 257fbfc408 ELF Loader: Fix linux build 2017-03-07 12:33:18 -06:00
Dr. Chat 3046df2415 SPIR-V: Go to next instr if cexece did not execute and is not the last instruction. 2017-03-07 12:25:36 -06:00
Dr. Chat cbab45c4b7 Improve ELF loading 2017-03-06 17:59:19 -06:00
Dr. Chat b661aa17f9 SPIR-V: Handle conditional exece CF instructions 2017-03-06 15:39:40 -06:00
Dr. Chat 098d23c3d4 JIT - fctidz: Properly saturate 2017-03-06 01:06:32 -06:00
Dr. Chat d8ed251ad1 Tests: Handle integer floating point numbers 2017-03-06 01:04:59 -06:00
Dr. Chat 31766eaf8d JIT: oops 2017-03-05 18:06:39 -06:00
Dr. Chat d5e7bc8dca JIT - vctsxs: Properly saturate signed integers 2017-03-05 17:45:17 -06:00
Dr. Chat ea89a5d179 JIT - fctixx: Properly handle numbers > INT_MAX 2017-03-05 15:04:26 -06:00
Dr. Chat ad5748f3e7 Handle cases where the optional import header isn't present :P 2017-02-25 20:28:45 -06:00
Dr. Chat 2bd19478a4 Logger: Properly handle cases where strlen(formatted string) > capacity of log_format_buffer_ (as well as error cases) 2017-02-25 20:03:25 -06:00
Justin Moore ed56f7e96b Merge pull request #643 from inckie/local_fixes
* statics initialization order fix
2017-02-23 17:34:13 -06:00
Justin Moore 2070570307 Merge pull request #655 from inckie/bugfix_filetime
Make vfs::Entry time stamps consistent (as Windows FILETIME)
2017-02-23 16:58:01 -06:00
Ink fe3d31067f * proper FAT timestamp handling 2017-02-23 19:38:29 +03:00
Dr. Chat 76f6aa7c90 Xenos: Add a few bitfield registers to registers.h 2017-02-22 16:17:03 -06:00
tgsm 3dc8065a57 vfs: fix dead link 2017-02-21 22:26:18 -05:00
tgsm cd28fb9a0e vfs: fix typo in StfsContentType enum 2017-02-21 22:25:53 -05:00
Dr. Chat 2acee08590 Base bitfield class 2017-02-19 19:58:58 -06:00
Dr. Chat c08d4e862e PPC Testing: Don't discover . and .. 2017-02-18 00:43:45 -06:00
Dr. Chat f12d795a9f Linting fix 2017-02-17 23:38:21 -06:00
DrChat c62c4fe741 Vulkan: Properly invalidate resolve textures
Trace Writer memory caching
2017-02-17 18:59:08 -06:00
DrChat 070e7bf33d TraceDump: Support capturing Vulkan traces 2017-02-15 01:59:26 -06:00
DrChat 6bbd399cfd Fix queueFlags formatting 2017-02-13 17:13:24 -06:00
DrChat c8e618852b Vulkan Immediate Drawer: Fix uninitialized flags 2017-02-13 14:47:12 -06:00
DrChat 4a99b88650 Vulkan: Fill unused descriptor array elements with a dummy image (required by API) 2017-02-13 14:46:24 -06:00
Dr. Chat 75b34b83a6 Vulkan: Alias all input textures on the same binding 2017-02-13 13:35:53 -06:00
DrChat 60664d86fc Vulkan UI: Fix erroneously signaling image usage semaphore 2017-02-12 21:59:55 -06:00
DrChat c3b9d6acf8 Vulkan UI: Proper transitions for frontbuffer 2017-02-12 21:41:21 -06:00
DrChat 7a9c33fcfe Vulkan: Emit a warning if the physical device is unable to support texture cache requirements 2017-02-12 21:24:38 -06:00
DrChat ba8e315a69 Vulkan UI: Track if debug marker extension is enabled 2017-02-12 19:05:59 -06:00
DrChat 4ee16fd193 Vulkan UI: Fix invalid push constant usage in immediate.frag/vert (and update shaders) 2017-02-12 18:47:53 -06:00
Ink 8a1d72098f * statics initialization order fix 2017-02-12 17:13:42 +03:00
Dr. Chat a636b3cbcf Vulkan Swapchain: Fix a few API usage errors 2017-02-11 22:17:24 -06:00
DrChat 1c48b93ffd Vulkan: Fix misplaced break statements 2017-02-11 21:53:52 -06:00
DrChat 4a2ce960e9 Vulkan UI: More explicitly define order of copy commands vs. render commands 2017-02-11 21:30:16 -06:00
Justin Moore 591e581a70 Merge pull request #663 from resetnow/linux-build-fixes
Linux + clang build fixes
2017-02-11 20:32:33 -06:00
DrChat 6d4b06c08f Use stdout as logfile for tests 2017-02-11 00:15:52 -06:00
DrChat 26456280f1 Travis: print error log on command failure 2017-02-11 00:02:15 -06:00
DrChat d43e2c7ff8 xenia-cpu-ppc-tests is now building on linux 2017-02-10 23:54:10 -06:00
DrChat 11ae05155d Fix casting between XThread and Thread causing pointer misalignment 2017-02-10 23:35:35 -06:00
DrChat 1334656c6a xenia-cpu-ppc-tests: Adjust link order for clang 2017-02-07 18:15:30 -06:00
Vlad Ivanov bb9a26702d gpu: spirv_shader_translator: xb format changes 2017-02-07 21:24:06 +03:00
Vlad Ivanov d6bd1a9d21 gpu: trace_viewer: fix size_t format specifiers 2017-02-07 21:23:51 +03:00
Vlad Ivanov c74b84a18b gpu: spirv_shader_translator: fix a number of missing VertexFormat cases 2017-02-07 20:26:08 +03:00
Vlad Ivanov 091c196fc7 gpu: spirv_shader_translator: add missing cfloat include 2017-02-07 20:26:08 +03:00
Vlad Ivanov f0ba717142 Fix a bunch of missing cmath includes
...as well as missing std:: namespace specifiers
2017-02-07 20:26:08 +03:00
Dr. Chat 4c55039c22 Remove xenia-cpu dependency on xenia-kernel 2017-02-06 21:57:18 -06:00
Dr. Chat b66f10f2b8 Testing travis xenia powerpc testing 2017-02-06 00:40:06 -06:00
Dr. Chat 8947a7626e Linting fixes :) 2017-02-05 22:53:30 -06:00
Dr. Chat 803f0be049 Linux header fixes 2017-02-05 22:45:01 -06:00
Dr. Chat bf7f170825 Fix string_util.h include on linux 2017-02-05 22:01:50 -06:00
Dr. Chat 7fb31462e4 Logger: Use platform-agnostic aligned alloc 2017-02-05 20:39:46 -06:00
Dr. Chat 65ca7fc416 Lockless logging 2017-02-04 19:26:39 -06:00
Dr. Chat c538671c24 Kernel: Wrap new objects in object_ref to avoid a memory leak! 2017-02-03 20:57:08 -06:00
Dr. Chat 8c79051a94 Vulkan: Add basic one-frame cache to BufferCache 2017-01-29 00:24:31 -06:00
Dr. Chat d9b52d1afa GPU: Add a "low-power" state. 2017-01-28 20:59:41 -06:00
Dr. Chat a093fdcef8 XMA: Add an idle "low-power" state for the decoder. 2017-01-28 20:58:23 -06:00
Dr. Chat c5487371f9 Uh... Linting! 2017-01-28 14:12:30 -06:00
Dr. Chat 366eeeaa60 Vulkan TextureCache: Use a hashed and fenced pool for descriptors 2017-01-28 14:05:42 -06:00
Dr. Chat a16dc261da DescriptorPool fenced pool 2017-01-28 14:05:42 -06:00
Dr. Chat 90b0541d72 Vulkan CP: Code refactoring 2017-01-28 14:05:42 -06:00
Dr. Chat c416cbb61d Vulkan CP: Specify wait stage for swap sync 2017-01-28 14:05:42 -06:00
Dr. Chat 9135b6d9ac Vulkan: Support accessing only depth buffer via shaders 2017-01-28 14:05:42 -06:00
Dr. Chat ba74667190 Vulkan: Initialize RenderPassCreateInfo flags variable to 0. 2017-01-28 14:05:42 -06:00
Dr. Chat 16fc719b14 Vulkan: Passthrough unused point size/coord in geometry shaders 2017-01-28 14:05:42 -06:00
gibbed 1eb0048e54 When creating a window icon from the game's icon resource, scale it to default Windows size (fixes an issue where the icon would appear larger than it should in the Volume Mixer). 2017-01-21 05:51:34 -06:00
gibbed dece63e351 Return ERROR_PROC_NOT_FOUND, not ERROR_INVALID_ORDINAL, as failure from XexGetProcedureAddress. 2017-01-20 08:19:58 -06:00
gibbed 69cf40161e Added support for '?' to FS wildcard handling. 2017-01-19 18:13:07 -06:00
gibbed 17529b063f Spliced out the FS wildcard stuff. 2017-01-19 17:06:35 -06:00
maxton 57cbfc1167 Update xboxkrnl_modules to new convention 2017-01-16 17:11:24 -05:00
Dr. Chat 9f5abb02b7 Vulkan: Fix improper subpass dependency when using the MAY_ALIAS bit 2017-01-14 18:04:05 -06:00
Dr. Chat 06588f8703 Fix xe::CreateParentFolder improperly handling separators on Windows 2017-01-14 15:19:43 -06:00
gibbed a95de67b8c 1D textures. Maybe. 2017-01-10 00:04:41 -06:00
gibbed cec8932605 Log lpwstring_t contents. 2017-01-09 23:57:47 -06:00
gibbed 13dd23a8a9 Stubbed out some default (error) logic to NetDll_XNetDnsLookup. 2017-01-09 23:50:51 -06:00
gibbed 89de63b34c Fixed NetDll_XNetDnsLookup signature. 2017-01-09 23:04:30 -06:00
gibbed 2da97c1e6f Moved XamContentCreate and XamContentCreateEx to the new export convention. 2017-01-09 17:12:30 -06:00
gibbed d17d02f606 Log lpstring_t contents. 2017-01-09 17:11:17 -06:00
gibbed ac7dce758b Fixed xe::filesystem::DeleteFolder on Windows. Should fix some issues where games tried to overwrite existing content such as saves and was failing. 2017-01-09 17:05:05 -06:00
gibbed 61cb3093ce Updated NetDll_select for new export convention. 2017-01-09 08:45:51 -06:00
gibbed 5cbb542fa3 Better (and portable) fd_set handling for NetDll_select, and properly tracks guest handles as well. 2017-01-09 08:00:42 -06:00
gibbed d43af82889 Oops. Code merge screwup. 2017-01-09 07:00:31 -06:00
gibbed 2e8c34377f Implemented NetDll_shutdown.
De-borked LoadFdset/StoreFdset in regards to handling of correct counts
and invalid sockets.
2017-01-09 06:58:15 -06:00
gibbed f3ed9ab91b Shut lint up on Linux. 2017-01-09 06:00:16 -06:00
gibbed cf4d780c8b Cleanup of XBOXKRNL XMA exports. 2017-01-09 04:53:44 -06:00
gibbed d730784efb Added XBDM stubs. 2017-01-09 04:51:55 -06:00
Justin Moore 4ed0068da8 Merge pull request #654 from ObsidianGuardian/master
Added keyboard support for trigger and shoulder buttons
2017-01-09 02:37:46 -06:00
ObsidianGuardian bfd512ae1f Added keyboard support for triggers and shoulder buttons 2017-01-09 08:22:29 +01:00
Ink 0d8a81137c * make vfs::Entry time stamps consistent (as Windows FILETIME) 2017-01-06 04:17:04 +03:00
maxton cc0adb95f1 Add word pointer type 2016-12-20 18:22:41 -05:00
maxton 345b070379 Update kernel convention for xboxkrnl_ob.cc 2016-12-20 15:27:21 -05:00
maxton 7f453a2041 Update kernel convention for xboxkrnl_rtl.cc 2016-12-20 14:49:32 -05:00
PikminGuts92 9a8005e6fd Added flag for fullscreen toggle. 2016-12-06 14:35:49 -05:00
PikminGuts92 682357519c Made ToggleFullscreen function public. 2016-12-06 12:31:36 -05:00
maxton 57d4c6fa9b Update kernel convention for xboxkrnl_io.cc
Fix linting error

Update kernel convention for xboxkrnl_io.cc
2016-12-01 10:41:54 -05:00
Dr. Chat 57c3addd09 Dump guest crash details into the log 2016-11-30 22:54:58 -06:00
Dr. Chat f6ac79ea07 XSocket Implementation 2016-11-28 22:10:19 -06:00
maxton d307d83dc0 Update convention for xboxkrnl_audio.cc (squashed commits) 2016-11-25 20:48:17 -05:00
Dr. Chat 7b6af84640 Whoops 2016-11-23 12:34:56 -06:00
Dr. Chat 7a0a36cf00 RtlUpperChar / RtlLowerChar 2016-11-23 12:19:37 -06:00
Dr. Chat a88c78eba3 Allow the kernel dispatch thread to be suspended after being initialized 2016-11-23 11:56:57 -06:00
Dr. Chat d5010fb947 Win32 UI loop: allow recursion 2016-11-23 11:53:35 -06:00
Dr. Chat 222a9721aa Add a File->Close option 2016-11-23 11:00:10 -06:00
Dr. Chat ca54f9f212 SPIR-V: Whoops, flip the store operands around correctly 2016-11-22 21:36:39 -06:00
Dr. Chat 8d476fc845 Update the Vulkan loader to the latest version 2016-11-22 21:29:18 -06:00
Leighton Hancock 524ba0c88c Add file drop functionality
Adds the ability to drag and drop files from windows in order to attempt
to execute them
2016-11-14 16:50:58 +13:00
Dan Weatherford 6f6e638f2f [vulkan] Point list rendering improvements
Implement register and vertex-shader-written point size. Fix point size
computation in geometry shader (convert pixel size to NDC scale using
viewport size). Fix point sprite coordinate generation.
2016-11-12 18:03:03 -06:00
Dan Weatherford c1db89b4dd Eliminate double lock of Vulkan queue mutex 2016-11-11 23:07:49 -06:00
Dr. Chat 02a0d11326 SPIR-V: GetWeights2D/1D as well as (possibly) proper fetch offsets 2016-11-11 17:52:15 -06:00
Dr. Chat 691c3d1021 EXTRACT_I32: Support constant src1 2016-11-11 16:50:42 -06:00
Dr. Chat 1afb899b7d Also track batch fences in the CP properly 2016-11-08 19:41:35 -06:00
Dr. Chat 48f6ba747c Track batch fences with the batches. 2016-11-08 18:11:12 -06:00
Dr. Chat 391b6e9bb7 Vulkan: Include the blit shaders too! 2016-11-04 19:21:46 -05:00
Dr. Chat fe2c887c34 Math tzcnt 2016-11-04 19:17:12 -05:00
Dr. Chat e46a0c50fd Vulkan: WIP Blitter 2016-11-04 19:10:24 -05:00
Dr. Chat 4fe6eba972 X_HRESULT_FROM_WIN32 macro 2016-11-04 19:06:43 -05:00
Dr. Chat a148b965f1 KernelState should handle module launching 2016-10-24 11:01:10 -05:00
Dr. Chat 69be82c786 Attempt at synchronizing swap image writes between the main window and graphics backend.
Disabled for now due to device timeouts.
2016-10-21 19:44:11 -05:00
Dr. Chat 26d81abf52 IssueDraw failing in the backend does not mean we need to stop processing commands 2016-10-21 18:14:24 -05:00
Dr. Chat f5995474b1 Write the title ID to savestates - and disallow loading savestates from a different title for the moment. 2016-09-28 18:33:25 -05:00
DrChat bc0ddbb05a Fix UI thread not waking up from input 2016-09-11 21:26:35 -05:00
Dr. Chat 9457c63a64 SPIR-V: Handle conversion of integer vertex input 2016-09-07 11:13:53 -05:00
Dr. Chat 1757411aa8 Label blocks following jump statements for now. 2016-09-05 22:19:56 -05:00
Dr. Chat 300d1c57ba SPIR-V: Rewrite basic control-flow to use a while loop paired with a switch statement 2016-09-05 16:57:02 -05:00
Dr. Chat 52c75c8dbc x64 backend: Pass guest return address as first argument to guest functions. 2016-08-26 13:46:21 -05:00
Dr. Chat 7683069f6c Set context/membase registers to rsi/rdi respectively.
Use offsetof for the backend thunks.
2016-08-26 11:00:42 -05:00
Dr. Chat fbedb915b6 Move definition of XEPACKEDSTRUCT to platform.h 2016-08-22 17:23:50 -05:00
Dr. Chat 5f4416ee2f x64 backend: Save nonvolatile XMM registers on host -> guest transitions
Define the context and membase registers in the x64 emitter.
2016-08-22 14:55:16 -05:00
Dr. Chat e3fdb08ad7 x64 JIT: Allocate constant data outside of the guest heap. 2016-08-18 18:26:55 -05:00
Dr. Chat 784e6a7593 RenderCache: Include a subpass self-dependency due to aliased attachments 2016-08-16 13:11:25 -05:00
Dr. Chat abf162c0e3 Wake the WIN32 loop from all input 2016-08-09 10:45:00 -05:00
Dr. Chat 976a317293 Whoops - a default cursor is kind of important. 2016-08-06 18:16:39 -05:00
Dr. Chat 9b86132fd0 Rewrite XIOCompletion::WaitForNotification 2016-08-06 18:14:26 -05:00
Dr. Chat 1de47e0d17 UI: Hide the cursor after 3 seconds in fullscreen-mode. 2016-08-06 17:00:12 -05:00
Dr. Chat 1a5d4b99fc Add a dependency on xenia-gpu-null in xenia-app 2016-08-04 15:17:04 -05:00
Dr. Chat 04afa31c9c Be linted, you. 2016-08-04 15:15:23 -05:00
Dr. Chat 40f782a83b Add a null graphics system (enable with --gpu=null)
Still uses vulkan to drive xenia UI, may look into decoupling later.
2016-08-04 09:50:13 -05:00
Dr. Chat 92859f5a28 Protect the first 64kb of virtual memory with no access permissions by default. 2016-08-03 18:46:15 -05:00
Dr. Chat 83f7cc27d1 Fixed a deadlock caused by the UI thread dropping important messages 2016-08-03 18:00:32 -05:00
Dr. Chat a7e4bc8f49 Applying graceful linting. 2016-08-01 16:36:41 -05:00
Dr. Chat 99090e0a22 CircularBuffer: Allow users to bind their own memory to our buffer. 2016-08-01 16:30:28 -05:00
Dr. Chat 22794902f3 CNTLZ: Invert the result using xor rather than subtraction 2016-08-01 13:25:44 -05:00
Dr. Chat ff57d79793 TextureCache: Flush uploads if the staging buffer overflows in a frame. 2016-08-01 13:25:44 -05:00
Justin Moore 4577303245 Merge pull request #604 from x1nixmzeng/detect-xna
Find correct launch module for XNA-based games
2016-08-01 10:53:52 -05:00
x1nixmzeng 5be1a24f7a Clang formatting 2016-07-30 15:00:51 +01:00
Dr. Chat cd5d3fae9c Whoops - fix a few compilation errors 2016-07-29 13:42:56 -05:00
Dr. Chat a547c79b51 SPIR-V: Use gl_VertexIndex rather than gl_VertexID
Rewrite bits of LoadFromOperand/StoreToResult
2016-07-29 11:28:19 -05:00
Dr. Chat 72d83591e5 Vulkan: Synchronize copies/draws to the swap chain.
Grab RenderDoc after creating the Vulkan instance
2016-07-29 10:34:54 -05:00
Dr. Chat f81a99e83a XMA: Use a threadsafe bitmap to acquire/release contexts
Support Pausing/Resuming
2016-07-28 21:11:12 -05:00
Dr. Chat 69bb6aacef Swap to using the Vulkan renderer by default
This will break a lot of games and fix others, but it makes more sense to use a backend being actively worked on.
2016-07-28 19:33:05 -05:00
Dr. Chat 54ba3480e4 xboxkrnl: NtAllocateVirtualMemory - Align the base address to a page boundary rather than returning an error code.
Return ACCESS_DENIED if the user requests e.g. a 64k page in a 4k region.
2016-07-28 16:56:05 -05:00
Dr. Chat 6af8546c49 Vulkan: Remove unused gl_ClipDistance from shaders 2016-07-28 12:02:49 -05:00
Dr. Chat 99689176bc Vulkan: Fix a few validation errors 2016-07-28 00:15:23 -05:00
Dr. Chat 87c915e54d Vulkan: Re-enable the validation layers properly. 2016-07-27 23:59:25 -05:00
Dr. Chat 19c7edddca PipelineCache: _FLOAT means use vk _SFLOAT, not _*SCALED! 2016-07-25 12:06:50 -05:00
Dr. Chat a72f1d949f Constant propagation for vector SGT/UGE/UGT
Constant rounding (and fixed vec128 rounding only doing x)
2016-07-25 11:57:14 -05:00
Dr. Chat 91be5f979e Use a dummy pixel shader on depth-only mode 2016-07-24 15:38:00 -05:00
Dr. Chat b478408dfb PipelineCache: Better stencil support, and allow null pixel shaders. 2016-07-24 15:36:41 -05:00
Dr. Chat a065120793 Fix crash in CPU debugger. Thanks @x1nixmzeng 2016-07-24 10:47:14 -05:00
Dr. Chat 9e646085f0 SPIR-V: Rudimentary support of tfetch offsets, fix scalar operand loads 2016-07-24 10:16:44 -05:00
Dr. Chat 99d2b2fb55 Trace Viewer: Add stencil information and color/depth format translations 2016-07-23 22:23:25 -05:00
Dr. Chat 8427acfada Use vpminud to saturate rather than bitwise ops (shaves 6 instructions per 16 in 32 saturated pack) 2016-07-23 19:19:40 -05:00
x1nixmzeng 6cc3440086 Find correct launch module for XNA-based games
Added utility to parse game information and updated launch logic to use
it
2016-07-23 18:27:13 +01:00
Dr. Chat 2d55b12cc9 Fix a race condition in x64 code cache involving RtlGrowFunctionTable 2016-07-19 13:59:40 -05:00
Dr. Chat 18ff97e6b6 OPCODE_IS_NAN 2016-07-11 20:44:12 -05:00
Dr. Chat fb87b7a3c3 xboxkrnl: Add a bunch of crypto functions 2016-07-11 10:35:31 -05:00
Dr. Chat 3d1d4dea47 OPCODE_DOT_PRODUCT_4 constant propagation 2016-06-28 19:39:22 -05:00
Dr. Chat abdf071c7d SPIR-V: Smear one-component scalars 2016-06-28 11:43:03 -05:00
Dr. Chat 14a6fd838a SPIR-V: Fix a few improper usages of pointers
Change StoreToResult conversion
2016-06-28 09:18:08 -05:00
Dr. Chat 753911146b Update spirv-tools and add spirv-headers 2016-06-27 20:37:20 -05:00
Dr. Chat 9abfc52b77 Don't store xam launch data in guest memory. 2016-06-27 13:46:08 -05:00
Dr. Chat 75908a9865 SPIR-V: Fix a couple of errors in translation 2016-06-27 11:08:45 -05:00
Dr. Chat f2ad6b8cb8 OPCODE_RECIP 2016-06-26 13:03:42 -05:00
Dr. Chat 212cd6ee3d GPU: Log a warning on writes to unknown registers. 2016-06-25 10:32:48 -05:00
Dr. Chat b31705c543 Registers 0x5000-0x5002 2016-06-25 10:26:39 -05:00
Dr. Chat 70b2d09834 PA_CL_UCP_* registers 2016-06-24 14:44:51 -05:00
Dr. Chat ab4245c6af VGT_INDX_OFFSET actually means index/vertex offset
Fixup depth resolves
2016-06-24 14:35:24 -05:00
Dr. Chat 036df2ce12 SPIR-V: Remove GenericPointer capability requirement 2016-06-24 07:48:02 -05:00
Dr. Chat 35d8bfeb82 Merge branch 'dump' of git://github.com/sephiroth99/xenia into seph-dump 2016-06-23 17:58:02 -05:00
Dr. Chat 076c73be9a SPIR-V: GetTextureWeights and Cube op 2016-06-22 19:34:05 -05:00
gibbed 4aaca8cbf3 Fixed copying junk data into initialized XEX memory when XEX is unencrypted. 2016-06-22 15:53:07 -05:00
sephiroth99 7bf2f23bef Dump shaders in binary mode
Use binary mode when writing shaders to file, so that 0x0a is not
considered a LF and then converted to CRLF.
2016-06-21 23:05:19 -04:00
gibbed e95a08fc87 Better unreserved physical page counting. 2016-06-21 10:10:47 -05:00
gibbed 16a15bab98 Exposed total page count. 2016-06-21 10:10:08 -05:00
gibbed d07e16b056 I'm bad. 2016-06-21 10:09:45 -05:00
gibbed 32e0ef397c Attempt at reporting something of an 'accurate' unreserved physical page
count. Still needs work.
2016-06-21 09:37:21 -05:00
gibbed 0e1c91681d Some winkey support for left/right triggers. 2016-06-20 17:53:26 -05:00
gibbed e7f5d3e7d4 Set length in overlapped completion to -1 when not success. 2016-06-20 17:13:31 -05:00
gibbed 8d00abe10f 'Unsetting' the title specific user settings. Fixes UnrealEngine-based games try to decompress 3000 null bytes and end up barfing all over the stack instead. 2016-06-20 15:45:12 -05:00
gibbed afda577484 Adjusted user profile settings so that we can know about settings, but have their data unset. 2016-06-20 15:44:11 -05:00
gibbed 8965fda402 RSqrt for VEC128_TYPE. 2016-06-20 13:31:11 -05:00
gibbed 53e37c3167 Constant propogation for DOT_PRODUCT_3. 2016-06-20 13:30:19 -05:00
gibbed dd18112905 Assert the CPU index on set. 2016-06-20 12:53:07 -05:00
gibbed 27610989a2 Fixed fake CPU handling. 2016-06-20 12:52:36 -05:00
gibbed 6a082c42d3 Fixed top-down memory allocations when alignment > page size. 2016-06-20 12:02:48 -05:00
gibbed 919d84ad73 Fixed ToXdkProtectFlags returning bad protection flags when
nocache/writecombine were present.
2016-06-20 11:27:53 -05:00
Dr. Chat 6729ec182b These clears are redundant. 2016-06-19 21:32:31 -05:00
Dr. Chat f194d261b1 TextureCache: Speed up descriptor writes (no more vector usage)
WIP TextureCube uploading skeleton
2016-06-19 21:27:30 -05:00
gibbed 450ca87120 Added comparison operator for --break_on_instruction. 2016-06-19 21:01:18 -05:00
gibbed b5bef8c54d Undoing the previous commit in favor of finding a better solution (xmm1/xmm2 can't safely be used here). 2016-06-19 02:33:52 -05:00
gibbed d04a6cc983 Added support for when both src1 and src2 are constants in EmitCommutativeBinaryXmmOp and EmitAssociativeBinaryXmmOp. 2016-06-19 02:10:40 -05:00
Dr. Chat 807c030f86 Add title request functions to Emulator 2016-06-18 21:17:37 -05:00
Dr. Chat 6bd19518eb GL4: Fix incorrectly calculating the base offset for IssueCopy 2016-06-18 21:16:10 -05:00
Dr. Chat 0c69e05eb1 Handle load requests made by the guest 2016-06-18 21:00:01 -05:00
Dr. Chat 23b2e25fb8 XThread: Don't release ourselves before calling thread_->Terminate! 2016-06-18 20:58:58 -05:00
Dr. Chat b82f6a990a Core: Add a file open dialog and refactor logic around loading new games 2016-06-18 20:42:28 -05:00
gibbed dcd71c1613 Fixing format_core for %hc/%hC/%wc/%wC/%hs/%hS/%ls/%lS/%ws/%wS type specifiers. 2016-06-18 19:24:49 -05:00
gibbed 85e38b7657 Invalidate physical memory passed to NtReadFile. 2016-06-18 18:26:23 -05:00
gibbed 23b72e4888 Complain loudly when ReadFile() returns ERROR_NOACCESS. 2016-06-18 18:26:23 -05:00
Nukem d5dd96d626 Invalid iterator in control_flow_simplification_pass 2016-06-18 16:34:46 -04:00
gibbed 096febb3bb Oops. Unbreaking shim_utils.h. 2016-06-18 14:02:38 -05:00
gibbed 4fc3bdf213 Fixed AppendParam for X_EX_TITLE_TERMINATE_REGISTRATION,
X_EXCEPTION_RECORD.
Added AppendParam for X_OBJECT_ATTRIBUTES.
2016-06-18 13:44:52 -05:00
gibbed 2d60d6f672 Split out trampoline generation to make it reusable. 2016-06-18 13:41:49 -05:00
gibbed 8ea9aea84c Actually there's yet one more argument to VdInitializeScalerCommandBuffer. 2016-06-18 08:16:49 -05:00
gibbed 890a0513ef Tagged NtSetInformationFile as high frequency. 2016-06-18 08:03:19 -05:00
gibbed f39eb9f047 Tagged NtReadFile as high frequency. 2016-06-18 08:02:18 -05:00
gibbed 9477cef006 Corrected offset in comment for X_DISPLAY_INFO. 2016-06-18 08:00:41 -05:00
gibbed b12579c64c Fixed arguments to VdInitializeScalerCommandBuffer. 2016-06-18 08:00:09 -05:00
Dr. Chat d526d2febf GPU: In auto-indexed draws, VGT_INDX_OFFSET appears to be reused as a vertex offset. 2016-06-17 20:19:38 -05:00
Dr. Chat 2e34a98cef Update the vulkan loader and headers. 2016-06-17 19:32:21 -05:00
Dr. Chat 27c16b1936 GPU: Fix incorrectly calculating the primary ringbuffer's size 2016-06-16 21:30:06 -05:00
Dr. Chat af870999fa SPIR-V: Clear shader interface IDs between invocations. 2016-06-13 18:15:59 -05:00
Dr. Chat 5937e603d7 SPIR-V: Fix vec4 Dst 2016-06-13 15:29:07 -05:00
Dr. Chat d5865740e2 Add a few more vector tests 2016-06-12 21:45:51 -05:00
Dr. Chat 0ef16b10e2 Constant Propagation for OPCODE_VECTOR_ADD 2016-06-12 21:41:02 -05:00
Dr. Chat 7ef7cc39f5 SPIR-V: Declare all inputs/outputs in OpEntryPoint 2016-06-12 11:18:00 -05:00
Dr. Chat 841f6fe239 Merge branch 'vulkan' 2016-06-11 19:23:23 -05:00
Dr. Chat 323b993bbc Revert the default graphics backend to GL4 (in preparation of merge to master) 2016-06-11 19:13:45 -05:00
Dr. Chat 32011a841e Formatting. 2016-06-05 17:48:06 -05:00
Dr. Chat b01903ccc7 Set basePipelineIndex to -1 instead of 0 to indicate invalid. 2016-06-05 12:55:19 -05:00
Dr. Chat 6f5f3534c4 Rebuild shaders with the latest compiler 2016-06-04 15:17:31 -05:00
Dr. Chat 254acf2a67 RenderCache: Hardcode surface height to 2560
Fix a couple of other things
2016-06-03 20:01:49 -05:00
Dr. Chat 2a924d2b05 Pass vertex buffer endianness into the BufferCache
IssueCopy: Actually issue the pipeline barrier to transition the image
2016-06-03 20:00:28 -05:00
Haydn Trigg ff5529714c clang-format to Google Standards
Added formatting to code
2016-05-29 13:22:14 +09:30
Dr. Chat fd37112db8 VK Immediate Drawer: Properly transition texture layouts
Support wrapping of textures not created here
2016-05-28 10:26:40 -05:00
Dr. Chat f8d9472872 TextureCache: Fix trying to erase a resolve texture that isn't in the resolve textures list. 2016-05-26 14:46:18 -05:00
Dr. Chat c85756981b TextureCache: Fix a few null pointer bugs
Ordering of in-flight descriptor sets
Change staging buffer size
Free all samplers on exit
2016-05-25 19:55:50 -05:00
Dr. Chat 8611417219 Initialize rasterDiscardEnable to VK_FALSE 2016-05-25 17:45:38 -05:00
Dr. Chat 008167fa66 VK: Enable full rotation / Set render_state to nullptr on failure / Fix format info in texture resolves 2016-05-25 13:49:36 -05:00
Dr. Chat a187a4931a Whoops - fix setting the wrong host base for some graphics allocations. 2016-05-25 13:14:03 -05:00
Dr. Chat 9d1e66ab16 Don't write to color targets in depth-only mode. 2016-05-24 21:58:02 -05:00
Dr. Chat ad83a1994d VK: Remove alphaToOne feature requirement 2016-05-24 12:53:25 -05:00
Dr. Chat 5f764730ae Vulkan CP: Override frame traces if renderdoc is attached 2016-05-23 13:16:13 -05:00
Dr. Chat 729152a58b VK: Enable independentBlend feature 2016-05-23 09:59:37 -05:00
Dr. Chat 6e21d88250 Fixup circular buffers for full rotation 2016-05-23 09:58:46 -05:00
Dr. Chat c6e905db2f Fix a memory leak in fenced pools. 2016-05-22 22:14:45 -05:00
Dr. Chat 7004f83665 CP: Don't check for shader validity here
Fix a lousy typo in PrepareTextureSet
2016-05-22 20:08:35 -05:00
Dr. Chat bd27835a3d Pipeline Cache: Translate shaders when program cntl register is available 2016-05-22 20:03:13 -05:00
Dr. Chat d1b4d61b52 SPIR-V: Use the register count from the program control register
Workaround for broken OpBitFieldUExtract on NVIDIA drivers
kRcpc/kRcpf/kRsqc/kRsqf
Fix broken ps_ usage
2016-05-22 20:01:42 -05:00
Dr. Chat d94ff6eb25 Shaders: Track the register count from the program control register (if available) 2016-05-22 19:58:50 -05:00
Dr. Chat 1faf5a813a Fix ALU scalar swizzles (Possibly) 2016-05-22 19:57:05 -05:00
Dr. Chat b025790207 Disable Vulkan native MSAA by default for now. 2016-05-17 05:58:52 -05:00
Haydn Trigg f2ca689ea0 Expanded vec128 and VectorSub
Added double precision (f64) values to the vec128 structure
Added cases for all formats of data for vector subtraction in the
Value::VectorSub function

NOTE: Unsure what the saturate function is for however maintained
original functionality
2016-05-17 05:34:09 +09:30
Dr. Chat b9a40d1a00 Use Vulkan as the default graphics backend. 2016-05-15 12:08:29 -05:00
Dr. Chat 2bb52ef86b SPIR-V: WIP shader compiler / optimizations / alpha test implementation 2016-05-15 12:01:38 -05:00
Dr. Chat c06a7cdf81 BaseFencedPool::has_open_batch (and other uncommitted changes) 2016-05-07 19:17:56 -05:00
Dr. Chat 79f1193130 Vulkan CP: Fix calculating an invalid copy destination base address when sizeof(texel) != 4 2016-05-06 00:12:47 -05:00
Dr. Chat 7c5042add7 Vulkan CP: Add in separate swap-chain images
Some other changes I can't remember
2016-05-03 14:12:05 -05:00
Dr. Chat f2af28c322 TextureCache: Fix up some synchronization flaws (deleting in-use textures/etc)
Fix texture binding IDs not matching fetch instruction IDs.
Fix some bad texture format matching.
Add access watches
2016-05-03 14:10:15 -05:00
Dr. Chat 8e8df2e778 PipelineCache: Support shader disasm dumps for nvidia cards.
Fix MSAA 2X multiplier.
2016-05-03 14:07:20 -05:00
Dr. Chat d18c99aab6 RenderCache: Account for MSAA when calculating tile sizes.
Add a new flag to enable native MSAA (this does not work properly at the moment)
2016-05-03 14:05:34 -05:00
Dr. Chat aa038fbf23 Skip the wrapping packet end after parsing IB end (to avoid false draws appearing) 2016-05-01 15:48:31 -05:00
Dr. Chat 720f8b0dc2 GL4: Track the internal format of render targets and match them based on that. 2016-05-01 11:23:54 -05:00
Dr. Chat cbccc785cc TraceViewer: Build a tree of all command buffers and display that instead of a flat list. 2016-05-01 10:15:33 -05:00
Dr. Chat 6101b70641 Fix the Vulkan immediate drawer not drawing lines. 2016-04-29 13:09:39 -05:00
Dr. Chat 9b2e2a7275 SPIR-V: Hack in OpSelectionMerge as hints to NVidia's shader compiler (TODO: Make a Shader Compiler) 2016-04-13 23:17:03 -05:00
Dr. Chat 2bd603bf18 CircularBuffer: use std::list for allocations instead of a vector. 2016-04-09 21:40:18 -05:00
Dr. Chat 4811ebc2ce BufferCache: Use a CircularBuffer as the transient buffer. 2016-04-09 21:27:32 -05:00
Dr. Chat b7f2c93d73 SPIR-V: Batch predicated instructions together into a single block.
Add Post-Translation validation.
Fix a couple of type-related typos.
2016-04-09 21:03:44 -05:00
Dr. Chat a1c9540063 SPIR-V Validator util class 2016-04-09 18:35:00 -05:00
Dr. Chat 3726064af5 Can't use CmdCopyBufferToImage or vice versa for depth and stencil. 2016-04-01 22:03:29 -05:00
Dr. Chat f9a634ad25 CircularBuffer remove Discard functionality and allow rotation 2016-04-01 21:53:46 -05:00
Dr. Chat 50f72b4e42 Enable native MSAA
Copy back EDRAM buffers in order by base offset.
2016-04-01 21:52:39 -05:00
Dr. Chat 2eca3ce9e6 Texture uploads/basic formats
Fixed swizzle one/zero mismatch
Sampler setup
Remove samplers from the descriptor set layout
2016-04-01 21:51:17 -05:00
Dr. Chat 1ea72c5e06 FencedPool::CancelBatch 2016-04-01 21:49:58 -05:00
Dr. Chat 44cffab389 SPIR-V Max4 2016-03-25 18:23:45 -05:00
Dr. Chat fc1bd0f379 Fix texture uploads 2016-03-25 17:29:39 -05:00
Dr. Chat 692d666d57 Wipe the buffer cache in ClearCache for now. 2016-03-25 16:50:06 -05:00
Dr. Chat 0e44cda961 Update the rectangle list shader 2016-03-25 16:49:41 -05:00
Dr. Chat d7599c817f Formatting. 2016-03-25 16:44:25 -05:00
Dr. Chat a5a31cf123 VulkanShader::Prepare - return false if vkCreateShaderModule failed. 2016-03-25 16:37:24 -05:00
Dr. Chat 2bb40c122d Vulkan util Fence class 2016-03-25 16:36:21 -05:00
Dr. Chat f75e5fec24 CP: Use a single command buffer for every frame, reuse render passes/pipelines if not dirty
Hook up resolves and swaps
2016-03-25 16:35:34 -05:00
Dr. Chat 1e1da1eb6c PipelineCache::ConfigurePipeline - Inform the caller if the pipeline is dirty or they can reuse the previously bound pipeline.
Make SetDynamicState public.
2016-03-25 16:34:14 -05:00
Dr. Chat b2457d7e72 Basic texture uploads/address lookups/etc
Freeing of descriptor sets when the GPU is finished with them.
2016-03-25 16:32:29 -05:00
Dr. Chat 0e41774e36 RenderCache::dirty() - used to tell if we need to begin a new pass
Round all pixel pitch/heights up before dividing.
2016-03-25 16:31:12 -05:00
Dr. Chat 181b2af5a4 Vulkan Circular Buffer 2016-03-25 13:49:07 -05:00