VolcaEM
23d57ed4f7
Clang-format
2020-06-21 06:17:46 +02:00
VolcaEM
d11b04ed46
Remove unnecessary conversion
2020-06-21 06:16:03 +02:00
VolcaEM
606e833d26
Address review comment by Lioncash
...
Co-authored-by: LC <mathew1800@gmail.com>
2020-06-21 06:12:23 +02:00
VolcaEM
b81af6ae9b
Add a "Open Mods Page" button to the GUI
2020-06-21 06:09:28 +02:00
Morph
f77c897b8d
gl_shader_decompiler: Enable GL_EXT_texture_shadow_lod if available
...
Enable GL_EXT_texture_shadow_lod if available. If this extension is not available, such as on Intel/AMD proprietary drivers, use textureGrad as a workaround.
2020-06-20 23:02:29 -04:00
Morph
1e65da971b
gl_device: Check for GL_EXT_texture_shadow_lod
2020-06-20 22:14:32 -04:00
bunnei
f98bf1025f
Merge pull request #4120 from lioncash/arb
...
gl_arb_decompiler: Avoid several string copies
2020-06-20 22:11:49 -04:00
FearlessTobi
a8674a7b86
Fix: fatal error CVT1100 when compiling manifest file
...
Occurs when doing a local compile in MSVC build. The compiler I'm using is as below:
Microsoft Visual Studio Community 2019 Preview
Version 16.6.0 Preview 5.0
Fixes this error:
CVTRES : fatal error CVT1100: duplicate resource. type:MANIFEST, name:1, language:0x0409
LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
I have put 0 since previous name was 1. If have other names in mind, please let me know.
Co-Authored-By: dragios <dragios@users.noreply.github.com>
2020-06-21 03:11:23 +02:00
MerryMage
c12eb814b4
macro_jit_x64: Use ecx for shift register
...
shl/shr only accept cl as their second argument
2020-06-20 22:24:05 +01:00
Lioncash
ef53b2fd08
texture_cache: Fix incorrect address used in a DeduceSurface() call
...
Previously the source was being deduced twice in a row.
2020-06-20 14:11:28 -04:00
merry
928e9c09aa
Merge pull request #4125 from lioncash/macro-shift
...
macro_jit_x64: Amend readability of Compile_ExtractShiftLeftRegister()
2020-06-20 16:08:23 +01:00
merry
2bd903e021
Merge pull request #4123 from lioncash/unused-var
...
macro_jit_x64: Remove unused variable
2020-06-20 16:07:58 +01:00
Lioncash
a5ed0c3df7
software_keyboard: Eliminate trivial redundant copies
...
We can just make use of moves here to get rid of two redundant copies
2020-06-20 01:06:10 -04:00
Morph
9bb5bf0b2b
main: Append AVX and FMA instructions to cpu string
...
Append AVX and FMA instructions to cpu string if the host cpu supports them
2020-06-20 00:31:37 -04:00
Morph
97ba520434
common/telemetry: Add AVX512 to telemetry
2020-06-20 00:31:37 -04:00
Morph
d6474b4aca
common/cpu_detect: Add AVX512 detection
2020-06-20 00:31:37 -04:00
Morph
480e1fa987
decode/image: Implement B10G11R11F
...
- Used by Kirby Star Allies
2020-06-20 00:28:30 -04:00
bunnei
7d1dca4c98
Merge pull request #4099 from MerryMage/macOS-build
...
Fix compilation on macOS
2020-06-19 23:31:04 -04:00
Lioncash
5865a10885
gl_arb_decompiler: Avoid several string copies
...
Variables that are marked as const cannot have the move constructor
invoked when returning from a function (the move constructor requires a
non-const variable so it can "steal" the resources from it.
2020-06-19 23:09:16 -04:00
Lioncash
a6e5b84d1f
vulkan/wrapper: Remove noexcept from GetSurfaceCapabilitiesKHR()
...
Check() can throw an exception if the Vulkan result isn't successful.
We remove the check so that std::terminate isn't outright called and
allows for better debugging (should it ever actually fail).
2020-06-19 23:01:59 -04:00
Lioncash
5a4e89b901
macro_jit_x64: Correct readability of Compile_ExtractShiftLeftImmediate()
...
Previously dst wasn't being used.
2020-06-19 22:57:23 -04:00
Lioncash
140f953b6a
macro_jit_x64: Correct readability of Compile_ExtractShiftLeftRegister()
...
Previously dst wasn't being used.
2020-06-19 22:56:55 -04:00
Lioncash
8ea749c1ca
macro_jit_x64: Remove unused variable
...
Removes a completely unused label and marks another variable as unused,
given it seems like it has potential uses in the future.
2020-06-19 22:10:45 -04:00
Lioncash
479605b3e5
memory_manager: Eliminate variable shadowing
...
Renames some variables to prevent ones in inner scopes from shadowing
outer-scoped variables.
The Copy* functions have no shadowing, but we rename them anyways to
remain consistent with the other functions.
2020-06-19 22:02:58 -04:00
bunnei
9c5ed4408d
Merge pull request #4113 from ogniK5377/boxcat-disable
...
Fix compilation when not building with boxcat
2020-06-19 21:59:59 -04:00
David Marcec
a7fe6dc232
Add translation of "Current Boxcat Events"
2020-06-20 11:57:51 +10:00
Lioncash
811bff009e
macro_jit_x64: Eliminate variable shadowing in Compile_ProcessResult()
...
We can reduce the capture scope so that it's not possible for both "reg"
variables to clash with one another.
While we're at it, we can prevent unnecessary copies while we're at it.
2020-06-19 21:57:44 -04:00
Lioncash
4514b80b3e
buffer_cache: Eliminate local variable shadowing
...
We can just make use of the instance in the scope above this one.
2020-06-19 21:55:02 -04:00
bunnei
7daea551c0
Merge pull request #4087 from MerryMage/macrojit-inline-Read
...
macro_jit_x64: Inline Engines::Maxwell3D::GetRegisterValue
2020-06-19 21:32:07 -04:00
MerryMage
c6a963c48e
input_common/motion_emu: Remove redundant move
...
Named return value optimization automatically applies here.
2020-06-19 14:29:59 +01:00
MerryMage
8272f53cf9
input_common/keyboard: Remove redundant move
...
Named return value optimization automatically applies here.
2020-06-19 14:29:36 +01:00
MerryMage
7236393114
mii_model: Remove redundant std::move
...
Named return value optimization automatically applies here.
2020-06-19 14:29:09 +01:00
David Marcec
c7ed7d9427
Fix compilation when not building with boxcat
...
Fixes compilation when trying to build without boxcat enabled
2020-06-19 22:17:56 +10:00
MerryMage
977ceb4056
macro_jit_x64: Remove unused function Read
2020-06-19 11:39:41 +01:00
bunnei
0f7822acb1
Merge pull request #4080 from ogniK5377/audren-RendererInfo
...
audren: Implement RendererInfo
2020-06-19 01:02:30 -04:00
bunnei
5a092fb61e
Merge pull request #4090 from MerryMage/macrojit-bugs
...
macro_jit_x64: Optimization correctness
2020-06-18 22:28:17 -04:00
Rodrigo Locatti
de644d506f
Merge pull request #4081 from Morph1984/maxwell-to-gl-vk
...
maxwell_to_gl/vk: Miscellaneous changes
2020-06-18 17:51:41 -03:00
ReinUsesLisp
7d763f060e
vk_update_descriptor: Upload descriptor sets data directly
...
Instead of copying to a temporary payload before sending the update task
to the worker thread, insert elements to the payload directly.
2020-06-18 17:47:19 -03:00
ReinUsesLisp
778043a44c
arm_dynarmic_32: Fix implicit conversion error in SetTPIDR_EL0
...
On MSVC builds we treat conversion warnings as errors.
2020-06-18 16:52:15 -03:00
MerryMage
778f86989a
bootmanager: Remove references to OpenGL for macOS
...
OpenGL macOS headers definitions clash heavily with each other
2020-06-18 15:47:44 +01:00
MerryMage
b19fe55f84
memory_manager: Explicitly specifcy std::min<size_t>
2020-06-18 15:47:44 +01:00
MerryMage
4f09f0aea4
shared_font: Service::NS::EncryptSharedFont takes a size_t&
2020-06-18 15:47:44 +01:00
MerryMage
69f38355ed
vk_rasterizer: BindTransformFeedbackBuffersEXT accepts a size of type VkDeviceSize
2020-06-18 15:47:44 +01:00
MerryMage
b1eada6079
renderer_vulkan: Fix macOS GetBundleDirectory reference
2020-06-18 15:47:44 +01:00
MerryMage
442e48ef4c
memory_util: boost hashes are size_t
...
* boost::hash_value returns a size_t
* boost::hash_combine takes a size_t& argument
2020-06-18 15:47:43 +01:00
MerryMage
8ae7154541
Rename PAGE_SHIFT to PAGE_BITS
...
macOS header files #define PAGE_SHIFT
2020-06-18 15:47:43 +01:00
Morph
2f420618ea
vk_sampler_cache: Emulate GL_LINEAR/NEAREST minification filters
...
Emulate GL_LINEAR/NEAREST minification filters using minLod = 0 and maxLod = 0.25 during sampler creation
2020-06-18 04:56:31 -04:00
Morph
be660e7749
maxwell_to_vk: Reorder filter cases and correct mipmap_filter=None
...
maxwell_to_vk: Reorder filtering modes to start with None, then Nearest, then Linear.
maxwell_to_vk: Logs filter modes under UNREACHABLE_MSG instead of UNIMPLEMENTED_MSG, since any unknown filter modes are invalid and not unimplemented.
maxwell_to_vk: Return VK_SAMPLER_MIPMAP_MODE_NEAREST instead of VK_SAMPLER_MIPMAP_MODE_LINEAR when mipmap_filter is None with the description from the VkSamplerCreateInfo(3) man page.
2020-06-18 04:56:31 -04:00
Morph
8868fb745f
maxwell_to_gl: Miscellaneous changes
...
maxwell_to_gl: Log unimplemented features under UNIMPLEMENTED_MSG instead of LOG_ERROR to bring into parity with maxwell_to_vk
maxwell_to_gl: Deduplicate logging in VertexType(), merging them into one.
maxwell_to_gl: Return GL_NEAREST instead of GL_LINEAR if an unknown texture filter mode is encountered.
maxwell_to_gl: Log the mipmap filter mode if an unknown value is passed in.
maxwell_to_gl: Reorder filtering modes to start with None, then Nearest, then Linear.
2020-06-18 04:56:31 -04:00
Rodrigo Locatti
edb2114bac
Merge pull request #4092 from Morph1984/image-bindings
...
gl_device: Reserve 4 image bindings for fragment stage
2020-06-18 04:59:48 -03:00
MerryMage
44f10d9b9f
macro_jit_x64: Inline Engines::Maxwell3D::GetRegisterValue
2020-06-17 17:17:08 +01:00
MerryMage
52bcfac116
arm_dynarmic_cp15: Implement CNTPCT
2020-06-17 17:10:24 +01:00
MerryMage
109df7705f
arm_dynarmic_cp15: Update CP15
2020-06-17 17:10:24 +01:00
MerryMage
32a127faaa
arm_dynarmic_32: InterpreterFallback should never happen
2020-06-17 17:10:24 +01:00
bunnei
a8ac99b619
Merge pull request #4086 from MerryMage/abi
...
xbyak_abi: Cleanup
2020-06-17 11:20:52 -04:00
MerryMage
c409722435
macro_jit_x64: Optimization implicitly assumes same destination
2020-06-17 10:36:36 +01:00
MerryMage
a6ddd7c382
macro_jit_x64: Should not skip zero registers for certain ALU ops
...
The code generated for these ALU ops assume src_a and src_b are always valid.
2020-06-17 10:36:34 +01:00
bunnei
b660ef6c8a
Merge pull request #4089 from MerryMage/macrojit-cleanup-1
...
macro_jit_x64: Cleanup
2020-06-16 23:44:48 -04:00
bunnei
798ec003ce
Merge pull request #4041 from ReinUsesLisp/arb-decomp
...
gl_arb_decompiler: Implement an assembly shader decompiler
2020-06-16 14:56:23 -04:00
bunnei
f22d02083c
Merge pull request #3966 from Morph1984/hide-internal-resolution-ui
...
yuzu/frontend: Remove internal resolution option
2020-06-16 14:12:17 -04:00
Morph
e2f5d16540
gl_device: Reserve at least 4 image bindings for fragment stage
...
Due to the limitation of GL_MAX_IMAGE_UNITS being low (8) on Intel's and Nvidia's proprietary drivers, we have to reserve an appropriate amount of image bindings for each of the stages. So far games have been observed to use 4 image bindings on the fragment stage (Kirby Star Allies) and 1 on the vertex stage (TWD series).
No games thus far in my limited testing used more than 4 images concurrently and across all currently active programs.
This fixes shader compilation errors on Kirby Star Allies on OpenGL (GLSL/GLASM)
2020-06-16 03:03:07 -04:00
Rodrigo Locatti
0bd9bc7201
Merge pull request #4066 from ReinUsesLisp/shared-ptr-buf
...
buffer_cache: Avoid passing references of shared pointers and misc style changes
2020-06-15 22:29:32 -03:00
MerryMage
cf0aad7d6a
macro_jit_x64: Remove NEXT_PARAMETER
...
Not required, as PARAMETERS can just be incremented directly.
2020-06-15 21:19:38 +01:00
MerryMage
1799f4e774
macro_jit_x64: Remove unused function Compile_WriteCarry
2020-06-15 21:19:38 +01:00
MerryMage
c09a9e5cc7
macro_jit_x64: Select better registers
...
All registers are now callee-save registers.
RBX and RBP selected for STATE and RESULT because these are most commonly accessed; this is to avoid the REX prefix.
RBP not used for STATE because there are some SIB restrictions, RBX emits smaller code.
2020-06-15 21:19:38 +01:00
MerryMage
79aa7b3ace
macro_jit_x64: Remove REGISTERS
...
Unnecessary since this is just an offset from STATE.
2020-06-15 21:00:59 +01:00
MerryMage
35db6e1c68
macro_jit_x64: Remove JITState::parameters
...
This can be passed in as an argument instead.
2020-06-15 20:55:02 +01:00
MerryMage
389549b80d
macro_jit_x64: Remove METHOD_ADDRESS_64
...
Unnecessary variable.
2020-06-15 20:51:33 +01:00
MerryMage
a6a43a5ae0
macro_jit_x64: Remove RESULT_64
...
This Reg64 codepath has the exact same behaviour as the Reg32 one.
2020-06-15 20:35:08 +01:00
MerryMage
7c6203dc5e
xbyak_abi: Prefer returning a struct to using out parameters in ABI_CalculateFrameSize
2020-06-15 19:07:11 +01:00
MerryMage
36362e9695
xbyak_abi: Register indexes should be unsigned
2020-06-15 19:07:11 +01:00
MerryMage
d563017dfe
xbyak_abi: Remove *GPS variants of stack manipulation functions
2020-06-15 18:59:54 +01:00
MerryMage
4417770ba9
xbyak_abi: Fix ABI_PushRegistersAndAdjustStack
...
Pushing GPRs twice.
2020-06-15 18:59:01 +01:00
ReinUsesLisp
6e5d8aac4d
video_core/macro_jit_x64: Remove initializer in member variable
...
Fix build time issues on gcc. Confirmed through asan that avoiding this
initialization is safe.
2020-06-15 05:17:55 -03:00
bunnei
55ebf68636
Merge pull request #4070 from ogniK5377/GetTPCMasks-fix
...
nvdrv: Fix GetTPCMasks for ioctl3
2020-06-14 20:12:45 -04:00
bunnei
89d11f2268
Merge pull request #4069 from ogniK5377/total-phys-mem
...
kernel: Account for system resource size for memory usage
2020-06-14 00:44:34 -04:00
bunnei
92021a344c
Merge pull request #4064 from ReinUsesLisp/invalidate-buffers
...
gl_rasterizer: Mark vertex buffers as dirty after buffer cache invalidation
2020-06-14 00:29:16 -04:00
bunnei
c2ea1e1bcb
Merge pull request #4049 from ReinUsesLisp/separate-samplers
...
shader/texture: Join separate image and sampler pairs offline
2020-06-13 13:48:27 -04:00
David Marcec
42250427c5
audren: Implement RendererInfo
...
Fixes ZLA softlock
2020-06-13 14:04:28 +10:00
bunnei
5633887569
Merge pull request #3986 from ReinUsesLisp/shader-cache
...
shader_cache: Implement a generic runtime shader cache
2020-06-12 23:14:48 -04:00
bunnei
e1911e5c8b
Merge pull request #4010 from ogniK5377/reserve-always-break
...
kernel: ResourceLimit::Reserve remove useless while loop
2020-06-12 22:30:19 -04:00
ReinUsesLisp
87011a97f9
gl_arb_decompiler: Implement FSwizzleAdd
2020-06-11 22:12:07 -03:00
ReinUsesLisp
a63a0daa5e
gl_arb_decompiler: Implement an assembly shader decompiler
...
Emit code compatible with NV_gpu_program5.
This should emit code compatible with Fermi, but it wasn't tested on
that architecture. Pascal has some issues not present on Turing GPUs.
2020-06-11 22:12:07 -03:00
ReinUsesLisp
d89888389d
yuzu/configuration: Show assembly shaders check box
2020-06-10 19:04:53 -03:00
David Marcec
b15cbf9bcf
nvdrv: Fix GetTPCMasks for ioctl3
...
Fixes animal crossing svcBreak on launch
2020-06-10 18:36:42 +10:00
David Marcec
74ff1db758
kernel: Account for system resource size for memory usage
...
GetTotalPhysicalMemoryAvailableWithoutSystemResource & GetTotalPhysicalMemoryUsedWithoutSystemResource seem to subtract the resource size from the usage.
2020-06-10 14:49:00 +10:00
bunnei
83e3b77ed7
Merge pull request #4027 from ReinUsesLisp/3d-slices
...
texture_cache: Implement rendering to 3D textures
2020-06-09 21:52:15 -04:00
ReinUsesLisp
6508cdd003
buffer_cache: Avoid passing references of shared pointers and misc style changes
...
Instead of using as template argument a shared pointer, use the
underlying type and manage shared pointers explicitly. This can make
removing shared pointers from the cache more easy.
While we are at it, make some misc style changes and general
improvements (like insert_or_assign instead of operator[] + operator=).
2020-06-09 18:30:49 -03:00
ReinUsesLisp
7646f2c21d
gl_rasterizer: Mark vertex buffers as dirty after buffer cache invalidation
...
Vertex buffers bindings become invalid after the stream buffer is
invalidated. We were originally doing this, but it got lost at some
point.
- Fixes Animal Crossing: New Horizons, but it affects everything.
2020-06-08 20:24:16 -03:00
ReinUsesLisp
6e122f0b2c
buffer_cache: Return stream buffer invalidation in Map instead of Unmap
...
We have to invalidate whatever cache is being used before uploading the
data, hence it makes more sense to return this on Map instead of Unmap.
2020-06-08 20:22:31 -03:00
bunnei
3626254f48
Merge pull request #4040 from ReinUsesLisp/nv-transform-feedback
...
gl_rasterizer: Use NV_transform_feedback for XFB on assembly shaders
2020-06-08 16:18:33 -04:00
bunnei
98d2461529
Merge pull request #4052 from ReinUsesLisp/debug-output
...
renderer_opengl: Only enable DEBUG_OUTPUT when graphics debugging is enabled
2020-06-08 10:16:41 -04:00
ReinUsesLisp
bd43c05470
texture_cache: Port original code management for 2D vs 3D textures
...
Handle blits to images as 2D, even when they have block depth.
- Fixes rendering issues on Luigi's Mansion 3
2020-06-08 05:02:22 -03:00
ReinUsesLisp
c99f5d405b
texture_cache: Simplify blit code
2020-06-08 05:01:44 -03:00
ReinUsesLisp
3c2ae53b4c
texture_cache: Handle 3D texture blits with one layer
2020-06-08 05:01:00 -03:00
ReinUsesLisp
c95c254f3e
texture_cache: Implement rendering to 3D textures
...
This allows rendering to 3D textures with more than one slice.
Applications are allowed to render to more than one slice of a texture
using gl_Layer from a VTG shader.
This also requires reworking how 3D texture collisions are handled, for
now, this commit allows rendering to slices but not to miplevels. When a
render target attempts to write to a mipmap, we fallback to the previous
implementation (copying or flushing as needed).
- Fixes color correction 3D textures on UE4 games (rainbow effects).
- Allows Xenoblade games to render to 3D textures directly.
2020-06-08 05:01:00 -03:00
Rodrigo Locatti
2293e8a11a
Merge pull request #4034 from ReinUsesLisp/storage-texels
...
vk_rasterizer: Implement storage texels and atomic image operations
2020-06-07 18:43:24 -03:00
ReinUsesLisp
abcea1bb18
rasterizer_cache: Remove files and includes
...
The rasterizer cache is no longer used. Each cache has its own generic
implementation optimized for the cached data.
2020-06-07 04:32:57 -03:00
ReinUsesLisp
678f95e4f8
vk_pipeline_cache: Use generic shader cache
...
Trivial port the generic shader cache to Vulkan.
2020-06-07 04:32:57 -03:00
ReinUsesLisp
b96f65b62b
gl_shader_cache: Use generic shader cache
...
Trivially port the generic shader cache to OpenGL.
2020-06-07 04:32:57 -03:00