ReinUsesLisp
80fff282df
query_cache: Fix ambiguity in CacheAddr getter
6 years ago
ReinUsesLisp
748a3cd69d
query_cache: Add a recursive mutex for concurrent usage
6 years ago
ReinUsesLisp
aaf68dc10b
vk_query_cache: Implement generic query cache on Vulkan
6 years ago
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.
6 years ago
ReinUsesLisp
d8a42816d7
gl_query_cache: Optimize query cache
Use a custom cache instead of relying on a ranged cache.
6 years ago
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.
6 years ago
ReinUsesLisp
9d7d67501f
gl_rasterizer: Sort method declarations
6 years ago
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.
6 years ago
ReinUsesLisp
11206f8a28
maxwell_3d: Slow implementation of passed samples (query 21)
Implements GL_SAMPLES_PASSED by waiting immediately for queries.
7 years ago
bunnei
2e46017b66
Merge pull request #3401 from FernandoS27/synchronization
Set of refactors for Kernel Synchronization and Hardware Constants
6 years ago
Morph
5afb6b95ed
Add 4:3 aspect ratio and address feedback
6 years ago
bunnei
082ba6fc64
Merge pull request #3379 from ReinUsesLisp/cbuf-offset
shader/decode: Fix constant buffer offsets
6 years ago
Zach Hilman
91cbbfdf7d
Merge pull request #3398 from brianclinkenbeard/fix-cmake-sdl2
Use config mode for finding SDL2 with CMake
6 years ago
Fernando Sahmkow
f326183e8b
Core: Correct compilition in GCC
6 years ago
Morph
5abb2b6336
Address feedback
6 years ago
Morph
db5dc22c68
Use enumeration instead of magic numbers
6 years ago
Morph
74a490c909
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
f542fc989d
Merge pull request #3400 from makigumo/patch-1
update hwopus DecodeInterleaved for FW 7.0.0+
6 years ago
ReinUsesLisp
3603c2f559
gl_resource_manager: Add managed query class
7 years ago
bunnei
12b89ac3d0
Merge pull request #3395 from FernandoS27/queries
GPU: Refactor queries implementation and correct GPU Clock.
6 years ago
ReinUsesLisp
8449d0cf4e
gl_rasterizer: Use the least generic OpenGL draw function possible
This may help some implementations.
6 years ago
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.
6 years ago
Fernando Sahmkow
0d2a459fae
Core: Address Feedback
6 years ago
Fernando Sahmkow
2dd9d660e3
GPU: Address Feedback.
6 years ago
bunnei
36e34193db
Merge pull request #3405 from lioncash/thread
address_arbiter: Minor cleanup to list querying
6 years ago
Brian Clinkenbeard
b94f31d369
Merge branch 'master' into fix-cmake-sdl2
6 years ago
Lioncash
5c0742bb94
address_arbiter: Collapse loops in InsertThread() and RemoveThread()
Same behavior, but without the need to explicitly loop through
everything manually.
6 years ago
Lioncash
3105b7864c
address_arbiter: Simplify GetThreadsWaitingOnAddress()
Simplifies the overall function and also allows for it to become a
const-qualified member function.
6 years ago
bunnei
3184bdd36c
Merge pull request #3403 from lioncash/debug
bcat/backend: Prevent fmt exception in debug log within NullBackend::Clear()
6 years ago
bunnei
fe4e4f9c19
Merge pull request #3402 from lioncash/sys-global
kernel/thread: Remove trivial usages of the global system accessor
6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
Fernando Sahmkow
6fc0790f3a
Core: Set all hardware emulation constants in a single file.
6 years ago
Fernando Sahmkow
1ee7a4d926
Kernel: Refactor synchronization to better match RE
6 years ago
makigumo
b71b872e74
update hwopus DecodeInterleaved for FW 7.0.0+
trivial change,
see https://switchbrew.org/wiki/Audio_services#IHardwareOpusDecoder
6 years ago
Fernando Sahmkow
3a7f539463
Kernel: Change WaitObject to Synchronization object. In order to better reflect RE.
6 years ago
bunnei
840326a322
Merge pull request #3376 from ReinUsesLisp/point-sprite
gl_rasterizer: Implement GL_POINT_SPRITE
6 years ago
Brian Clinkenbeard
7a5da0dd57
use config mode for finding SDL2 with CMake
6 years ago
Fernando Sahmkow
04c3213a01
GPU: Implement GPU Clock correctly.
6 years ago
Fernando Sahmkow
8137fb8981
Maxwell3D: Correct query reporting.
6 years ago
bunnei
a47f0ff68b
Merge pull request #3372 from ReinUsesLisp/fix-back-stencil
maxwell_3d: Fix stencil back mask
6 years ago
Zach Hilman
2a1331b683
Merge pull request #3391 from Morph1984/remove-unknown
Remove option "Show files with type 'Unknown'"
6 years ago
Morph
db09e18f72
Remove option "Show files with type 'Unknown'"
6 years ago
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.
6 years ago
bunnei
d63149ce8a
Merge pull request #3387 from bunnei/gpu-mpscqueue
gpu_thread: Use MPSCQueue for GPU commands.
6 years ago
bunnei
5e2d668eb9
Merge pull request #3386 from bunnei/gpu-mem-interface
video_core: memory_manager: Use GPU interface for cache functions.
6 years ago
bunnei
3edec585bc
hle: services: Use std::shared_ptr instead of copy by value.
6 years ago
bunnei
fc246fd1a2
gpu_thread: Use MPSCQueue for GPU commands.
- Necessary for multiple service threads.
6 years ago
bunnei
f28ab9626e
video_core: memory_manager: Use GPU interface for cache functions.
6 years ago