ReinUsesLisp
4dcb56ddbd
shader/registry: Address feedback
2020-03-09 18:40:53 -03:00
ReinUsesLisp
00e790c3de
gl_shader_decompiler: Add identifier to decompiled code
2020-03-09 18:40:53 -03:00
ReinUsesLisp
8c2bf4879f
gl_shader_decompiler: Roll back to GLSL core 430
...
RenderDoc won't build shaders if we use GLSL compatibility.
2020-03-09 18:40:53 -03:00
ReinUsesLisp
7a93d38e0f
const_buffer_engine_interface: Store component types
...
This is required for Vulkan. Sampling integer textures with float
handles is illegal.
2020-03-09 18:40:53 -03:00
ReinUsesLisp
1f4e8db223
yuzu/loading_screen: Remove unused shader progress mode
2020-03-09 18:40:53 -03:00
ReinUsesLisp
25cfb69c40
gl_shader_cache: Reduce registry consistency to debug assert
...
Registry consistency is something that practically can't happen and it
has a measurable runtime cost. Reduce it to a DEBUG_ASSERT.
2020-03-09 18:40:07 -03:00
ReinUsesLisp
776aa5bdf9
shader/registry: Cache tessellation state
2020-03-09 18:40:07 -03:00
ReinUsesLisp
22052e73de
shader/registry: Store graphics and compute metadata
...
Store information GLSL forces us to provide but it's dynamic state in
hardware (workgroup sizes, primitive topology, shared memory size).
2020-03-09 18:40:07 -03:00
ReinUsesLisp
99be31c902
video_core: Rename "const buffer locker" to "registry"
2020-03-09 18:40:06 -03:00
ReinUsesLisp
8021ee48a3
gl_shader_cache: Rework shader cache and remove post-specializations
...
Instead of pre-specializing shaders and then post-specializing them,
drop the later and only "specialize" the shader while decoding it.
2020-03-09 18:40:06 -03:00
Rodrigo Locatti
8d86741eb9
Merge pull request #3301 from ReinUsesLisp/state-tracker
...
video_core: Remove gl_state and use a state tracker based on dirty flags
2020-03-09 18:34:37 -03:00
ReinUsesLisp
b8e43cb17c
textures: Fix anisotropy hack
...
Previous code could generate an anisotropy value way higher than x16.
2020-03-08 15:59:38 -03:00
FearlessTobi
3f2f75021e
cubeb_sink: Don't discard other channels when performing downmixing
...
Previously, when performing downmixing, we would discard all channels except the left and right one.
This implementation respects them when mixing down to Stereo.
It is taken from this document: http://www.atsc.org/wp-content/uploads/2015/03/A52-201212-17.pdf .
Fixes Luigis Mansion 3 cutscene and Bayonetta audio.
2020-03-08 03:16:06 -04:00
bunnei
978cd350dd
Merge pull request #3452 from Morph1984/anisotropic-filtering
...
frontend/Graphics: Add "Advanced" graphics tab and experimental Anisotropic Filtering support
2020-03-07 22:28:35 -05:00
Nguyen Dac Nam
9516f0923c
vk_reasterizer: fix mistype on SetupGraphicsImages
...
This should use Maxwell3D engine. Fixed some GPU error on Kirby and maybe other games.
2020-03-08 10:06:59 +07:00
bunnei
437d6b6dc6
Merge pull request #3481 from ReinUsesLisp/abgr5-storage
...
maxwell_to_vk: Remove Storage capability for A1B5G5R5U
2020-03-07 19:51:33 -05:00
ReinUsesLisp
ee8ef2998d
vk_rasterizer: Support disabled uniform buffers
2020-03-06 18:47:51 -03:00
ReinUsesLisp
09820ecef0
maxwell_to_vk: Remove Storage capability for A1B5G5R5U
2020-03-06 18:47:27 -03:00
bunnei
bd02dfb94a
Merge pull request #3463 from ReinUsesLisp/vk-toctou
...
vk_swapchain: Silence TOCTOU race condition
2020-03-05 19:38:42 -05:00
bunnei
3a32c37deb
Merge pull request #3479 from jroweboy/dont-log-on-no-input
...
Minor fixes for udp input
2020-03-05 15:09:48 -05:00
bunnei
cb84f86f3d
Merge pull request #3451 from ReinUsesLisp/indexed-textures
...
vk_shader_decompiler: Implement indexed textures
2020-03-05 11:42:46 -05:00
bunnei
2349ab9dc6
Merge pull request #3469 from namkazt/patch-1
...
shader_decode: Fix LD, LDG when track constant buffer
2020-03-04 23:10:01 -05:00
bunnei
a157ecf76c
Merge pull request #3478 from bunnei/a32
...
Refactoring to boot A32 games
2020-03-04 20:37:51 -05:00
James Rowe
37cf312477
input/udp - Add minor error handling to prevent bad input from crashing
2020-03-03 23:46:05 -07:00
bunnei
6c42a3b9de
Merge pull request #3455 from ReinUsesLisp/attr-scaled
...
video_core: Implement more scaled attribute formats
2020-03-03 22:46:20 -05:00
James Rowe
166ba99e3e
Frontend/SDL - Provide proper default for UDP input
...
When the default file is read in, the settings default value is only used
when the key is missing. As it was, the key existed, but the value was empty string
causing it to accept that as a value to pass into the core
2020-03-03 20:05:42 -07:00
James Rowe
f40becae29
input/udp - Dont log on invalid packet received
2020-03-03 19:52:16 -07:00
bunnei
36c4c33bb8
core: hle: Implement separate A32/A64 SVC interfaces.
2020-03-02 21:52:03 -05:00
bunnei
048ac77adc
core: Implement separate A32/A64 ARM interfaces.
2020-03-02 21:51:57 -05:00
bunnei
9b0419ce67
core: loader: Remove check for 32-bit.
2020-03-02 21:43:15 -05:00
bunnei
9137455d86
core: dynarmic: Add CP15 from Citra.
2020-03-02 21:43:15 -05:00
bunnei
07f23df4cb
Merge pull request #3464 from FernandoS27/jit-fix
...
ARM_Interface: Cache the JITs instead of deleting/recreating.
2020-03-02 21:41:43 -05:00
Nguyen Dac Nam
5658f77467
nit: move comment to right place.
2020-02-29 13:50:10 +07:00
bunnei
17b972f3bf
Merge pull request #3448 from bunnei/fix-audio-interp-2
...
audio_core: interpolate: Improvements to fix audio crackling.
2020-02-28 16:07:10 -05:00
ReinUsesLisp
f391be4227
video_core/dirty_flags: Address feedback
2020-02-28 17:56:43 -03:00
ReinUsesLisp
a440a79146
renderer_opengl: Fix edge-case where alpha testing might cull presentation
2020-02-28 17:56:43 -03:00
ReinUsesLisp
950450fd8a
gl_texture_cache: Remove blending disable on blits
...
Blending doesn't affect blits. Rasterizer discard does, update the
commentaries.
2020-02-28 17:56:43 -03:00
ReinUsesLisp
1a5c68bbef
gl_rasterizer: Don't disable blending on clears
...
Blending doesn't affect clears.
2020-02-28 17:56:43 -03:00
ReinUsesLisp
3de883d37b
dirty_flags: Deduplicate code between OpenGL and Vulkan
2020-02-28 17:56:43 -03:00
ReinUsesLisp
a8c9550a12
vk_rasterizer: Pass Maxwell registers to dynamic updates
2020-02-28 17:56:43 -03:00
ReinUsesLisp
2eb2855b05
state_tracker: Remove type traits with named structures
2020-02-28 17:56:43 -03:00
ReinUsesLisp
59db5829f5
vk_state_tracker: Implement dirty flags for stencil properties
2020-02-28 17:56:43 -03:00
ReinUsesLisp
b06a3534ea
vk_state_tracker: Implement dirty flags for depth bounds
2020-02-28 17:56:43 -03:00
ReinUsesLisp
4c4bd85947
vk_state_tracker: Implement dirty flags for blend constants
2020-02-28 17:56:43 -03:00
ReinUsesLisp
1ccf5ba777
vk_state_tracker: Implement dirty flags for depth bias
2020-02-28 17:56:43 -03:00
ReinUsesLisp
ff0c2cb0a4
vk_state_tracker: Implement dirty flags for scissors
2020-02-28 17:56:43 -03:00
ReinUsesLisp
69db1cd1f9
vk_state_tracker: Initial implementation
...
Add support for render targets and viewports.
2020-02-28 17:56:43 -03:00
ReinUsesLisp
f903c3800e
gl_rasterizer: Remove num vertex buffers magic number
2020-02-28 17:56:43 -03:00
ReinUsesLisp
b7af0cc2ee
gl_rasterizer: Only apply polygon offset clamp if enabled
2020-02-28 17:56:43 -03:00
ReinUsesLisp
6ea3b6253e
gl_state_tracker: Implement dirty flags for depth clamp enabling
2020-02-28 17:56:43 -03:00
ReinUsesLisp
084a112d6c
gl_rasterizer: Disable scissor 0 when scissor is not used on clear
2020-02-28 17:56:43 -03:00
ReinUsesLisp
a48930ac7c
gl_rasterizer: Notify depth mask changes on clear
2020-02-28 17:56:43 -03:00
ReinUsesLisp
f6e5b9e775
gl_rasterizer: Minor sort changes to clearing
2020-02-28 17:56:42 -03:00
ReinUsesLisp
31daa97fce
maxwell_3d: Use two tables instead of three for dirty flags
2020-02-28 17:56:42 -03:00
ReinUsesLisp
5d75921b0f
gl_state_tracker: Track state of index buffers
2020-02-28 17:56:42 -03:00
ReinUsesLisp
085cca1a2c
gl_state_tracker: Implement dirty flags for clip control
2020-02-28 17:56:42 -03:00
ReinUsesLisp
de5a81846d
gl_state_tracker: Implement dirty flags for point sizes
2020-02-28 17:56:42 -03:00
ReinUsesLisp
cd63e8d770
gl_state_tracker: Implement dirty flags for fragment color clamp
2020-02-28 17:56:42 -03:00
ReinUsesLisp
d01d671249
gl_state_tracker: Implement dirty flags for logic op
2020-02-28 17:56:42 -03:00
ReinUsesLisp
5c2d6d7e60
gl_state_tracker: Implement dirty flags for sRGB
2020-02-28 17:56:42 -03:00
ReinUsesLisp
68b8e45c90
gl_state_tracker: Implement dirty flags for rasterize enable
2020-02-28 17:56:42 -03:00
ReinUsesLisp
ec5b0560cb
gl_state_tracker: Implement dirty flags for multisample
2020-02-28 17:56:42 -03:00
ReinUsesLisp
491ccb08df
gl_state_tracker: Implement dirty flags for alpha testing
2020-02-28 17:56:42 -03:00
ReinUsesLisp
2ccac5964f
gl_state_tracker: Implement dirty flags for polygon offsets
2020-02-28 17:56:42 -03:00
ReinUsesLisp
aaf414a81b
gl_state_tracker: Implement dirty flags for primitive restart
2020-02-28 17:56:42 -03:00
ReinUsesLisp
0b99bf70d8
gl_state_tracker: Implement dirty flags for stencil testing
2020-02-28 17:56:42 -03:00
ReinUsesLisp
7a7310e569
gl_state_tracker: Implement depth dirty flags
2020-02-28 17:56:42 -03:00
ReinUsesLisp
1ce88e6353
gl_state_tracker: Implement dirty flags for front face and culling
2020-02-28 17:56:42 -03:00
ReinUsesLisp
eac75695c3
gl_state_tracker: Implement dirty flags for blending
2020-02-28 17:56:42 -03:00
ReinUsesLisp
25ff66b197
gl_state_tracker: Implement dirty flags for clip distances and shaders
2020-02-28 17:56:42 -03:00
ReinUsesLisp
a5ee496714
gl_state_tracker: Add dirty flags for buffers and divisors
2020-02-28 17:56:42 -03:00
ReinUsesLisp
e94ea8758d
maxwell_3d: Change write dirty flags to a bitset
2020-02-28 17:56:42 -03:00
ReinUsesLisp
8798448c7b
gl_state_tracker: Implement dirty flags for vertex formats
2020-02-28 17:56:42 -03:00
ReinUsesLisp
edb6fe5200
gl_state_tracker: Implement dirty flags for color masks
2020-02-28 17:56:42 -03:00
ReinUsesLisp
587dff21dc
gl_state_tracker: Implement dirty flags for scissors
2020-02-28 17:56:42 -03:00
ReinUsesLisp
fb114073d3
gl_state_tracker: Implement dirty flags for viewports
2020-02-28 17:56:41 -03:00
ReinUsesLisp
52973c9b53
renderer_opengl: Reintroduce dirty flags for render targets
2020-02-28 17:56:41 -03:00
ReinUsesLisp
95596b787e
maxwell_3d: Flatten cull and front face registers
2020-02-28 17:56:41 -03:00
ReinUsesLisp
005f5ca883
video_core: Reintroduce dirty flags infrastructure
2020-02-28 17:56:41 -03:00
ReinUsesLisp
02ae826edd
gl_state: Remove completely
2020-02-28 17:56:35 -03:00
ReinUsesLisp
486721cb6c
gl_state: Remove program tracking
2020-02-28 17:52:14 -03:00
ReinUsesLisp
24cb363eb8
gl_state: Remove framebuffer tracking
2020-02-28 17:52:10 -03:00
ReinUsesLisp
49725f0472
gl_state: Remove image tracking
2020-02-28 17:36:40 -03:00
ReinUsesLisp
3e8bde451d
gl_state: Remove texture and sampler tracking
2020-02-28 17:35:58 -03:00
ReinUsesLisp
0b17608266
gl_state: Remove blend state tracking
2020-02-28 17:34:43 -03:00
ReinUsesLisp
ca3cf56db5
gl_state: Remove stencil test tracking
2020-02-28 17:32:05 -03:00
ReinUsesLisp
6e186f819b
gl_state: Remove clip control tracking
2020-02-28 17:31:57 -03:00
ReinUsesLisp
8b76fc1fff
gl_state: Remove clip distances tracking
2020-02-28 17:26:26 -03:00
ReinUsesLisp
86936bcf40
gl_state: Remove rasterizer disable tracking
2020-02-28 17:25:28 -03:00
ReinUsesLisp
b810da8400
gl_state: Remove viewport and depth range tracking
2020-02-28 17:25:18 -03:00
ReinUsesLisp
0b91f473a0
gl_state: Remove scissor test tracking
2020-02-28 17:00:23 -03:00
ReinUsesLisp
715ae82639
gl_state: Remove color mask tracking
2020-02-28 16:59:17 -03:00
ReinUsesLisp
e96c0d880a
gl_state: Remove clamp framebuffer color tracking
...
This commit doesn't reset it for screen draws because clamping doesn't
change anything there.
2020-02-28 16:58:30 -03:00
ReinUsesLisp
6825128d89
gl_state: Remove multisample tracking
2020-02-28 16:57:47 -03:00
ReinUsesLisp
d246878a22
gl_state: Remove framebuffer sRGB tracking
2020-02-28 16:55:23 -03:00
ReinUsesLisp
d7935f5d7e
gl_state: Remove VAO cache and tracking
2020-02-28 16:54:37 -03:00
ReinUsesLisp
0bd84bf355
gl_state: Remove depth clamp tracking
2020-02-28 16:53:35 -03:00
ReinUsesLisp
1d5db114fb
gl_state: Remove depth tracking
2020-02-28 16:52:46 -03:00
ReinUsesLisp
c26ea80ae3
gl_state: Remove primitive restart tracking
2020-02-28 16:51:45 -03:00
ReinUsesLisp
3144e7be89
gl_state: Remove logic op tracker
2020-02-28 16:51:23 -03:00
ReinUsesLisp
8d5f627d8d
gl_state: Remove blend color tracking
2020-02-28 16:50:58 -03:00
ReinUsesLisp
84d4ac72ff
gl_state: Remove polygon offset tracking
2020-02-28 16:49:20 -03:00
ReinUsesLisp
cbc174ce6f
gl_state: Remove alpha test tracking
2020-02-28 16:48:57 -03:00
ReinUsesLisp
b5d8b842a1
gl_state: Remove cull mode tracking
2020-02-28 16:48:23 -03:00
ReinUsesLisp
1736a04693
gl_state: Remove front face tracking
2020-02-28 16:47:59 -03:00
ReinUsesLisp
8366870b35
gl_state: Remove point size tracking
2020-02-28 16:39:44 -03:00
ReinUsesLisp
c158d37e68
gl_rasterizer: Add oglEnablei helper
2020-02-28 16:39:44 -03:00
ReinUsesLisp
7cc8204131
gl_rasterizer: Add OpenGL enable/disable helper
2020-02-28 16:39:44 -03:00
ReinUsesLisp
c2d3732176
gl_rasterizer: Remove dirty flags
2020-02-28 16:39:27 -03:00
ReinUsesLisp
c8c3fc647d
common/math_util: Support float type rectangles
2020-02-28 16:22:11 -03:00
bunnei
8633ca172e
renderer_opengl: Fix SRGB presentation frame tracking.
...
- Fixes SRGB in Super Smash Bros. Ultimate.
2020-02-28 01:13:38 -05:00
Nguyen Dac Nam
a775209d1b
shader_decode: Fix LD, LDG when track constant buffer
2020-02-28 13:11:19 +07:00
Morph
c6e07faf25
Create an "Advanced" tab in the graphics configuration tab and add anisotropic filtering levels.
2020-02-27 21:34:00 -05:00
bunnei
3b7528d736
Merge pull request #3430 from bunnei/split-presenter
...
Port citra-emu/citra#4940 : "Split Presentation thread from Render thread"
2020-02-27 19:51:55 -05:00
bunnei
c928b07625
renderer_opengl: Reduce swap chain size to 3.
2020-02-27 19:50:17 -05:00
Morph
055ebfc2e7
AM/ICommonStateGetter: Stub SetLcdBacklighOffEnabled ( #3454 )
...
* Stub SetLcdBacklighOffEnabled
Used by Super Smash Bros. Ultimate
We require backlight services to be implemented to turn on/off the backlight.
* Address feedback
2020-02-27 17:49:23 +01:00
Nguyen Dac Nam
bb39862dfe
shader: FMUL switch to using LUT ( #3441 )
...
* shader: add FmulPostFactor LUT table
* shader: FMUL apply LUT
* Update src/video_core/engines/shader_bytecode.h
Co-Authored-By: Mat M. <mathew1800@gmail.com>
* nit: mistype
* clang-format & add missing import
* shader: remove post factor LUT.
* shader: move post factor LUT to function and fix incorrect order.
* clang-format
* shader: FMUL: add static to post factor LUT
* nit: typo
Co-authored-by: Mat M. <mathew1800@gmail.com>
2020-02-27 11:14:25 -05:00
bunnei
0e5233098f
renderer_opengl: Use more concise lock syntax.
2020-02-26 18:35:35 -05:00
bunnei
cba9bdcab0
renderer_opengl: Move Frame/FrameMailbox to OpenGL namespace.
2020-02-26 18:28:50 -05:00
ReinUsesLisp
3056f6d364
vk_swapchain: Silence TOCTOU race condition
...
It's possible that the window is resized from the moment we ask for its
size to the moment a swapchain is created, causing validation issues.
To workaround this Vulkan issue request the capabilities again just
before creating the swapchain, making the race condition less likely.
2020-02-26 17:07:18 -03:00
Fernando Sahmkow
2f55c11a35
ARM_Interface: Cache the JITs instead of deleting/recreating.
...
This was a bug inherited from citra which was fixed by then at some
time. This commit corrects such bug and ensures JITs are correctly
recycled.
2020-02-26 15:53:47 -04:00
bunnei
3cb09e3570
Merge pull request #3440 from namkazt/patch-6
...
shader: implement LOP3 fast replace for old function
2020-02-26 10:24:35 -05:00
bunnei
e32ba13702
Merge pull request #3431 from CJBok/npad-fix
...
InputCommon: analog_from_button get direction implementation
2020-02-25 21:39:26 -05:00
bunnei
61f86b0058
renderer_opengl: Create gl_framebuffer_data if empty.
2020-02-25 21:23:02 -05:00
bunnei
0f0268bdd9
frontend: qt: bootmanager: Acquire a shared context in main emu thread.
2020-02-25 21:23:02 -05:00
bunnei
ba6d264342
frontend: qt: bootmanager: Vulkan: Restore support for VK backend.
2020-02-25 21:23:01 -05:00
bunnei
02f323f6e8
frontend: qt: bootmanager: OpenGL: Implement separate presentation thread.
2020-02-25 21:23:01 -05:00
bunnei
1be85d7b7d
frontent: qt: main: Various updates/refactoring for separate presentation thread.
2020-02-25 21:23:00 -05:00
bunnei
f1f2405b9f
core: frontend: Refactor scope_acquire_window_context to scope_acquire_context.
2020-02-25 21:23:00 -05:00
bunnei
6904e8442d
frontend: sdl2: emu_window: Implement separate presentation thread.
2020-02-25 21:23:00 -05:00
bunnei
361819a125
renderer_opengl: Add texture mailbox support for presenter thread.
2020-02-25 21:22:59 -05:00
bunnei
44137628c8
renderer_opengl: Add OGLRenderbuffer to resource/state management.
2020-02-25 21:22:58 -05:00
bunnei
27e56facc9
core: frontend: emu_window: Add TextureMailbox class.
2020-02-25 21:22:57 -05:00
bunnei
f93fe8e862
core: settings: Add setting to enable vsync, which is on by default.
2020-02-25 20:57:02 -05:00
Mat M
cb35b369bb
Merge pull request #3461 from ReinUsesLisp/r32i-rt
...
video_core/surface: Add R32_SINT render target format
2020-02-25 17:47:14 -05:00
Mat M
0566dfddb5
Merge pull request #3460 from ReinUsesLisp/unused-format-getter
...
video_core/gpu: Remove unused functions
2020-02-25 17:46:07 -05:00
ReinUsesLisp
74984326b0
video_core/surface: Add R32_SINT render target format
2020-02-25 17:19:34 -03:00
ReinUsesLisp
30ed1b0702
video_core/gpu: Remove unused functions
2020-02-25 16:53:47 -03:00
bunnei
75487d9d84
Merge pull request #3417 from ReinUsesLisp/r32i
...
texture: Implement R32I
2020-02-25 14:08:45 -05:00
FearlessTobi
ae6ab1c714
yuzu: Remove exit lock for game pausing
...
This removes the "exit lock" popup from yuzu when pausing a game.
Motivation
The exit lock feature is broken in many ways and doesn't work properly in a lot of games, causing it to appear every time you want to pause the game or stop it, even in places where it wouldn't on Switch.
Additionally, the feature of pausing a game doesn't exist like this on Switch and yuzu should be guaranteed to be deterministic anyway, so pausing the emulation shouldn't be able to interrupt any critical processes in any way.
2020-02-24 17:51:17 +01:00
bunnei
80e577e2a6
Merge pull request #3425 from ReinUsesLisp/layered-framebuffer
...
texture_cache: Implement layered framebuffer attachments
2020-02-24 10:14:50 -05:00
ReinUsesLisp
e88187cfa0
vk_shader_decompiler: Implement indexed textures
...
Implement accessing textures through an index. It uses the same
interface as OpenGL, the main difference is that Vulkan bindings are
forced to be arrayed (the binding index doesn't change for stacked
textures in SPIR-V).
2020-02-24 01:26:07 -03:00
ReinUsesLisp
043d94e858
shader: Simplify indexed sampler usages
2020-02-24 01:26:07 -03:00
ReinUsesLisp
367ade1151
video_core: Implement more scaler attribute formats
...
While changing this, fix assert in vk_shader_decompiler. We now know
scaled formats are expected to be float in shaders attributes.
2020-02-24 00:27:37 -03:00
bunnei
f840aa27af
Merge pull request #3424 from ReinUsesLisp/spirv-layer
...
vk_shader_decompiler: Implement Layer output attribute
2020-02-22 23:45:16 -05:00
bunnei
20c01b5dbd
Merge pull request #3422 from ReinUsesLisp/buffer-flush
...
surface_base: Implement texture buffer flushes
2020-02-22 23:09:50 -05:00
bunnei
dc92c1b1ee
audio_core: interpolate: Improvements to fix audio crackling.
...
- Fixes audio crackling in Crash Team Racing Nitro-Fueled, Super Mario Odyssey, and others.
- Addresses followup issues from #3310 .
2020-02-22 22:26:16 -05:00
Fernando Sahmkow
d0b12c793d
Scheduler: Inline global scheduler in Scheduler Lock.
2020-02-22 12:39:17 -04:00
Fernando Sahmkow
d6584d988f
Kernel: Correct pending feedback.
2020-02-22 11:51:03 -04:00
Fernando Sahmkow
8a079a59ed
System: Expose Host thread registering routines from kernel.
2020-02-22 11:18:07 -04:00
Fernando Sahmkow
78f01601d0
Kernel: Address Feedback.
2020-02-22 11:18:07 -04:00
Fernando Sahmkow
7c2b72bcef
Kernel: Implement Scheduler locks
2020-02-22 11:18:07 -04:00
Fernando Sahmkow
fe53ac3e33
Kernel: Implement Time Manager.
2020-02-22 11:18:07 -04:00
Fernando Sahmkow
e6cc0a48e0
Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel.
2020-02-22 11:18:06 -04:00
Fernando Sahmkow
f5da504663
Kernel: Make global scheduler depend on KernelCore
2020-02-22 11:18:06 -04:00
bunnei
338e4b4d07
audio_core: interpolate: Fix include for climits (Linux build break).
2020-02-22 02:29:41 -05:00
bunnei
ce63834a29
Merge pull request #3310 from FearlessTobi/fast-resample
...
audio_core: Switch to a faster interpolation technique
2020-02-22 01:54:40 -05:00
ReinUsesLisp
8ab2e5f561
shader/texture: Fix illegal 3D texture assert
...
Fix typo in the illegal 3D texture assert logic. We care about catching
arrayed 3D textures or 3D shadow textures, not regular 3D textures.
2020-02-21 15:57:27 -03:00
Rodrigo Locatti
c22c0ea070
Merge pull request #3433 from namkazt/patch-1
...
renderer_vulkan: Add the rest of case for TryConvertBorderColor
2020-02-21 15:56:09 -03:00
Rodrigo Locatti
291a7850a3
Merge pull request #3434 from namkazt/patch-2
...
vk_shader: Implement ImageLoad
2020-02-21 15:55:05 -03:00
Rodrigo Locatti
2cd2a86c92
Merge pull request #3435 from namkazt/patch-3
...
vulkan: add DXT23_SRGB
2020-02-21 15:48:19 -03:00
bunnei
1bf28215ac
Merge pull request #3423 from ReinUsesLisp/no-match-3d
...
texture_cache: Avoid matches in 3D textures
2020-02-21 12:16:51 -05:00
Nguyen Dac Nam
96e43427e5
nit: add const to where it need.
2020-02-21 21:16:45 +07:00
Nguyen Dac Nam
0c3acedaf9
shader: implement LOP3 fast replace for old function
...
ref: https://devtalk.nvidia.com/default/topic/1070081/cuda-programming-and-performance/reverse-lut-for-lop3-lut/
2020-02-21 19:08:07 +07:00
Nguyen Dac Nam
c3088fd578
vk_device: remove left over from other branch
2020-02-21 08:56:18 +07:00
bunnei
9356da8af9
Merge pull request #3438 from bunnei/gpu-mem-manager-fix
...
video_core: memory_manager: Flush/invalidate asynchronously when possible.
2020-02-20 20:04:05 -05:00
Nguyen Dac Nam
5b3a5b5fb6
clang-format
2020-02-20 09:39:30 +07:00
Nguyen Dac Nam
090dd95c05
shader_decompiler: only add StorageImageReadWithoutFormat when available
2020-02-20 09:28:13 +07:00
bunnei
8152281820
Merge pull request #3432 from brianclinkenbeard/update-httplib
...
Update httplib to 0.5.5
2020-02-19 21:15:06 -05:00
bunnei
fbd58d36d1
Merge pull request #3415 from ReinUsesLisp/texture-code
...
shader/texture: Allow 2D shadow arrays and simplify code
2020-02-19 20:06:14 -05:00
bunnei
638252e316
video_core: memory_manager: Flush/invalidate asynchronously on Unmap.
...
- Minor perf improvement.
2020-02-19 20:03:52 -05:00
bunnei
5c5b6cf721
Merge pull request #3414 from ReinUsesLisp/maxwell-3d-draw
...
maxwell_3d: Unify draw methods
2020-02-19 16:13:50 -05:00
bunnei
3360446580
Merge pull request #3411 from ReinUsesLisp/specific-funcs
...
gl_rasterizer: Use the least generic OpenGL draw function possible
2020-02-19 15:37:41 -05:00
Nguyen Dac Nam
102d52ad68
shader_decompiler: add check in case of device not support ShaderStorageImageReadWithoutFormat
2020-02-19 12:57:22 +07:00
Nguyen Dac Nam
1ed0d4faea
vk_device: setup shaderStorageImageReadWithoutFormat
2020-02-19 12:56:36 +07:00
Nguyen Dac Nam
d285fae01a
vk_device: add check for shaderStorageImageReadWithoutFormat
2020-02-19 12:55:56 +07:00
Nguyen Dac Nam
a57853e085
shader_conversion: I2F : add Assert for case src_size is Short
2020-02-19 11:40:35 +07:00
Nguyen Dac Nam
92153118ab
fix warning
2020-02-19 11:10:26 +07:00
Nguyen Dac Nam
84fc48b0eb
clang-format fix
2020-02-19 11:02:59 +07:00
Nguyen Dac Nam
0d9361d21f
shader_conversion: add conversion I2F for Short
2020-02-19 10:54:37 +07:00
bunnei
628c0b6a95
Merge pull request #3410 from ReinUsesLisp/vk-draw-index
...
vk_shader_decompiler: Fix vertex id and instance id
2020-02-18 22:37:33 -05:00
Nguyen Dac Nam
c9448bc5ba
vk_shader: add Capability StorageImageReadWithoutFormat
2020-02-19 10:16:51 +07:00
Brian Clinkenbeard
050a4362ad
httplib compatibility
2020-02-18 18:04:33 -08:00
Nguyen Dac Nam
c646835eb0
vk_shader: Implement function ImageLoad (Used by Kirby Start Allies)
...
Please enter the commit message for your changes. Lines starting
2020-02-19 08:39:01 +07:00
Nguyen Dac Nam
85e76831a1
fixups mistake auto commit.
2020-02-19 01:24:32 +07:00
Nguyen Dac Nam
418b7ffb21
Update code structure
...
Co-Authored-By: Mat M. <mathew1800@gmail.com>
2020-02-19 01:23:08 +07:00
Fernando Sahmkow
d67c538d68
Merge pull request #3409 from ReinUsesLisp/host-queries
...
query_cache: Implement a query cache and query 21 (samples passed)
2020-02-18 11:31:06 -04:00
Nguyen Dac Nam
af67c90eca
add vertex UnsignedInt size RGBA
2020-02-18 21:52:51 +07:00
Nguyen Dac Nam
2058556671
add eBc2SrgbBlock to formats
2020-02-18 21:44:09 +07:00
Nguyen Dac Nam
6d36df9e5d
vulkan: add DXT23_SRGB
2020-02-18 21:39:50 +07:00
Nguyen Dac Nam
fa641bf689
renderer_vulkan: Add the rest of case for TryConvertBorderColor
2020-02-18 16:52:54 +07:00
CJBok
7ec4bd7793
analog_from_button get direction implementation
2020-02-18 06:45:37 +01:00
bunnei
92e3fb6e2f
Merge pull request #3412 from Morph1984/aspect-ratio
...
GUI: Add aspect ratio dropdown
2020-02-17 22:02:18 -05:00
bunnei
a251713173
Merge pull request #3420 from namkazt/master2
...
nvhost_gpu: implement ChannelSetTimeslice
2020-02-17 00:31:11 -05:00
ReinUsesLisp
505f30fdaf
texture_cache: Implement layered framebuffer attachments
...
Layered framebuffer attachments is a feature that allows applications to
write attach layered textures to a single attachment. What layer the
fragments are written to is decided from the shader using gl_Layer.
2020-02-16 04:19:32 -03:00
ReinUsesLisp
6385b93c8d
vk_shader_decompiler: Implement Layer output attribute
...
SPIR-V's Layer is GLSL's gl_Layer. It lets the application choose from a
shader stage (vertex, tessellation or geometry) which framebuffer layer
write the output fragments to.
2020-02-16 04:17:37 -03:00
ReinUsesLisp
b4bd0c57e4
texture_cache: Avoid matches in 3D textures
...
Code before this commit was trying to match 3D textures with another
target. Fix that.
2020-02-16 04:15:42 -03:00
ReinUsesLisp
4fd155c282
surface_base: Implement texture buffer flushes
...
Implement downloads to guest memory from texture buffers on the generic
cache and OpenGL.
2020-02-16 04:13:27 -03:00
Nguyen Dac Nam
2807020c01
IUserLocalCommunicationService: add function Initialize2
2020-02-16 13:24:34 +07:00
Nguyen Dac Nam
c4e8f9589a
HLE: correct function name of IUserLocalCommunicationService
...
402: function name should be Initialize2 (7.0.0+) not SetOperationMode
Follow by: https://switchbrew.org/wiki/LDN_services#IUserLocalCommunicationService
2020-02-16 13:14:06 +07:00
namkazy
8bb64da7ac
nvhost_gpu: implement ChannelSetTimeslice
2020-02-16 11:53:03 +07:00
bunnei
f382179d47
Revert "video_core: memory_manager: Use GPU interface for cache functions."
2020-02-15 17:47:15 -05:00
ReinUsesLisp
f3255c3598
texture: Implement R32I
2020-02-15 16:26:50 -03:00
ReinUsesLisp
f37f4e76d6
shader/texture: Allow 2D shadow arrays and simplify code
...
Shadow sampler 2D arrays are supported on OpenGL, so there's no reason
to forbid these. Enable textureLod usage on these.
Minor style changes.
2020-02-15 02:36:28 -03:00
ReinUsesLisp
518a6182f9
maxwell_3d: Unify draw methods
...
Pass instanced state of a draw invocation as an argument instead of
having two separate virtual methods.
2020-02-14 18:09:40 -03:00
ReinUsesLisp
4364492b95
query_cache: Address feedback
2020-02-14 17:38:27 -03:00
ReinUsesLisp
80fff282df
query_cache: Fix ambiguity in CacheAddr getter
2020-02-14 17:38:27 -03:00
ReinUsesLisp
748a3cd69d
query_cache: Add a recursive mutex for concurrent usage
2020-02-14 17:38:27 -03:00
ReinUsesLisp
aaf68dc10b
vk_query_cache: Implement generic query cache on Vulkan
2020-02-14 17:38:27 -03:00
ReinUsesLisp
1b2a6980f5
query_cache: Abstract OpenGL implementation
...
Abstract the current OpenGL implementation into the VideoCommon
namespace and reimplement it on top of that. Doing this avoids repeating
code and logic in the Vulkan implementation.
2020-02-14 17:38:27 -03:00
ReinUsesLisp
d8a42816d7
gl_query_cache: Optimize query cache
...
Use a custom cache instead of relying on a ranged cache.
2020-02-14 17:38:27 -03:00
ReinUsesLisp
339a227a5e
gl_query_cache: Implement host queries using a deferred cache
...
Instead of waiting immediately for executed commands, defer the query
until the guest CPU reads it. This way we get closer to what the guest
program is doing.
To archive this we have to build a dependency queue, because host APIs
(like OpenGL and Vulkan) use ranged queries instead of counters like
NVN.
Waiting for queries implicitly uses fences and this requires a command
being queued, otherwise the driver will lock waiting until a timeout. To
fix this when there are no commands queued, we explicitly call glFlush.
2020-02-14 17:33:13 -03:00
ReinUsesLisp
9d7d67501f
gl_rasterizer: Sort method declarations
2020-02-14 17:27:17 -03:00
ReinUsesLisp
7129efe9b2
gl_rasterizer: Add queued commands counter
...
Keep track of the queued OpenGL commands that can signal a fence if
waited on. As a side effect, we avoid calls to glFlush when no commands
are queued.
2020-02-14 17:27:17 -03:00
ReinUsesLisp
11206f8a28
maxwell_3d: Slow implementation of passed samples (query 21)
...
Implements GL_SAMPLES_PASSED by waiting immediately for queries.
2020-02-14 17:27:17 -03:00
bunnei
2e46017b66
Merge pull request #3401 from FernandoS27/synchronization
...
Set of refactors for Kernel Synchronization and Hardware Constants
2020-02-14 14:40:20 -05:00
Morph
5afb6b95ed
Add 4:3 aspect ratio and address feedback
2020-02-14 14:39:04 -05:00
bunnei
082ba6fc64
Merge pull request #3379 from ReinUsesLisp/cbuf-offset
...
shader/decode: Fix constant buffer offsets
2020-02-14 13:22:53 -05:00
Fernando Sahmkow
f326183e8b
Core: Correct compilition in GCC
2020-02-14 05:53:30 -04:00
Morph
5abb2b6336
Address feedback
2020-02-14 00:06:26 -05:00
Morph
db5dc22c68
Use enumeration instead of magic numbers
2020-02-13 23:13:23 -05:00
Morph
74a490c909
Add following aspect ratios: 16:9, 21:9, Stretch to Window
...
Available as a drop down within the configure graphics tab.
2020-02-13 22:17:28 -05:00
bunnei
f542fc989d
Merge pull request #3400 from makigumo/patch-1
...
update hwopus DecodeInterleaved for FW 7.0.0+
2020-02-13 21:26:13 -05:00
ReinUsesLisp
3603c2f559
gl_resource_manager: Add managed query class
2020-02-13 22:25:55 -03:00
bunnei
12b89ac3d0
Merge pull request #3395 from FernandoS27/queries
...
GPU: Refactor queries implementation and correct GPU Clock.
2020-02-13 20:18:26 -05:00
ReinUsesLisp
8449d0cf4e
gl_rasterizer: Use the least generic OpenGL draw function possible
...
This may help some implementations.
2020-02-13 21:55:21 -03:00
ReinUsesLisp
072a0bff5e
vk_shader_decompiler: Fix vertex id and instance id
...
Vulkan's VertexIndex and InstanceIndex don't match with hardware. This
is because Nvidia implements gl_VertexID and gl_InstanceID. The math
that relates these is:
gl_VertexIndex = gl_BaseVertex + gl_VertexID
gl_InstanceIndex = gl_InstanceIndex + gl_InstanceID
To emulate it using what Vulkan's SPIR-V offers (the *Index variants)
this commit substracts gl_Base* from gl_*Index to obtain the OpenGL and
hardware's equivalent.
2020-02-13 20:25:28 -03:00
Fernando Sahmkow
0d2a459fae
Core: Address Feedback
2020-02-13 19:10:33 -04:00
Fernando Sahmkow
2dd9d660e3
GPU: Address Feedback.
2020-02-13 18:16:07 -04:00
Lioncash
5c0742bb94
address_arbiter: Collapse loops in InsertThread() and RemoveThread()
...
Same behavior, but without the need to explicitly loop through
everything manually.
2020-02-12 15:34:07 -05:00
Lioncash
3105b7864c
address_arbiter: Simplify GetThreadsWaitingOnAddress()
...
Simplifies the overall function and also allows for it to become a
const-qualified member function.
2020-02-12 15:10:16 -05:00
bunnei
3184bdd36c
Merge pull request #3403 from lioncash/debug
...
bcat/backend: Prevent fmt exception in debug log within NullBackend::Clear()
2020-02-12 11:17:43 -05:00
Lioncash
d5435df964
bcat/backend: Make formatting of passphrase consistent in NullBackend::SetPassphrase()
...
Aligns the '=' to be consistent with the rest of the logs within this
source file.
2020-02-12 01:18:29 -05:00
Lioncash
8792d4562c
bcat/backend: Prevent fmt exception in debug log within NullBackend::Clear()
...
A formatting specifier within Clear wasn't being used, which will cause
fmt to throw an exception. This fixes that.
2020-02-12 01:14:47 -05:00
Lioncash
750c48af18
kernel/thread: Remove trivial usages of the global system accessor
...
We can just use the kernel member variable directly instead of going
through the system to obtain the same thing.
2020-02-12 01:00:41 -05:00
Fernando Sahmkow
6fc0790f3a
Core: Set all hardware emulation constants in a single file.
2020-02-11 20:19:11 -04:00
Fernando Sahmkow
1ee7a4d926
Kernel: Refactor synchronization to better match RE
2020-02-11 18:47:31 -04:00
makigumo
b71b872e74
update hwopus DecodeInterleaved for FW 7.0.0+
...
trivial change,
see https://switchbrew.org/wiki/Audio_services#IHardwareOpusDecoder
2020-02-11 18:41:04 +01:00
Fernando Sahmkow
3a7f539463
Kernel: Change WaitObject to Synchronization object. In order to better reflect RE.
2020-02-11 10:46:25 -04:00
bunnei
840326a322
Merge pull request #3376 from ReinUsesLisp/point-sprite
...
gl_rasterizer: Implement GL_POINT_SPRITE
2020-02-11 08:26:07 -05:00
Fernando Sahmkow
04c3213a01
GPU: Implement GPU Clock correctly.
2020-02-10 10:44:54 -04:00
Fernando Sahmkow
8137fb8981
Maxwell3D: Correct query reporting.
2020-02-10 10:41:43 -04:00
bunnei
a47f0ff68b
Merge pull request #3372 from ReinUsesLisp/fix-back-stencil
...
maxwell_3d: Fix stencil back mask
2020-02-09 22:29:28 -05:00
Zach Hilman
2a1331b683
Merge pull request #3391 from Morph1984/remove-unknown
...
Remove option "Show files with type 'Unknown'"
2020-02-09 12:08:01 -05:00
Morph
db09e18f72
Remove option "Show files with type 'Unknown'"
2020-02-09 11:30:02 -05:00
bunnei
505ddc95cd
Merge pull request #3388 from bunnei/service-shared-ptr
...
hle: services: Use std::shared_ptr instead of copy by value.
- This is a prerequisite to adding a mutex to `ServiceFramework`, which cannot be copied.
- This will be used for threaded services.
2020-02-08 21:35:30 -05:00
bunnei
d63149ce8a
Merge pull request #3387 from bunnei/gpu-mpscqueue
...
gpu_thread: Use MPSCQueue for GPU commands.
2020-02-08 21:15:48 -05:00
bunnei
3edec585bc
hle: services: Use std::shared_ptr instead of copy by value.
2020-02-07 23:02:26 -05:00
bunnei
fc246fd1a2
gpu_thread: Use MPSCQueue for GPU commands.
...
- Necessary for multiple service threads.
2020-02-07 23:01:23 -05:00
bunnei
f28ab9626e
video_core: memory_manager: Use GPU interface for cache functions.
2020-02-07 22:59:35 -05:00