Commit Graph

4588 Commits

Author SHA1 Message Date
Triang3l a627ef3d66 [D3D12] Immediate drawer pixel shader and root signature 2018-08-01 18:15:17 +03:00
Triang3l 1ae30e5775 [D3D12] Don't add .xyzw swizzle to stores 2018-08-01 16:17:48 +03:00
Triang3l 2b482352d0 [D3D12] Don't crash if failed to compile a shader 2018-08-01 14:02:32 +03:00
Triang3l 235799eecd [D3D12] Half-pixel offset improvement 2018-08-01 13:26:39 +03:00
Triang3l 6d6e803c7d [D3D12] Flip the viewport 2018-08-01 13:12:06 +03:00
Triang3l dea463f79b [D3D12] Fixes to make things drawn 2018-08-01 12:52:22 +03:00
Triang3l 2cedd61009 [D3D12] Fix HLSL fetch cbuffer usage 2018-08-01 01:23:38 +03:00
Triang3l db625892ea [D3D12] Shared memory typo fix and improvements 2018-08-01 01:09:51 +03:00
Triang3l 8fadd7a242 [D3D12] Fix vertex address in fetch range usage 2018-07-31 19:57:12 +03:00
Triang3l 5d0ad2e465 [D3D12] Draw calls 2018-07-31 19:23:43 +03:00
Triang3l bb045cae70 [D3D12] Restore W and apply half-pixel offset in VS 2018-07-31 17:13:44 +03:00
Triang3l fb1051b610 [D3D12] System constant setting and some cleanup 2018-07-31 16:17:51 +03:00
Triang3l 2183a969af [D3D12] Make tiled resource toggleable, disable debug layer by default 2018-07-30 20:18:52 +03:00
Triang3l e0eede73b9 [D3D12] Constant buffer binding 2018-07-30 15:59:43 +03:00
Triang3l 84e7ae16e7 [D3D12] Enable independent blending 2018-07-29 17:30:08 +03:00
Triang3l 8002de774a [D3D12] Descriptor heap pool 2018-07-29 15:29:48 +03:00
Triang3l 2d59231993 [D3D12] Pipeline cache and command processor formatting 2018-07-29 00:57:25 +03:00
Triang3l b567b9e9cc [D3D12] Upload buffer pool class 2018-07-29 00:56:37 +03:00
Triang3l ae7ff58f81 [D3D12] Pipeline cache 2018-07-28 16:30:47 +03:00
Triang3l 4f7edff19d [D3D12] SHM: Watches prototype, some uploading 2018-07-26 22:52:26 +03:00
Triang3l 812a35caff [D3D12] SHM: Range fixes, logging, testing 2018-07-26 01:01:48 +03:00
Triang3l bd54e905b2 [D3D12] SHM: Mark outdated pages for upload when using them 2018-07-25 21:36:39 +03:00
Triang3l 2be5f2cfa2 [D3D12] SHM uploading 2018-07-25 20:24:39 +03:00
Triang3l bbabbc2439 [D3D12] SHM - mark pages as modified in the beginning of a frame 2018-07-25 15:04:14 +03:00
Triang3l ae1196f29d [D3D12] Shared memory - heap creation 2018-07-25 00:47:02 +03:00
Triang3l 82f2abed0d [D3D12] Command processor command lists 2018-07-24 17:07:38 +03:00
Triang3l 3a90f7a246 [D3D12] Enable instruction numbers and offsets in DXBC disassembly 2018-07-24 16:47:55 +03:00
Triang3l 49e9ebce50 [D3D12] Don't require typed UAV loads 2018-07-24 16:08:30 +03:00
Triang3l ea922bb3ab [D3D12] Temporarily disable shader optimization 2018-07-24 16:07:00 +03:00
Triang3l c0ff73a588 [D3D12] Build and code format fixes 2018-07-24 15:14:16 +03:00
Triang3l 87aecfa1b8 [D3D12] Shaders (not all compiling yet) 2018-07-24 14:57:21 +03:00
Triang3l b0421de496 [D3D12] Cube instructions 2018-07-23 18:37:55 +03:00
Triang3l f237f7e8eb [D3D12] Shader translator CompleteTranslation 2018-07-23 17:23:35 +03:00
Triang3l 60706077a3 [D3D12] Shader translator scalar ALU 2018-07-23 16:55:40 +03:00
Triang3l 40806c1b67 [D3D12] Shader compiler vector ALU 2018-07-23 11:22:43 +03:00
Triang3l 3101930526 [D3D12] Shader translator vertex fetch 2018-07-22 23:15:36 +03:00
Triang3l 67f88ff59c [D3D12] HLSL shader translator stores 2018-07-22 14:28:33 +03:00
Triang3l 11e4ae3f90 [D3D12] HLSL shader translator loads 2018-07-22 13:35:40 +03:00
Triang3l d60c8b29ca [D3D12] Convert GlslShaderTranslator flow control to HLSL 2018-07-21 23:37:28 +03:00
Triang3l 7afc40820b [D3D12] Require tiled resources for virtual memory 2018-07-21 21:52:20 +03:00
Triang3l 00d5bd48da [D3D12] A bit of HLSL shader translator 2018-07-21 21:45:33 +03:00
Triang3l 5629a8248e [D3D12] Use a single command list for all composition 2018-07-20 17:18:57 +03:00
Triang3l cd1cf3a857 [D3D12] Make something buildable 2018-07-20 15:18:02 +03:00
Triang3l 0ded51f894 [D3D12] Context Begin/EndSwap 2018-07-19 18:28:07 +03:00
Triang3l 14bfac3ebd [D3D12] Rename D3D12Provider getters 2018-07-19 14:52:54 +03:00
Triang3l f5e91ba97c [D3D12] Command list, fence cleanup 2018-07-19 14:51:07 +03:00
Triang3l ffcf18f193 [D3D12] Move fences to a separate class, get rid of Vulkan provider 2018-07-19 14:08:52 +03:00
Triang3l d7701ae86b [D3D12] D3D12Context initialization 2018-07-19 12:48:11 +03:00
Triang3l 03682e81d1 [D3D12] ID3D12Device creation 2018-07-18 20:30:49 +03:00
Triang3l e9083dbc2f [D3D12] Create xenia-ui-d3d12 project 2018-07-18 15:02:37 +03:00
Triang3l 03da2929aa [D3D12] Add HLSL building to xenia-build 2018-07-18 13:16:12 +03:00
Triang3l fde3c1f0e8 [D3D12] Copy the null graphics system as D3D12 2018-07-18 12:02:00 +03:00
Triang3l c2b2a9f376 [D3D12] Create the project and link D3D libraries 2018-07-18 11:42:51 +03:00
gibbed ba7dc6b2d7 [GPU] Improve readability of initialization errors and remove references to OpenGL. 2018-07-01 16:50:03 -05:00
Rick Gibbed 94d1106386
Merge pull request #1177 from Triang3l/depthbias.
[GPU] Depth bias support
2018-07-01 01:34:34 -05:00
gibbed 15eb6ed2d9 [Vulkan] Fix GetMipExtent calculating mip extent incorrectly. 2018-07-01 01:31:33 -05:00
gibbed 4357415892 [GPU] Better names for tiled functions. 2018-07-01 01:30:22 -05:00
Rick Gibbed 724086dcad
Merge pull request #1189 from Triang3l/vpk_vupk_constants.
[CPU] Unify constant operand checks in pack/unpack
2018-07-01 01:23:11 -05:00
Rick Gibbed f24dbaa21b
Merge pull request #1176 from Triang3l/xex_exe_extension.
[Core] Treat .exe files as XEX
2018-07-01 01:14:04 -05:00
Dr. Chat f89b4626a3 [VFS] Add VFS dump tool (supporting STFS only as of now) 2018-06-26 13:45:16 -05:00
Triang3l dd19701dc4 [CPU] Unify constant operand checks in pack/unpack 2018-06-18 13:55:46 +03:00
Triang3l c6255af824 [GPU] Depth bias support 2018-06-16 16:32:14 +03:00
Unknown 86443dd28a Persist title-specific profile content 2018-06-13 19:37:15 -07:00
Triang3l c89cc6a229 [CPU] vupkd3d: NaN on negative overflow and tests 2018-06-11 21:34:13 +03:00
Triang3l 0378f532ab [CPU] Fix W in 2101010 vupkd3d and revert untested saturation 2018-06-11 17:22:15 +03:00
Triang3l bd02fd31bd [Core] Treat .exe files as XEX 2018-06-09 10:24:11 +03:00
gibbed 5f16e46282 [Core] Do a case-insensitive compare for extension when launching a path. Fixes #1175. 2018-06-09 01:22:45 -05:00
gibbed c11cce2d3b Oops. Fix premake for xenia-ui-window-vulkan-demo. 2018-06-08 10:09:12 -05:00
gibbed fb9eb84893 Fix premake for xenia-hid-demo and xenia-ui-window-vulkan-demo. 2018-06-08 09:52:35 -05:00
gibbed 40e8d78d16 [Kernel] Allow specifying of additional command-line passed to guest. 2018-06-06 19:56:03 -05:00
gibbed 43b987da1e [HID] Make winkey key checks more readable. 2018-06-05 08:15:59 -05:00
gibbed 8d5d6c5a59 [HID] Allow shift in winkey input to toggle d-pad in addition to capslock. 2018-06-05 08:13:51 -05:00
gibbed 1409b9c565 [GPU/Vulkan] Add support for 2D image stacks. 2018-06-05 07:51:51 -05:00
gibbed 4caa2a2145 [Vulkan] Blacklist some validation layer errors we don't care about. 2018-06-04 23:37:58 -05:00
gibbed 486172770d [GPU] Ignore min mip level when one is specified and there is no mip address. 2018-06-04 22:54:41 -05:00
gibbed aba0f3c628 [GPU] Ensure pitch/height are a multiple of block size for host textures. 2018-06-04 22:53:30 -05:00
gibbed 2c7043bd98 [GPU/Vulkan] Maybe fix minimum mip level. Probably breaks everything. 2018-06-04 10:13:28 -05:00
gibbed b5a88d1a7d [GPU] Track unaligned (visible) block width in texture info.
[Vulkan] Don't use power of two for mip width/height calculation for host textures.
[Vulkan] Add more Vulkan error logging.
[Vulkan/GPU] Rudimentary texture dumping.
2018-06-04 06:08:29 -05:00
gibbed b35fe935f9 [GPU] Ignore mipmap level count when mip data address is invalid. 2018-06-01 22:04:31 -05:00
gibbed 0d429fc7d7 [Vulkan] Disable texture mipmap watches by default. 2018-05-31 23:00:11 -05:00
gibbed 79f8fe9f37 [GPU] Fixes to problems caused by previous commit (bad handling of memory addressing, watches, etc). 2018-05-31 21:50:22 -05:00
gibbed 9ac2bf0beb [Kernel] Fix fetch field name that was changed. 2018-05-31 20:17:03 -05:00
gibbed e329649f2e [GPU] Rename texture_memory_usage.cc to texture_extent.cc 2018-05-31 19:43:26 -05:00
gibbed e89a31006f - [GPU] Rename TextureMemoryUsage to TextureExtent (and relevant functions/etc).
- [GPU] Precalculate memory byte usage for base mip (and any additional mip levels).
- [GPU] Change TextureCache::WatchCallback so that if it's fired multiple times for the same texture it does not assert.
- [GPU] Add write watches for texture memory associated with additional mipmap levels.
2018-05-31 19:41:33 -05:00
gibbed cd39bbed5c [Base] Undo last commit because it breaks file redirection.
This reverts commit ceece673e8.
2018-05-31 17:22:50 -05:00
gibbed ceece673e8 [Base] Fix AttachConsole so that --help works when invoked from command-line. 2018-05-31 16:46:03 -05:00
gibbed d0df71b8b6 [Vulkan] Move texture config to its own files. 2018-05-31 10:35:58 -05:00
gibbed 1573b7570d [Vulkan] Apply distinct component and vector swizzles. 2018-05-31 10:29:08 -05:00
gibbed 2314f25fb7 [Vulkan] Force red channel into all channels for DXT5A. Probably wrong solution but will work for now. 2018-05-31 09:47:41 -05:00
Triang3l 06fcdef968 [CPU] Bring back saturation in D3DCOLOR vpkd3d128 2018-05-31 16:17:27 +03:00
gibbed 958aa04cc5 [Vulkan] Fix swizzle for DXT5A. 2018-05-31 07:31:33 -05:00
Triang3l d61aff4389 [CPU] v(u)pkd3d128: Support UINT_2101010 and don't saturate D3DCOLOR
Fix broken mesh polygons in the Call of Duty series. Also remove saturation of D3DCOLOR when packing because values near 3 may be accepted, while unpacking D3DCOLOR gives values near 1.
2018-05-31 14:42:11 +03:00
gibbed ec3ab0adbd [GPU] Stub out context update GPU opcode.
[Vulkan] Gracefully handle vertex upload failures.
2018-05-30 20:49:30 -05:00
gibbed bbebfd49c8 [Vulkan] Add logging to certain error conditions.
[Vulkan] Track both texture block height and texture block vertical pitch.
[Vulkan] Only convert the necessary visible height on texture uploads.
[Vulkan] Fix write watch on texture data so it properly only covers mip 0 data.
2018-05-30 19:38:36 -05:00
gibbed 7068d0a5a9 [Vulkan] More details in texture upload logging. 2018-05-30 18:19:37 -05:00
gibbed 6b2f75219c [Vulkan] Include format/dimension in render texture debug name. 2018-05-30 18:19:06 -05:00
gibbed 2d68ec162d [Vulkan] Remove unnecessary swizzles. 2018-05-30 18:16:11 -05:00
gibbed 8a099925f3 Shut Travis up. 2018-05-30 10:09:19 -05:00
gibbed 6e000039e8 [Vulkan] Maybe fix the rectangle list shader, part two! Probably still breaks everything. 2018-05-30 09:56:44 -05:00
gibbed 8882d7eebd [Vulkan] Maybe fix the rectangle list shader. Probably breaks everything. 2018-05-30 08:04:16 -05:00
gibbed fed60962d6 [Vulkan] Regenerate shaders, and explicitly require the extensions they depend on. 2018-05-30 08:04:16 -05:00
Dr. Chat ef18e9d649 [VFS] Fix Stfs GetBlockHash (and simplify it) 2018-05-29 23:12:27 -05:00
DrChat f518ec1b37 [GPU] Add coherency debug logs 2018-05-29 19:42:59 -05:00
Dr. Chat a0464f54ba [VFS] SVOD (with EGDF) support 2018-05-29 14:12:09 -05:00
gibbed 62bb26878f [GPU] Whoops, CompositeExtract should come after the loads. 2018-05-28 21:10:11 -05:00
gibbed 3e6a9099d1 [GPU] Fix composite extracts from previous commit. 2018-05-28 20:34:53 -05:00
gibbed 83a9cb3435 [GPU] Use uint4 for loop/bool constants to meet std140 packing requirements. 2018-05-28 18:19:22 -05:00
gibbed 2bd9bae0f4 [Vulkan] Better swizzle for DXT3A/DXT5A? 2018-05-28 17:25:32 -05:00
gibbed e665c0a3fb Fix another Travis complaint. 2018-05-28 14:42:53 -05:00
gibbed f450ae6a76 Fix lint errors due to Travis lint differences. 2018-05-28 07:14:18 -05:00
gibbed 425764698e [Vulkan] Improvements to texture upload code, fix mipmap uploads, remove no_mipmaps flag. 2018-05-28 07:06:33 -05:00
gibbed b623c33e00 [Vulkan] Add no_mipmaps flag. 2018-05-27 20:36:45 -05:00
gibbed 73c7546114 [Kernel] Fix return of XamUserGetXUID and XamUserGetSigninInfo. 2018-05-27 19:51:25 -05:00
gibbed da06cb4f06 [Kernel] Fix return of XamUserGetDeviceContext. 2018-05-27 19:43:44 -05:00
gibbed dc5bd83098 [Kernel] Move xam_user to new shim convention. 2018-05-27 19:43:39 -05:00
gibbed fc0cc89a1d [Kernel] Add X_HRESULT_result. (yes, the name is stupid) 2018-05-27 18:12:48 -05:00
gibbed ee7b9f415a [Kernel] Move xam_input to new shim convention. 2018-05-27 16:59:07 -05:00
gibbed 4cc2aaf5b9 Remove unnecessary usage of xe::be. 2018-05-27 16:35:01 -05:00
Dr. Chat fed3c10c60 [VFS] Properly detect STFS volume descriptor type 2018-05-27 14:03:29 -05:00
Dr. Chat 3e216f0553 [VFS] Panic when fed a GoD container 2018-05-26 21:19:34 -05:00
Dr. Chat 728ed593ad [VFS] Make ResolvePath / Dump virtual 2018-05-26 18:51:03 -05:00
gibbed 9231317eeb [Vulkan] Generalize texture conversion, and fix cube textures in the process. 2018-05-26 11:19:52 -05:00
Dr. Chat 1def8cfc59 [VFS] Rename a couple STFSVolumeDescriptor fields 2018-05-26 09:06:10 -05:00
gibbed 7df45bf590 [Vulkan] Fix DXT3A conversion. 2018-05-26 08:25:25 -05:00
gibbed cc130e1b07 [GPU] Remove unused code. 2018-05-26 07:06:56 -05:00
gibbed 7116b5fc82 [Vulkan] Reimplemented texture conversions. Here be dragons! Probably breaks everything. Also bonus DXT3A support. 2018-05-26 06:57:16 -05:00
gibbed 926464cb90 [App] Put DEBUG/CHECKED into the window title when appropriate. 2018-05-26 06:29:08 -05:00
gibbed 73d75c56e1 [GPU] Fix TextureInfo::Prepare for 3D textures. 2018-05-24 23:45:38 -05:00
gibbed 56dd07e329 [Kernel] Add yield to XAudioGetVoiceCategoryVolumeChangeMask for games that spin threads with it. 2018-05-24 23:31:21 -05:00
gibbed 8e9d50dd4a [Kernel] Fix XamUserGetSigninInfo to zero out info even in failure. 2018-05-24 12:41:13 -05:00
gibbed 14c73a33f9 [Kernel] Fix return of CreateContent/OpenContent in ContentManager when an already open package was found. 2018-05-24 11:17:56 -05:00
gibbed 85ad87eb73 [Kernel] Fix ContentPackage leaking its registered device. 2018-05-24 11:17:52 -05:00
gibbed 6411674f0f [GPU] Use pitch for block width calculation. 2018-05-24 08:45:12 -05:00
gibbed bc7306b352 [Kernel] Fix XamLoaderGetLaunchDataSize to set size to 0 for games that don't check its return value. 2018-05-24 03:26:29 -05:00
gibbed 4613c6b8b8 [Vulkan] Better macro for channel swizzling. 2018-05-23 20:37:32 -05:00
gibbed e9290cd2e0 [Vulkan] Rework component swizzles into channel swizzles. Probably breaks everything. 2018-05-23 20:19:53 -05:00
gibbed d0561d046b [Kernel] Handle title being null in XamShowMessageBoxUI. 2018-05-23 13:30:59 -05:00
gibbed 2ef3ea996f [Kernel] Experimental debug monitor/PIX code. 2018-05-23 05:10:39 -05:00
gibbed 09585eb103 [GPU] Clarify assert in SpirvShaderTranslator::StoreToResult. 2018-05-23 04:55:32 -05:00
gibbed 9e153c0db1 [App] Add optional scratch/cache mounts. 2018-05-23 04:55:18 -05:00
gibbed 712a2afdf4 [Kernel] Correct GammaType enum. 2018-05-23 04:25:19 -05:00
gibbed bc369e43cb [Kernel] Add support for XFileEndOfFileInformation. 2018-05-23 04:24:37 -05:00
DrChat 6262dd2c3d [App] Actually set a high-performance timer 2018-05-22 22:20:34 -05:00
DrChat 288af1c7e9 [App] Add a flag to toggle high-performance timers 2018-05-22 17:31:30 -05:00
DrChat 73c30d87a8 [App] Request high-performance timer resolution on Windows 2018-05-22 16:41:05 -05:00
gibbed cb4b1bae1b [Vulkan] Forgot to undef the new RRRR swizzle macro. 2018-05-22 11:07:27 -05:00
gibbed 9bc17cd1d4 [Vulkan] Maybe fix DXT5A? 2018-05-22 10:52:52 -05:00
gibbed f8961df221 Fix Travis complaints, as usual. 2018-05-22 06:23:37 -05:00
gibbed 53cf0c5be0 [Kernel] Notes for VdGetCurrentDisplayGamma and VdSetDisplayMode. 2018-05-22 06:01:29 -05:00
gibbed 6e9994ee41 [Kernel] Log handle addditions/removals. 2018-05-22 05:57:32 -05:00
gibbed 452c58149a [CPU] Some extra srw tests. 2018-05-22 05:56:20 -05:00
gibbed 200b9ddf7d [Vulkan] Add debug names for blitter. 2018-05-22 05:55:27 -05:00
gibbed 6d3146a750 [Vulkan] Add debug marker functions. 2018-05-22 05:54:42 -05:00
gibbed ee5724f5dd [GPU] Move gamma ramp tracking to CommandProcessor. 2018-05-22 05:36:24 -05:00
gibbed fb650ae024 [Vulkan] Start tracking the gamma ramp. 2018-05-21 23:16:15 -05:00
gibbed 8a65dbd024 [GPU] Make some gaps in the register table more obvious. 2018-05-21 22:56:05 -05:00
gibbed 9f86868a95 [Kernel] Deny non-zero users for some XAM exports. 2018-05-20 19:15:16 -05:00
gibbed cddfa26bae [GPU] Add IsSRGBCapable default case. 2018-05-20 12:18:31 -05:00
gibbed c233eabeda [GPU] Remove extraneous breaks from GetTexelSize. 2018-05-20 02:10:16 -05:00
gibbed 3f901311af [GPU] Add SRGB helper function. 2018-05-20 02:08:49 -05:00
Dr. Chat cb608b7f98 [Vulkan] GetBaseRTFormat 2018-05-19 17:02:17 -05:00
Dr. Chat 1e1ba34d76 [Vulkan] Unbreak the 2_10_10_10 RT formats a bit further 2018-05-19 16:55:42 -05:00
gibbed 981590bc98 [Vulkan] Don't break k_2_10_10_10. 2018-05-19 16:37:05 -05:00
gibbed 5fafdb2e7a [Vulkan] Force k_2_10_10_10* to k_16_16_16_16_FLOAT. Probably breaks everything. 2018-05-19 15:58:26 -05:00
gibbed b33ccdf0cd [Vulkan] Better debug names. 2018-05-19 15:49:37 -05:00
gibbed 8064926999 [Vulkan] Implement support for color_exp_bias. 2018-05-19 15:45:13 -05:00
gibbed 9655b76f68 [Vulkan] Simplify color/depth info access in IssueCopy. 2018-05-19 14:48:00 -05:00
gibbed 77b097098d [GPU] Add color_exp_bias to push constants. 2018-05-19 14:39:32 -05:00
gibbed 16e33cf123 [Vulkan] Fix a PrepareResolve call the last commit forgot. 2018-05-18 18:37:59 -05:00
Dr. Chat 191dc30bee [GPU] Use the pitch field in tfetch constants 2018-05-18 13:48:28 -05:00
DrChat f591f2dace [Vulkan] Workaround for rapid fence reuse causing a memory leak 2018-05-18 09:59:26 -05:00
gibbed 6807ef3653 [Vulkan] Fix hashing of vertex bindings. 2018-05-14 11:42:22 -05:00
gibbed 170ab85049 [Vulkan] Reworking packed mip offset calculation. Probably breaks everything. 2018-05-14 03:47:58 -05:00
gibbed 2238ff9ff0 [Vulkan] Use BGRA swizzle for 565. 2018-05-13 16:51:20 -05:00
Dr. Chat 996ea9e273 [GPU] Ditto for GetMipLinearSize 2018-05-13 13:59:48 -05:00
Dr. Chat 1953cea64e [GPU] Unconditionally multiply in src.depth in GetMipByteSize (always valid) 2018-05-13 13:58:34 -05:00
gibbed 0a971462d7 Fix formatting to make lint happy. 2018-05-13 09:02:40 -05:00
gibbed 1ffa4747db [Vulkan] Better debug object names. 2018-05-13 08:42:36 -05:00
gibbed ab0f75307a [Vulkan] More information on uploaded textures in log. 2018-05-13 08:41:20 -05:00
gibbed ef924a8423 [Vulkan] Cube textures, now with mipmaps. 2018-05-13 08:31:33 -05:00
gibbed 9b64e67e14 [Vulkan] Fix following mips for compressed textures. 2018-05-12 20:19:58 -05:00
gibbed 7a1167fd66 [Vulkan] Align ALL texture block sizes to tile dimensions. Probably breaks everything. 2018-05-12 19:40:54 -05:00
gibbed 1c8cec45f3 [Vulkan] Properly copy untiled texture data. 2018-05-12 19:39:35 -05:00
gibbed c6ee689159 [Vulkan] Rework GetMipByteSize to properly handle linear textures. Probably breaks everything. 2018-05-12 02:30:58 -05:00
gibbed 9926bf1cf6 [Vulkan] Don't try to get mip 0's offset when there is only one mip. 2018-05-12 00:52:02 -05:00
Rick Gibbed a510bc3c78
[Vulkan] Use BGRA swizzle for 1555. 2018-05-11 20:05:59 -05:00
Rick Gibbed 988877f428
[Vulkan] Use BC4 for DXT5A. 2018-05-11 15:58:27 -05:00
Dr. Chat 53f5a218c6 [Vulkan] Log GPU resolves 2018-05-08 20:59:32 -05:00
Dr. Chat 25206be1aa [APU] Handle XAudio2 initialization failures 2018-05-08 17:39:33 -05:00
Dr. Chat da62e0e044 [GPU] Rename TextureInfo::size_xx -> TextureInfo::size 2018-05-08 10:29:36 -05:00
Dr. Chat e0cef9dcd6 Remove some files that weren't even staged :| 2018-05-07 19:05:29 -05:00
Dr. Chat 212688249c [Vulkan] Update ConvertTextureCube to use mips 2018-05-07 19:03:49 -05:00
Dr. Chat e44fb33b79 [Vulkan] Fix (non-mipmapped) linear 2D texture uploads 2018-05-07 19:00:25 -05:00
Dr. Chat dcca5f587e [Kernel] ExInitializeReadWriteLock 2018-05-07 18:46:15 -05:00
Dr. Chat f3134e265a [Vulkan] Swap k_4_4_4_4 as well. 2018-05-07 17:42:51 -05:00
Dr. Chat 25c2048b1a [Vulkan] Texture swizzling for certain texture formats 2018-05-07 16:33:17 -05:00
Dr. Chat 9a15896305 [XMA] Remove ReadRegister/WriteRegister debug output 2018-05-05 18:46:14 -05:00
Dr. Chat 10c8413acf [Kernel] Flag a few frequently-used functions as kHighFrequency 2018-05-05 18:44:08 -05:00
Dr. Chat 77d1d7342e [GPU] Remove TextureInfo::has_packed_mips 2018-05-05 18:23:30 -05:00
Dr. Chat 30f8fe7bb0 [GPU] Use log2 when calculating mip offset 2018-05-05 10:45:39 -05:00
Dr. Chat 93b4c7133b [Vulkan] Update to Vulkan 1.1 2018-05-04 17:40:21 -05:00
Dr. Chat 00a64d543c [HID] Fix HID demo linkage 2018-05-04 17:12:12 -05:00
Dr. Chat 61e47167c0 [Vulkan] Replace vulkan-loader with volk 2018-05-04 16:49:46 -05:00
Dr. Chat e971e38cdb [HID] Swap the HID demo over to the vulkan backend 2018-05-04 13:55:32 -05:00
Dr. Chat 88729e2ac4 [GPU] Initial (and possibly incorrect) texture size calculation for 1D and 3D 2018-05-04 12:10:26 -05:00
Dr. Chat 040d8d1ade [GL4] Farewell, GL4 backend 2018-05-04 11:54:33 -05:00
Dr. Chat f54ac240a4 [Vulkan] Stupid hack to fix ABGR4 formats. 2018-05-04 09:45:42 -05:00
Dr. Chat 7a3d0b683b [Vulkan] Fix block pitch calculation of mips 2018-05-04 00:18:45 -05:00
Dr. Chat 8ecadd49d2 [GPU] Further fix mip address calculations with really skewed aspect ratios 2018-05-04 00:18:22 -05:00
Dr. Chat 198cc9b9b9 [CPU] Print a message and crash if the CPU does not support AVX. 2018-05-03 22:12:36 -05:00
Dr. Chat 911588e9dc [GPU] Fix mip size calculation for compressed textures 2018-05-03 18:34:23 -05:00
Dr. Chat f45cd398ef [Vulkan] Handle MIPs with non-power-of-two dimensions 2018-05-03 17:54:09 -05:00
Dr. Chat 04748b4a0d [GPU] TextureInfo::GetMipLocation - calculate packed mip offset 2018-05-03 16:04:11 -05:00
Dr. Chat 5e4b696782 [SPIR-V] Reset writes_depth_ 2018-05-03 14:15:53 -05:00
Dr. Chat f885b89a03 [Vulkan] Make image views cover all mips
Align texture dimensions to 1 block minimum (for uploading mips)
2018-05-03 14:15:36 -05:00
Dr. Chat c9d4cfe6d0 [GPU] MIPs > 16 pixels are stored in their own individual tiles 2018-05-03 12:01:50 -05:00
DrChat 1f157f35f4 [Vulkan] Initial support for mipmaps 2018-05-03 10:02:07 -05:00
DrChat f7c7cc54ed [GPU] TextureInfo::GetMaxMipLevels 2018-04-30 11:01:46 -05:00
Dr. Chat 62bee78edd [SPIR-V] Declare DepthReplacing if we replace depth 2018-04-29 18:43:31 -05:00
Dr. Chat 87bfad1f74 [GPU] PM4_EVENT_WRITE_EXT destination is /not/ aligned (to 16 bytes) 2018-04-29 18:26:36 -05:00
Dr. Chat ef3577e45c [Vulkan UI] Fix minor bug in specifying size of queue priorities array 2018-04-29 18:25:56 -05:00
Sandy Carter 24e7bb5293 [Memory] Fix alignment to 16 bytes
Fix segmentation fault happening on linux when `src` or `dst` is not aligned to
16 bytes.
Assert against use of `src_ptr` and `dest_ptr` which are not unaligned to 16
bits.
2018-04-20 18:50:40 -07:00
Sandy Carter 1681ebfdcb [Base Tests] Add tests for all cases in memory.cc 2018-04-20 18:50:39 -07:00
Sandy Carter b6dc70ea5a [Base Tests] Move base tests to their own subdir 2018-04-20 17:08:28 -07:00
DrChat 86f387ed42 [SPIR-V] Fix 1D texture fetches. Fixes #1124 2018-04-20 15:25:07 -05:00
DrChat 2b66a1b68f [Vulkan] Emulate Xenos behavior with copy dest at a negative offset
It appears the Xenos starts copying pixel data at the first encountered visible destination pixel, rather than texture mapping the source texture onto the destination polygon
2018-04-17 15:35:24 -05:00
DrChat 0cff91692e [Vulkan] Propagate errors in the render cache 2018-04-16 22:09:23 -05:00
DrChat 521b9eb5c5 [Vulkan] Fix window scale and offset calculation 2018-04-16 18:27:23 -05:00
DrChat 27c840fa91 [Vulkan] Fixup window offset calculation 2018-04-16 15:44:52 -05:00
DrChat 18d9efc93b [Vulkan] Bump down BufferCache alignment 2018-04-16 13:02:05 -05:00
DrChat b90465e2e5 [Vulkan] Halve the viewport dimensions when viewport scaling is disabled (10240 -> 5120)
The negative part of the viewport is unused, so hijack the 2 unused parameters of the window scale to use as an offset
2018-04-16 12:54:50 -05:00
DrChat 25f93a171c [Vulkan] Support optional vertex window offset 2018-04-16 11:08:24 -05:00
DrChat 6ca771d26f [Vulkan] Handle window scissor window_offset_disable 2018-04-14 17:51:57 -05:00
DrChat f8319ec12f [Base] Support sign-extension in bitfield 2018-04-14 17:34:21 -05:00
DrChat d914791afe [SPIR-V] Fix SetTextureLOD 2018-04-14 15:39:48 -05:00
DrChat 303539af22 [SPIR-V] Fix incorrect dst implementation (incorrect extraction indices) 2018-04-14 15:32:18 -05:00
DrChat 0f0d600a5b Fix Travis 2018-04-13 21:45:47 -05:00
DrChat f02f192f2b [Xboxkrnl] Document a couple parameters in VdInitializeEngines 2018-04-13 21:10:50 -05:00
DrChat 39083acdcb [Vulkan] Bump up maximum number of vertex buffers 2018-04-13 21:09:56 -05:00
DrChat 399e1fac2a [Vulkan] Gracefully fail on copy if a target format is unsupported 2018-04-13 21:09:21 -05:00
DrChat abdc0ff05a [GPU] Document first parameter of eA (export address) 2018-04-13 21:07:14 -05:00
DrChat 6794b4975c [SPIR-V] Use texture sample calls with constant offset 2018-04-13 21:06:45 -05:00
DrChat e6524aa497 [GPU] Disassemble memexport exports 2018-04-08 18:02:39 -05:00
DrChat 1d4fa80eac [GPU] Fixup ringbuffer log2_size (which specifies size in qwords)
Save microengine init packets
2018-04-08 15:50:36 -05:00
DrChat 5a831fa273 Fix UI programs on linux 2018-04-03 19:55:55 -05:00
DrChat 9653c0bafc [GPU] Allow dynamic building of GPU packets 2018-04-03 19:08:30 -05:00
DrChat 14abe1a407 Fixup 360 support 2018-04-03 19:02:49 -05:00
DrChat 6b8a34c9ba [Base] Fix Travis 2018-03-03 19:15:37 -06:00
DrChat 4fd03e8029 [Base] Shutdown the logger to prevent truncation of output 2018-03-03 19:00:04 -06:00
DrChat 157c7780af [JIT] Add V128 ADD/SUB (fixes #1095) 2018-03-03 18:24:57 -06:00
DrChat 1c1fdb4ccd [JIT] Properly mask NaNs in vctsxs 2018-03-03 14:06:45 -06:00
DrChat a9d2a50082 [Vulkan] Add AMD shader statistics info support 2018-03-03 12:34:19 -06:00
DrChat 3fb7b9d944 [Vulkan UI] VulkanDevice::HasEnabledExtension 2018-03-03 11:53:24 -06:00
DrChat 199328f971 [Vulkan] PipelineCache ClearCache support and pipelines counter 2018-03-03 11:36:12 -06:00
DrChat 43043fd4a8 [Vulkan] Track pixel center in pipeline cache (but don't apply it quite yet) 2018-03-03 10:30:59 -06:00
DrChat 7c5c389ce8 [Vulkan UI] Travis, why? 2018-03-03 10:09:16 -06:00
DrChat 3a0903672c [Vulkan UI] Try to fix Travis again :/ 2018-03-03 00:01:23 -06:00
DrChat c8698f912f [Vulkan] Add pending delete textures counter 2018-03-02 23:46:58 -06:00
DrChat 9235a8107b [Vulkan] Track active textures in the texture cache 2018-03-02 23:28:29 -06:00
DrChat f7026cb17b [Base] Add support for microprofile counters 2018-03-02 23:28:01 -06:00
DrChat 6c67fe4b29 [Vulkan UI] Fix Travis 2018-03-02 22:35:29 -06:00
DrChat 2180280c8e [Vulkan UI] Stash the last signalled fence to speed up Scavenge 2018-03-02 22:13:59 -06:00
DrChat 82e8781549 [Vulkan UI] Use an underlying queue instead of a list of pointers in CircularBuffer 2018-03-02 22:01:55 -06:00
DrChat 2e3115660f [Vulkan] Scavenge Profiling 2018-03-02 21:42:49 -06:00
DrChat 894bbf9e26 [JIT] Fix incorrect definition for constant VectorConvertX2X 2018-03-02 19:03:48 -06:00
DrChat 3a8f8f2ecb [JIT] Fix OPCODE_SELECT V128 with certain combinations of constants 2018-03-02 18:56:28 -06:00
DrChat 2af0a3c2f4 [JIT] Mask extraction constants in Value::Extract 2018-03-02 18:55:52 -06:00
DrChat 49866e970b [JIT] VectorConvertX2X unsigned support 2018-03-02 16:34:57 -06:00
DrChat fd0d2185ef [JIT] Full support for vcfux 2018-03-02 15:11:29 -06:00
DrChat b0b920c040 Linting. 2018-03-02 12:14:09 -06:00
DrChat 6c97dbaf81 [JIT] Simplify VECTOR_ADD/SUB i32 with saturate 2018-03-02 11:48:19 -06:00
DrChat 131fcd1320 [JIT] Kill a couple instructions in VECTOR_CONVERT_F2I 2018-03-02 11:41:04 -06:00
DrChat 04d20e33a5 [JIT] Add another test case to vctuxs 2018-03-02 00:05:43 -06:00
DrChat 0577b6c9be [JIT] Full vctuxs support 2018-03-01 23:49:44 -06:00
DrChat 4766a5ec24 [JIT] Add FIXME on constant Vector F2I (saturation unsupported) 2018-03-01 21:15:54 -06:00
DrChat 6fd75cea91 [CPU] Handle constant multiply in fmadd/fmsub in constant propagation pass 2018-03-01 20:04:56 -06:00
DrChat d31db60a75 [SPIR-V] tfetch UseRegisterLOD support 2018-03-01 13:46:44 -06:00
DrChat ea3ee2db2b [SPIR-V] No implicit lod on vertex shaders 2018-03-01 13:30:21 -06:00
DrChat 6e5f70d39f [Vulkan UI] WaitAndSignalSemaphore -> WaitOnSemaphore
Fix a would-be bug dealing with pWaitDstStageMask
2018-03-01 10:20:07 -06:00
DrChat b3626a039b [Vulkan] Remove backend swap event (unused and confusing) 2018-03-01 10:19:11 -06:00
DrChat b2f1bf914a [Vulkan] Set proper aspect mask in depth uploads 2018-03-01 09:54:15 -06:00
DrChat 63a489d4c6 [Vulkan] Unset kBatchOwnsFence when transferring fences 2018-02-28 21:00:31 -06:00
DrChat 7fbd55369e [UI] Update microprofile to latest 2018-02-28 18:52:45 -06:00
DrChat 702a8732c8 [GPU] Free the command processor in the destructor rather than on shutdown
Fixes a race condition: TDR followed by WriteRegister will cause a crash. It's okay to continue writing to the command processor (it may be setup again later).
2018-02-28 15:19:02 -06:00
DrChat a976056afb [UI] Shut down the profiler before the graphics context 2018-02-28 15:05:10 -06:00
DrChat 2a52156edf [Vulkan] Change invalidated_textures_ to an unordered set 2018-02-24 14:23:22 -06:00
DrChat a753dbed15 [Vulkan] Update the rest of the shaders 2018-02-24 11:15:58 -06:00
DrChat 8fd9ab8387 [Vulkan] Fix input mismatch in dummy.frag 2018-02-24 11:15:27 -06:00
DrChat d781c7b6b1 [Vulkan] We need VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE 2018-02-24 10:28:33 -06:00
DrChat 24baf58ae3 [SPIR-V] Proper implementation of getGradients 2018-02-23 00:00:07 -06:00
DrChat 5a4dcd7043 [Vulkan] Shader module debug object names 2018-02-22 23:07:54 -06:00
DrChat 824c39c38a [Vulkan] Get debug markers working again 2018-02-22 22:58:29 -06:00
DrChat 5b6766b210 [SPIR-V] Fix a few issues with shaders (validation)
Properly calculating the number of texture bindings
2018-02-22 22:06:05 -06:00
DrChat f5ee9b256c [Vulkan] Report vkCreateDebugReportCallbackEXT error codes 2018-02-22 21:12:37 -06:00
DrChat 77da785d70 [Vulkan] Use locally generated texture binding indices instead of GPU indices 2018-02-22 21:00:54 -06:00
DrChat da4cf1bc80 [SPIR-V] 2_10_10_10 is actually 10_10_10_2 2018-02-22 18:37:24 -06:00
DrChat ea5c98248f [Vulkan] Remove dead vertex input code from the pipeline cache 2018-02-22 14:01:52 -06:00
DrChat 1a263f14a2 [Vulkan] Hash and track vertex descriptor sets (similar to texture cache) 2018-02-20 21:25:51 -06:00
DrChat 2a908eb86d [SPIR-V] Handle 32-bit normalized unsigned formats 2018-02-20 16:25:37 -06:00
DrChat b3de604f9e [SPIR-V] Fix offsetof on Travis 2018-02-19 19:09:06 -06:00
DrChat b5127cf924 [SPIR-V] Remove is_signed/is_integer check on float formats (they're ignored) 2018-02-19 12:53:53 -06:00
DrChat a3cf3a7694 [SPIR-V] Don't bother setting up vertex bindings if they aren't used. 2018-02-19 12:45:17 -06:00
DrChat be687f5f27 [SPIR-V] Size the vertex bindings input based on actual number of bindings 2018-02-19 11:28:22 -06:00
DrChat 16cf9883ca [Vulkan] Fix a couple validation errors 2018-02-19 11:19:24 -06:00
DrChat 103ecbab7e [SPIR-V] 32 [u]int formats 2018-02-19 11:01:45 -06:00
DrChat ff6d306728 [SPIR-V] Handle 16/16, 16/16/16/16 (float and norm) and 32f 2018-02-19 08:11:31 -06:00
DrChat 6fb176528b [SPIR-V] Don't group together unimplemented fetches 2018-02-19 00:23:15 -06:00
DrChat 081c142c4c [SPIR-V] Convert 8888, 32, 2/10/10/10 2018-02-19 00:14:38 -06:00
DrChat fe9c83c15b [Vulkan] First working version of dynamic vfetch! 2018-02-18 23:22:02 -06:00
DrChat 4c766dcc61 [Vulkan] BufferCache: Fix a few problems 2018-02-18 20:54:29 -06:00
DrChat f3f1a7fe42 [SPIR-V] Update glslang
WIP new vertex fetching
2018-02-18 20:13:38 -06:00
DrChat 4e1a55f585 [Vulkan] Bind the vertex set to DS slot 2 2018-02-18 18:50:53 -06:00
DrChat 9463732709 [Vulkan] BufferCache::PrepareVertexSet 2018-02-18 18:48:23 -06:00
DrChat 4be725c4b4 [Vulkan] Create/Free Vertex Descriptor Pool 2018-02-18 18:26:28 -06:00
DrChat af406df793 [Vulkan] Move the constant descriptor set to its own setup/destroy functions 2018-02-18 18:11:52 -06:00
DrChat 300656f788 Merge branch 'master' into vk_vfetch 2018-02-18 17:02:59 -06:00
DrChat 09d16f4b7b [Base] Copy up to alignment boundary in aligned swap boundaries and then use aligned load/store 2018-02-18 17:02:26 -06:00
DrChat 79308b477f Merge branch 'vtx_cache' 2018-02-18 16:49:32 -06:00
DrChat 71e5e967ec [Vulkan] Disable vertex buffer cache expansion for now. 2018-02-18 16:49:15 -06:00
DrChat 7fa27343c7 [Vulkan] Declare feature samplerAnisotropy 2018-02-18 16:23:29 -06:00
DrChat 05192e3c0f [Vulkan] Prevent negative scissor offsets 2018-02-18 15:14:34 -06:00
DrChat 1a113fb82b [Vulkan] Fix cube texture uploads 2018-02-18 14:59:34 -06:00
DrChat ffef59aaa5 [Base] RingBuffer: Add ReadAndSwap instead of piggybacking off of Read 2018-02-18 12:18:20 -06:00
Dr. Chat 3d1c2a6c9a [GPU] Update vizquery documentation 2018-02-16 22:03:33 -06:00
DrChat 766974c30a [Kernel] Document XMP[G/S]etPlaybackController 2018-02-16 18:59:45 -06:00
DrChat 22929182e6 [GPU] Update the docs of a few registers 2018-02-16 18:33:01 -06:00
DrChat 1dba231049 [Vulkan] Handle primitive reset index on copy 2018-02-16 18:31:43 -06:00
DrChat 776b5eff36 [Vulkan] BufferCache: Add VertexBuffer struct 2018-02-16 16:51:32 -06:00
DrChat db53559611 Merge branch 'master' 2018-02-16 16:34:17 -06:00
DrChat 43f9cebb0c [JIT] Rewrite CNTLZ and remove one branch 2018-02-16 12:51:39 -06:00
DrChat e4bc596887 [Base] Faster copy-and-swap routines 2018-02-15 21:14:52 -06:00
DrChat 30e0a258e4 [Vulkan] Buffers typically aren't aligned. 2018-02-15 17:05:54 -06:00
DrChat ec501a32c6 [JIT] Apply the same ZeroExtend/Truncate to rlwimix and rlwnmx 2018-02-14 22:05:54 -06:00
DrChat 0cc2b0fc9f [Core] Protect the last 64kb of memory 2018-02-14 21:58:05 -06:00
DrChat 310606d0f6 Merge branch 'master' into vk_vfetch 2018-02-14 20:31:31 -06:00
DrChat b17d6f5088 [Base] Enable aligned copy and swap routines 2018-02-14 20:28:34 -06:00
DrChat e54c24e150 [JIT] New opcodes: OPCODE_LOAD_OFFSET and OPCODE_STORE_OFFSET
These take full advantage of x86 addressing, and eliminate extra add operations.
2018-02-14 16:26:49 -06:00
DrChat 1de598e4ce [JIT] Comment the offsets in PPCContext 2018-02-14 16:22:14 -06:00
DrChat 7818cdab60 [CPU] Check for RawModule memory allocation success 2018-02-14 16:21:16 -06:00
DrChat 02b5a07bc9 [JIT] rlwinmx: Use Truncate/ZeroExtend instead of And 0xFFFFFFFF 2018-02-14 13:50:57 -06:00
DrChat 1d0b290c3d [JIT] Remove all calls to ReloadMembase / ReloadContext (rcx/rdx free now) 2018-02-13 13:33:39 -06:00
DrChat e2bbae3896 [JIT] Don't bother using a temp for constant addresses < 0x80000000 2018-02-13 13:09:40 -06:00
DrChat 2e0f99d49d [Vulkan UI] CircularBuffer: Actually use provided alignment 2018-02-11 20:45:03 -06:00
DrChat c9a5553fe9 [Vulkan] Upload entire vertex allocation into the transient cache (for now) 2018-02-11 20:43:32 -06:00
DrChat d0460122f4 [Core] BaseHeap::QueryBaseAndSize 2018-02-10 21:58:44 -06:00
DrChat 44e03762f6 Formatting 2018-02-10 21:08:46 -06:00
DrChat d015de4a84 [Vulkan] Smarter transient cache
Detect cases where requested vertex data has already been uploaded in a larger buffer
2018-02-10 21:08:17 -06:00
DrChat e3787c05c1 [Core] QueryRegionInfo - report the original allocation size 2018-02-10 19:14:58 -06:00
DrChat 325599948a [Core] Remove hardcoded type field from HeapAllocationInfo 2018-02-10 16:47:53 -06:00
DrChat 4db94473ec [Core] Memory::GetPhysicalHeap 2018-02-10 16:45:06 -06:00
DrChat 5a637d6899 [Vulkan] Add VMA to Buffer Cache 2018-02-09 20:58:17 -06:00
DrChat c7ffec3260 [GPU] Add unknown registers E00/E40 to register file 2018-02-09 20:57:51 -06:00
DrChat 3ad45f4186 [Vulkan] New docs for buffer cache 2018-02-09 20:57:26 -06:00
DrChat a1677d34e1 [CPU] MMIOHandler IsRangeWatched now returns true if the entire range is watched. 2018-02-09 19:23:24 -06:00
DrChat 45ba1d0bf3 [Vulkan] Enforce semicolons on VK_SAFE_DESTROY 2018-02-09 18:52:21 -06:00
DrChat 190108dab6 [CPU] Add some more docs to MMIO handler functions 2018-02-09 18:26:12 -06:00
DrChat 7da973d9e6 [CPU] Handle cases in access watches where base addresses overlap 2018-02-09 17:21:35 -06:00
DrChat 455dfeb39f [Vulkan] Use a static function for texture invalidation callbacks 2018-02-09 16:58:56 -06:00
DrChat 9e79babde0 Formatting. 2018-02-07 18:55:26 -06:00
DrChat b38b9e43ea [Vulkan] Don't bother re-hashing previously covered bindings 2018-02-07 18:40:41 -06:00
DrChat 7ea3381699 [Vulkan] texture_bindings_ -> texture_sets_ 2018-02-07 18:40:12 -06:00
DrChat 26212bffb0 [x64 seq] Reuse the source variable rather than re-specifying the destination (to make things less confusing) 2018-01-24 20:57:11 -06:00
Parker Lamb 53ed82db71 UI/Vulkan: Fixed graphics context recreation on HiDPI systems. 2018-01-08 16:46:07 +00:00
DrChat 3e157972cc [Vulkan] Add a few size checks on vertex bindings (max across all cards is 32) 2018-01-03 16:40:31 -06:00
DrChat 10f74fc45a Merge branch 'master' into vk_vfetch
# Conflicts:
#	src/xenia/gpu/spirv_shader_translator.cc
2018-01-01 18:30:29 -06:00
Dr. Chat d512d4127f [SPIR-V] Fix the build. 2018-01-01 15:00:37 -06:00
DrChat c64916be94 Display a dialog if the emulator failed to launch a title specified on the command line. 2017-12-28 16:20:35 -06:00
DrChat 26f3100c23 [SPIR-V] Don't normalize denormalized 10/11/11 formats if not requested 2017-12-28 16:20:35 -06:00
Dr. Chat bfc8ecbeaa [XMA] Check for invalid packet number in ValidFrameOffset 2017-12-26 20:58:31 -06:00
DrChat e5fd81b22f [SPIR-V] Don't normalize denormalized 10/11/11 formats if not requested 2017-12-24 13:54:44 -06:00
DrChat 8784daf6bc [Vulkan] Don't allocate textures if we don't know the format.
DTX5A = ATI1
2017-12-23 21:02:33 -06:00
DrChat 1b038125a1 Fix Travis and the build 2017-12-23 17:49:37 -06:00
Dr. Chat 27d1cd8e94 [Kernel] Fill in XGISessionCreateImpl/XGISessionJoinLocal structs 2017-12-23 13:55:49 -06:00
Dr. Chat 4bc6980ad4 [APU] Fill in a few previously unknown fields in the HW context 2017-12-23 13:49:41 -06:00
DrChat 28ebb4bf43 [Vulkan] Offset the destination rect and viewport by the window offset 2017-12-23 12:53:00 -06:00
DrChat 26100c586f [Vulkan] Track render target state with the pipeline cache 2017-12-22 23:33:27 -06:00
DrChat 516c113423 [SPIR-V] Fix tfetches with an offset 2017-12-22 23:15:18 -06:00
DrChat 20099e51af Formatting 2017-12-22 22:24:51 -06:00
DrChat 366e8b1b6a [SPIR-V] Fix invalid 1D texture offsets 2017-12-22 22:24:19 -06:00
DrChat fb89973266 [SPIR-V] Add support for loops 2017-12-22 22:23:28 -06:00
DrChat 80b0b66e5d [Vulkan] Regenerate shaders with newer glslang 2017-12-21 23:14:42 -06:00
DrChat 1a12d621fb [Vulkan] Remove a bunch of debug comments from blit.vert 2017-12-21 23:14:20 -06:00
DrChat 4cfe1e3203 [Vulkan] Support window scissor in IssueCopy 2017-12-21 22:38:35 -06:00
DrChat 2e1d33b8d3 [Vulkan] Correct some more pipeline barriers 2017-12-21 17:03:02 -06:00
DrChat f26bd04a6c [Vulkan] Fix typo causing depth image views to be overwritten by a stencil view 2017-12-21 16:51:55 -06:00
DrChat 8d7b8c2f82 [Vulkan] Do not set any blend attachments with depth blits 2017-12-21 15:43:12 -06:00
DrChat 554d333299 [Vulkan] Request depth/stencil attachment usage for textures that support it 2017-12-21 15:13:54 -06:00
DrChat ab7dce53ec [Vulkan] Fix another incorrect pipeline stage barrier 2017-12-21 15:13:01 -06:00
DrChat 697eccf23e [SPIR-V] Fix incorrect FOrdEqual result type 2017-12-21 15:12:02 -06:00
DrChat 9c48875a5d [Vulkan] SwapChain: Wait for previous commands to finish before reusing command buffers 2017-12-21 13:31:06 -06:00
DrChat 56ee88b59d [Vulkan] Enable and expect textureCompressionBC (for now) 2017-12-21 13:11:57 -06:00
DrChat cbfaffd9f3 [Vulkan] Correct a bunch of incorrect pipeline barrier stages 2017-12-21 13:11:34 -06:00
DrChat ad118fa842 [Vulkan] Fix queue priorites going out of scope prematurely 2017-12-21 12:16:22 -06:00
DrChat cd98604d89 Formatting. 2017-12-21 11:13:23 -06:00
DrChat 8bf10a941a [GPU] TraceViewer *.xenia_gpu_trace -> *.xtr 2017-12-21 11:05:50 -06:00
Kitessencial 350d0e5ec2 Detect OpenGL 4.60 (#816)
* Detect OpenGL 4.60

This change allows Xenia to detect if the system has OpenGL 4.6
2017-12-21 11:05:27 -06:00
DrChat ecfaaa6c95 [GPU] Log attempts to fetch unsupported texture formats 2017-12-20 21:26:52 -06:00
DrChat 063db77346 [Core] Don't pass in old protection pointer if the caller doesn't need it 2017-12-20 17:54:31 -06:00
DrChat a47417117e [Base] Implement PosixEvent using eventfd 2017-12-20 17:51:31 -06:00
DrChat 9395b73217 [Travis] Enable full Xenia build on linux 2017-12-20 16:27:01 -06:00
DrChat 886a223cf2 [GPU] Remove a few unused variables from TraceDump 2017-12-20 14:38:02 -06:00
DrChat 45846f25ac [Vulkan] Support usage of the primary queue in the swap chain 2017-12-19 23:13:23 -06:00
DrChat 0a75f68e88 [Vulkan] Fix freeing the swap chain surface twice during error shutdown. 2017-12-19 23:04:43 -06:00
DrChat d791338c4d [Vulkan] Only require surface extensions on windows 2017-12-19 19:36:24 -06:00
DrChat b865e324c2 [Base] Handle exec R/W mapped file handles 2017-12-19 19:36:10 -06:00
DrChat cd2e07f680 [Base] First-pass memory file mapping support 2017-12-19 19:26:26 -06:00
DrChat db34128b95 Fix linux build of the vulkan trace dumper 2017-12-19 18:29:00 -06:00
DrChat 322317493e [UI] Implement a few pure virtual functions in linux 2017-12-19 18:19:31 -06:00
DrChat d3b03b9a93 [Vulkan] Update VMA 2017-12-19 18:19:03 -06:00
DrChat 4d159efef5 [GPU] Run TraceDump headless, and drop the GL4 trace dumper 2017-12-19 16:37:59 -06:00
DrChat 09b3a07e3c Support rendering windowless (tested on the Vulkan backend) 2017-12-19 16:05:36 -06:00
DrChat 8fc71f6f7c [Vulkan] Error propagation for immediate-mode drawer 2017-12-19 13:43:52 -06:00
DrChat 4ca8cafc1b [Vulkan] Propagate swap chain initialization errors 2017-12-18 20:35:04 -06:00
DrChat 7ae5795cb8 Quick hack to prevent Xenia from crashing on exit. 2017-12-18 18:15:19 -06:00
DrChat 11f8da9092 [GPU] Whoops, accidentally flipped is_integer around. 2017-12-18 18:11:24 -06:00
DrChat 55d2c03943 [GPU] Rename a few misnamed vfetch fields 2017-12-18 17:24:52 -06:00
DrChat 29c5fb8022 [GPU] Short circuit command processor waits if an exit is requested. 2017-12-18 17:23:14 -06:00
DrChat d98344f99b [Vulkan] Log down strings when an invalid usage flag is specified. 2017-12-18 15:47:52 -06:00
DrChat b5d647d540 [Vulkan] Better handling of device lost events (present fatal error dialog) 2017-12-18 14:27:00 -06:00
DrChat 76b577148d [UI] Add game title ID to titlebar 2017-12-17 22:16:00 -06:00
DrChat 6e0550d46b [GPU] Strip the extension from .xtr files when choosing the output path. 2017-12-17 15:17:44 -06:00
DrChat d4338a2c3f [GPU] Use overall shorter names for xenia GPU traces 2017-12-17 15:00:10 -06:00
DrChat 81cd532ff8 [UI] Profiler shutdown goes before window shutdown 2017-12-17 14:43:52 -06:00
DrChat c7859da997 [GPU] Fix TraceDump progress not showing 2017-12-17 13:44:39 -06:00
DrChat 12e796bc0a Formatting. 2017-12-17 13:26:58 -06:00
DrChat f4a0dbac75 [GPU] Don't bother redrawing the trace dump window 2017-12-17 13:12:42 -06:00
DrChat 6b4e8ee19e [SPIR-V] New flag: spv_disasm - Generate disassembly for spir-v shaders (disabled by default) 2017-12-17 13:12:10 -06:00
DrChat 8ec8d9778f [UI] Shuffle some exit handling code around 2017-12-17 12:37:58 -06:00
DrChat 5da59a95c9 Merge branch 'linux' 2017-12-16 17:15:49 -06:00
DrChat 3bc5d90662 Return dummy values for unimplemented threading functions 2017-12-16 17:02:06 -06:00
DrChat 2f1295aeaa [Vulkan] Process a few newer error strings 2017-12-16 16:47:55 -06:00
DrChat 49287579ff [Vulkan] Robustify error handling during initialization 2017-12-16 15:14:48 -06:00
DrChat 293878cd14 Use the app name as a default logfile. 2017-12-16 11:06:46 -06:00
DrChat bf9fa02b18 [GPU] Accept input and output path as command line parameters 2017-12-15 23:48:23 -06:00
DrChat 66d19a462b [GPU] Make TraceDump error handling more robust
Exit with code -1 if GraphicsSystem::Capture failed
2017-12-15 22:31:10 -06:00
DrChat 8cabc114e9 [GPU] Properly track the packets leading up to a swap command 2017-12-15 22:01:50 -06:00
DrChat 829f346dc2 Axe a few unused functions from TraceDump 2017-12-15 20:33:12 -06:00
DrChat aaf281351d Format all code with new clang-format 2017-12-14 20:44:43 -06:00
DrChat 02e37be4e5 Merge branch 'linux' of git://github.com/dougvj/xenia into linux
# Conflicts:
#	.travis.yml
2017-12-14 19:20:02 -06:00
DrChat d896c1f3f0 Fix travis linting. 2017-12-14 18:45:11 -06:00
gibbed 78565e94d6 Don't set a small icon when creating the Xenia window. 2017-11-29 23:15:32 -06:00
drillsar 5702814212 [xboxkrnl] Add missing break (#805) 2017-11-04 21:02:09 -05:00
DrChat a7b6d91a2b [SPIR-V] (untested) Implementation of getGradients 2017-10-01 18:59:54 -05:00
scribam b6e7e66fbe Fix travis LINT 2017-09-20 23:29:39 +02:00
DrChat e674c9df26 Vulkan: Emit a warning when attempting to use a texture in an unsupported way 2017-09-07 14:37:05 -05:00
DrChat f9d08888c7 Vulkan: ClearCache for texture cache, properly free all textures and allocator on exit. 2017-09-07 14:22:04 -05:00
DrChat 1358b94f4d Fix lint errors :) 2017-09-03 20:02:45 -05:00
DrChat 121a2d655a Vulkan: Properly support depth writes (or blit depth images if able) 2017-09-01 18:32:55 -05:00
DrChat 4e4a1a03c1 Vulkan: Add a memory allocator and hook it up to the texture cache. 2017-08-20 20:48:36 -05:00
DrChat 7e819a4ccb Vulkan: Refactor CTX1 conversion 2017-08-20 18:37:02 -05:00
DrChat 1eac03a11c GPU: The base format of *_EXPAND textures is *_FLOAT 2017-08-19 21:10:53 -05:00
DrChat e758e87587 Trace Viewer: Display texture info even if the demand failed
Display format name as well
2017-08-19 20:56:13 -05:00
DrChat 57ffee0d8c GPU: Add name strings for all texture formats 2017-08-19 20:55:29 -05:00
DrChat 96ba5d5563 Vulkan: Set the depth/stencil attachment flag bit for depth/stencil textures. 2017-08-19 18:34:32 -05:00
Dr. Chat 2f200f4a75 Vulkan: Reformat the texture config table to look nicer 2017-08-14 00:32:40 -05:00
Dr. Chat 657d571c0d Vulkan: Update a couple of comments on texture formats 2017-08-13 21:32:57 -05:00
DrChat 3d0cbe50b9 Vulkan: Use GetBaseFormat in TextureFormatIsSimilar 2017-08-13 19:08:38 -05:00
Dr. Chat 22575af212 Fix AMD crashes from last commit 2017-08-10 23:24:32 -05:00
DrChat 4809f3eb51 Vulkan: Create a util WritebackTexture function (unused atm) 2017-08-10 15:01:12 -05:00
DrChat 09c29bbdc5 Vulkan: Search by a texture's base format when fetching. 2017-08-09 22:27:41 -05:00
DrChat 63576aec35 Vulkan: Add debug code to flag empty texture uploads in the log 2017-08-09 22:26:56 -05:00
DrChat f162b045ff UI: Fix constant swapchain recreation after toggling fullscreen 2017-08-09 11:45:11 -05:00
AllanCat 79b9efb777 GL4: Fix HostTextureInfo setup. 2017-08-09 10:07:15 -05:00
gibbed f8edc761fc Vulkan: Do near-exact lookups for the frontbuffer texture (may break everything). 2017-08-09 02:28:47 -05:00
gibbed ff1a3aaa67 Corrected QueryDirectory return code for no more files. 2017-08-09 01:16:42 -05:00
gibbed 4c77616ef9 Vulkan: Suppress some warnings from validation layer. 2017-08-09 01:15:33 -05:00
DrChat bea607b454 Vulkan: Apply a half-pixel offset where necessary. 2017-08-09 00:48:53 -05:00
gibbed 082c767fba Add the currently active graphics system to the window title. 2017-08-09 00:40:44 -05:00
DrChat 8b5eb1cd38 Vulkan: Remove redundant format argument from DemandResolveTexture 2017-08-09 00:10:52 -05:00
DrChat e9e23c02a2 Kernel: VdSwap takes a texture format, not color format argument 2017-08-08 22:34:15 -05:00
gibbed b14dc3351c GPU: Make 1D textures into 2D ones. 2017-08-08 17:58:11 -05:00
gibbed 1570dcd24c Vulkan: 32_32_32_32 had wrong unsigned format. 2017-08-08 16:51:19 -05:00
gibbed 90b8f983d0 - Vulkan: DXT1_AS_16_16_16_16 should probably map to VK_FORMAT_BC1_RGBA_UNORM_BLOCK.
- Vulkan: Added comments regarding CTX1 format.
2017-08-08 16:47:16 -05:00
gibbed 42533d39eb Vulkan: Assume all 1D texture sampling is actually sampling a 2D texture. 2017-08-08 16:35:19 -05:00
DrChat fdef1e098d Input: Bind F and K to left thumb and right thumb, respectively. 2017-08-08 16:06:55 -05:00
gibbed 2cf0b39bf5 Whoops. 2017-08-08 08:40:46 -05:00
gibbed 1e92a4e06c XAM: Write as many items possible when enumerating. Fixes Nier not detecting system save data (and possibly other games). 2017-08-08 04:53:01 -05:00
gibbed 355d9f6c62 Take three? 2017-08-08 02:10:22 -05:00
gibbed 3aa5a70827 Take two? 2017-08-08 01:49:53 -05:00
gibbed 19627a6cb2 GPU: Cast various flags to bool in IssueCopy. Fixes #773. 2017-08-08 01:46:21 -05:00
gibbed 4a95862023 GPU: Ensure texture resolves are at least 1x1. 2017-08-08 01:39:42 -05:00
gibbed d2d8d65629 GPU: First pass of CTX1 to R8G8_UINT conversion implementation for Vulkan. 2017-08-08 00:26:40 -05:00
Dr. Chat 8d261ca73d x64 JIT: Simplify splats 2017-08-08 00:12:38 -05:00
DrChat ee18d548c9 Vulkan: Do not bind a NULL pipeline even if a full update is requested. 2017-08-08 00:11:08 -05:00
DrChat 0720bbe19f Vulkan: Fix race crash in trace viewer 2017-08-07 23:35:17 -05:00
DrChat cce5182725 Vulkan: Fix swap on resolve (off by one!)
Clean up part of IssueCopy
2017-08-07 23:34:50 -05:00
DrChat 35e4431c33 Vulkan: Get rid of the empty descriptor set 2017-08-07 21:46:35 -05:00
DrChat 8bfe22bbd7 GPU Shader Translator: Add cases for memexport registers 2017-08-07 21:40:24 -05:00
DrChat cfc65a0197 GPU: Rewrite/rephrase some confusing shader translator code 2017-08-07 21:08:01 -05:00
gibbed 6d9a56a269 GPU: Fixed texel pitch calculation for linear textures. 2017-08-07 20:50:42 -05:00
gibbed febe46973f GPU: Don't use host write bit for texture uploads. 2017-08-07 19:47:17 -05:00
gibbed b4ae5b9a01 - GPU: Removal of deprecated TextureInfo fields.
- GPU: Replicated removed deprecated fields into local struct for GL.
- GPU: Improved texture copies for Vulkan, no more pitch changes.
- GPU: Stubbed code for CTX1 conversion in Vulkan.
2017-08-07 19:30:06 -05:00
gibbed 906f24cb1a GPU: Make the format info table 64 statically elements again. 2017-08-07 19:13:02 -05:00
DrChat c656d95345 Vk Immediate: Get Sampler 2017-08-06 18:24:48 -05:00
DrChat 2ba0ebb4cb GPU: Add back k_1_REVERSE 2017-08-06 16:55:02 -05:00
gibbed bd58191239 Moved format info table to its own file to maintain formatting. 2017-08-06 14:13:19 -05:00
gibbed 5ce29dbe1c Format info table was off by one this whole time. Who knew? 2017-08-06 13:58:37 -05:00
gibbed 791f81c484 Prettify format info table. 2017-08-06 13:57:13 -05:00
DrChat eb022939d1 Vulkan: Initialize a texture's framebuffer to nullptr 2017-08-06 12:47:34 -05:00
Dr. Chat 90bd08ffd1 UI: Update width and height for fullscreen 2017-08-03 22:47:51 -05:00
Dr. Chat 5430dd0cd0 UI: Properly size microprofile, make dpi transparent to unaware users. 2017-08-03 22:34:12 -05:00
Dr. Chat 707f4c96ba UI: Fix incorrect declarations for winapi functions 2017-08-03 22:05:02 -05:00
Justin Moore d081cf5f5c Merge pull request #743 from parkerlamb/startup_race
Prevent race condition during emulator startup (issue #702)
2017-08-03 21:36:22 -05:00
Dr. Chat b3b7acb7ca UI: Dynamic DPI scaling 2017-08-03 21:17:57 -05:00
DrChat aeb0e2557c UI: Very basic dynamic DPI support 2017-08-03 19:13:51 -05:00
DrChat d439704aa9 Vk UI: Free copy command buffer on exit 2017-08-03 16:02:13 -05:00
Dr. Chat aee5601c68 xboxkrnl: Initial (untested) implementation of NtProtectVirtualMemory 2017-07-24 21:41:47 -05:00
AllanCat 7ad6fc92f6 Fixed white edge on some textures(text display). 2017-07-19 23:18:49 +08:00
AllanCat c47d12875c Fixed Vulkan's dark color issue. 2017-07-19 15:06:29 +08:00
Doug Johnson 8ced8eb9e4 base: filesystem_posix: Implement missing functionality 2017-07-11 11:47:25 -06:00
Doug Johnson b143b91fbb base: threading_linux: Stub out several synchronization constructs 2017-07-11 11:47:25 -06:00
sephiroth99 03091d1b71 Add missing libraries when linking xenia-app on Linux
Currently, each module in Xenia is built as a static library (also
called archive). On Linux, an archive only contains the object files
for that module. So any depedency that module has must be specified by
adding those other modules when linking the program, as the dependencies
are resolved at that time.
2017-07-11 11:47:25 -06:00
Doug Johnson 879d6e979f Add missing <string> include 2017-07-11 11:47:25 -06:00
Doug Johnson ae30bc1207 ui:loop_gtk: Use default thread::id constructor instead of explicit id 2017-07-11 11:47:25 -06:00
Doug Johnson b65c7e6297 vulkan: render_cache: More clang compilation fixes 2017-07-11 11:47:24 -06:00
Doug Johnson 1c40e46cd1 Add Add XCB/Xlib interaction and X11 specific GTK headers/includes 2017-07-11 11:47:24 -06:00
sephiroth99 7ede34b593 vulkan: render_cache: fix clang compilation 2017-07-11 11:47:24 -06:00
sephiroth99 11637af8e9 Add missing Profiler function when profiling is disabled 2017-07-11 11:47:24 -06:00
Doug Johnson 570e359caa Support vulkan xcb device for Linux 2017-07-11 11:47:24 -06:00
sephiroth99 bc8356bb83 Remove usage of non standard identity struct
std::identity was removed from the standards, but Visual Studio kept
it as an extension.

Replace it by std::remove_reference, which does just a little bit
more than std::identity does, but without impact in this case.
2017-07-11 11:47:24 -06:00
Doug Johnson 224c779554 Add missing climits include 2017-07-11 11:47:24 -06:00
Doug Johnson 136cc92a66 Remove platform specific headers where unnecessary 2017-07-11 11:47:24 -06:00
Doug Johnson bb0ee0e4a3 Change glsl lang call that supports scalar rather than vector 2017-07-11 11:47:24 -06:00
Doug Johnson 5d579fc846 Add Linux vulkan init routines using xcb lib 2017-07-11 11:47:24 -06:00
Doug Johnson a8053f72e5 Add xcb headers to linux platform, needed for vulkan 2017-07-11 11:47:24 -06:00
Doug Johnson be3615b15b Add missing include <vector> 2017-07-11 11:47:24 -06:00
Doug Johnson 91cfd7f784 Add missing include of <functional> 2017-07-11 11:47:24 -06:00
Doug Johnson f8093cb1e0 Add gtk and x11 headers to linux specific platform header 2017-07-11 11:47:24 -06:00
Doug Johnson 2dbdc24d52 Add LaunchBrowser implementation for linux 2017-07-11 11:47:24 -06:00
Doug Johnson 41dafa8860 Add stub exception handler backend for linux 2017-07-11 11:47:24 -06:00
Doug Johnson 48a2435bde Add header dependencies that prevented linux build
There were several files with dependancies on vector and cmath that
caused compiler errors under linux. In addition, there was a printf
formatting error that threw a compiler error as well
2017-07-11 11:47:24 -06:00
Doug Johnson 417eacb48c xenia: ui: Add GTK implemention of UI 2017-07-11 11:47:24 -06:00
Doug Johnson a9e5d7a496 Add GLX context for linux platform 2017-07-10 03:28:30 -06:00
Doug Johnson a63c9458cd Implement GL context for windows platform 2017-07-09 19:22:13 -06:00
Doug Johnson ce10d9bd02 Create GL context abstraction layer 2017-07-09 19:21:32 -06:00
Doug Johnson 69e818555d Filter resource file from non-windows platforms 2017-07-09 19:21:32 -06:00
Justin Moore 969b4df7dd Merge pull request #744 from drillsar/patch
32-bit value fix to the 64-bit type.
2017-07-05 20:43:39 -05:00
Dr. Chat 283b7bc1b4 GPU: Change ReadRegister/WriteRegister constants to be consistent with other numberings. 2017-07-04 20:47:22 -05:00
Parker Lamb aae82430f2 Emulator: Don't trigger on_launch() until the main thread is set. 2017-07-02 11:58:54 -05:00
Parker Lamb fc27b34304 UI: Prevent race condition during emulator startup. 2017-07-02 11:57:54 -05:00
drillsar 2d13fdd681 32-bit value fix to the 64-bit type. 2017-07-01 22:37:12 -04:00
Svyatoslav 2f1cf1452d xboxkrnl_threading.cc: PVS-Studio: fixed return value. 2017-06-27 12:16:29 +03:00
Justin Moore a2fb0a06fe Merge pull request #718 from parkerlamb/disasm_fixes
PPC disassembly fixes
2017-06-25 13:01:19 -05:00
Thomas Mccaffery fb51148b03 Added GPU Register Definition
Added 0x1924 = 0x6490 according to this referenced here https://www.x.org/docs/AMD/old/RRG-216M56-03oOEM.pdf as DC_LUT_PWL_DATA.
2017-06-12 02:48:51 -04:00
Parker Lamb 4b607a68ba PPC: Fix typo in instruction disassembly for mtspr. 2017-06-11 14:40:59 -05:00
Parker Lamb 3117d737ed PPC: Fixed padding for FormatDS instruction decode data. 2017-06-11 14:28:07 -05:00
Dr. Chat 9dc740dcc0 GraphicsSystem: Properly support register file reads/writes, and fill in some unknown registers 2017-06-11 13:00:31 -05:00
Dr. Chat 6ab4bac542 Xenos: Fill in some of the unknown primitive types. 2017-06-10 20:09:03 -05:00
IndieDriver 8e1c0201ad KeyEvent: Support modifiers / UI: Open file chooser on ctrl-O (#707)
* file chooser on ctrl-o

* typo fix
2017-06-07 13:25:38 -05:00
Parker Lamb 8ae737aaa5 Added GPU register definitions. 2017-06-06 21:45:41 -05:00
Dr. Chat e8f55d8ff2 PPC: Support FPSCR[RN] (rounding mode) 2017-05-20 12:15:19 -05:00
Dr. Chat 4e6a51472d Vulkan: Fix cube image initialization 2017-05-17 05:39:16 -05:00
Dr. Chat 4f0c0f2724 Shims: No implicit dereferencing of pointers 2017-05-17 04:45:31 -05:00
Dr. Chat e388b74dbe BaseHeap::Release: Disallow freeing of 0x0 2017-05-17 04:44:48 -05:00
Dr. Chat 7a3af9b2c4 PPC: Fix vsl[b/h/w] and vsr[b/h/w] with variable shift amounts. 2017-05-15 11:08:09 -05:00
gibbed 4260e3819b Added _snwprintf export implementation. 2017-05-14 18:03:53 -05:00
gibbed dab3a2e426 Don't use xe::to_wstring for converting arguments back to wide strings on Windows (xe::to_wstring assumes input is valid UTF-8, which the arguments are not). Fixes #703. 2017-05-14 16:29:45 -05:00
gibbed 1e9786eae3 Added two xam stubs. 2017-05-14 09:52:25 -05:00
Dr. Chat 6ea6b8b51d x64: Change binary strings to actual binary numbers. 2017-05-14 09:28:58 -05:00
gibbed e2434e50a0 Updated to latest Xbyak. 2017-05-14 02:03:01 -05:00
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
Dr. Chat e72e283e79 Primitive type makes rasterization state dirty too! 2016-03-23 16:20:06 -05:00
Dr. Chat 7b962e59a4 SPIR-V Dst
Fix a few bugs in the translator
2016-03-20 14:21:55 -05:00
Dr. Chat 38b94dd9e2 Add in Xenos events 2016-03-17 21:58:23 -05:00
Dr. Chat 2512a6360e Pass the physical frontbuffer address into the CP 2016-03-17 21:55:47 -05:00
Dr. Chat 0e3c113375 Physical write watches -> access watches (read and/or write watching) 2016-03-17 21:55:16 -05:00
Dr. Chat 1831e7a936 Pipeline stencil state 2016-03-16 14:45:40 -05:00
Dr. Chat 54f89825d9 SPIR-V Dp2Add/Dp3 2016-03-15 00:30:39 -05:00
Dr. Chat 245102e9e5 RenderCache::BlitToImage 2016-03-12 22:04:32 -06:00
Dr. Chat 822d61c3d9 Fix a few stale data usage bugs in the pipeline cache.
Hook up part of depth/stencil tests/writes
2016-03-12 22:03:11 -06:00
Dr. Chat 5ba04b9e55 RenderCache::ClearEDRAMColor/ClearEDRAMDepthStencil 2016-03-12 11:49:59 -06:00
Dr. Chat 635d095b87 RenderCache: Track color target / depth target usage, refactor RawCopyToImage 2016-03-10 20:39:46 -06:00
Dr. Chat f903a559b3 Blit Vulkan CP output to the main window's swap chain 2016-03-10 13:01:39 -06:00
Dr. Chat f839a1293f Add a specialized copy command buffer to the vulkan swap chain 2016-03-10 12:59:48 -06:00
sephiroth99 90b54bbaa6 Fix usage of mix in fragment shader
The boolean value must be a vector too, where each bool component
selects whether the value of the output vector component is from the
first or the second source vector.
2016-03-10 01:14:42 -05:00
Dr. Chat 86cb40f0c6 Change how the render cache renders into EDRAM.
Rendering directly into the EDRAM buffer is bad because we don't know how the GPU lays out memory when it draws. Instead, we create temporary render targets and copy EDRAM contents to/from those temporary RTs before and after each draw.
2016-03-08 18:02:03 -06:00
Dr. Chat 4e27539709 Fix Vulkan texture drawing. 2016-03-08 17:57:04 -06:00
Dr. Chat af7fc20c38 Beginnings of texture conversion/uploads 2016-03-05 22:09:18 -06:00
Dr. Chat 38094ac819 Updated local clang-format. 2016-03-02 21:17:34 -06:00
Dr. Chat 740c70f270 Scalar logc, fix log 2016-03-01 12:52:34 -06:00
Dr. Chat 48cf270724 Use spv::NoPrecision instead of DecorationInvariant
Set samplers/images as uniform constants
2016-02-27 16:21:37 -06:00
Dr. Chat c648e54539 Short-circuit draw calls if the render target's pitch is 0 2016-02-27 11:30:50 -06:00
Dr. Chat 6109e0b03a Fix incorrect images/samplers definitions
ps_param_gen and fix interpolators being copied incorrectly
2016-02-25 17:41:41 -06:00
Dr. Chat 08a287d2ad Whoops 2016-02-21 22:30:31 -06:00
Dr. Chat 06d5a28615 Fix texture fetches 2016-02-21 22:27:23 -06:00
Ben Vanik 5e31c51a3d Textures are now in descriptor set 1. 2016-02-21 20:03:51 -08:00
Ben Vanik 3b20c757ff Merge branch 'vulkan' of github.com:benvanik/xenia into vulkan 2016-02-21 19:56:30 -08:00
Ben Vanik 62931f8c8e Adding texture setup and a dummy grid texture. 2016-02-21 19:56:23 -08:00
Dr. Chat 8a29330f8c First-pass image sampling 2016-02-21 20:42:37 -06:00
Dr. Chat 2785a94fea SetpXXPush 2016-02-21 19:20:53 -06:00
Dr. Chat 9030c87386 SetpPop/SetpRstr 2016-02-21 19:20:53 -06:00
Dr. Chat 5c2b5123ac Floors/Frcs/Truncs 2016-02-21 19:20:53 -06:00
Dr. Chat 0680e451bc Exp2 2016-02-21 19:20:53 -06:00
Dr. Chat cbac9b2f4e Use vec4 zero rather than float zero where needed 2016-02-21 19:20:53 -06:00
Dr. Chat 13049912ee Vec Log 2016-02-21 19:20:53 -06:00
Dr. Chat 1d4190af02 MaxA 2016-02-21 19:20:53 -06:00
Dr. Chat 568845e81d Dp4 2016-02-21 19:20:53 -06:00
Dr. Chat 3877afe90a MaxAsf 2016-02-21 19:20:53 -06:00
Dr. Chat d217f7b3c3 MaxAs/SetpClr 2016-02-21 19:20:53 -06:00
Dr. Chat fa3ca4a5d7 Short-circuit if the store has no writes. 2016-02-21 19:20:53 -06:00
Dr. Chat d2e3b5533d Whoops 2016-02-21 19:20:53 -06:00
Dr. Chat 9b805b929e Scalar kill ops 2016-02-21 19:20:53 -06:00
Dr. Chat e78537571f Vector kill ops 2016-02-21 19:20:53 -06:00
Dr. Chat 633746b5e4 Actually preserve pv/ps if predicate fails 2016-02-21 19:20:53 -06:00
Ben Vanik cda08ff826 Setup descriptor set for textures. 2016-02-21 17:17:57 -08:00
Ben Vanik 1def5bece9 Fix viewport inversion. 2016-02-21 15:59:35 -08:00
Ben Vanik ace895d4f3 Fixing 1/w0 correction. 2016-02-21 15:44:09 -08:00
Ben Vanik 24743bf676 Actually configure constant descriptor set. 2016-02-21 15:20:35 -08:00
Ben Vanik d57f974e2e Fix buffer alloc alignment and framebuffer comparison. 2016-02-21 14:43:59 -08:00
Ben Vanik 06ba273492 Warn and be ok with symbol services failing. 2016-02-21 14:26:16 -08:00
Ben Vanik 8bf5eba098 Capture exe with renderdoc and pass --vulkan_renderdoc_capture_all. 2016-02-21 12:44:16 -08:00
Dr. Chat b83b9c28a1 Fix push constants declaration 2016-02-21 13:19:08 -06:00
Dr. Chat a7880645be Merge branch 'vulkan' of github.com:benvanik/xenia into spv_translator 2016-02-21 12:47:02 -06:00
Dr. Chat bd0fb81b22 Apply window scaling 2016-02-21 12:46:54 -06:00
Ben Vanik 32c4f3ce24 Fixing pool shutdown. 2016-02-21 10:46:47 -08:00
Ben Vanik b3faba50a3 Pushing constants. 2016-02-21 10:38:58 -08:00
Dr. Chat 71440a4137 Add code to correct vertex format
Move translated shader code to its own function
Add push constants
2016-02-21 12:06:59 -06:00
Dr. Chat b1e56ee4e5 Vector Cndxx 2016-02-20 23:45:01 -06:00
Ben Vanik ff373a83a4 Private->Function variables, fragment output, geometry shader tweaks. 2016-02-20 20:44:11 -08:00
Dr. Chat 2629ae4a14 Fix using incorrect result types for compares 2016-02-20 21:55:32 -06:00
Dr. Chat ca01bb2311 ALU predicated discard 2016-02-20 21:53:22 -06:00
Dr. Chat 08a173e5ec Scalar Sxxx 2016-02-20 21:28:25 -06:00
Ben Vanik 6d65439efe Merge branch 'vulkan' of github.com:benvanik/xenia into vulkan 2016-02-20 19:19:41 -08:00
Ben Vanik cd02cdfc70 Making memory API less error prone; fixes buffer/constant uploads. 2016-02-20 19:19:29 -08:00
Dr. Chat 3130d4b38e Add the vulkan backend as a choice in xenia-app 2016-02-20 21:02:28 -06:00
Dr. Chat 8777d22b72 Add name information to constants
Fix Rcp/Rsq OpSelect incorrect usage
2016-02-20 19:31:28 -06:00
Ben Vanik 1d82d7bd92 For now, all 512 constants live in the same block. 2016-02-20 17:05:53 -08:00
Dr. Chat 4aff1c19a7 (WIP) SPIR-V Shader Translator 2016-02-20 18:44:37 -06:00
Ben Vanik b5a0c4715b Porting GL4 geometry shaders. Likely not working. 2016-02-20 16:35:21 -08:00
Ben Vanik 769c58a9b2 Adding `xb genspirv` to do glsl->.h. 2016-02-20 16:24:42 -08:00
Ben Vanik 5759f82276 Adding pipeline caching. 2016-02-20 15:00:11 -08:00
Ben Vanik 731ff52773 Implementing a lot of the pipeline state setting. 2016-02-20 12:59:18 -08:00
Ben Vanik 97174dbe4d Skeleton leaky hacky hardcoded pipeline setup. 2016-02-19 23:23:58 -08:00
Ben Vanik 990b600f53 Buffer uploads (without reclaiming, yet). 2016-02-19 21:08:50 -08:00
Ben Vanik de1e4661ff Not crashing (but also likely not working) EDRAM emulation. 2016-02-19 20:36:10 -08:00
Ben Vanik 8820c73532 A night's worth of work: documented EDRAM. Seems mostly right. 2016-02-19 10:38:11 -08:00
Ben Vanik 1dcc84a472 Starting render passes. 2016-02-18 18:18:31 -08:00
Ben Vanik 52a6f795f7 Shader modules and plumbing. 2016-02-18 18:18:31 -08:00
Dr. Chat f9ca0b86a8 Query to see if the physical device supports a swapchain surface to silence a validation layer error. 2016-02-18 20:10:14 -06:00
Ben Vanik 3bf1c91eaa Those are really pointers - need those bits. 2016-02-18 16:52:52 -08:00
Ben Vanik 4c4a641096 WIP rough sketch of vulkan backend structure. 2016-02-18 16:43:41 -08:00
Ben Vanik 35e08d9428 Switching from fork to main glslang spirv builder. 2016-02-18 16:43:41 -08:00
Ben Vanik 00594da417 Adding mutliple queue/shared queue support. 2016-02-18 16:43:41 -08:00
Ben Vanik ecd257b34c Fix headers include guards. 2016-02-18 16:43:41 -08:00
Ben Vanik 618ca80011 Count packed bytes used by a constant map. 2016-02-18 16:43:41 -08:00
Ben Vanik 5ab0af9e6d Implementing shader constant register map construction. 2016-02-18 16:43:41 -08:00
Ben Vanik 05107d2d3e Skeleton xenia::gpu::vulkan implementation, enough to start trace viewer. 2016-02-18 16:43:41 -08:00
Ben Vanik ca5902c111 Recreate swap chain on window resize. 2016-02-18 16:43:41 -08:00
Ben Vanik a97fa36512 Fixing swap chain scissoring; surface is still not resized right. 2016-02-18 16:43:41 -08:00
Ben Vanik 9f52f2e819 Initial vulkan context and immediate drawer.
Extremely rough, just checking in so DrChat can snoop.
2016-02-18 16:43:41 -08:00
Dr. Chat 27bace0e5c Actually disable writewatch kill in ConvertTexture 2016-02-17 18:04:10 -06:00
Dr. Chat b14c4ad681 Disable write watch kill in ConvertTexture 2016-02-17 17:57:56 -06:00
Dr. Chat 8bf1bf57fd Fix GL4 alpha test, use blend disable flag
If color clear is enabled, grab the color target no matter what.
Update texture readback code on copy (but not enabled)
Track PA_SC_VIZ_QUERY in UpdateRasterizerState
2016-02-17 17:56:28 -06:00
Ben Vanik f5eef128f8 Merge pull request #539 from DrChat/vizquery_wip
Viz Query WIP Notes
2016-02-16 17:21:39 -08:00
Ben Vanik 864b1b5fac Merge pull request #538 from DrChat/trace_viewer_misc
Trace Viewer Zoomed View / Fix Alpha Test
2016-02-16 17:19:26 -08:00
Dr. Chat a2dd1c48ae Add some WIP viz query notes to the command processor.
Also implement PM4_SET_BIN_MASK/SELECT.
2016-02-16 18:36:43 -06:00
Dr. Chat 253e164753 Move EnableDepthTest functionality into a bool alpha_blend var on ImmediateDraw. 2016-02-16 18:24:37 -06:00
Ben Vanik c667dfc596 Don't put kernel stacks in GPU memory. 2016-02-16 15:05:11 -08:00
Dr. Chat e77af94c7c Ignore color target / depth target / texture alpha in the trace viewer. 2016-02-16 16:45:49 -06:00
Dr. Chat a8dfd6a21a Add a flag to ImTextureID that disables alpha test 2016-02-16 16:43:12 -06:00
Dr. Chat 65d1ea0250 Add a zoomed image view for color targets and depth targets. 2016-02-16 16:41:20 -06:00
Ben Vanik c5de61860d Merge pull request #531 from DrChat/gl4_shader_cache
GL4 Shader Cache
2016-02-16 07:20:33 -08:00
Ben Vanik f16a288f30 Merge pull request #532 from DrChat/profiler_flip_decouple
Decouple MicroProfilerFlip from Profiler::Present
2016-02-16 07:19:20 -08:00
Ben Vanik cc00b2d7a5 Merge pull request #533 from sephiroth99/noamd
More shader changes
2016-02-16 07:18:55 -08:00
sephiroth99 a442bb50b4 Prevent undefined behaviour with thread_safe_gl enabled.
CreateOffscreenContext already calls ClearCurrent. When it is done twice,
the global GL mutex is unlocked a second time, and undefined behavour
happens. In this particular case, a deadlock occured; unlocking the already
unlocked mutex locked it.
2016-02-11 23:50:11 -05:00
sephiroth99 205f64eb8b Fix compilation with VS2015 Update 2 CTP 2016-02-11 23:47:11 -05:00
sephiroth99 00674736fe Fix minor syntax error in shaders.
Discovered with glslangValidator.
2016-02-08 20:42:09 -05:00
sephiroth99 1520869a82 Revert "AMD people: have at it. I ain't gonna guarantee it'll work, though."
This reverts commit 8c0614b202.

Recent changes to generated shaders require GLSL 4.50.
2016-02-08 20:40:52 -05:00
Dr. Chat 4335e41c14 Decouple MicroProfileFlip from Profiler::Present (and start a new frame in XE_SWAP) 2016-02-07 19:25:30 -06:00
Dr. Chat a64e53fba6 Fix include order. 2016-02-05 16:31:01 -06:00
Dr. Chat 6cb7f0c23d GL4CommandProcessor: Use the new GL4ShaderCache 2016-02-05 16:14:35 -06:00
Dr. Chat 406ec8c6da GL4ShaderCache util class - caching to filesystem disabled by default 2016-02-05 16:11:00 -06:00
Dr. Chat e9dd0ce9de GL4Shader load from binary support 2016-02-05 16:02:14 -06:00
Dr. Chat 1066362ada ShaderTranslator::GatherAllBindingInformation 2016-02-05 16:00:50 -06:00
Dr. Chat ccb6a9146c Expose microcode data hash in Shader
Return paths to files that were dumped from Dump
2016-02-05 15:59:07 -06:00
Dr. Chat f75a4cab0e Apply a few optimizations to generated GLSL shaders. 2016-01-30 19:39:47 -06:00
Ben Vanik 9a09a61874 Merge pull request #526 from DrChat/command_processor_rb
Command Processor RingBuffer Replacement
2016-01-30 11:07:27 -08:00
Dr. Chat bf2c3d34da Fix XMAInitializeContext is_stereo flag. 2016-01-30 13:04:52 -06:00
Dr. Chat 6ce28ffd8c Command Processor: Replace RingbufferReader with RingBuffer
Report any packet processing errors
PM4_MEM_WRITE
2016-01-24 22:54:26 -06:00
Dr. Chat 6a67632af1 Update RingBuffer - Add immediate read/write and some error checking asserts. 2016-01-24 22:39:05 -06:00
Dr. Chat 9b1e6d6cb3 Resolve a module name to its full path before comparing names. 2016-01-24 09:50:48 -06:00
Dr. Chat 8a89a93eab Fix improperly reading 2_10_10_10 bitfields (or so I hope)
Check at runtime if a vertex fetch index doesn't match gl_VertexID
Fix trying to instantiate a vec1
2016-01-22 18:49:17 -06:00
Dr. Chat b2d8837e52 Fix depth clear when not sourcing from a depth target. 2016-01-22 18:47:27 -06:00
Ben Vanik 6c6f7c6eca Merge pull request #522 from sephiroth99/lf3
Linux compilation/link and compatibility fixes
2016-01-20 19:41:40 -08:00
sephiroth99 a74c88851b Rework RtlTime with portable time conversion functions 2016-01-20 12:26:49 -05:00
sephiroth99 bf910c2d9a Add missing definitions for XAPC constants
Fixes linking errors for these symbols.
2016-01-20 11:26:35 -05:00
sephiroth99 f17b80c61e Use stdlib 'hardware_concurrency' to get logical processor count
This has the benifit of being multiplatform.
2016-01-20 11:04:28 -05:00
sephiroth99 5d9a4b6830 Handle all other cases in switch statements 2016-01-20 11:00:37 -05:00
sephiroth99 1c14964739 Add missing override on virtual function 2016-01-20 10:57:50 -05:00
sephiroth99 4c0f9e6342 Add missing includes 2016-01-20 10:36:01 -05:00
sephiroth99 d78317847d Fix link error when profiling is disabled
These four functions are needed by microprofile even when profiling
is disabled.
2016-01-20 09:35:27 -05:00
Dr. Chat 8710b105bf Draw smaller floating point formats in the trace viewer. 2016-01-19 21:18:48 -06:00
Dr. Chat 9ed0934123 Swap to modern OpenGL for TFB usage. 2016-01-19 18:31:36 -06:00
Dr. Chat 47f5896089 Add TFB support to the trace viewer 2016-01-18 22:22:15 -06:00
Dr. Chat a34e82c77f Disable GL cull on rectangle lists 2016-01-18 21:00:58 -06:00
Dr. Chat 3859b0a091 Add an option for the draw batcher to collect vertex shader output. Disabled by default. 2016-01-18 20:57:36 -06:00
Dr. Chat 55a8964428 Fix shaders reading 10_11_11 bitfields backwards. 2016-01-18 15:46:41 -06:00
Ben Vanik 2e5c64fb13 Prevent some divide by zeros in shaders. Thanks @vlj!
Fixes #518.
2016-01-18 11:51:18 -08:00
Ben Vanik 6777ce6668 Reconcile debugger and save state stuff into a single implementation.
Fixes #497 and fixes #496.
Still rough edges, but at least less duplication.
2016-01-18 11:48:21 -08:00
Dr. Chat 34e03294ef Fix vfetch_mini instructions using stale data when following a vfetch_full that doesn't fetch anything 2016-01-16 22:39:00 -06:00
Dr. Chat e8719dd949 Fix an overflow crash in DiscImageDevice::Verify 2016-01-14 15:18:41 -06:00
Ben Vanik 9473f20c7f Fixing travis lint diff. 2016-01-13 22:55:28 -08:00
Ben Vanik 2e826f9321 Supporting constants in Haswell codepaths for mul_add/sub. 2016-01-13 22:29:39 -08:00
Dr. Chat 0771eea0b3 Change comments to comply with local regulations. 2016-01-13 19:41:15 -06:00
Dr. Chat bd6bf16bd1 New flag: disable_global_lock - Disables global lock usage in guest code. 2016-01-13 19:40:00 -06:00
Dr. Chat a5b37dce1d Shaders: Emit an unimplemented warning for indexed vertex fetch instructions 2016-01-13 01:50:20 -06:00
Dr. Chat 14c5e48120 Enable speculative PACK_TYPE_FLOAT16_3 2016-01-13 01:48:18 -06:00
Dr. Chat 36372d1eae Enforce xex memory protections 2016-01-13 01:47:06 -06:00
Dr. Chat f0802d75fa Use atomic compare exchange in stdcx/stwcx (still under the global lock) 2016-01-13 01:45:31 -06:00
Dr. Chat 51dde62f09 x64 backend vector optimizations 2016-01-13 01:43:23 -06:00
Dr. Chat 7b6f1388d6 OPCODE_ATOMIC_COMPARE_EXCHANGE 2016-01-13 01:41:58 -06:00
Dr. Chat 3ccb2a978d Propagate vector constants. 2016-01-13 01:40:44 -06:00
Dr. Chat 4b7a403337 xe::be<uint64_t> visualizers 2016-01-13 01:30:46 -06:00
Dr. Chat 6d2f083b09 Up the maximum function count to 50,000 2016-01-13 01:30:15 -06:00
Dr. Chat 0cf6e166a1 vec128 bitwise operators 2016-01-13 01:29:47 -06:00
Ben Vanik 9c93fa5187 Cleaning up xdbf stuff.
- moving next to xex utils
- fixing error cases around icon setting (and allowing reset)
- making C++11
- abstracting a bit so future additions will be easier
- fixing non-xex uses
2016-01-10 11:04:55 -08:00
Ben Vanik 86b706d87c Merge pull request #509 from x1nixmzeng/xex-resources
Rebrand the Xenia window with module metadata
2016-01-10 08:55:47 -08:00
x1nixmzeng 3eb602c93a Assert library name index is in range of the string table
As suggested by @DrChat
2016-01-09 17:55:57 +00:00
x1nixmzeng 6530b9dc49 Added callback when new module is launched
This avoids having to guess the display window title format
Also manually fixed the linting errors picked out by travis which do not
get picked up using xb format locally
2016-01-09 17:36:46 +00:00
x1nixmzeng 06f259c87d Mask the name index instead
The maximum number of import libraries (32) is already asserted
2016-01-09 02:43:29 +00:00
x1nixmzeng 7e4fdf7669 Fixed rare crash when accessing library import by name
The library name index may only be 8-bits.

This bug was not present in the previous implementation due to a bitmask
(0xFF) - see
ea99ba8e3b/src/xenia/kernel/util/xex2.cc (L272)
2016-01-09 01:19:05 +00:00
x1nixmzeng 5fa9499a12 Community feedback
Updated naming convention
Exposed the game name to Emulator for other uses
Fixed bug with XDBF parsing
2016-01-08 22:55:37 +00:00
x1nixmzeng e4cef38d95 Formatting of changes
As per the style guide
2016-01-07 20:51:28 +00:00
x1nixmzeng effe241a11 Removed stb_image dependency
Windows actually supports PNG resources
2016-01-07 20:38:27 +00:00
x1nixmzeng 92c8409b0a Set the window icon from the module resource pool
Makes use of the stb_image library
Conversion to HICON seems to have broken somewhere
2016-01-07 01:32:56 +00:00
x1nixmzeng 321e2d8873 Set the window title from the module resource pool 2016-01-07 00:58:05 +00:00
x1nixmzeng 729a1af0d5 Added XDBF utility library
Utility library to support the XDBF file format for XEX module resources
2016-01-07 00:51:27 +00:00
Ben Vanik 16c97189dd Splitting up debugger.h. 2016-01-01 15:52:43 -08:00
Ben Vanik 07ba1be7f5 Switching debugger to not retain XThreads. 2016-01-01 15:35:48 -08:00
Ben Vanik 1b487b67c9 Why travis doesn't have aligned_alloc but my other two unixes do, ?. 2016-01-01 13:08:15 -08:00
Ben Vanik 09aa3179fb Adding cstdlib to memory.h. 2016-01-01 20:59:52 +00:00
Ben Vanik c93b93fe55 Standardizing wchar->char in main(). 2016-01-01 12:46:26 -08:00
Ben Vanik c8b544ffd4 Fixing casts. This is why I need tests. 2016-01-01 12:45:06 -08:00
Ben Vanik 8770e6e6cf Adding yaml-cpp for #428, use rando fork until jbeder/yaml-cpp#342 lands. 2016-01-01 12:13:36 -08:00
Ben Vanik 207b835386 I have a dream that one day compilers will agree. 2016-01-01 19:19:18 +00:00
Ben Vanik 2f012fb56d Though I disagree with these lint fixes, I want travis to shut up. 2016-01-01 18:38:20 +00:00
Ben Vanik b02ca62388 Fixing most remaining C++ warnings in clang. 2016-01-01 18:37:33 +00:00
Ben Vanik e029c9abdc Cleaning up clang warnings in gpu/. 2016-01-01 16:04:47 +00:00
Ben Vanik 95d3a9c345 Minor clang warning fixes. 2016-01-01 06:01:22 +00:00
Ben Vanik c4ca7ad2ae Fixing builds when profiling is disabled. 2016-01-01 04:51:02 +00:00
Ben Vanik a95be25e2f Merge branch 'linuxfix' of https://github.com/sephiroth99/xenia into sephiroth99-linuxfix 2015-12-31 14:39:23 -08:00
Marc-Antoine Levasseur f1829a5784 Fix the StfsContainerEntry not being initialized in StfsContainerFile 2015-12-31 13:02:24 -05:00
Ben Vanik f26bea88d9 Replacing zlib with snappy in traces, adding trace header, docs. 2015-12-30 22:58:22 -08:00
Ben Vanik 952d35911c Folding build_tools back into the main repo for simplicity. 2015-12-30 16:53:14 -08:00
Ben Vanik 214532a3e8 Fiddling with FPSCR and such. Still not implemented, but wiring done. 2015-12-30 16:53:14 -08:00
Ben Vanik 0482ffad5a Allow XMA decoder to be suspended. 2015-12-30 16:53:13 -08:00
Ben Vanik c296d581cf Readback CA in XER. 2015-12-30 16:53:12 -08:00
sephiroth99 f5d4941716 shader_translator: Remove always true expression
vector_dest() returns an unsigned value, it will always be >= 0.
2015-12-30 18:43:24 -05:00
sephiroth99 f3fc50c8db shader: Fix print format for hash 2015-12-30 18:43:24 -05:00
Dr. Chat 2a590f31fe XFile: Track asynchronous/synchronous flag (and return appropriately in nt Read/Write file) 2015-12-30 17:36:05 -06:00
sephiroth99 962d8215da shader_translator: Handle all enum values in switch-cases 2015-12-30 17:42:18 -05:00
sephiroth99 ee8e6e8822 debug_window: Use function to store from '__m128' variable. 2015-12-30 17:42:18 -05:00
sephiroth99 b0bce0d9ab debug_window: Ignore other breakpoint types
In the breakpoints pane, add a default case for breakpoint types that
ignores the other possible types.
2015-12-30 17:42:18 -05:00
sephiroth99 6b31ddfb42 debug_window: Use correct format specifier for double value
Specifier 'LF' is 'long double'.
2015-12-30 17:42:18 -05:00
sephiroth99 fe30941c9b debug_window: Use a string literal as a format string
Fixes clang "format-security" error.
2015-12-30 17:42:18 -05:00
sephiroth99 235f58d757 Add missing include for std::find 2015-12-30 17:42:18 -05:00
sephiroth99 058ae01568 Add default case which ignores other mouse buttons 2015-12-30 17:42:18 -05:00
sephiroth99 9451c0b1cf Fix different types in std::min arguments 2015-12-30 17:42:18 -05:00
sephiroth99 3f49aa3cef Add default case for unhandled target_type values 2015-12-30 17:42:18 -05:00
sephiroth99 da71bc26a2 Use correct value in unhandled case assert 2015-12-30 17:42:18 -05:00
sephiroth99 16ade60d37 Pass a C string for logging argument 2015-12-30 17:42:18 -05:00
sephiroth99 d982b54bda byte_stream: Remove template specialization in class scope 2015-12-30 17:42:18 -05:00
sephiroth99 a743c12e72 byte_stream: add missing include for memcpy 2015-12-30 17:42:18 -05:00
sephiroth99 fa953fe758 bit_map: Add missing include for size_t definition 2015-12-30 17:42:18 -05:00
sephiroth99 fc04ca040f Fix building with profiling disabled 2015-12-30 17:42:18 -05:00
Ben Vanik cbc74c92f4 Fixing CR update for divwu/divdu/mulhwu. 2015-12-30 10:04:57 -08:00
Ben Vanik 69c7bac8db Fixing branch address calculation. 2015-12-30 09:47:24 -08:00
Ben Vanik 3c332ef1f5 Adding/removing saturate checks where required. 2015-12-30 09:31:03 -08:00
Ben Vanik 76ed07cfff Adding back FILE_FLAG_BACKUP_SEMANTICS. 2015-12-30 09:19:54 -08:00
Ben Vanik 74d71f7a4a Fixing the rlw* instructions. 2015-12-30 09:02:29 -08:00
Ben Vanik b09e32ec15 Adding tests for broken rlwnm and rliwnm. Not yet fixed. 2015-12-29 20:58:38 -08:00
Ben Vanik 321e2663ef Fixing mullw. 2015-12-29 20:42:20 -08:00
Ben Vanik 431088d35e Faster clearing of heaps to speed up tests. 2015-12-29 20:26:01 -08:00
Ben Vanik d7eff7c9e3 Marking some memory instructions as kM. 2015-12-29 17:53:49 -08:00
Ben Vanik 077f73449d More gracefully handle killed threads. Still needs some UI love. 2015-12-29 15:19:31 -08:00
Ben Vanik cc37fb1358 Updating to the latest capstone. Fixes #440. 2015-12-29 15:19:08 -08:00
Ben Vanik 3ca0bff246 Avoid duplicate object handle assignment on creation. 2015-12-29 14:03:23 -08:00
Ben Vanik 9c694f07b3 Better trap message. 2015-12-29 13:40:53 -08:00
Ben Vanik 948aa2400d Formatting all code. Too gnarly to rebase properly. 2015-12-29 13:13:34 -08:00
Dr. Chat 4e7dfa477b Assign XModule path on load rather than in the constructor 2015-12-29 13:10:03 -08:00
Dr. Chat c242a01043 Mark XThreads as running before calling Execute 2015-12-29 13:10:02 -08:00
Dr. Chat 6108ff1608 Use a 64-bit bitmap rather than a 32-bit bitmap. 2015-12-29 13:10:02 -08:00
Dr. Chat 764dcba75a Update TLS comments 2015-12-29 13:10:01 -08:00
Dr. Chat 5cb591b993 Compensate for static TLS when accessing dynamic TLS. 2015-12-29 13:10:01 -08:00
Dr. Chat bca5fb5382 XThread acquire mutants on restore 2015-12-29 13:10:00 -08:00
Dr. Chat 5c94062110 XFile setup async_event_ in the restore constructor 2015-12-29 13:10:00 -08:00
Dr. Chat fefc2036b3 Fix XSemaphores saving/restoring a bad counter 2015-12-29 13:09:59 -08:00
Dr. Chat d4da8cab4e BitMap: Change the size param to the number of entries (bits) 2015-12-29 13:09:59 -08:00
Dr. Chat eee0bb070c Store thread TLS in guest memory rather than using host APIs 2015-12-29 13:09:58 -08:00
Dr. Chat c5ac4185ac Threadsafe bitmap class 2015-12-29 13:09:58 -08:00
Dr. Chat bb5fd73b9e Register user-modules with the kernel in UserModule::Restore 2015-12-29 13:09:57 -08:00
Dr. Chat 2855036f72 Remove modules from the object table if they fail to load. 2015-12-29 13:09:57 -08:00
Dr. Chat 3e6c70defa Fixup UserModule::LoadFromFile to use new vfs API 2015-12-29 13:09:56 -08:00
Dr. Chat f4154810b6 XamModule::LoaderData::launch_data_present 2015-12-29 13:09:56 -08:00
Dr. Chat 08663fd745 Non-const ByteStream::data() 2015-12-29 13:09:55 -08:00
Dr. Chat 68f9949829 Make XObject::GetWaitHandle a protected function 2015-12-29 13:09:55 -08:00
Dr. Chat e619e4590c debugger: Don't feed the stack walker an XThread's wait handle 2015-12-29 13:09:54 -08:00
Dr. Chat 8f92c60a0b ObCreateSymbolicLink/ObDeleteSymbolicLink 2015-12-29 13:09:54 -08:00
Dr. Chat 9cf324f689 Fix VFS files not having correct paths recorded. 2015-12-29 13:09:53 -08:00
Dr. Chat ab9fac9a98 XMutant Save/Restore 2015-12-29 13:09:53 -08:00
Dr. Chat 5aff9d12ee Call XObject::WaitCallback on successful waits 2015-12-29 13:09:52 -08:00
Dr. Chat d0f547020a XamLoaderLaunchData: Fix incorrect return values when launch data is not present. 2015-12-29 13:09:52 -08:00
Dr. Chat b9159ddee8 X64CodeCache: Add a couple of overflow debug asserts 2015-12-29 13:09:52 -08:00
Dr. Chat f5237d486a KernelState::TerminateTitle - Release the global lock in smaller regions / No need for an argument specifying if called from guest 2015-12-29 13:09:51 -08:00
Dr. Chat 366f91e191 XFile Save/Restore 2015-12-29 13:09:51 -08:00
Ben Vanik 383a173a18 REBASE: fixing xthread instruction decoding. 2015-12-29 13:09:50 -08:00
Dr. Chat bcacb9b127 Remove vfs dependency on kernel, implement I/O completion ports 2015-12-29 13:09:50 -08:00
Dr. Chat a5c22ec214 XThread: Only need to retain a pointer to our object - not a handle. 2015-12-29 13:09:49 -08:00
Dr. Chat 621d3f8abb XThread free stack on destruction 2015-12-29 13:09:49 -08:00
Dr. Chat 07d31862f1 XThread: Special case save/restore for threads no longer running. 2015-12-29 13:09:48 -08:00
Dr. Chat b58e9afbf1 Fix XThread::StepIntoBranch not properly stepping into blr/bctr 2015-12-29 13:09:48 -08:00
Dr. Chat 44c9e8fe25 Save/Restore the guest clock in XThreads 2015-12-29 13:09:47 -08:00
Dr. Chat adec5602c2 XModule log on save/restore 2015-12-29 13:09:47 -08:00
Dr. Chat 6f4626118e Fix infinite loop in StepToSafePoint after stepping to an address once 2015-12-29 13:09:46 -08:00
Dr. Chat 4cbe219476 Don't update the dispatch header in KetSetEvent/KeResetEvent (threading issues) 2015-12-29 13:09:46 -08:00
Dr. Chat 5f79d8f97e Fix RingBuffer::EndRead not detecting a split read (where second length == 0) 2015-12-29 13:09:45 -08:00
Dr. Chat d0284e943d XSemaphore Save/Restore 2015-12-29 13:09:45 -08:00
Dr. Chat afb514528e Save/Restore XThreads before any other kernel objects 2015-12-29 13:09:44 -08:00
Dr. Chat b97a39150b Rewrite Rtl critical section implementation (and implement full waiters) 2015-12-29 13:09:44 -08:00
Dr. Chat 606aa9af6f XThread: Update the PC when we step out of an export! 2015-12-29 13:09:43 -08:00
Dr. Chat ee0a41aa2c Fix AudioSystem Restore and cleanup some code 2015-12-29 13:09:43 -08:00
Dr. Chat b94ab4acbc AudioSystem Save/Restore 2015-12-29 13:09:42 -08:00
Dr. Chat d2d97fe58f XThread - Fix unconditional conditional branch check 2015-12-29 13:09:42 -08:00
Dr. Chat 4eff2d8420 AudioSystem - switch to a free flag for free clients rather than a queue. 2015-12-29 13:09:41 -08:00
Dr. Chat 6997970d52 GraphicsSystem Save/Restore 2015-12-29 13:09:41 -08:00
Dr. Chat 9ed81b6876 Fix not assigning write access to WriteCombine pages on restore. 2015-12-29 13:09:40 -08:00
Dr. Chat 1442f50058 X64Backend: Take a reference of the pair rather than a copy (and formatting) 2015-12-29 13:09:40 -08:00
Dr. Chat 49ed0915d4 Add (temporary) shortcuts to save(F7)/restore(F8) to a file called "test.sav" 2015-12-29 13:09:39 -08:00
Dr. Chat 24f8295daa Make KernelState::TerminateTitle try to terminate XThreads safely. 2015-12-29 13:09:39 -08:00
Dr. Chat 3007a98d2d Install false-branch breakpoint only if the opcode is conditional. 2015-12-29 13:09:38 -08:00
Dr. Chat f9de61ceed XThread::StepToSafePoint - Handle cases where the thread hasn't started yet. 2015-12-29 13:09:37 -08:00
Dr. Chat 0f82e0d090 Make the processor automatically generate any ungenerated functions when installing a breakpoint. 2015-12-29 13:09:37 -08:00
Dr. Chat 5ef21d3714 memory: Write no access pages to the savefile. 2015-12-29 13:09:36 -08:00
Dr. Chat 20fb20d7f6 Hold the global lock while restoring from a file. 2015-12-29 13:09:36 -08:00
Dr. Chat a6322c7bf4 NativeList getters/setters 2015-12-29 13:09:36 -08:00
Dr. Chat 89c408965e Can't call constructors from other constructors 2015-12-29 13:09:35 -08:00
Dr. Chat ce2d6da2a1 Processor breakpoints: Change iterators to C++11 syntax where necessary 2015-12-29 13:09:35 -08:00
Dr. Chat 7d30e1297a NotifyListener Save/Restore 2015-12-29 13:09:34 -08:00
Dr. Chat 87931369e4 XObject no kernel state constructor 2015-12-29 13:09:34 -08:00
Dr. Chat b3ed0fa445 NativeList default constructor 2015-12-29 13:09:33 -08:00
Dr. Chat 23b6a1f943 Fix xam_net.cc 2015-12-29 13:09:33 -08:00
Dr. Chat 4a3773d2fb XModule Save/Restore 2015-12-29 13:09:32 -08:00
Dr. Chat 93602ed48a No need to double-retain Ke* objects, as having them in the object table is enough. 2015-12-29 13:09:32 -08:00
Dr. Chat a4865bd24a Retain objects when restored into the object table. 2015-12-29 13:09:31 -08:00
Dr. Chat c8a2298b9d Remove ~NotifyListener call to UnregisterNotifyListener (as it's impossible for this to occur) 2015-12-29 13:09:26 -08:00
Dr. Chat 290d5d9594 Fix incorrect double-retaining of objects on restore. 2015-12-29 13:09:24 -08:00
Dr. Chat 3678a22c90 Use TLS to store the current thread. 2015-12-29 13:09:24 -08:00
Dr. Chat 7e88e54cbe XObject::host_object -> XObject::is_host_object 2015-12-29 13:09:23 -08:00
Dr. Chat 1e36ea8b69 Use c_str() when passing a string to sprintf! 2015-12-29 13:09:23 -08:00
Dr. Chat c44742b0e3 XEvent write signaled state 2015-12-29 13:09:22 -08:00
Dr. Chat e54850e1f2 XThread::set_name - Use more efficient xe::format_string instead of a StringBuffer 2015-12-29 13:09:22 -08:00