Wollnashorn
fe91066f46
video_core: Enable ImageGather with subpixel offset on Intel
2023-04-08 16:12:44 +02:00
Wollnashorn
780240e697
shader_recompiler: Add subpixel offset for correct rounding at ImageGather
...
On AMD a subpixel offset of 1/512 of the texel size is applied to the texture coordinates at a ImageGather call to ensure the rounding at the texel centers is done the same way as in Maxwell or other Nvidia architectures.
See https://www.reedbeta.com/blog/texture-gathers-and-coordinate-precision/ for more details why this might be necessary.
This should fix shadow artifacts at object edges in Zelda: Breath of the Wild (#9957 , #6956 ).
2023-04-08 16:12:30 +02:00
liamwhite
ff386e794b
Merge pull request #10004 from Kelebek1/cubemap
...
[texture_cache] Only upload GPU-modified overlaps
2023-04-03 13:05:52 -04:00
Jan Beich
083d913eab
externals: update Vulkan-Headers to v1.3.246
2023-04-01 05:38:54 +00:00
ff2089fdf5
video_core: Keep the definition of DimensionControl consistent with nvidia open doc
2023-03-31 12:33:07 +08:00
Max Dunbar
e446f368d7
Fixes 'Continous' typo
2023-03-29 19:26:12 -07:00
Kelebek1
c68b4bee2c
Only upload GPU-modified overlaps
2023-03-28 11:07:39 +01:00
liamwhite
0661f5ccd1
Merge pull request #9984 from liamwhite/global-memory
...
memory: rename global memory references to application memory
2023-03-27 12:16:40 -04:00
Morph
49f6deecb8
video_core/macro: Make use of Common::HashValue
2023-03-25 23:52:26 -04:00
bunnei
09da9da6fb
Merge pull request #9985 from liamwhite/funny-meme
...
vulkan: fix scheduler chunk reserve
2023-03-24 23:40:17 -07:00
Ross Schlaikjer
f38ae8e953
Pass GPU page table by reference
2023-03-25 00:25:02 -04:00
Liam
5a2dff87bf
vulkan: fix scheduler chunk reserve
2023-03-24 09:09:01 -04:00
Morph
7a8a7545f2
Merge pull request #9975 from liamwhite/more-waiting
...
vulkan: fix more excessive waiting in scheduler
2023-03-24 00:19:43 -04:00
Liam
41d99aa89d
memory: rename global memory references to application memory
2023-03-23 20:28:47 -04:00
liamwhite
ac3927074b
Merge pull request #9971 from Morph1984/q
...
bounded_threadsafe_queue: Use simplified impl of bounded queue
2023-03-23 10:00:31 -04:00
Morph
6adaa0d5e2
Merge pull request #9962 from Kelebek1/disable_srgb
...
[video_core] Disable SRGB border color conversion in samplers
2023-03-23 03:07:00 -04:00
Morph
407dc917f1
bounded_threadsafe_queue: Deduplicate and add PushModes
...
Adds the PushModes Try and Wait to allow producers to specify how they want to push their data to the queue if the queue is full.
If the queue is full:
- Try will fail to push to the queue, returning false. Try only returns true if it successfully pushes to the queue. This may result in items not being pushed into the queue.
- Wait will wait until a slot is available to push to the queue, resulting in potential for deadlock if a consumer is not running.
2023-03-21 19:20:21 -04:00
Morph
306840a580
bounded_threadsafe_queue: Use simplified impl of bounded queue
...
Provides a simplified SPSC, MPSC, and MPMC bounded queue implementation using mutexes.
2023-03-21 19:17:32 -04:00
Liam
b9b1318bea
vulkan: fix more excessive waiting in scheduler
2023-03-19 13:40:33 -04:00
bunnei
889454f9bf
Merge pull request #9778 from behunin/my-box-chevy
...
gpu_thread: Use bounded queue
2023-03-17 22:14:29 -07:00
Kelebek1
a7651168dd
Disable SRGB border color conversion for now, to fix shadows in Xenoblade.
2023-03-17 04:46:38 +00:00
liamwhite
6d76a54d37
Merge pull request #9955 from liamwhite/color-blend-equation
...
vulkan: disable extendedDynamicState3ColorBlendEquation on radv
2023-03-15 20:19:45 -04:00
liamwhite
a04061e6ae
Merge pull request #9931 from liamwhite/sched
...
vk_scheduler: split work queue waits and execution waits
2023-03-15 20:19:35 -04:00
Liam
da83afdeaf
vulkan: disable extendedDynamicState3ColorBlendEquation on radv
2023-03-15 15:55:07 -04:00
liamwhite
0c7149d222
Merge pull request #9933 from vonchenplus/texture_format
...
video_core: Update texture format
2023-03-14 11:35:37 -04:00
11ffbee5ae
video_core: Better defined ImageInfo parameters
2023-03-14 22:36:34 +08:00
liamwhite
638044820d
Merge pull request #9943 from vonchenplus/gentleman
...
video_core: Fix inline_index and draw_texture error
2023-03-13 13:45:17 -04:00
Liam
3f261f22c9
vk_scheduler: split work queue waits and execution waits
2023-03-12 17:19:44 -04:00
Liam
600f325d87
general: fix spelling mistakes
2023-03-12 11:33:01 -04:00
44f10c8dee
video_core: Fix ogl status error when draw_texture
2023-03-12 13:33:31 +08:00
4e42ba54e5
video_core: Invalid index_buffer flag when inline_index draw
2023-03-12 13:21:26 +08:00
Fernando S
49643d8134
Merge pull request #9913 from ameerj/acc-dma-refactor
...
AccelerateDMA: Refactor Buffer/Image copy code and implement for OGL
2023-03-11 20:04:19 +01:00
liamwhite
103380134f
Merge pull request #9925 from ameerj/gl-sync-signal
...
OpenGL: Prefer glClientWaitSync for OGLSync objects
2023-03-10 13:55:22 -05:00
liamwhite
021af4fd00
Merge pull request #9917 from Morph1984/the-real-time
...
native_clock: Re-adjust the RDTSC frequency to its real frequency
2023-03-10 13:55:11 -05:00
c8ad039612
video_core: Update texture format
2023-03-10 21:48:50 +08:00
liamwhite
b5c0c1e163
Merge pull request #9822 from ameerj/buffcache-ssbo-addr
...
buffer_cache: Add logic for non-NVN storage buffer tracking
2023-03-09 09:18:39 -05:00
ameerj
03137086db
OpenGL: Prefer glClientWaitSync for OGLSync objects
...
At least on Nvidia, glClientWaitSync with a timeout of 0 (non-blocking) is faster than glGetSynciv of GL_SYNC_STATUS.
2023-03-08 20:29:25 -05:00
liamwhite
3cf88a4d6c
Merge pull request #9896 from Kelebek1/d24s8
...
Check all swizzle components for red, not just [0]
2023-03-08 09:16:06 -05:00
Morph
3053a62375
core: Promote CPU/GPU threads to time critical
...
And also demote Audren and CoreTiming to High thread priority.
2023-03-07 21:17:46 -05:00
Liam
ba4213d956
general: fix type inconsistencies
2023-03-07 20:05:19 -05:00
liamwhite
a7792e5ff8
Merge pull request #9889 from Morph1984/time-is-ticking
...
core_timing: Reduce CPU usage on Windows
2023-03-07 10:54:13 -05:00
ameerj
268942c8fe
gl_rasterizer: Implement AccelerateDMA DmaBufferImageCopy
2023-03-06 22:57:52 -05:00
ameerj
6b9cc0ed23
Refactor AccelerateDMA code
2023-03-06 22:57:45 -05:00
Fernando Sahmkow
8a3411b417
Engines: Implement Accelerate DMA Texture.
2023-03-05 12:18:00 +01:00
Morph
bff1453282
core_timing: Use higher precision sleeps on Windows
...
The precision of sleep_for and wait_for is limited to 1-1.5ms on Windows.
Using SleepForOneTick() allows us to sleep for exactly one interval of the current timer resolution.
This allows us to take advantage of systems that have a timer resolution of 0.5ms to reduce CPU overhead in the event loop.
2023-03-05 02:36:31 -05:00
Morph
ce8f4da638
Merge pull request #9884 from liamwhite/service-cleanup
...
service: miscellaneous cleanups
2023-03-03 22:51:17 -05:00
Kelebek1
a7fb80e612
Check all swizzle components for red, not just [0], pass float border color rather than int
2023-03-04 02:33:50 +00:00
Behunin
44518b225c
gpu_thread: Use bounded queue
2023-03-03 18:20:56 -07:00
Liam
ec6ee04c64
vulkan_common: disable vertexInputDynamicState on unsupported driver
2023-03-01 22:48:12 -05:00
Liam
809148e1a5
nvnflinger: fix name
2023-03-01 10:39:49 -05:00
Matías Locatti
c38bb96a2c
Partially apply LTO to only core and video_core projects.
2023-02-27 18:44:14 -03:00
ameerj
2ce5bb9bd6
buffer_cache: Add logic for non-NVN storage buffer tracking
2023-02-25 16:24:21 -05:00
ameerj
b5bcd8c71b
configuration: Add async ASTC decode setting
2023-02-22 18:21:09 -05:00
ameerj
090bc588e5
texture_cache: Add async texture decoding
2023-02-22 00:26:07 -05:00
Merry
c9678bda24
svc: Fix type consistency (exposed on macOS)
2023-02-21 21:39:17 +00:00
liamwhite
a4d0663158
Merge pull request #9588 from liamwhite/bylaws-reverts
...
Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
2023-02-19 13:11:57 -05:00
bunnei
e91ff9b7bd
Merge pull request #9810 from Kelebek1/nvdec_threads
...
Allow >1 cpu threads on video decoding, disable multi-frame decoding
2023-02-17 09:44:38 -08:00
bunnei
889bfce447
Merge pull request #9802 from Kelebek1/wait_data_cache
...
Re-add the invalidate_texture_data_cache register
2023-02-16 12:27:24 -08:00
Kelebek1
3b50906f00
Reimplement the invalidate_texture_data_cache register
2023-02-14 19:34:10 +00:00
Kelebek1
139b645aa2
Allow >1 cpu threads on video decoding, disable multi-frame decoding
2023-02-14 18:55:46 +00:00
arades79
683019878f
remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency
...
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:35:39 -05:00
arades79
45e13b03f3
add static lifetime to constexpr values to force compile time evaluation where possible
...
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:33:11 -05:00
bunnei
f70fcdb873
Merge pull request #9746 from ameerj/ogl-msaa-texcache
...
texture_cache: OpenGL: Implement MSAA uploads and copies
2023-02-12 00:18:52 -08:00
ameerj
93cf2b3ca8
texture_cache: OpenGL: Implement MSAA uploads and copies
2023-02-11 15:43:07 -05:00
liamwhite
c97b5c9ff9
Merge pull request #9777 from vonchenplus/speed_up_video_copy
...
video_core: Speed up video frame data copy
2023-02-11 12:35:16 -05:00
liamwhite
1040f1f503
Merge pull request #9744 from behunin/quick-release
...
gpu_thread: Remove OnCommandListEndCommand
2023-02-11 10:28:30 -05:00
4adf39edf2
video_core: Speed up video frame data copy
2023-02-11 22:18:54 +08:00
liamwhite
c5743d5499
Merge pull request #9736 from Kelebek1/dynamic_vertex_attribs
...
Remove fake vertex bindings when dynamic state is enabled
2023-02-09 22:14:55 -05:00
ameerj
eb9f16dce4
buffer_base: Partially revert changes from #9559
...
This fixes a regression where Yoshi's Crafted World (and potentially other titles) would enter an infinite loop when GPU Accuracy was set to "Normal"
2023-02-08 19:37:23 -05:00
Behunin
8551ac6008
Remove OnCommandListEndCommand
...
Call rasterizer->ReleaseFences() directly
2023-02-07 17:21:17 -07:00
Kelebek1
8ae2a664d2
Remove fake vertex bindings when dynamic state is enabled
2023-02-05 22:28:03 +00:00
liamwhite
8a33f8bd30
Merge pull request #9708 from ameerj/gl-context-flush
...
gl_shader_cache: Force context flush when loading disk shader cache
2023-02-01 22:38:13 -05:00
liamwhite
9de88cb5a7
Merge pull request #9631 from vonchenplus/vulkan_clear
...
video_core: Implement vulkan clear specified channel
2023-01-30 09:01:55 -05:00
ameerj
720ff38097
gl_compute_pipeline: Force context flush when loading shader cache
2023-01-29 21:32:12 -05:00
ameerj
01eeda74a6
gl_graphics_pipeline: Force context flush when loading shader cache
2023-01-29 20:26:49 -05:00
Levi Behunin
d5fc56db4b
Move to Clang Format 15
...
Depends on https://github.com/yuzu-emu/build-environments/pull/69
clang-15 primary run
2023-01-29 17:49:42 -07:00
bunnei
a3aedcce65
Merge pull request #9691 from ameerj/msaa-texcache
...
texture_cache: Fix tracking of MSAA image views
2023-01-28 23:47:45 -08:00
ameerj
c2fb7b64ce
texture_cache: Adjust image view sizes by MSAA samples
2023-01-28 00:15:29 -05:00
818631a412
video_core: Implement vulkan clear specified channel
2023-01-28 12:53:05 +08:00
liamwhite
6fa86989f1
Merge pull request #9539 from Wollnashorn/opengl-fsr
...
video_core/opengl: Added FSR upscaling filter to the OpenGL renderer
2023-01-27 19:28:35 -05:00
Wollnashorn
c4a49eb1dd
video_core/opengl: Add FSR upscaling filter to the OpenGL renderer
2023-01-26 21:43:33 +01:00
Merry
dc7ab4c5d6
Revert "MemoryManager: use fastmem directly."
...
This reverts commit af5ecb0b15
.
2023-01-25 10:12:04 +00:00
Liam
c6eab71d5c
nsight_aftermath_tracker: update for latest Aftermath SDK
2023-01-21 13:01:19 -05:00
liamwhite
475370c8f8
Merge pull request #9556 from vonchenplus/draw_texture
...
video_core: Implement maxwell3d draw texture method
2023-01-19 14:58:53 -05:00
Kelebek1
5a106cf11e
Demote maxwell3d Firmware4 call log to debug
2023-01-18 01:59:11 +00:00
9fc7ca1731
Address feedback
2023-01-16 10:27:57 +08:00
Morph
c277dad25f
Merge pull request #9596 from liamwhite/mvk
...
MoltenVK: restrict number of vertex attributes/bindings to 16
2023-01-10 18:11:44 -05:00
Liam
fa8581e900
vulkan_common: fix indirect draw with count
2023-01-10 09:43:36 -05:00
TellowKrinkle
eaf425bd32
MoltenVK: restrict number of vertex attributes/bindings to 16
2023-01-09 19:01:09 -05:00
Morph
ffb12f4f9f
Merge pull request #9581 from liamwhite/turbo2
...
renderer_vulkan: pause turbo submissions on inactive queue
2023-01-09 16:23:16 -05:00
Liam
279005448a
vulkan_device: refactor feature testing
2023-01-09 16:12:16 -05:00
Fernando Sahmkow
efbb6fe288
VideoCore: Fix OGL cache invalidation.
2023-01-07 21:56:17 -05:00
Liam
57a4388e2d
Revert "Vulkan, OpenGL: Hook up storage buffer alignment code"
...
This reverts commit 9e2997c4b6
.
2023-01-07 15:48:50 -05:00
Liam
c19c8ac92c
renderer_vulkan: pause turbo submissions on inactive queue
2023-01-07 14:35:11 -05:00
Narr the Reg
432d48d9c8
Merge pull request #9570 from liamwhite/less-clock-boost
...
renderer_vulkan: disable clock boost on unvalidated devices
2023-01-07 10:41:37 -06:00
Liam
444b25bae1
vulkan_device: avoid attempt to access empty optional
2023-01-06 21:23:21 -05:00
Liam
2e4dde12c7
renderer_vulkan: disable clock boost on unvalidated devices
2023-01-06 19:07:47 -05:00
Narr the Reg
4bda2b475f
opengl: Sanitize antialiasing config
2023-01-06 13:42:20 -06:00
Wollnashorn
457826a83b
video_core/vulkan: Fixed loading of Vulkan driver pipeline cache
...
The header size of the Vulkan driver pipeline cache files was incorrectly in PipelineCache::LoadVulkanPipelineCache, for which the pipeline cache wasn't read correctly and got invalidated on each load.
2023-01-06 16:52:41 +01:00
Fernando S
8b251fc3f6
Merge pull request #9535 from bylaws/master
...
Port over several shader-compiler fixes from skyline
2023-01-06 10:06:45 -05:00