Commit graph

14127 commits

Author SHA1 Message Date
bunnei
5c5b6cf721 Merge pull request #3414 from ReinUsesLisp/maxwell-3d-draw
maxwell_3d: Unify draw methods
2020-02-19 16:13:50 -05:00
bunnei
3360446580 Merge pull request #3411 from ReinUsesLisp/specific-funcs
gl_rasterizer: Use the least generic OpenGL draw function possible
2020-02-19 15:37:41 -05:00
bunnei
5618dbe120 Merge pull request #3437 from namkazt/patch-5
shader_conversion: add conversion I2F for Short
2020-02-19 11:27:28 -05:00
Nguyen Dac Nam
102d52ad68 shader_decompiler: add check in case of device not support ShaderStorageImageReadWithoutFormat 2020-02-19 12:57:22 +07:00
Nguyen Dac Nam
1ed0d4faea vk_device: setup shaderStorageImageReadWithoutFormat 2020-02-19 12:56:36 +07:00
Nguyen Dac Nam
d285fae01a vk_device: add check for shaderStorageImageReadWithoutFormat 2020-02-19 12:55:56 +07:00
Nguyen Dac Nam
a57853e085 shader_conversion: I2F : add Assert for case src_size is Short 2020-02-19 11:40:35 +07:00
Nguyen Dac Nam
92153118ab fix warning 2020-02-19 11:10:26 +07:00
Nguyen Dac Nam
84fc48b0eb clang-format fix 2020-02-19 11:02:59 +07:00
Nguyen Dac Nam
0d9361d21f shader_conversion: add conversion I2F for Short 2020-02-19 10:54:37 +07:00
bunnei
628c0b6a95 Merge pull request #3410 from ReinUsesLisp/vk-draw-index
vk_shader_decompiler: Fix vertex id and instance id
2020-02-18 22:37:33 -05:00
Nguyen Dac Nam
c9448bc5ba vk_shader: add Capability StorageImageReadWithoutFormat 2020-02-19 10:16:51 +07:00
Brian Clinkenbeard
050a4362ad httplib compatibility 2020-02-18 18:04:33 -08:00
Nguyen Dac Nam
c646835eb0 vk_shader: Implement function ImageLoad (Used by Kirby Start Allies)
Please enter the commit message for your changes. Lines starting
2020-02-19 08:39:01 +07:00
Brian Clinkenbeard
b33889a1fe update httplib to latest commit 2020-02-18 17:11:40 -08:00
Nguyen Dac Nam
85e76831a1 fixups mistake auto commit. 2020-02-19 01:24:32 +07:00
Nguyen Dac Nam
418b7ffb21 Update code structure
Co-Authored-By: Mat M. <mathew1800@gmail.com>
2020-02-19 01:23:08 +07:00
Fernando Sahmkow
d67c538d68 Merge pull request #3409 from ReinUsesLisp/host-queries
query_cache: Implement a query cache and query 21 (samples passed)
2020-02-18 11:31:06 -04:00
Nguyen Dac Nam
af67c90eca add vertex UnsignedInt size RGBA 2020-02-18 21:52:51 +07:00
Nguyen Dac Nam
2058556671 add eBc2SrgbBlock to formats 2020-02-18 21:44:09 +07:00
Nguyen Dac Nam
6d36df9e5d vulkan: add DXT23_SRGB 2020-02-18 21:39:50 +07:00
Nguyen Dac Nam
fa641bf689 renderer_vulkan: Add the rest of case for TryConvertBorderColor 2020-02-18 16:52:54 +07:00
Brian Clinkenbeard
b343bf76ad update httplib README 2020-02-17 22:54:09 -08:00
Brian Clinkenbeard
6ffa4d2a11 0.4.2 works too 2020-02-17 22:53:25 -08:00
CJBok
7ec4bd7793 analog_from_button get direction implementation 2020-02-18 06:45:37 +01:00
Brian Clinkenbeard
0e13b86170 update httplib to 0.2.6 2020-02-17 20:13:24 -08:00
bunnei
92e3fb6e2f Merge pull request #3412 from Morph1984/aspect-ratio
GUI: Add aspect ratio dropdown
2020-02-17 22:02:18 -05:00
bunnei
bbe76e4227 Merge pull request #3429 from brianclinkenbeard/fix-cmake-sdl2-arch
Fix CMake build errors for certain SDL2 installations
2020-02-17 18:33:20 -05:00
Brian Clinkenbeard
f2e1142067 fix CMake build errors for certain SDL2 installations 2020-02-17 13:01:40 -08:00
bunnei
a251713173 Merge pull request #3420 from namkazt/master2
nvhost_gpu: implement ChannelSetTimeslice
2020-02-17 00:31:11 -05:00
bunnei
6bf664aa1e Merge pull request #3421 from namkazt/patch-1
IUserLocalCommunicationService: stub function Initialize2
2020-02-16 04:01:42 -05:00
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.
2020-02-16 04:19:32 -03:00
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.
2020-02-16 04:17:37 -03:00
ReinUsesLisp
b4bd0c57e4 texture_cache: Avoid matches in 3D textures
Code before this commit was trying to match 3D textures with another
target. Fix that.
2020-02-16 04:15:42 -03:00
ReinUsesLisp
4fd155c282 surface_base: Implement texture buffer flushes
Implement downloads to guest memory from texture buffers on the generic
cache and OpenGL.
2020-02-16 04:13:27 -03:00
Nguyen Dac Nam
2807020c01 IUserLocalCommunicationService: add function Initialize2 2020-02-16 13:24:34 +07:00
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
2020-02-16 13:14:06 +07:00
namkazy
8bb64da7ac nvhost_gpu: implement ChannelSetTimeslice 2020-02-16 11:53:03 +07:00
bunnei
73e4de21b7 Merge pull request #3419 from yuzu-emu/revert-3386-gpu-mem-interface
Revert "video_core: memory_manager: Use GPU interface for cache functions."
2020-02-15 22:37:29 -05:00
bunnei
f382179d47 Revert "video_core: memory_manager: Use GPU interface for cache functions." 2020-02-15 17:47:15 -05:00
ReinUsesLisp
f3255c3598 texture: Implement R32I 2020-02-15 16:26:50 -03:00
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.
2020-02-15 02:36:28 -03:00
ReinUsesLisp
518a6182f9 maxwell_3d: Unify draw methods
Pass instanced state of a draw invocation as an argument instead of
having two separate virtual methods.
2020-02-14 18:09:40 -03:00
ReinUsesLisp
4364492b95 query_cache: Address feedback 2020-02-14 17:38:27 -03:00
ReinUsesLisp
80fff282df query_cache: Fix ambiguity in CacheAddr getter 2020-02-14 17:38:27 -03:00
ReinUsesLisp
748a3cd69d query_cache: Add a recursive mutex for concurrent usage 2020-02-14 17:38:27 -03:00
ReinUsesLisp
aaf68dc10b vk_query_cache: Implement generic query cache on Vulkan 2020-02-14 17:38:27 -03:00
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.
2020-02-14 17:38:27 -03:00
ReinUsesLisp
d8a42816d7 gl_query_cache: Optimize query cache
Use a custom cache instead of relying on a ranged cache.
2020-02-14 17:38:27 -03:00
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.
2020-02-14 17:33:13 -03:00