bunnei
cd40782922
Merge pull request #2099 from greggameplayer/BGRA8-Framebuffer-Real
...
Implement BGRA8 framebuffer format
2019-02-12 21:44:20 -05:00
ReinUsesLisp
84e733b530
vk_device: Abstract device handling into a class
...
VKDevice contains all the data required to manage and initialize a
physical device. Its intention is to be passed across Vulkan objects to
query device-specific data (for example the logical device and the
dispatch loader).
2019-02-12 21:43:02 -03:00
Lioncash
5148d46c96
renderer_opengl: Remove reference to global system instance
...
We already store a reference to the system instance that the renderer is
created with, so we don't need to refer to the system instance via
Core::System::GetInstance()
2019-02-12 19:33:22 -05:00
bunnei
527f634966
Merge pull request #2110 from lioncash/namespace
...
core_timing: Rename CoreTiming namespace to Core::Timing
2019-02-12 19:26:37 -05:00
bunnei
0a8da3bda8
Merge pull request #2104 from ReinUsesLisp/compute-assert
...
kepler_compute: Fixup assert and rename the engine
2019-02-12 19:24:34 -05:00
Lioncash
59c24377d6
gl_rasterizer_cache: Remove unnecessary newline
2019-02-12 16:56:19 -05:00
Lioncash
7c92885c53
gl_rasterizer_cache: Get rid of variable shadowing
...
Avoids shadowing the members of the struct itself, which results in a
-Wshadow warning.
2019-02-12 16:46:39 -05:00
ReinUsesLisp
b6cd64f1c3
renderer_vulkan: Add declarations file
...
This file is intended to be included instead of vulkan/vulkan.hpp. It
includes declarations of unique handlers using a dynamic dispatcher
instead of a static one (which would require linking to a Vulkan
library).
2019-02-12 18:33:02 -03:00
ReinUsesLisp
0c7b5355c3
logging: Add Vulkan backend logging class type
2019-02-12 18:33:02 -03:00
ReinUsesLisp
0f0152963c
gl_shader_decompiler: Re-implement TLDS lod
2019-02-12 17:03:07 -03:00
Lioncash
1d2de5c4b5
core_timing: Rename CoreTiming namespace to Core::Timing
...
Places all of the timing-related functionality under the existing Core
namespace to keep things consistent, rather than having the timing
utilities sitting in its own completely separate namespace.
2019-02-12 12:42:17 -05:00
bunnei
1750316633
Merge pull request #2108 from FernandoS27/fix-cc
...
Fix incorrect value for CC bit in IADD
2019-02-12 10:39:03 -05:00
bunnei
047a5002b7
Merge pull request #2109 from FernandoS27/fix-f2i
...
Corrected F2I None mode to RoundEven.
2019-02-12 10:20:29 -05:00
bunnei
7bdfcf3bbc
Merge pull request #2068 from ReinUsesLisp/shader-cleanup-textures
...
shader_ir: Clean texture management code
2019-02-12 10:20:15 -05:00
Fernando Sahmkow
0f8f14a732
Corrected F2I None mode to RoundEven.
2019-02-11 18:46:45 -04:00
Fernando Sahmkow
ec3c66c847
Fix incorrect value for CC bit in IADD
2019-02-11 16:44:43 -04:00
ReinUsesLisp
6dfc564d12
kepler_compute: Fixup assert and rename engines
...
When I originally added the compute assert I used the wrong
documentation. This addresses that.
The dispatch register was tested with homebrew against hardware and is
triggered by some games (e.g. Super Mario Odyssey). What exactly is
missing to get a valid program bound by this engine requires more
investigation.
2019-02-10 19:29:33 -03:00
greggameplayer
b4603fafcb
Implement BGRA8 framebuffer format
2019-02-09 23:44:01 +01:00
bunnei
a6452e772f
Merge pull request #1904 from bunnei/better-fermi-copy
...
gl_rasterizer: Implement a more accurate fermi 2D copy.
2019-02-08 23:32:24 -05:00
bunnei
c9a2c171f3
Merge pull request #2096 from FearlessTobi/patch-3
...
nvdisp_disp0: change drawing message log level from Warning to Trace
2019-02-08 21:56:47 -05:00
Fernando Sahmkow
6d7c42a7ee
Implement linear textures ( #2089 )
2019-02-08 18:28:01 -05:00
ReinUsesLisp
37fa502428
gl_rasterizer_cache: Fixup texture view parameters
...
These parameters were declared as constants and passed to glTextureView
but then they were removed on a rabase. This addresses that mistake.
2019-02-08 18:32:58 -03:00
Tobias
cccf8f1423
nvdisp_disp0: change drawing message log level from Warning to Trace
...
This is a leftover from the early yuzu days.
We shouldn't log every time when we are drawing by default, so let's change the log level to Trace.
2019-02-08 19:26:49 +01:00
ReinUsesLisp
9fe3f3a100
shader_ir: Remove F4 prefix to texture operations
...
This was originally included because texture operations returned a vec4.
These operations now return a single float and the F4 prefix doesn't
mean anything.
2019-02-07 17:36:46 -03:00
ReinUsesLisp
31305cad93
shader_ir: Clean texture management code
...
Previous code relied on GLSL parameter order (something that's always
ill-formed on an IR design). This approach passes spatial coordiantes
through operation nodes and array and depth compare values in the the
texture metadata. It still contains an "extra" vector containing generic
nodes for bias and component index (for example) which is still a bit
ill-formed but it should be better than the previous approach.
2019-02-07 00:46:13 -03:00
bunnei
6f3f5f5d99
Merge pull request #2083 from ReinUsesLisp/shader-ir-cbuf-tracking
...
shader/track: Add a more permissive global memory tracking
2019-02-06 21:56:14 -05:00
bunnei
07e83ca08b
gl_rasterizer_cache: Mark surface copy destinations as modified.
2019-02-06 21:54:25 -05:00
bunnei
4e28975608
gl_rasterizer: Implement a more accurate fermi 2D copy.
...
- This is a blit, use the blit registers.
2019-02-06 21:54:21 -05:00
bunnei
b214b091ef
Merge pull request #2091 from FearlessTobi/port-4603
...
Port citra-emu/citra#4603 : "gdbstub: only let Execute breakpoints write/restore BKPT opcodes into target memory"
2019-02-06 21:51:46 -05:00
ReinUsesLisp
0726b490dd
cmake: Fix title bar issue
2019-02-06 22:23:41 -03:00
Frederic L
bd216cd3cb
gl_shader_disk_cache: Check LZ4 size limit
...
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-02-06 22:23:41 -03:00
Frederic L
39627da4a9
gl_shader_disk_cache: Consider compressed size zero as an error
...
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-02-06 22:23:41 -03:00
Frederic L
bec5eeec31
cmake: Use CMAKE_COMMAND instead of "cmake"
...
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-02-06 22:23:41 -03:00
ReinUsesLisp
8e8b793a51
gl_shader_disk_cache: Use unordered containers
2019-02-06 22:23:41 -03:00
ReinUsesLisp
6609f2a614
gl_shader_cache: Fixup GLSL unique identifiers
2019-02-06 22:23:40 -03:00
ReinUsesLisp
471ebf0757
loading_screen: Unchunk progress bar
2019-02-06 22:23:40 -03:00
ReinUsesLisp
f1e717fbee
gl_shader_cache: Link loading screen with disk shader cache load
2019-02-06 22:23:40 -03:00
ReinUsesLisp
66a3760a71
gl_shader_cache: Set GL_PROGRAM_SEPARABLE to dumped shaders
...
i965 (and probably all mesa drivers) require GL_PROGRAM_SEPARABLE when using
glProgramBinary. This is probably required by the standard but it's ignored by
permisive proprietary drivers.
2019-02-06 22:23:40 -03:00
ReinUsesLisp
ea2ce59743
gl_shader_disk_cache: Pass core system as argument and guard against games without title ids
2019-02-06 22:23:40 -03:00
ReinUsesLisp
f9bcb4e842
gl_shader_disk_cache: Guard reads and writes against failure
2019-02-06 22:23:40 -03:00
ReinUsesLisp
720c2456f4
gl_shader_disk_cache: Address miscellaneous feedback
2019-02-06 22:23:40 -03:00
ReinUsesLisp
fcf98dc3f7
gl_shader_disk_cache: Pass return values returning instead of by parameters
2019-02-06 22:23:40 -03:00
ReinUsesLisp
e2f4c2b9d9
gl_shader_disk_cache: Compress program binaries using LZ4
2019-02-06 22:23:39 -03:00
ReinUsesLisp
92682d3bfa
gl_shader_disk_cache: Compress GLSL code using LZ4
2019-02-06 22:23:39 -03:00
ReinUsesLisp
d83818d30a
gl_shader_disk_cache: Save GLSL and entries into the precompiled file
2019-02-06 22:23:39 -03:00
ReinUsesLisp
1342998379
settings: Hide shader cache behind a setting
2019-02-06 22:20:57 -03:00
ReinUsesLisp
8b1a7aa19d
gl_shader_disk_cache: Invalidate shader cache changes with CMake hash
2019-02-06 22:20:57 -03:00
ReinUsesLisp
bb69f9fb7a
gl_shader_cache: Refactor to support disk shader cache
2019-02-06 22:20:57 -03:00
ReinUsesLisp
a931bb68cd
gl_shader_disk_cache: Add transferable cache invalidation
2019-02-06 22:20:57 -03:00
ReinUsesLisp
b33860b218
gl_shader_disk_cache: Add precompiled load
2019-02-06 22:20:57 -03:00
ReinUsesLisp
c0da61936c
gl_shader_disk_cache: Add precompiled save
2019-02-06 22:20:57 -03:00
ReinUsesLisp
550111b091
gl_shader_disk_cache: Add transferable load
2019-02-06 22:20:57 -03:00
ReinUsesLisp
7012b1a5a4
gl_shader_disk_cache: Add transferable stores
2019-02-06 22:20:57 -03:00
ReinUsesLisp
ac7a6ef85f
gl_shader_disk_cache: Add ShaderDiskCacheOpenGL class and helpers
2019-02-06 22:20:57 -03:00
ReinUsesLisp
09225145c9
gl_shader_disk_cache: Add file and move BaseBindings declaration
2019-02-06 22:20:57 -03:00
ReinUsesLisp
658959673b
gl_shader_decompiler: Remove name entries
2019-02-06 22:20:57 -03:00
ReinUsesLisp
4eb946829d
gl_shader_util: Add parameter to handle retrievable programs
2019-02-06 22:20:57 -03:00
ReinUsesLisp
5bed286abf
rasterizer_interface: Add disk cache entry for the rasterizer
2019-02-06 22:20:57 -03:00
ReinUsesLisp
f75174d195
file_util: Add shader directory
2019-02-06 22:20:57 -03:00
ReinUsesLisp
0d6369989d
shader_decode: Implement LDG and basic cbuf tracking
2019-02-06 22:20:57 -03:00
bunnei
af54c6770a
Merge pull request #2042 from ReinUsesLisp/nouveau-tex
...
maxwell_3d: Allow texture handles with TIC id zero
2019-02-06 20:19:20 -05:00
bunnei
13f3423d68
Merge pull request #2071 from ReinUsesLisp/dsa-texture
...
gl_rasterizer: Use DSA for textures and move swizzling to texture state
2019-02-06 20:17:59 -05:00
Dimitri ALBORA
c7d6afc04a
gdbstub: only let Execute breakpoints write/restore BKPT opcodes into target memory
2019-02-06 19:07:35 +01:00
bunnei
784bb782f5
Merge pull request #2057 from FearlessTobi/port-4586
...
Port citra-emu/citra#4586 : "Use QPixmap/QIcon for background color selection button"
2019-02-06 12:37:57 -05:00
bunnei
4e72e46332
Merge pull request #2086 from FearlessTobi/port-4583
...
Port citra-emu/citra#4583 : "citra_qt: Fix saving screenshot when no file extension is provided"
2019-02-06 12:33:35 -05:00
bunnei
ed8b02bf5f
Merge pull request #2087 from lioncash/const
...
service/nvflinger, service/vi: Improve error case handling
2019-02-06 12:33:13 -05:00
bunnei
a62bb70902
Merge pull request #2088 from jroweboy/h
...
QT: Fix the loading screen 'H' switch logo to not glitch out
2019-02-05 21:06:39 -05:00
James Rowe
4d5b53faab
QT: Fix the loading screen 'H' switch logo to not glitch out
2019-02-05 18:24:15 -07:00
Lioncash
ac9fcf2ca2
service/nvflinger,service/vi: Handle failure cases with exposed API
...
Converts many of the Find* functions to return a std::optional<T> as
opposed to returning the raw return values directly. This allows
removing a few assertions and handles error cases like the service
itself does.
2019-02-05 18:03:28 -05:00
bunnei
8f02e0554c
Merge pull request #2085 from ReinUsesLisp/cube-minus-one
...
video_core/texture: Fix BitField size for depth_minus_one
2019-02-05 17:15:26 -05:00
xperia64
a65c9b1f55
Fix crash when no files are selected
2019-02-05 22:40:23 +01:00
xperia64
1fd1f7a053
Add file extension to screenshot filename if not provided
2019-02-05 22:31:37 +01:00
Lioncash
49a28d52da
service/nvflinger: Mark FindVsyncEvent() as a const member function
...
This member function doesn't actually modify instance state, so it can
be marked as a const member function.
2019-02-05 15:57:29 -05:00
Lioncash
797fbcc6dd
service/nvflinger: Rename GetVsyncEvent() to FindVsyncEvent()
...
This was missed within #2075 . Renames the member function to make it
consistent with the rest of the Find* functions.
2019-02-05 15:55:18 -05:00
bunnei
38df722dc7
Merge pull request #2081 from ReinUsesLisp/lmem-64
...
shader_ir/memory: Add LD_L 64 bits loads
2019-02-05 09:17:48 -05:00
ReinUsesLisp
c1e8fe0067
video_core/texture: Fix BitField size for depth_minus_one
2019-02-05 04:32:06 -03:00
bunnei
66514e4190
Merge pull request #2082 from FernandoS27/txq-stl
...
Fix TXQ not using the component mask.
2019-02-04 20:22:32 -05:00
Mat M
6506dbc577
Update src/video_core/engines/shader_bytecode.h
...
Co-Authored-By: FernandoS27 <fsahmkow27@gmail.com>
2019-02-03 21:27:26 -04:00
Fernando Sahmkow
4133c86d71
Fix TXQ not using the component mask.
2019-02-03 18:17:18 -04:00
ReinUsesLisp
a6c3180b68
shader_ir/memory: Add ST_L 64 and 128 bits stores
2019-02-03 19:08:10 -03:00
ReinUsesLisp
13b83e6e0f
shader/track: Search inside of conditional nodes
...
Some games search conditionally use global memory instructions. This
allows the heuristic to search inside conditional nodes for the source
constant buffer.
2019-02-03 17:21:20 -03:00
ReinUsesLisp
92c948999b
shader_ir: Rename BasicBlock to NodeBlock
...
It's not always used as a basic block. Rename it for consistency.
2019-02-03 17:21:20 -03:00
ReinUsesLisp
e3c0f29a4d
shader_ir: Pass decoded nodes as a whole instead of per basic blocks
...
Some games call LDG at the top of a basic block, making the tracking
heuristic to fail. This commit lets the heuristic the decoded nodes as a
whole instead of per basic blocks.
This may lead to some false positives but allows it the heuristic to
track cases it previously couldn't.
2019-02-03 17:21:20 -03:00
ReinUsesLisp
af1543712d
video_core: Assert on invalid GPU to CPU address queries
2019-02-03 04:58:40 -03:00
ReinUsesLisp
c73b44fc35
maxwell_3d: Allow sampler handles with TSC id zero
2019-02-03 04:58:40 -03:00
ReinUsesLisp
04fe4a72b9
maxwell_3d: Allow texture handles with TIC id zero
...
Also remove "enabled" field from Tegra::Texture::FullTextureInfo because
it would become unused.
2019-02-03 04:58:24 -03:00
ReinUsesLisp
36ccfac47b
memory_manager: Check for reserved page status
2019-02-03 04:58:24 -03:00
ReinUsesLisp
0b57f33fdf
shader_ir/memory: Add LD_L 128 bits loads
2019-02-03 00:35:34 -03:00
ReinUsesLisp
5ae8a056fe
shader_bytecode: Rename BytesN enums to BitsN
2019-02-03 00:25:40 -03:00
ReinUsesLisp
a8cbcb1210
shader_ir/memory: Add LD_L 64 bits loads
2019-02-03 00:25:40 -03:00
bunnei
896b6769d2
Merge pull request #2074 from ReinUsesLisp/shader-ir-unify-offset
...
shader_ir: Unify constant buffer offset values
2019-02-01 13:24:04 -05:00
bunnei
4f69ee9076
Merge pull request #2073 from lioncash/opus
...
hwopus: Implement DecodeInterleaved (the newest variant)
2019-02-01 13:02:16 -05:00
bunnei
26a37f8ae9
Merge pull request #2067 from ReinUsesLisp/workaround-fb
...
gl_rasterizer: Workaround invalid zeta clears
2019-02-01 12:50:09 -05:00
bunnei
3913faf1c0
Merge pull request #2078 from lioncash/timer
...
kernel: Remove the Timer class
2019-02-01 12:49:16 -05:00
ReinUsesLisp
14098c39af
rasterizer_interface: Remove unused AccelerateFill operation
2019-02-01 03:02:22 -03:00
ReinUsesLisp
74a039d0bc
video_core: Remove unused Fill surface type
2019-02-01 02:57:47 -03:00
Lioncash
c6d2828c74
kernel: Remove the Timer class
...
A holdover from citra, the Horizon kernel on the switch has no
prominent kernel object that functions as a timer. At least not
to the degree of sophistication that this class provided.
As such, this can be removed entirely. This class also wasn't used at
all in any meaningful way within the core, so this was just code sitting
around doing nothing. This also allows removing a few things from the
main KernelCore class that allows it to use slightly less resources
overall (though very minor and not anything really noticeable).
2019-01-31 23:05:15 -05:00
bunnei
08a12177f8
Merge pull request #2072 from lioncash/service
...
service: Update function tables
2019-01-31 15:19:44 -05:00
bunnei
b36d0deee7
Merge pull request #2077 from lioncash/virt
...
kernel/wait_object: Devirtualize functions related to manipulating the thread list directly
2019-01-31 15:19:02 -05:00
bunnei
0e1ad2492a
Merge pull request #2075 from lioncash/find
...
service/nvflinger: Minor renaming changes
2019-01-31 11:08:36 -05:00
ReinUsesLisp
b68fd9e6e9
gl_rasterizer_cache: Fixup test clause
2019-01-30 19:10:35 -03:00
Mat M
6ebdc75cce
gl_rasterizer_cache: Guard clause swizzle testing
...
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-01-30 19:10:35 -03:00
ReinUsesLisp
3dfcff175f
gl_state: Remove texture target tracking
2019-01-30 19:10:35 -03:00
ReinUsesLisp
412d59512a
gl_rasterizer_cache: Move swizzling to textures instead of state
2019-01-30 19:10:35 -03:00
ReinUsesLisp
5ab4113388
gl_state: Use DSA and multi bind to update texture bindings
2019-01-30 19:10:11 -03:00
ReinUsesLisp
c6c0c7947d
gl_rasterizer: Use DSA for textures
2019-01-30 19:10:11 -03:00
Lioncash
9399a2efe5
kernel/wait_object: Devirtualize functions related to manipulating the thread list directly
...
No inheritors of the WaitObject class actually make use of their own
implementations of these functions, so they can be made non-virtual.
It's also kind of sketchy to allow overriding how the threads get added
to the list anyways, given the kernel itself on the actual hardware
doesn't seem to customize based off this.
2019-01-30 12:50:37 -05:00
Lioncash
84f0a76c97
kernel/timer: Remove unnecessary WakeupAllWaitingThreads() override
...
This implementation just calls the base class variant of the function,
so this isn't necessary.
2019-01-30 12:45:00 -05:00
Lioncash
53c17e5dca
kernel/readable_event: Remove unnecessary WakeupAllWaitingThreads() override
...
This just calls the base variant of the function, so it can be removed.
2019-01-30 12:45:00 -05:00
Hexagon12
874de50bb4
Merge pull request #2076 from lioncash/enc
...
video_core/dma_pusher: Silence C4828 warnings
2019-01-30 19:42:15 +02:00
Lioncash
82a466695f
video_core/dma_pusher: Silence C4828 warnings
...
This was previously causing:
warning C4828: The file contains a character starting at offset 0xa33
that is illegal in the current source character set (codepage 65001).
warnings on Windows when compiling yuzu.
2019-01-30 12:36:31 -05:00
bunnei
6fb1297325
Merge pull request #1485 from FernandoS27/render-info
...
Add more info into textures' object labels
2019-01-30 12:35:56 -05:00
Lioncash
3e78328569
hwopus: Implement DecodeInterleaved
...
This functions almost identically to DecodeInterleavedWithPerfOld,
however this function also has the ability to reset the decoder context.
This is documented as a potentially desirable thing in the libopus
manual in some circumstances as it says for the OPUS_RESET_STATE ctl:
"This should be called when switching streams in order to prevent the
back to back decoding from giving different result from one at a time
decoding."
2019-01-30 11:35:41 -05:00
Lioncash
7ba76e0c34
service/nvflinger: Make FindBufferQueueId() a const member function
...
This member function doesn't actually modify instance state, so it can
be const-qualified.
2019-01-30 11:14:08 -05:00
Lioncash
f57dd1bae3
service/nvflinger: Rename Get prefix on function to Find
...
This more accurately describes what the function is actually attempting
to do (it's not a simple trivial getter).
2019-01-30 11:11:32 -05:00
ReinUsesLisp
12fbe5dcf8
shader_ir: Unify constant buffer offset values
...
Constant buffer values on the shader IR were using different offsets if
the access direct or indirect. cbuf34 has a non-multiplied offset while
cbuf36 does. On shader decoding this commit multiplies it by four on
cbuf34 queries.
2019-01-30 02:45:50 -03:00
Lioncash
2031c390f0
hwopus: Deduplicate the decoding code within DecodeInterleavedOld and DecodeInterleavedWithPerfOld
...
Keeps the logic in one spot for use by both functions.
2019-01-29 22:53:35 -05:00
Lioncash
bed6adebc3
hwopus: Replace std::optional<std::reference_wrapper<u64>> with u64*
...
This doesn't really offer anything over the use of a direct pointer, so
we can just use that instead.
2019-01-29 22:53:35 -05:00
Lioncash
023e37145a
hwopus: Mark local variables as const where applicable
...
Makes non-mutable state more explicit.
2019-01-29 22:53:35 -05:00
Lioncash
449c62df51
hwopus: Fill in the rest of the unknown service function names
...
Filled in via information provided by SwitchBrew.
2019-01-29 22:53:34 -05:00
Lioncash
136b8812a6
service/ns: Update function tables
...
Updates function tables based off information provided by SwitchBrew
2019-01-29 22:50:26 -05:00
Lioncash
0b8ce4befe
service/ncm: Update function tables
...
Updates function tables based off information provided by SwitchBrew
2019-01-29 22:50:26 -05:00
Lioncash
8ed3c04db3
service/audio: Update function tables
...
Updates function tables based off information provided by SwitchBrew.
2019-01-29 22:50:26 -05:00
Lioncash
7da00811be
service/am/applet_ae: Update function tables
...
Updates function tables based off information provided by SwitchBrew.
2019-01-29 22:50:26 -05:00
Lioncash
6f5785adaf
service/fsp-srv: Update function tables
...
Updates function tables based off information provided by SwitchBrew.
2019-01-29 22:50:26 -05:00
Lioncash
75e8a6f41d
service/btm: Update function tables
...
Updates function tables based off information provided by SwitchBrew
2019-01-29 22:50:26 -05:00
Lioncash
d7bb82aaa6
service/btdrv: Update function tables
...
Updates function tables based off information provided by SwitchBrew.
2019-01-29 22:50:18 -05:00
bunnei
d0219e0512
Merge pull request #2070 from ReinUsesLisp/cubearray-view
...
gl_shader_cache: Fix texture view for cubemaps as cubemap arrays
2019-01-29 22:27:08 -05:00
bunnei
003505a8e7
Merge pull request #2069 from lioncash/vi
...
service/nvflinger: Add the null display type
2019-01-29 22:25:26 -05:00
ReinUsesLisp
5649c48967
gl_shader_cache: Use explicit bindings
2019-01-30 00:11:02 -03:00
ReinUsesLisp
ea24bd3c2a
gl_rasterizer: Implement global memory management
2019-01-30 00:00:15 -03:00
ReinUsesLisp
d516c50fe2
shader_decode: Implement LDG and basic cbuf tracking
2019-01-30 00:00:15 -03:00
Kevin
e156f51825
video_core/GPU Implemented the GPU PFIFO puller semaphore operations. ( #1908 )
...
* Implemented the puller semaphore operations.
* Nit: Fix 2 style issues
* Nit: Add Break to default case.
* Fix style.
* Update for comments. Added ReferenceCount method
* Forgot to remove GpuSmaphoreAddress union.
* Fix the clang-format issues.
* More clang formatting.
* two more white spaces for the Clang formatting.
* Move puller members into the regs union
* Updated to use Memory::WriteBlock instead of Memory::Write*
* Fix clang style issues
* White space clang error
* Removing unused funcitons and other pr comment
* Removing unused funcitons and other pr comment
* More union magic for setting regs value.
* union magic refcnt as well
* Remove local var
* Set up the regs and regs_assert_positions up properly
* Fix clang error
2019-01-29 21:49:18 -05:00
ReinUsesLisp
2a94d36231
gl_shader_cache: Fix texture view for cubemaps as cubemap arrays
...
Cubemaps are considered layered and to create a texture view the texture
mustn't be a layered texture, resulting in cubemaps being bound as
cubemap arrays. To fix this issue this commit introduces an extra
surface parameter called "is_array" and uses this to query for texture
view creation.
Now that texture views for cubemaps are actually being created, this
also fixes the number of layers created for the texture view (since they
have to be 6 to create a texture view of cubemaps).
2019-01-29 23:49:02 -03:00
ReinUsesLisp
b12f08a7f7
gl_rasterizer: Workaround invalid zeta clears
...
Some games (like Xenoblade Chronicles 2) clear both depth and stencil
buffers while there's a depth-only texture attached (e.g. D16 Unorm).
This commit reads the zeta format of the bound surface on
ConfigureFramebuffers and returns if depth and/or stencil attachments
were set. This is ignored on DrawArrays but on Clear it's used to just
clear those attachments, bypassing an OpenGL error.
2019-01-29 23:47:33 -03:00
Lioncash
ff29db57b1
service/psc: Update function tables
...
Updates the function tables based off information on SwitchBrew. Gets
rid of a swath of unknown names.
2019-01-29 21:16:24 -05:00
Lioncash
ca1d4b7b11
nvflinger: Add the Null display
...
In addition to the default, external, EDID, and internal displays,
there's also a null display provided as well, which as the name
suggests, does nothing but discard all commands given to it. This is
provided for completeness.
2019-01-29 21:13:33 -05:00
Lioncash
e46738887d
nvflinger: Change log message in OpenDisplay to be a debug log instead of a warning
...
Opening a display isn't really a thing to warn about. It's an expected
thing, so this can be a debug log. This also alters the string to
indicate the display name better.
Opening "Default" display reads a little nicer compared to Opening
display Default.
2019-01-29 21:13:33 -05:00
Lioncash
3bbceb6edd
nvflinger: Remove unnecessary header inclusions
2019-01-29 21:13:33 -05:00
Lioncash
159b4a2f45
nvflinger: Mark locals const where applicable
...
Makes non-mutable state more explicit.
2019-01-29 21:13:33 -05:00
Lioncash
9d7cbe408b
nvflinger: Use a std::array for the available displays instead of std::vector
...
The built-in set of displays is fixed, so we can utilize an array
instead of a vector here.
2019-01-29 21:13:33 -05:00
Lioncash
ce50c06bfc
hle/ipc_helpers: Fix clang-format warnings
2019-01-29 21:11:04 -05:00
Lioncash
7a8e2f3538
hle/ipc_helpers: Allow pushing signed values
...
This is kind of a large hole in the API, given we allow popping signed
values. This fixes that.
2019-01-29 13:09:32 -05:00
bunnei
8036154738
Merge pull request #2063 from lioncash/pessimizing
...
video_core/shader: Minor changes
2019-01-28 19:33:26 -05:00
Lioncash
28f6a8efd8
service/pm: Implement SetMaintenanceBoot()
...
This quite literally functions as a basic setter. No other error
checking or anything (since there's nothing to really check against).
With this, it completes the pm:bm interface in terms of functionality.
2019-01-28 11:48:11 -05:00
Lioncash
89bf15b818
service/pm: Tidy up functionality related to SystemBootMode
...
Just minor tidying of interfaces.
2019-01-28 11:44:37 -05:00
Lioncash
545c88724c
service/vi: Remove stubbed notifier from SetLayerVisibility
...
This appears to be a vestigial API function that's only kept around for
compatibility's sake, given the function only returns a success error
code and exits.
Since that's the case, we can remove the stubbed notification from the
log, since doing nothing is technically the correct behavior in this
case.
2019-01-28 08:22:28 -05:00
Lioncash
4addab6160
shader/shader_ir: Amend three comment typos
...
Given we're in the area, these are three trivial typos that can be
corrected.
2019-01-28 07:52:04 -05:00
Lioncash
a7de39a6ba
shader/shader_ir: Amend constructor initializer ordering for AbufNode
...
Orders the class members in the same order that they would actually be
initialized in. Gets rid of two compiler warnings.
2019-01-28 07:50:34 -05:00
Lioncash
980ea9cfb1
shader/decode: Avoid a pessimizing std::move within DecodeRange()
...
std::moveing a local variable in a return statement has the potential to
prevent copy elision from occurring, so this can just be converted into
a regular return.
2019-01-28 07:43:23 -05:00
bunnei
248ee22d2d
Merge pull request #2060 from lioncash/exception
...
kernel/svc: Log out uncaught C++ exceptions from svcBreak
2019-01-27 12:55:07 -05:00
bunnei
1e186a8dd5
Merge pull request #2058 from ReinUsesLisp/trunc-warning
...
video_core: Silent implicit conversion warning
2019-01-27 12:49:59 -05:00
Lioncash
1ea7578fba
kernel/svc: Log out uncaught C++ exceptions from svcBreak
...
Looking into the implementation of the C++ standard facilities that seem
to be within all modules, it appears that they use 7 as a break reason
to indicate an uncaught C++ exception.
This was primarily found via the third last function called within
Horizon's equivalent of libcxxabi's demangling_terminate_handler(),
which passes the value 0x80000007 to svcBreak.
2019-01-26 21:19:13 -05:00
fearlessTobi
ed00930999
dsp_interface: fix sound being played while volume is 0
...
According to documentation, if the argument of std::exp is zero, one is returned.
However we want the return value to be also zero in this case so no audio is played.
2019-01-26 22:42:09 +01:00
xperia64
029dc66786
Use QPixmap/QIcon for background color selection button
2019-01-26 15:08:54 +01:00
ReinUsesLisp
93c7b4aa86
video_core: Silent implicit conversion warning
2019-01-26 02:27:14 -03:00
bunnei
b1a4671770
Merge pull request #1927 from ReinUsesLisp/shader-ir
...
video_core: Replace gl_shader_decompiler with an IR based decompiler
2019-01-25 23:42:14 -05:00
bunnei
5a398e299c
Merge pull request #2054 from bunnei/scope-context-refactor
...
frontend: Refactor ScopeAcquireWindowContext out of renderer_opengl.
2019-01-23 21:20:08 -05:00
bunnei
674ebdda6a
frontend: Refactor ScopeAcquireWindowContext out of renderer_opengl.
2019-01-23 19:19:23 -05:00
zhupengfei
c63f74ed1d
citra_qt: Log settings on launch
2019-01-22 23:35:38 +01:00
ReinUsesLisp
fdb76f6147
maxwell_3d: Set rt_separate_frag_data to 1 by default
...
Commercial games assume that this value is 1 but they never set it. On
the other hand nouveau manually sets this register. On
ConfigureFramebuffers we were asserting for what we are actually
implementing (according to envytools).
2019-01-22 04:14:29 -03:00
bunnei
1ee7b6cfed
Merge pull request #2035 from lioncash/fwd-decl
...
yuzu/configuration: Remove unnecessary inclusions where applicable
2019-01-21 17:31:07 -05:00
James Rowe
d6c9eb7510
Change const char* to const char[]
2019-01-21 10:28:32 -07:00
James Rowe
67076bc07b
Fix mingw compile error and warnings
2019-01-21 09:39:45 -07:00
James Rowe
cf6cbd8c26
Add fade out effect to the loading screen
2019-01-21 09:20:16 -07:00
James Rowe
b3bba1e52c
Set Minimum Size to the same as renderwindow
2019-01-21 08:51:37 -07:00
James Rowe
681b9f8407
Remove blue box around loading screen
2019-01-21 08:50:23 -07:00
James Rowe
d152eea254
Change the background color of Stage Complete to yuzu blue
2019-01-20 19:14:14 -07:00
James Rowe
059ece9d03
Rename step 1 and step 2 to be a little more descriptive
2019-01-20 18:40:25 -07:00
James Rowe
c7516a14eb
Prevent estimated time from flashing after slow shader compilation starts
2019-01-20 18:31:35 -07:00
James Rowe
4084b0caec
Move progress bar style into constexpr strings
2019-01-20 18:20:21 -07:00
James Rowe
b2e68f104e
Hide progress bar on Prepare step
2019-01-20 15:09:14 -07:00
James Rowe
a923e54655
QT: Upgrade the Loading Bar to look much better
2019-01-20 14:47:35 -07:00
bunnei
04a65c6ad0
Merge pull request #2034 from jroweboy/loading-widget
...
QT Frontend: Add a Loading screen with progressbar
2019-01-20 15:45:07 -05:00
bunnei
eea45eb2ab
Merge pull request #2008 from ReinUsesLisp/dirty-framebuffers
...
gl_rasterizer_cache: Use dirty flags for framebuffers
2019-01-20 14:06:26 -05:00
bunnei
42e3e0cfee
Merge pull request #2002 from ReinUsesLisp/dsa-vao-buffer
...
gl_rasterizer: Use DSA for VAOs and buffers
2019-01-20 14:06:01 -05:00
bunnei
0170f40682
Merge pull request #2032 from lioncash/web
...
yuzu/configuration/configure_web: Amend verification string
2019-01-20 13:26:47 -05:00
bunnei
531f203a9b
Merge pull request #2025 from DarkLordZach/loader-banner-logo
...
loader: Add getters for application banner and logo
2019-01-20 13:26:27 -05:00
James Rowe
cdf5da57aa
Add a workaround if QMovie isn't available
2019-01-19 23:34:03 -07:00
James Rowe
bd16d2c0cc
QT Frontend: Add a Loading screen with progressbar
...
With shader caches on the horizon, one requirement is to provide visible
feedback for the progress. The shader cache reportedly takes several
minutes to load for large caches that were invalidated, and as such we
should provide a loading screen with progress.
Adds a loading screen widget that will be shown until the first frame of
the game is swapped. This was chosen in case shader caches are not being
used, several games still take more than a few seconds to launch and
could benefit from a loading screen.
2019-01-19 23:34:03 -07:00
bunnei
40063a35d2
Merge pull request #2031 from lioncash/priv
...
yuzu/web_browser: Minor cleanup
2019-01-19 12:57:09 -05:00
bunnei
afeae9b7bb
Merge pull request #2033 from ReinUsesLisp/fixup-clip-warning
...
gl_rasterizer: Silent unsafe mix warning
2019-01-19 12:56:40 -05:00
Lioncash
a5d7387d47
file_sys/directory: Remove unused DirectoryBackend class
...
This isn't used at all, so we can just get rid of it.
2019-01-18 14:33:50 -05:00
ReinUsesLisp
189c792193
gl_rasterizer: Silent unsafe mix warning
2019-01-18 03:25:28 -03:00
Lioncash
bf796fd5dd
yuzu/configuration/configure_input_player: Forward declare types where applicable
...
Allows removing the inclusion of the main input common header from the
UI config header.
2019-01-17 12:08:15 -05:00
Lioncash
f056cb73ac
yuzu/configuration/configure_touchscreen_advanced: Remove unnecessary header inclusions
2019-01-17 12:02:01 -05:00
Lioncash
3f2d25b44a
yuzu/configuration/configure_per_general: Remove unused header inclusions
2019-01-17 11:58:43 -05:00
Lioncash
eeb04e75e2
yuzu/configuration/configure_debug: Remove unused header inclusions
2019-01-17 11:51:47 -05:00
Lioncash
f567ed92e5
yuzu/configuration/configure_system: Remove unused header inclusions
2019-01-17 11:50:57 -05:00
Lioncash
274f074ed5
yuzu/configuration/configure_web: Remove an unused lambda capture
...
'this' isn't actually used within the lambda, since what we need
from the class is already assigned within the capture section of
the lambda.
2019-01-17 11:39:49 -05:00
Lioncash
081c5a65d8
yuzu/configuration/configure_web: Use an ellipsis with 'Verifying' text
...
It's a common UI pattern to use an ellipsis to indicate an ongoing
action, rather than just specifying the word by itself.
2019-01-17 11:35:59 -05:00
Lioncash
f275ac383c
core/frontend/applets/web_browser: Include missing headers
...
Gets rid of a few indirect inclusions.
2019-01-17 11:25:37 -05:00
Lioncash
ab2f154ff4
core/frontend/applets/web_browser: Make OpenPage() non-const
...
This is a function that definitely doesn't always have a non-modifying
behavior across all implementations, so this should be made non-const.
This gets rid of the need to mark data members as mutable to work around
the fact mutating data members needs to occur.
2019-01-17 11:19:52 -05:00
Lioncash
37cbee5e33
yuzu/web_browser: std::move std::function instances in OpenPage()
...
Avoids the need to potentially reallocate the contained callbacks.
2019-01-17 11:10:35 -05:00
Lioncash
a44dae2514
yuzu/web_browser: Make slot functions private
...
These currently aren't used by anything other than the QtWebBrowser
class itself, and can be made private.
2019-01-17 11:08:05 -05:00
ReinUsesLisp
c5c75bc21a
shader_ir: Fixup clang build
2019-01-15 21:06:05 -03:00
Zach Hilman
d8094073a2
loader: Propagate NCA logo section to ReadBanner and ReadLogo
2019-01-15 16:01:04 -05:00
Zach Hilman
fa4a624cc6
content_archive: Add getter for logo section of NCA
2019-01-15 16:00:29 -05:00
ReinUsesLisp
4388b8cee0
gl_shader_decompiler: replace std::get<> with std::get_if<> for macOS compatibility
2019-01-15 17:54:53 -03:00
ReinUsesLisp
ddbc441989
gl_shader_decompiler: Inline textureGather component
2019-01-15 17:54:53 -03:00