ReinUsesLisp
bcd348f238
vk_query_cache: Implement generic query cache on Vulkan
6 years ago
ReinUsesLisp
c31382ced5
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.
6 years ago
ReinUsesLisp
73d2d3342d
gl_query_cache: Optimize query cache
Use a custom cache instead of relying on a ranged cache.
6 years ago
ReinUsesLisp
aae8c180cb
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.
6 years ago
ReinUsesLisp
ef9920e164
gl_rasterizer: Sort method declarations
6 years ago
ReinUsesLisp
fe1238be7a
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.
6 years ago
ReinUsesLisp
2b58652f08
maxwell_3d: Slow implementation of passed samples (query 21)
Implements GL_SAMPLES_PASSED by waiting immediately for queries.
7 years ago
bunnei
f552d553ba
Merge pull request #3401 from FernandoS27/synchronization
Set of refactors for Kernel Synchronization and Hardware Constants
6 years ago
Morph
c3d0a0d627
Add 4:3 aspect ratio and address feedback
6 years ago
bunnei
63a59b9935
Merge pull request #3379 from ReinUsesLisp/cbuf-offset
shader/decode: Fix constant buffer offsets
6 years ago
Zach Hilman
4501bd8ca9
Merge pull request #3398 from brianclinkenbeard/fix-cmake-sdl2
Use config mode for finding SDL2 with CMake
6 years ago
Fernando Sahmkow
829d8c0d6b
Core: Correct compilition in GCC
6 years ago
Morph
20dc2e3622
Address feedback
6 years ago
Morph
22f58cca5e
Use enumeration instead of magic numbers
6 years ago
Morph
27e19f87c6
Add following aspect ratios: 16:9, 21:9, Stretch to Window
Available as a drop down within the configure graphics tab.
6 years ago
bunnei
74feed372c
Merge pull request #3400 from makigumo/patch-1
update hwopus DecodeInterleaved for FW 7.0.0+
6 years ago
ReinUsesLisp
3217400dd1
gl_resource_manager: Add managed query class
7 years ago
bunnei
3563af2364
Merge pull request #3395 from FernandoS27/queries
GPU: Refactor queries implementation and correct GPU Clock.
6 years ago
ReinUsesLisp
336a4f8e99
gl_rasterizer: Use the least generic OpenGL draw function possible
This may help some implementations.
6 years ago
ReinUsesLisp
cbea8c74de
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.
6 years ago
Fernando Sahmkow
2bc949628d
Core: Address Feedback
6 years ago
Fernando Sahmkow
d6ed31b9fa
GPU: Address Feedback.
6 years ago
bunnei
8b9a56033a
Merge pull request #3405 from lioncash/thread
address_arbiter: Minor cleanup to list querying
6 years ago
Brian Clinkenbeard
0d85b6bfe1
Merge branch 'master' into fix-cmake-sdl2
6 years ago
Lioncash
be269e21a5
address_arbiter: Collapse loops in InsertThread() and RemoveThread()
Same behavior, but without the need to explicitly loop through
everything manually.
6 years ago
Lioncash
9f2c703137
address_arbiter: Simplify GetThreadsWaitingOnAddress()
Simplifies the overall function and also allows for it to become a
const-qualified member function.
6 years ago
bunnei
8f8dda2d5b
Merge pull request #3403 from lioncash/debug
bcat/backend: Prevent fmt exception in debug log within NullBackend::Clear()
6 years ago
bunnei
2506f7b3a1
Merge pull request #3402 from lioncash/sys-global
kernel/thread: Remove trivial usages of the global system accessor
6 years ago
Lioncash
f00a54f508
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.
6 years ago
Lioncash
eefd97e80d
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.
6 years ago
Lioncash
b80c348b09
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.
6 years ago
Fernando Sahmkow
1e6f8aba04
Core: Set all hardware emulation constants in a single file.
6 years ago
Fernando Sahmkow
d23d504d77
Kernel: Refactor synchronization to better match RE
6 years ago
makigumo
926ea5a16d
update hwopus DecodeInterleaved for FW 7.0.0+
trivial change,
see https://switchbrew.org/wiki/Audio_services#IHardwareOpusDecoder
6 years ago
Fernando Sahmkow
c5aefe42aa
Kernel: Change WaitObject to Synchronization object. In order to better reflect RE.
6 years ago
bunnei
37f1cf8cbd
Merge pull request #3376 from ReinUsesLisp/point-sprite
gl_rasterizer: Implement GL_POINT_SPRITE
6 years ago
Brian Clinkenbeard
68043dd233
use config mode for finding SDL2 with CMake
6 years ago
Fernando Sahmkow
8e9a4944db
GPU: Implement GPU Clock correctly.
6 years ago
Fernando Sahmkow
0cb3bcfbb7
Maxwell3D: Correct query reporting.
6 years ago
bunnei
84ea9c2b42
Merge pull request #3372 from ReinUsesLisp/fix-back-stencil
maxwell_3d: Fix stencil back mask
6 years ago
Zach Hilman
21c3f48279
Merge pull request #3391 from Morph1984/remove-unknown
Remove option "Show files with type 'Unknown'"
6 years ago
Morph
fcf3425b1b
Remove option "Show files with type 'Unknown'"
6 years ago
bunnei
a952fbc5b3
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.
6 years ago
bunnei
e210835dd0
Merge pull request #3387 from bunnei/gpu-mpscqueue
gpu_thread: Use MPSCQueue for GPU commands.
6 years ago
bunnei
6536cc9741
Merge pull request #3386 from bunnei/gpu-mem-interface
video_core: memory_manager: Use GPU interface for cache functions.
6 years ago
bunnei
7b07e521ca
hle: services: Use std::shared_ptr instead of copy by value.
6 years ago
bunnei
b5c13ee0eb
gpu_thread: Use MPSCQueue for GPU commands.
- Necessary for multiple service threads.
6 years ago
bunnei
7cacb08cdf
video_core: memory_manager: Use GPU interface for cache functions.
6 years ago
bunnei
90bda66028
Merge pull request #3378 from ReinUsesLisp/uscaled
maxwell_to_gl: Implement R8G8_USCALED
6 years ago
bunnei
90df4b8e2b
Merge pull request #3369 from ReinUsesLisp/shf
shader/shift: Implement SHF
6 years ago