Brian Clinkenbeard
ad4e5c15fb
httplib compatibility
6 years ago
Nguyen Dac Nam
f6f0762e81
vk_shader: Implement function ImageLoad (Used by Kirby Start Allies)
Please enter the commit message for your changes. Lines starting
6 years ago
Nguyen Dac Nam
ec206f7f95
fixups mistake auto commit.
6 years ago
Nguyen Dac Nam
eaf60ca5d8
Update code structure
Co-Authored-By: Mat M. <mathew1800@gmail.com>
6 years ago
Nguyen Dac Nam
9295966d26
add vertex UnsignedInt size RGBA
6 years ago
Nguyen Dac Nam
9fc42fffd9
add eBc2SrgbBlock to formats
6 years ago
Nguyen Dac Nam
493f0ad904
vulkan: add DXT23_SRGB
6 years ago
Nguyen Dac Nam
ba84f0988f
renderer_vulkan: Add the rest of case for TryConvertBorderColor
6 years ago
CJBok
23c4cc80e2
analog_from_button get direction implementation
6 years ago
ReinUsesLisp
6a0220b2e1
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
1caf3f11c8
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
bfda5ff3f6
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
fd62bdf377
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
5257a83ebe
IUserLocalCommunicationService: add function Initialize2
6 years ago
Nguyen Dac Nam
6c0eb6026b
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
7fadc9c180
nvhost_gpu: implement ChannelSetTimeslice
6 years ago
bunnei
0f70f68fb3
Revert "video_core: memory_manager: Use GPU interface for cache functions."
6 years ago
ReinUsesLisp
14c2a4a2ec
texture: Implement R32I
6 years ago
ReinUsesLisp
6910ade146
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
91aa58e410
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
6d3a046caa
query_cache: Address feedback
6 years ago
ReinUsesLisp
54a00ee4cf
query_cache: Fix ambiguity in CacheAddr getter
6 years ago
ReinUsesLisp
cc0694559f
query_cache: Add a recursive mutex for concurrent usage
6 years ago
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
Morph
c3d0a0d627
Add 4:3 aspect ratio and address feedback
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
ReinUsesLisp
3217400dd1
gl_resource_manager: Add managed query class
7 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
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
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
Fernando Sahmkow
8e9a4944db
GPU: Implement GPU Clock correctly.
6 years ago