Commit Graph

3516 Commits

Author SHA1 Message Date
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