Nguyen Dac Nam
85e76831a1
fixups mistake auto commit.
6 years ago
Nguyen Dac Nam
418b7ffb21
Update code structure
Co-Authored-By: Mat M. <mathew1800@gmail.com>
6 years ago
Nguyen Dac Nam
af67c90eca
add vertex UnsignedInt size RGBA
6 years ago
Nguyen Dac Nam
2058556671
add eBc2SrgbBlock to formats
6 years ago
Nguyen Dac Nam
6d36df9e5d
vulkan: add DXT23_SRGB
6 years ago
Nguyen Dac Nam
fa641bf689
renderer_vulkan: Add the rest of case for TryConvertBorderColor
6 years ago
CJBok
7ec4bd7793
analog_from_button get direction implementation
6 years ago
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.
6 years ago
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.
6 years ago
ReinUsesLisp
b4bd0c57e4
texture_cache: Avoid matches in 3D textures
Code before this commit was trying to match 3D textures with another
target. Fix that.
6 years ago
ReinUsesLisp
4fd155c282
surface_base: Implement texture buffer flushes
Implement downloads to guest memory from texture buffers on the generic
cache and OpenGL.
6 years ago
Nguyen Dac Nam
2807020c01
IUserLocalCommunicationService: add function Initialize2
6 years ago
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
6 years ago
namkazy
8bb64da7ac
nvhost_gpu: implement ChannelSetTimeslice
6 years ago
bunnei
f382179d47
Revert "video_core: memory_manager: Use GPU interface for cache functions."
6 years ago
ReinUsesLisp
f3255c3598
texture: Implement R32I
6 years ago
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.
6 years ago
ReinUsesLisp
518a6182f9
maxwell_3d: Unify draw methods
Pass instanced state of a draw invocation as an argument instead of
having two separate virtual methods.
6 years ago
ReinUsesLisp
4364492b95
query_cache: Address feedback
6 years ago
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
Morph
5afb6b95ed
Add 4:3 aspect ratio and address feedback
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
ReinUsesLisp
3603c2f559
gl_resource_manager: Add managed query class
7 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
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
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
Fernando Sahmkow
04c3213a01
GPU: Implement GPU Clock correctly.
6 years ago
Fernando Sahmkow
8137fb8981
Maxwell3D: Correct query reporting.
6 years ago
Morph
db09e18f72
Remove option "Show files with type 'Unknown'"
6 years ago