Commit Graph

  • 40aa73f7d7 [Linux] Swap read/write in x64 page fault handler + exception code cleanup Triang3l 2022-07-04 23:51:26 +03:00
  • a9cbd9cc5f [Linux] Update RIP after handling an exception Triang3l 2022-07-04 23:24:26 +03:00
  • 54aac81268 [Linux] Implement exception handler uytvbn 2017-10-24 22:01:35 +02:00
  • 35d4ea59c6 [Base] Remove exception_handler_linux.cc Triang3l 2022-07-04 23:02:11 +03:00
  • feaad639fb [Vulkan] Destroy all RTs before VulkanRenderTargetCache is destroyed Triang3l 2022-07-04 11:27:51 +03:00
  • 6e753c6399 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental Gliniak 2022-07-04 08:04:31 +02:00
  • 2621dabf0f [Vulkan] Native 24-bit unorm depth where available Triang3l 2022-07-03 21:21:17 +03:00
  • 83e9984539 [Vulkan] Remove required feature checks Triang3l 2022-07-03 20:54:34 +03:00
  • bbae909fd7 [GPU] Reasons to keep non-Vulkan backends [ci skip] Triang3l 2022-07-03 20:39:44 +03:00
  • ed61e15fc3 [App] Make D3D12 the default GPU backend on Windows again Triang3l 2022-07-03 19:49:11 +03:00
  • ee84f4e267 [Vulkan] Update title bar warning Triang3l 2022-07-03 19:45:48 +03:00
  • f7ef051025 [Vulkan] Disable validation by default Triang3l 2022-07-03 19:42:22 +03:00
  • 001f64852c [Vulkan] VMA for textures Triang3l 2022-07-03 19:40:48 +03:00
  • a8df744ea6 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental Gliniak 2022-07-03 13:07:15 +02:00
  • 636585e0aa [Vulkan] Trace viewer Triang3l 2022-07-01 19:53:41 +03:00
  • ad1ef84145 Merge branch 'master' into vulkan Triang3l 2022-07-01 19:53:08 +03:00
  • e37e3ef382 [GPU] Display swap output in the trace viewer Triang3l 2022-07-01 19:50:19 +03:00
  • c8a4a9504f [Vulkan] Remove an unneeded scale from RefreshGuestOutput aspect ratio Triang3l 2022-07-01 12:52:12 +03:00
  • d174762a40 Merge branch 'master' into vulkan Triang3l 2022-07-01 12:51:34 +03:00
  • 28670d8ec2 [UI] Presenter: Rename display size to aspect ratio Triang3l 2022-07-01 12:50:45 +03:00
  • f8b351138e [Vulkan] Alpha test Triang3l 2022-06-30 22:20:51 +03:00
  • 6772c88141 Merge branch 'master' into vulkan Triang3l 2022-06-30 22:15:29 +03:00
  • 7e691d5ef1 [DXBC] Handle NaN in not equal alpha test as passed Triang3l 2022-06-30 22:15:01 +03:00
  • c0c3666e12 [Vulkan] Align texture extents in loading to vector size accessed by the shader Triang3l 2022-06-29 23:41:32 +03:00
  • 9392fff369 Merge branch 'master' into vulkan Triang3l 2022-06-29 23:39:54 +03:00
  • a11b070fee [GPU] Align texture extents in loading to host buffer texel size accessed by the shader Triang3l 2022-06-29 23:38:06 +03:00
  • 7c2df55209 [Vulkan] Cache clear: shared memory, scratch buffer Triang3l 2022-06-29 13:24:45 +03:00
  • d5815d9e6a [Vulkan] Float24 depth range remapping fixes Triang3l 2022-06-29 13:14:00 +03:00
  • efe3cd96d6 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental Gliniak 2022-06-29 09:21:09 +02:00
  • 05ef7a273a [Vulkan] Samplers (only 1.0 core features for now) Triang3l 2022-06-28 22:42:18 +03:00
  • 5d9061cf99 Merge branch 'master' into vulkan Triang3l 2022-06-28 22:05:45 +03:00
  • 243683d2e9 [GPU] Cleanup Texture::MarkAsUsed conditionals Triang3l 2022-06-28 22:04:26 +03:00
  • 382710bab7 [GPU] Normalize sampler clamp modes Triang3l 2022-06-28 21:58:58 +03:00
  • cedc94679b [GPU] Don't drop the rest of the command list if IssueDraw fails Triang3l 2022-06-28 21:40:06 +03:00
  • 18e2103fee Merge pull request #48 from chrisps/canary_experimental Radosław Gliński 2022-06-28 08:42:04 +02:00
  • 3c06921cd4 Added optimizations for combining conditions together when their results are OR'ed Added recognition of impossible comparisons via NZM and optimize them away Recognize (x + -y) and transform to (x - y) for constants Recognize (~x ) + 1 and transform to -x Check and transform comparisons if theyre semantically equal to others Detect comparisons of single-bit values with their only possible non-zero value and transform to true/false tests Transform ==0 to IS_FALSE, !=0 to IS_TRUE Truncate to int8 if operand for IS_TRUE/IS_FALSE has a nzm of 1 Reduced code generated for SubDidCarry slightly Add special case for InstrEmit_srawix if mask == 1 Cut down the code generated for trap instructions, instead of naive or'ing or compare results do a switch and select the best condition Rerun simplification pass until no changes, as some optimizations will enable others to be done Enable rel32 call optimization by default chss95cs@gmail.com 2022-06-26 12:49:04 -07:00
  • e6898fda66 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental Gliniak 2022-06-26 20:11:33 +02:00
  • f8f6a20569 Merge pull request #47 from chrisps/canary_experimental Radosław Gliński 2022-06-26 19:52:17 +02:00
  • 08232de8cc patch a mistake in NZM calculation for OPCODE_NOT chrisps 2022-06-26 09:30:56 -07:00
  • 9672230d9f Merge branch 'master' into vulkan Triang3l 2022-06-26 18:59:49 +03:00
  • ec008463b6 [GPU] CrYCb/YCrCb border colors Triang3l 2022-06-26 18:56:50 +03:00
  • 2606fa5709 [GPU] Apply BaseMap MipFilter via samplers as it may be overridden Triang3l 2022-06-26 18:36:26 +03:00
  • e191430091 Merge branch 'master' into vulkan Triang3l 2022-06-26 16:58:27 +03:00
  • 086a070fa9 [GPU] Explicitly cast bit field values in std::min/max Triang3l 2022-06-26 16:54:11 +03:00
  • e0b890fe5c [DXBC] Remove alphatest/A2C with [earlydepthstencil] Triang3l 2022-06-26 15:31:08 +03:00
  • 6688b13773 [Vulkan] PsParamGen Triang3l 2022-06-26 15:01:27 +03:00
  • a99a1be880 Merge branch 'master' into vulkan Triang3l 2022-06-26 15:00:21 +03:00
  • b787f2dec1 [GPU] GPR count limit is 128, not 64 Triang3l 2022-06-26 14:45:49 +03:00
  • a5c8df7a37 [Vulkan] Remove UB-based independent blend logic Triang3l 2022-06-25 20:57:44 +03:00
  • d8b2944caa [Vulkan] Handle unsupported fillModeNonSolid + fix portability subset feature checks Triang3l 2022-06-25 20:46:52 +03:00
  • d30d59883a [Vulkan] Color exponent bias and gamma conversion Triang3l 2022-06-25 20:35:13 +03:00
  • b1be33004a Merge branch 'master' into vulkan Triang3l 2022-06-25 20:31:26 +03:00
  • 4812b4ba8b [D3D12] Fix outdated color system constants comment [ci skip] Triang3l 2022-06-25 20:31:05 +03:00
  • 327cc9eff5 drastically reduce size of final generated code for rlwinm by adding special paths for rotations of 0, masks that discard the rotated bits and using And w/ UINT_MAX instead of truncate/zero extend Add special case to TYPE_INT64's EmitAnd for UINT_MAX mask. Do mov32 to 32 if detected to take advantage of implicit zero xt/reg renaming chss95cs@gmail.com 2022-06-25 09:58:13 -07:00
  • 5dca11a892 [SPIR-V] Fix fetch constant LOD bias signedness Triang3l 2022-06-25 16:33:18 +03:00
  • d8b0227cbd [SPIR-V] Fix cubemap X axis Triang3l 2022-06-25 16:25:29 +03:00
  • fdcbf67623 [Vulkan] Enable VK_KHR_sampler_ycbcr_conversion Triang3l 2022-06-25 15:46:02 +03:00
  • 758db4ccb3 [Vulkan] Fix textures not loaded if using a shader for the first time Triang3l 2022-06-25 15:15:06 +03:00
  • 4db445c6f9 Merge branch 'master' into vulkan Triang3l 2022-06-25 15:13:41 +03:00
  • aa45d7b47d [D3D12] More descriptive pipeline creation call comment [ci skip] Triang3l 2022-06-25 15:13:11 +03:00
  • c37c05d189 [Vulkan] Remove an outdated fullscreen shader comment [ci skip] Triang3l 2022-06-25 14:35:15 +03:00
  • 4b4205ba00 [Vulkan] Frontbuffer presentation Triang3l 2022-06-25 14:33:43 +03:00
  • 3fc7d8753c Merge branch 'master' into vulkan Triang3l 2022-06-24 23:38:04 +03:00
  • f4a634c617 [XeSL] xesl_write*Store > xesl_*Store Triang3l 2022-06-24 23:37:29 +03:00
  • 7a4732e14f [GPU] XeSL swap shaders Triang3l 2022-06-24 23:24:30 +03:00
  • 2b3686f0e9 [XAM] Set profile setting 'from' entry accordingly to setting existence Gliniak 2022-06-24 10:10:52 +02:00
  • b7737d70ca [D3D12] Update RequestSwapTexture resource state comment [ci skip] Triang3l 2022-06-23 22:59:53 +03:00
  • ce3b159683 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental Gliniak 2022-06-22 21:05:45 +02:00
  • 227d495738 Merge branch 'master' into vulkan Triang3l 2022-06-22 21:19:29 +03:00
  • e9f129f67f [GPU] Safer and more correct depth bias conversion Triang3l 2022-06-22 21:14:40 +03:00
  • a7885ae1a4 [GPU] Fix CPU-side float24 conversion broken recently Triang3l 2022-06-22 20:47:44 +03:00
  • 4514050f55 [Vulkan] Truncate depth to float24 in EDRAM range ownership transfers and resolves by default Triang3l 2022-06-22 13:25:06 +03:00
  • e7a122d943 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental Gliniak 2022-06-22 12:18:13 +02:00
  • 0d8bd0e0c6 Merge branch 'master' into vulkan Triang3l 2022-06-22 13:15:50 +03:00
  • cbf0476d42 [D3D12] Don't round float24 depth when it's known to be exact Triang3l 2022-06-22 13:14:38 +03:00
  • 83269315d8 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental Gliniak 2022-06-22 12:06:42 +02:00
  • 7869b080d3 [D3D12] Truncate depth to float24 in EDRAM range ownership transfers and resolves by default Triang3l 2022-06-22 12:53:09 +03:00
  • 87fd772393 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental Gliniak 2022-06-21 07:54:44 +02:00
  • 9a72d6ab05 Merge pull request #46 from chrisps/canary_experimental Radosław Gliński 2022-06-21 00:35:40 +02:00
  • 549ee28a93 ome guest function calls can now be resolved and embedded directly in the emitted asm as rel32 calls. Disabled by default, enabled via resolve_rel32_guest_calls detect whether cpu has fast jrcxz, fast loop/loope/loopne much more thorough LoadConstantXMM New cvar elide_e0_check that allows the backend to assume accesses via the SP or TLS register will not cross into 0xe0 range Add x64 codegen for Vector shift uint8 If has fast jrcxz use for some traptrue/breaktrue instructions Use phat nops Add cvar use_fast_dot_product, which uses a four instruction sequence for both dot product instructions which ought to be equivalent. disabled by default. chss95cs@gmail.com 2022-06-20 15:08:18 -07:00
  • c0703e64db Merge branch 'master' into vulkan Triang3l 2022-06-20 22:40:19 +03:00
  • e2f632f8fa [D3D12] Use udiv by constant tile size + minor transfer cleanup Triang3l 2022-06-20 22:39:30 +03:00
  • 0dc480721f [Vulkan] Render target resolving Triang3l 2022-06-20 22:29:07 +03:00
  • c6ec6d8239 [Vulkan] Use UDiv/UMod by constant tile size + minor transfer cleanup Triang3l 2022-06-20 22:24:07 +03:00
  • a4ff64c465 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental Gliniak 2022-06-20 21:07:32 +02:00
  • 61c4c49d76 Merge branch 'master' into vulkan Triang3l 2022-06-20 12:34:41 +03:00
  • 207e11c8d2 [GPU] Separate range arguments for fixed16 RG and RGBA in GetResolveInfo Triang3l 2022-06-20 12:29:45 +03:00
  • 3b4845511d [Vulkan] Don't require an explicit uint64_t cast for SetDeviceObjectName Triang3l 2022-06-20 12:25:52 +03:00
  • 67ff108f53 [Vulkan] Explain why CreateShaderModule takes uint32_t* [ci skip] Triang3l 2022-06-20 12:22:41 +03:00
  • b61953374e [GPU] Make resolve EDRAM binding DS 0 and rename it Triang3l 2022-06-20 12:15:52 +03:00
  • 1200b205cf Merge branch 'master' into vulkan Triang3l 2022-06-19 17:52:28 +03:00
  • 9b83d3d0f4 [GPU] XeSL resolve shaders + host depth store width fix Triang3l 2022-06-19 17:50:21 +03:00
  • 1e369afa3d [Memory] Allocate system heap memory from bottom of heap last quarter Gliniak 2022-06-17 22:23:39 +02:00
  • 0b183a3582 Merge branch 'chris_cpu_changes' of https://github.com/Gliniak/xenia.git into canary_experimental Gliniak 2022-06-17 14:04:58 +02:00
  • e4fd015886 Juicy optimization goodness chrisps 2022-06-17 14:01:17 +02:00
  • 8a8ff6ae46 Reuse flag results in OPCODE_BRANCH_TRUE codegen if the preceding instruction was a comparison that already set the cpu flags chss95cs@gmail.com 2019-08-03 13:44:16 -07:00
  • 3675b3860a Add constant folding for OPCODE_ROTATE_LEFT chss95cs@gmail.com 2019-08-03 13:26:54 -07:00
  • 3ad80810b5 Optimized CONVERT_I64_TO_F64 with neat overflow trick chrisps 2020-01-15 15:57:09 -08:00
  • 9dfbef8acf Smaller ComputeMemoryAddress/Offset sequence chrisps 2020-01-17 07:28:36 -08:00
  • c0483f8bee Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental Gliniak 2022-06-17 10:58:15 +02:00