Commit Graph

14440 Commits (96bb961a6485c2f5c8b7fb91aa0dd7eb24fa5e5d)
 

Author SHA1 Message Date
Fernando Sahmkow 96bb961a64 BufferCache: Refactor async managing. 5 years ago
Fernando Sahmkow b10db7e4a5 FenceManager: Implement async buffer cache flushes on High settings 5 years ago
Fernando Sahmkow 4adfc9bb08 Rasterizer: Document SignalFence & ReleaseFences and setup skeletons on Vulkan. 5 years ago
Fernando Sahmkow a081a7c855 GPU: Fix rebase errors. 5 years ago
Fernando Sahmkow e84eb64e51 Rasterizer: Disable fence managing in synchronous gpu. 5 years ago
Fernando Sahmkow 165ae823f5 ThreadManager: Sync async reads on accurate gpu. 5 years ago
Fernando Sahmkow 57fdbd9b89 FenceManager: Implement should wait. 5 years ago
Fernando Sahmkow 1f345ebe3a GPU: Implement a Fence Manager. 5 years ago
Fernando Sahmkow 487379c593 OpenGL: Implement Fencing backend. 5 years ago
Fernando Sahmkow ed7e965712 TextureCache: Flush linear textures after finishing rendering. 5 years ago
Fernando Sahmkow 339d0d9d6c GPU: Delay Fences. 5 years ago
Fernando Sahmkow 8b1eb44b3e BufferCache: Implement OnCPUWrite and SyncGuestHost 5 years ago
Fernando Sahmkow da8f17715d GPU: Refactor synchronization on Async GPU 5 years ago
Fernando Sahmkow a60a22d9c2 Texture Cache: Implement OnCPUWrite and SyncGuestHost 5 years ago
Fernando Sahmkow 084ceb925a UI: Replasce accurate GPU option for GPU Accuracy Level 5 years ago
bunnei d64290884a
Merge pull request #3714 from lioncash/copies
gl_shader_decompiler: Avoid copies where applicable
5 years ago
bunnei cd47ccec49
Merge pull request #3745 from bunnei/fix-homebrew-load
Fix process memory initialization for ELF and NRO
5 years ago
Rodrigo Locatti f293b15611
Merge pull request #3718 from ReinUsesLisp/better-pipeline-state
fixed_pipeline_state: Pack structure, use memcmp and CityHash on it
5 years ago
bunnei 9bf3abcb63
Merge pull request #3698 from lioncash/warning
General: Resolve minor assorted warnings
5 years ago
bunnei 48b670d132
Merge pull request #3724 from bunnei/fix-unicorn
core: arm_unicorn: Fix interpret fallback by temporarily mapping instruction page.
5 years ago
David 11c63ca969
audio_renderer: Preliminary BehaviorInfo (#3736)
* audio_renderer: Preliminary BehaviorInfo

* clang format

* Fixed IsRevisionSupported

* fixed IsValidRevision

* Fixed logic error & spelling errors & crash

* Addressed issues
5 years ago
bunnei d3e0cefa60
Merge pull request #3695 from ReinUsesLisp/default-attributes
maxwell_3d: Initialize format attributes constant as one
5 years ago
Mat M cb5b8ca886
Merge pull request #3733 from ambasta/patch-2
Initialize quad_indexed_pass before uint8_pass
5 years ago
bunnei 9c12aef2f8 loader: nro: Fix process initialization using ProgramMetadata default. 5 years ago
bunnei 68039addbc loader: elf: Fix process initialization using ProgramMetadata default. 5 years ago
bunnei f0a7f05070 file_sys: program_metadata: Add a helper function for generating reasonable default metadata.
- We need this for homebrew process initialization.
5 years ago
Mat M 200f69d2ff
Merge pull request #3739 from MerryMage/disable_cpu_opt
dynarmic: Add option to disable CPU JIT optimizations
5 years ago
bunnei fe2173429a
Merge pull request #3741 from FearlessTobi/silence-warnings
Try to reduce log spam a bit by lowering log levels to Debug
5 years ago
FearlessTobi 4e99a06c70 npad: Lower log level for VibrateController to Debug 5 years ago
FearlessTobi 6ce0f3575a audren: Lower log level for RequestUpdateImpl to Debug 5 years ago
Fernando Sahmkow ec2f8f4272
Merge pull request #3700 from ReinUsesLisp/stream-buffer-sizes
vk_stream_buffer: Fix out of memory on boot on recent Nvidia drivers
5 years ago
MerryMage a3a12deecc dynarmic: Add option to disable CPU JIT optimizations 5 years ago
bunnei 6de36f0b61
Merge pull request #3712 from lioncash/remove
service: Remove unused RequestParser instances
5 years ago
bunnei e3977243e2
Merge pull request #3709 from lioncash/am
am: Resolve ineffective moves
5 years ago
Amit Prakash Ambasta 5324b1d01e
Initialize quad_indexed_pass before uint8_pass
Fixes Werror=reorder in gcc
5 years ago
Rodrigo Locatti 4932010c6f
Merge pull request #3729 from lioncash/globals
dma_pusher: Remove reliance on the global system instance
5 years ago
bunnei 85c17a2c35
Merge pull request #3694 from ReinUsesLisp/indexed-quads
vk_compute_pass: Implement indexed quads
5 years ago
Lioncash 44e959157b dma_pusher: Remove reliance on the global system instance
With this, the video core is now has no calls to the global system
instance at all.
5 years ago
bunnei 2ea7a70da0
Merge pull request #3686 from lioncash/table
texture_cache/format_lookup_table: Fix incorrect green, blue, and alpha indices
5 years ago
bunnei 10fb26f69c
Merge pull request #3696 from lioncash/cast-size
hle_ipc: Remove std::size_t casts where applicable
5 years ago
bunnei 779a3b222a
Merge pull request #3655 from FearlessTobi/ui-retext-yuzu
yuzu/main: Add better popup texts and remove duplicated actions
5 years ago
bunnei 73db83c0ab
Merge pull request #3679 from lioncash/track
track: Eliminate redundant copies
5 years ago
bunnei 9c85f385b1
Merge pull request #3720 from jbeich/freebsd
Unbreak Vulkan on FreeBSD
5 years ago
bunnei 74c27fd1b5 core: arm_unicorn: Fix interpret fallback by temporarily mapping instruction page. 5 years ago
Rodrigo Locatti 4d7d3651f3
Merge pull request #3719 from jbeich/clang
Unbreak -Werror=implicit-fallthrough with Clang
5 years ago
Jan Beich afcc84a172 renderer_vulkan: assume X11 if not Windows/macOS after bf1d66b7c0
Render.Vulkan <Error> video_core/renderer_vulkan/renderer_vulkan.cpp:CreateInstance:131: Presentation not supported on this platform
Render.Vulkan <Error> video_core/renderer_vulkan/renderer_vulkan.cpp:CreateSurface:378: Presentation not supported on this platform
Core <Critical> core/core.cpp:Load:199: Failed to initialize system (Error 5)!
5 years ago
Jan Beich 1a2df0a5f3 cmake: Silence -Werror=implicit-fallthrough in SDL2 headers
In file included from src/input_common/sdl/sdl_impl.cpp:16:
In file included from /usr/local/include/SDL2/SDL.h:32:
In file included from /usr/local/include/SDL2/SDL_main.h:25:
/usr/local/include/SDL2/SDL_stdinc.h:445:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
        case 3:         *_p++ = _val;   /* fallthrough */
        ^
/usr/local/include/SDL2/SDL_stdinc.h:445:9: note: insert '[[fallthrough]];' to silence this warning
        case 3:         *_p++ = _val;   /* fallthrough */
        ^
        [[fallthrough]];
/usr/local/include/SDL2/SDL_stdinc.h:445:9: note: insert 'break;' to avoid fall-through
        case 3:         *_p++ = _val;   /* fallthrough */
        ^
        break;
/usr/local/include/SDL2/SDL_stdinc.h:446:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
        case 2:         *_p++ = _val;   /* fallthrough */
        ^
/usr/local/include/SDL2/SDL_stdinc.h:446:9: note: insert '[[fallthrough]];' to silence this warning
        case 2:         *_p++ = _val;   /* fallthrough */
        ^
        [[fallthrough]];
/usr/local/include/SDL2/SDL_stdinc.h:446:9: note: insert 'break;' to avoid fall-through
        case 2:         *_p++ = _val;   /* fallthrough */
        ^
        break;
/usr/local/include/SDL2/SDL_stdinc.h:447:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
        case 1:         *_p++ = _val;   /* fallthrough */
        ^
/usr/local/include/SDL2/SDL_stdinc.h:447:9: note: insert '[[fallthrough]];' to silence this warning
        case 1:         *_p++ = _val;   /* fallthrough */
        ^
        [[fallthrough]];
/usr/local/include/SDL2/SDL_stdinc.h:447:9: note: insert 'break;' to avoid fall-through
        case 1:         *_p++ = _val;   /* fallthrough */
        ^
        break;
3 errors generated.
5 years ago
ReinUsesLisp d62f57cf5a fixed_pipeline_state: Hash and compare the whole structure
Pad FixedPipelineState's size to 384 bytes to be a multiple of 16.

Compare the whole struct with std::memcmp and hash with CityHash. Using
CityHash instead of a naive hash should reduce the number of collisions.
Improve used type traits to ensure this operation is safe.

With these changes the improvements to the hashable pipeline state are:

Optimized structure
Hash:            89 ns
Comparison:     103 ns
Construction*:  164 ns
Struct size:    384 bytes

Original structure
Hash:           148 ns
Equal:          174 ns
Construction*:  281 ns
Size:          1384 bytes

* Attribute state initialization is not measured

These measures are averages taken with std::chrono::high_accuracy_clock
on MSVC shipped on Visual Studio 16.6.0 Preview 2.1.
5 years ago
ReinUsesLisp b571c92dfd fixed_pipeline_state: Pack blending state
Reduce FixedPipelineState's size to 364 bytes.
5 years ago
ReinUsesLisp 548dd27f45 fixed_pipeline_state: Pack rasterizer state
Reduce FixedPipelineState's size to 600 bytes.
5 years ago