Mat M
47036859eb
Merge pull request #3633 from ReinUsesLisp/clean-texdec
...
shader/texture: Remove type mismatches management from shader decoder
2020-04-13 10:13:05 -04:00
ReinUsesLisp
76615b9f34
gl_rasterizer: Implement line widths and smooth lines
...
Implements "legacy" features from OpenGL present on hardware such as
smooth lines and line width.
2020-04-13 01:30:34 -03:00
ReinUsesLisp
05cf270836
gl_shader_decompiler: Implement merges with bitfieldInsert
...
This also fixes Turing issues but it avoids doing more bitcasts. This
should improve the generated code while also avoiding more points where
compilers can flush floats.
2020-04-12 22:39:59 -03:00
bunnei
a9f866264d
Merge pull request #3606 from ReinUsesLisp/nvflinger
...
service/vi: Partially implement BufferQueue disconnect
2020-04-12 11:44:48 -04:00
Fernando Sahmkow
3d91dbb21d
Merge pull request #3578 from ReinUsesLisp/vmnmx
...
shader/video: Partially implement VMNMX
2020-04-12 10:44:03 -04:00
Mat M
4aec01b850
Merge pull request #3644 from ReinUsesLisp/msaa
...
video_core: Add MSAA registers in 3D engine and TIC
2020-04-12 09:11:44 -04:00
ReinUsesLisp
75eb953575
gl_shader_decompiler: Improve generated code in HMergeH*
...
Avoiding bitwise expressions, this fixes Turing issues in shaders using
half float merges that affected several games.
2020-04-12 05:06:55 -03:00
ReinUsesLisp
76f178ba6e
shader/video: Partially implement VMNMX
...
Implements the common usages for VMNMX. Inputs with a different size
than 32 bits are not supported and sign mismatches aren't supported
either.
VMNMX works as follows:
It grabs Ra and Rb and applies a maximum/minimum on them (this is
defined by .MX), having in mind the input sign. This result can then be
saturated. After the intermediate result is calculated, it applies
another operation on it using Rc. These operations are merges,
accumulations or another min/max pass.
This instruction allows to implement with a more flexible approach GCN's
min3 and max3 instructions (for instance).
2020-04-12 00:34:42 -03:00
ReinUsesLisp
a7baf6fee4
video_core: Add MSAA registers in 3D engine and TIC
...
This adds the registers used for multisampling. It doesn't implement
anything for now.
2020-04-12 00:21:27 -03:00
Rodrigo Locatti
75e39f7f88
Merge pull request #3635 from FernandoS27/buffer-free
...
Buffer queue: Correct behavior of free buffer.
2020-04-11 17:58:15 -03:00
bunnei
8938f9941c
Merge pull request #3611 from FearlessTobi/port-4956
...
Port citra-emu/citra#4956 : "Fixes to game list sorting"
2020-04-11 12:44:36 -04:00
ReinUsesLisp
94b0e2e5da
texture_cache: Remove preserve_contents
...
preserve_contents was always true. We can't assume we don't have to
preserve clears because scissored and color masked clears exist.
This removes preserve_contents and assumes it as true at all times.
2020-04-11 01:51:02 -03:00
ReinUsesLisp
2905142f47
renderer_vulkan: Drop Vulkan-Hpp
2020-04-10 22:49:02 -03:00
bunnei
51c6688e21
Merge pull request #3594 from ReinUsesLisp/vk-instance
...
yuzu: Drop SDL2 and Qt frontend Vulkan requirements
2020-04-10 20:06:55 -04:00
Fernando Sahmkow
486a42c45a
Buffer queue: Correct behavior of free buffer.
...
This corrects the behavior of free buffer after witnessing it in an
unrelated hardware test. I haven't found any games affected by it but in
name of better accuracy we'll correct such behavior.
2020-04-10 16:44:28 -04:00
bunnei
8adf66f9fd
Merge pull request #3607 from FearlessTobi/input-kms
...
yuzu/configuration: Fix input profiles and a wrong assert
2020-04-10 00:39:48 -04:00
ReinUsesLisp
8c0ba9c6fe
service/vi: Partially implement BufferQueue disconnect
2020-04-10 01:00:50 -03:00
ReinUsesLisp
a87b16da9a
shader/texture: Remove type mismatches management from shader decoder
...
Since commit e22816a5bb
we handle type mismatches from the CPU.
We don't need to hack our shader decoder due to game bugs anymore.
Removed in this commit.
2020-04-10 00:57:32 -03:00
Fernando Sahmkow
f570b129a2
Merge pull request #3623 from ReinUsesLisp/renderdoc-bind-spam
...
qt/bootmanager: Remove unnecessary glBindFramebuffer
2020-04-09 18:02:17 -04:00
Fernando Sahmkow
7182ef31c9
Merge pull request #3622 from ReinUsesLisp/srgb-texture-border
...
video_core/texture: Use a LUT to convert sRGB texture borders
2020-04-09 18:01:48 -04:00
ReinUsesLisp
6bf5d2b011
astc: Hard code bit depth changes to 8 and use fast replicate
2020-04-09 18:37:12 -03:00
Rodrigo Locatti
36f607217f
Merge pull request #3610 from FernandoS27/gpu-caches
...
Refactor all the GPU Caches to use VAddr for cache addressing
2020-04-09 17:59:21 -03:00
ReinUsesLisp
bd2c1ab8a0
astc: Use boost's static_vector to avoid heap allocations
2020-04-09 05:27:57 -03:00
ReinUsesLisp
5de130beea
astc: Implement a fast precompiled alternative for Replicate
2020-04-09 03:58:25 -03:00
ReinUsesLisp
6b4d4473be
astc: Move Replicate to a constexpr LUT when possible
2020-04-09 03:35:07 -03:00
ReinUsesLisp
d22a689250
astc: Make InputBitStream constexpr
2020-04-09 02:54:05 -03:00
ReinUsesLisp
0efc230381
astc: OutputBitStream style changes and make it constexpr
2020-04-09 02:37:51 -03:00
bunnei
b96fd0bd0e
Merge pull request #3601 from ReinUsesLisp/some-shader-encodings
...
video_core/shader: Add some instruction and S2R encodings
2020-04-09 00:17:39 -04:00
ReinUsesLisp
6c8f9f40d7
gl_texture_cache: Attach view instead of base texture for layered attachments
...
This way we are not ignoring the base layer of the current texture.
2020-04-08 22:20:25 -03:00
Fernando Sahmkow
7cd6daf115
VkRasterizer: Eliminate Legacy code.
2020-04-08 18:59:09 -04:00
Fernando Sahmkow
1c18dc6577
Memory: Correct GCC errors.
2020-04-08 18:09:16 -04:00
Fernando Sahmkow
913f42a3a7
Memory: Address Feedback.
2020-04-08 13:40:46 -04:00
Fernando Sahmkow
e00d992848
GPUMemoryManager: Improve safety of memory reads.
2020-04-08 12:08:06 -04:00
Kewlan
848d619aec
Place SL and SR in the right most column.
2020-04-08 11:34:16 +02:00
bunnei
b128beb3a9
Merge pull request #3572 from FearlessTobi/port-5127
...
Port citra-emu/citra#5127 : "common: Port some changes from dolphin"
2020-04-07 23:48:16 -04:00
ReinUsesLisp
c6ea0d010b
qt/bootmanager: Remove unnecessary glBindFramebuffer
...
Presentation context always has GL_DRAW_FRAMEBUFFER_BINDING as zero.
There is no need to bind the default framebuffer constantly.
According to Nsight this was using ~0.7ms per frame and it broke
renderdoc captures.
2020-04-07 20:51:56 -03:00
ReinUsesLisp
a209d464f9
video_core/textures: Move GetMaxAnisotropy to cpp file
2020-04-07 20:47:31 -03:00
ReinUsesLisp
d7db088180
video_core/texture: Use a LUT to convert sRGB texture borders
...
This is a reversed look up table extracted from
https://gist.github.com/rygorous/2203834#file-gistfile1-cpp-L41-L62
that is used in
04d4e9e587/source/maxwell/tsc_generate.cpp (L38)
Games usually bind 0xFD expecting a float texture border of 1.0f.
The conversion previous to this commit was multiplying the uint8 sRGB
texture border color by 255. This is close to 1.0f but when that
difference matters, some graphical glitches appear.
This look up table is manually changed in the edges, clamping towards
0.0f and 1.0f.
While we are at it, move this logic to its own translation unit.
2020-04-07 20:38:14 -03:00
Zach Hilman
26ed65495d
Merge pull request #3621 from SilverBeamx/fullnamefix
...
Log version and about section version fix
2020-04-07 17:16:23 -04:00
SilverBeamx
863f7385dc
Addressed feedback: switched to snake case and fixed clang-format errors
2020-04-07 22:59:09 +02:00
bunnei
f316911248
Merge pull request #3599 from ReinUsesLisp/revert-3499
...
Revert "Merge pull request #3499 from ReinUsesLisp/depth-2d-array"
2020-04-07 16:51:41 -04:00
SilverBeamx
6b512d78c9
Addressed feedback: removed CMake hack in favor of building the necessary strings via the supplied title format
2020-04-07 22:41:45 +02:00
ReinUsesLisp
bf1d66b7c0
yuzu: Drop SDL2 and Qt frontend Vulkan requirements
...
Create Vulkan instances and surfaces from the Vulkan backend.
2020-04-07 16:32:19 -03:00
Rodrigo Locatti
487f9ba525
Merge pull request #3489 from namkazt/patch-2
...
shader: implement SULD.D bits32/64
2020-04-07 16:21:09 -03:00
Nguyen Dac Nam
935648ffa9
address nit.
2020-04-07 18:29:30 +07:00
ReinUsesLisp
bc1b4b85b0
renderer_vulkan: Query device names from the backend
2020-04-07 02:23:23 -03:00
ReinUsesLisp
7104e01bb3
common/dynamic_library: Import and adapt helper from Dolphin
2020-04-07 02:23:23 -03:00
ReinUsesLisp
da706cad25
shader/conversion: Implement I2I sign extension, saturation and selection
...
Reimplements I2I adding sign extension, saturation (clamp source value
to the destination), selection and destination sizes that are not 32
bits wide.
It doesn't implement CC yet.
2020-04-07 02:19:44 -03:00
Nguyen Dac Nam
bf1174c114
Apply suggestions from code review
...
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
2020-04-07 07:55:49 +07:00
enler
27f122c48c
file_sys: fix LayeredFS error when loading some games made with… ( #3602 )
...
* fix LayeredFS error when loading some games made with the Unity
2020-04-07 02:03:32 +02:00
Fernando Sahmkow
f9d5718c4b
Clang Format.
2020-04-06 09:23:08 -04:00
Fernando Sahmkow
ea535d9470
Shader/Pipeline Cache: Use VAddr instead of physical memory for addressing.
2020-04-06 09:23:07 -04:00
Fernando Sahmkow
3dd5c07454
Query Cache: Use VAddr instead of physical memory for adressing.
2020-04-06 09:23:07 -04:00
Fernando Sahmkow
7fcd0fee6d
Buffer Cache: Use vAddr instead of physical memory.
2020-04-06 09:23:06 -04:00
Fernando Sahmkow
6ee316cb8f
Texture Cache: Use vAddr instead of physical memory for caching.
2020-04-06 09:23:05 -04:00
Fernando Sahmkow
9c0f40a1f5
GPU: Setup Flush/Invalidate to use VAddr instead of CacheAddr
2020-04-06 09:21:46 -04:00
Fernando Sahmkow
588a20be3f
Merge pull request #3513 from ReinUsesLisp/native-astc
...
video_core: Use native ASTC when available
2020-04-06 09:21:11 -04:00
namkazy
2c98e14d13
shader_decode: SULD.D using std::pair instead of out parameter
2020-04-06 13:46:55 +07:00
namkazy
9efa51311f
shader_decode: SULD.D avoid duplicate code block.
2020-04-06 13:34:06 +07:00
namkazy
7f5696513f
shader_decode: SULD.D fix conversion error.
2020-04-06 13:26:58 +07:00
namkazy
2906372ba1
shader_decode: SULD.D implement bits64 and reverse shader ir init method to removed shader stage.
2020-04-06 13:09:19 +07:00
ReinUsesLisp
3185245845
shader/memory: Implement RED.E.ADD
...
Implements a reduction operation. It's an atomic operation that doesn't
return a value.
This commit introduces another primitive because some shading languages
might have a primitive for reduction operations.
2020-04-06 02:24:47 -03:00
ReinUsesLisp
fd0a2b5151
shader/memory: Add "using std::move"
2020-04-06 02:18:14 -03:00
ReinUsesLisp
79970c9174
shader/memory: Minor fixes in ATOM
2020-04-06 00:54:22 -03:00
FearlessTobi
8d0fb33ac4
yuzu: Fixes to game list sorting
...
Should fix citra-emu/citra#4593 .
As the issue might not be entirely clear, I'll offer a short explanation from what I understood from it and found from experimentation.
Currently yuzu offers the user the option to change the text that's displayed in the "Name" column in the game list. Generally, it is expected that the items are sorted based on the displayed text, but yuzu would sort them by title instead.
Made it so that an access to SortRole returns the same as DisplayRole.
There shouldn't be any UI changes, only change in behaviour.
Also fixes a bug with directory sorting, where having the directories out of order would enable you to try to "move up" to the addDirectory button, which would crash the emulator.
Co-Authored-By: Vitor K <vitor-k@users.noreply.github.com>
2020-04-06 03:12:17 +02:00
Fernando Sahmkow
69277de29d
Merge pull request #3592 from ReinUsesLisp/ipa
...
shader_decompiler: Remove FragCoord.w hack and change IPA implementation
2020-04-05 19:29:40 -04:00
Fernando Sahmkow
1633fbf99a
Merge pull request #3589 from ReinUsesLisp/fix-clears
...
gl_rasterizer: Mark cleared textures as dirty
2020-04-05 19:29:26 -04:00
namkazy
730f9b55b3
silent warning (conversion error)
2020-04-05 16:02:07 +07:00
namkazy
9f6ebccf06
shader_decode: SULD.D -> SINT actually same as UNORM.
2020-04-05 15:18:42 +07:00
namkazy
6f2b7087c2
shader_decode: SULD.D fix decode SNORM component
2020-04-05 14:46:43 +07:00
namkazy
69657ff19c
clang-format
2020-04-05 12:57:50 +07:00
namkazy
24cc64c5b3
shader_decode: get sampler descriptor from registry.
2020-04-05 12:54:48 +07:00
FearlessTobi
aa6214feb7
yuzu/configuration: Only assert that all buttons exist when we are handling the click for a button device
...
This fixes failed assertions that were present in yuzu master code for 18 months.
2020-04-05 07:16:09 +02:00
FearlessTobi
fb8afee077
yuzu/configure_input_simple: Fix "Docked Joycons" controller profile
...
This was incorrectly using PlayerIndex 1 when calling the ConfigureDialog.
2020-04-05 07:14:35 +02:00
namkazy
acd3f0ab37
tweaking.
2020-04-05 10:31:32 +07:00
Nguyen Dac Nam
8370188b3c
clang-format
2020-04-05 10:31:31 +07:00
namkazy
3e3afa9be6
cleanup unuse params
2020-04-05 10:31:31 +07:00
namkazy
5cd5857000
cleanup debug code.
2020-04-05 10:31:30 +07:00
namkazy
658112783d
reimplement get component type, uncomment mistaken code
2020-04-05 10:31:30 +07:00
namkazy
3ad06e9b2b
remove disable optimize
2020-04-05 10:31:30 +07:00
namkazy
f24c2e1103
[wip] reimplement SULD.D
2020-04-05 10:31:29 +07:00
namkazy
58bcb86af5
add shader stage when init shader ir
2020-04-05 10:31:29 +07:00
Nguyen Dac Nam
2cefdd92bd
clang-fix
2020-04-05 10:31:28 +07:00
Nguyen Dac Nam
1f3d142875
shader: image - import PredCondition
2020-04-05 10:31:27 +07:00
Nguyen Dac Nam
08db60392d
shader: SULD.D bits32 implement more complexer method.
2020-04-05 10:31:27 +07:00
Nguyen Dac Nam
ed1d8beb13
shader: SULD.D import StoreType
2020-04-05 10:31:26 +07:00
Nguyen Dac Nam
6d235b8631
shader: implement SULD.D bits32
2020-04-05 10:31:26 +07:00
ReinUsesLisp
60106531b4
shader/other: Add error message for some S2R registers
2020-04-04 03:46:07 -03:00
ReinUsesLisp
8b719e9e1d
shader_bytecode: Rename MOV_SYS to S2R
2020-04-04 03:37:51 -03:00
ReinUsesLisp
9d15feb892
shader_bytecode: Add encoding for BAR
2020-04-04 03:36:21 -03:00
ReinUsesLisp
16ae98dbb3
shader_ir: Add error message for EXIT.FCSM_TR
2020-04-04 03:34:08 -03:00
ReinUsesLisp
c02a2dc24a
shader_bytecode: Add encoding for VOTE.VTG
2020-04-04 03:28:11 -03:00
ReinUsesLisp
80c4fee4ec
Revert "Merge pull request #3499 from ReinUsesLisp/depth-2d-array"
...
This reverts commit 41905ee467
, reversing
changes made to 35145bd529
.
It causes regressions in several games.
2020-04-04 00:02:26 -03:00
bunnei
e6f02d5725
Merge pull request #3579 from Kewlan/reorder-shoulder
...
configuration: Reorder shoulder buttons
2020-04-03 11:28:14 -04:00
Fernando Sahmkow
9d8886b1a4
Merge pull request #3563 from bunnei/fix-ldr-memstate
...
services: ldr: Fix MemoryState for read/write regions of NROs.
2020-04-03 10:14:56 -04:00
ReinUsesLisp
e1bd89e1c2
shader/memory: Silence no return value warning
...
Silences a warning about control paths not all returning a value.
2020-04-02 03:34:27 -03:00
Rodrigo Locatti
825a6e2615
Merge pull request #3552 from jroweboy/single-context
...
Refactor Context management (Fixes renderdoc on opengl issues)
2020-04-02 01:38:25 -03:00
ReinUsesLisp
2339fe199f
shader_decompiler: Remove FragCoord.w hack and change IPA implementation
...
Credits go to gdkchan and Ryujinx. The pull request used for this can
be found here: https://github.com/Ryujinx/Ryujinx/pull/1082
yuzu was already using the header for interpolation, but it was missing
the FragCoord.w multiplication described in the linked pull request.
This commit finally removes the FragCoord.w == 1.0f hack from the shader
decompiler.
While we are at it, this commit renames some enumerations to match
Nvidia's documentation (linked below) and fixes component declaration
order in the shader program header (z and w were swapped).
https://github.com/NVIDIA/open-gpu-doc/blob/master/Shader-Program-Header/Shader-Program-Header.html
2020-04-01 21:48:55 -03:00
ReinUsesLisp
dd1232755b
gl_texture_cache: Fix software ASTC fallback
2020-04-01 01:44:15 -03:00
ReinUsesLisp
2f0da10dc3
vk_device: Add missing ASTC queries
2020-04-01 01:14:04 -03:00