summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | astc_decoder: Compute offset swizzles in-shaderGravatar ameerj2021-08-014-109/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Alleviates the dependency on the swizzle table and a uniform which is constant for all ASTC texture sizes.
| * | | | | | | | astc_decoder: Make use of uvec4 for payload dataGravatar ameerj2021-07-311-79/+43
| | | | | | | | |
| * | | | | | | | astc_decoder: Simplify Select2DPartitionGravatar ameerj2021-07-311-38/+19
| | | | | | | | |
| * | | | | | | | astc_decoder: Optimize the use EncodingDataGravatar ameerj2021-07-316-138/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This buffer was a list of EncodingData structures sorted by their bit length, with some duplication from the cpu decoder implementation. We can take advantage of its sorted property to optimize its usage in the shader. Thanks to wwylele for the optimization idea.
| * | | | | | | | astc.h: Move data to cpp implementationGravatar ameerj2021-07-312-64/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moves leftover values that are no longer used by the gpu decoder back to the cpp implementation.
* | | | | | | | | Merge pull request #6799 from ameerj/vp9-fixesGravatar bunnei2021-08-065-205/+52
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ / |/| | | | | | | | nvdec: Fix VP9 reference frame refreshes
| * | | | | | | | nvhost_nvdec_common: Remove BufferMapGravatar ameerj2021-08-062-76/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was mainly used to keep track of mapped buffers for later unmapping. Since unmap is no longer implemented, this no longer seves a valuable purpose.
| * | | | | | | | vp9: Cleanup unused variablesGravatar ameerj2021-08-063-58/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With reference frames refreshes fix, we no longer need to buffer two frames in advance. We can also remove other unused or otherwise unneeded variables.
| * | | | | | | | vp9: Fix reference frame refreshesGravatar ameerj2021-08-062-48/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This resolves the artifacting when decoding VP9 streams.
| * | | | | | | | nvhost_nvdec_common: Stub UnmapBuffer IoctlGravatar ameerj2021-08-061-23/+4
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | Skip unmapping nvdec buffers to avoid breaking the continuity of the VP9 reference frame addresses, and the risk of invalidating data before the async GPU thread is done with it.
* | | | | | | | Merge pull request #6822 from yzct12345/clion-assertGravatar bunnei2021-08-051-2/+6
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | | assert: Avoid empty macros
| * | | | | | | assert: Verify formattingGravatar yzct123452021-08-051-2/+6
| | | | | | | |
| * | | | | | | assert: Avoid empty macrosGravatar yzct123452021-08-051-2/+2
| | |_|_|_|/ / | |/| | | | |
* | | | | | | Merge pull request #6813 from Morph1984/hex-string-to-uuidGravatar bunnei2021-08-052-0/+73
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | common: uuid: Add hex string to UUID constructor
| * | | | | | common: uuid: Add hex string to UUID constructorGravatar Morph2021-08-042-0/+73
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | This allows for easily converting a hex string into a Common::UUID, which is backed by a 128 bit unsigned integer.
* | | | | | Merge pull request #6819 from Morph1984/i-am-dumbGravatar Mai M2021-08-041-2/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | applet_swkbd: Include the null terminator in the buffer size calculation
| * | | | | | applet_swkbd: Include the null terminator in the buffer size calculationGravatar Morph2021-08-041-2/+4
| |/ / / / / | | | | | | | | | | | | | | | | | | Some games may interpret the read string as a null-terminated string instead of just reading the string up to buffer_size.
* | | | | | Merge pull request #6818 from Morph1984/hex-util-bugGravatar Mai M2021-08-041-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | hex_util: Fix incorrect array size in AsArray
| * | | | | | hex_util: Fix incorrect array size in AsArrayGravatar Morph2021-08-041-1/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | Although this isn't used, this is a potential bug as HexStringToArray will perform an out-of-bounds read.
* / / / / / config: Read connected setting for controllersGravatar lat9nq2021-08-041-0/+3
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | Currently yuzu will read the mapping but does not connect a controller despite adding subsequent configurations for it. Read the `connected` setting for now as a boolean like the Qt frontend.
* | | | | nvdec: Implement VA-API hardware video acceleration (#6713)Gravatar yzct123452021-08-035-72/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * nvdec: VA-API * Verify formatting * Forgot a semicolon for Windows * Clarify comment about AV_PIX_FMT_NV12 * Fix assert log spam from missing negation * vic: Remove forgotten debug code * Address lioncash's review * Mention VA-API is Intel/AMD * Address v1993's review * Hopefully fix CMakeLists style this time * vic: Improve cache locality * vic: Fix off-by-one error * codec: Async * codec: Forgot the GetValue() * nvdec: Address ameerj's review * codec: Fallback to CPU without VA-API support * cmake: Address lat9nq's review * cmake: Make VA-API optional * vaapi: Multiple GPU * Apply suggestions from code review Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com> * nvdec: Address ameerj's review * codec: Use anonymous instead of static * nvdec: Remove enum and fix memory leak * nvdec: Address ameerj's review * codec: Remove preparation for threading Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
* | | | | Merge pull request #6805 from lat9nq/fix-user-profilesGravatar Morph2021-08-021-5/+6
|\ \ \ \ \ | | | | | | | | | | | | config: Only read/write current_user on global config
| * | | | | config: Only read/write current_user on global configGravatar lat9nq2021-08-021-5/+6
| | | | | |
* | | | | | network: fix ternary operator in Socket::SendToGravatar spholz2021-08-021-1/+1
|/ / / / /
* | | / / decoders: Optimize swizzle copy performance (#6790)Gravatar yzct123452021-08-021-9/+43
| |_|/ / |/| | | | | | | This makes UnswizzleTexture up to two times faster. It is the main bottleneck in NVDEC video decoding.
* | | | game_list: Make game list folder icons smaller (#6762)Gravatar Malte Jürgens2021-08-016-28/+70
| | | | | | | | | | | | Makes the default game list folder icons 48x48 by default instead of 64x64, and allows for selecting small (24x24) and large (72x72) icon sizes.
* | | | service: set: Correct copy amount in GetAvailableLanguageCodesGravatar Morph2021-08-011-1/+2
| | | |
* | | | Merge pull request #6720 from ameerj/vk-screenshotGravatar Fernando S2021-08-018-75/+247
|\ \ \ \ | | | | | | | | | | renderer_vulkan: Implement screenshots
| * | | | renderers: Add explicit invert_y bool to screenshot callbackGravatar ameerj2021-07-285-7/+7
| | | | | | | | | | | | | | | | | | | | OpenGL and Vulkan images render in different coordinate systems. This allows us to specify the coordinate system of the screenshot within each renderer
| * | | | renderer_vulkan: Implement screenshotsGravatar ameerj2021-07-282-0/+152
| | | | |
| * | | | vk_blit_screen: Add public CreateFramebuffer methodGravatar ameerj2021-07-282-14/+18
| | | | |
| * | | | vk_blit_screen: Make Draw method more genericGravatar ameerj2021-07-283-55/+71
| | | | | | | | | | | | | | | | | | | | Allows specifying the framebuffer and render area dimensions, rather than being hard coded for the render window.
* | | | | Merge pull request #6765 from ReinUsesLisp/y-negate-vkGravatar Ameer J2021-08-011-2/+7
|\ \ \ \ \ | |_|/ / / |/| | | | vk_rasterizer: Flip viewport on Y_NEGATE
| * | | | vk_rasterizer: Flip viewport on Y_NEGATEGravatar ReinUsesLisp2021-07-291-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Matches OpenGL's behavior. I don't believe this register flips geometry, but we have to try to match behavior on both backends.
* | | | | hle: api_version: Update HOS version to 12.1.0Gravatar Morph2021-07-311-7/+7
| | | | | | | | | | | | | | | | | | | | Keeps us up to date with reporting the system version.
* | | | | Merge pull request #6752 from Morph1984/pt-brGravatar bunnei2021-07-305-11/+20
|\ \ \ \ \ | | | | | | | | | | | | service: ns, set: Add PT_BR (Brazilian Portuguese)
| * | | | | configure_system: Add Brazilian Portuguese to the list of languagesGravatar Morph2021-07-302-1/+6
| | | | | |
| * | | | | service: set: Correct 4.0.0 max_entries to 0x40 (64) instead of 17Gravatar Morph2021-07-301-8/+8
| | | | | |
| * | | | | service: ns, set: Add PT_BR (Brazilian Portuguese)Gravatar Morph2021-07-303-2/+6
| | |_|/ / | |/| | |
* | | | | Merge pull request #6775 from lat9nq/cmd-remove-global-coreGravatar bunnei2021-07-307-12/+23
|\ \ \ \ \ | | | | | | | | | | | | emu_window: Remove global system instance
| * | | | | emu_window: Remove global system instanceGravatar lat9nq2021-07-307-12/+23
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was just the one in emu_window_sdl2, but since _gl and _vk inherit from it, they all needed adjustments. Leaves just the one auto system& in main().
* | | | | Merge pull request #6759 from ReinUsesLisp/pipeline-statisticsGravatar bunnei2021-07-3019-24/+307
|\ \ \ \ \ | | | | | | | | | | | | renderer_vulkan: Add setting to log pipeline statistics
| * | | | | renderer_vulkan: Add setting to log pipeline statisticsGravatar ReinUsesLisp2021-07-2719-24/+307
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use VK_KHR_pipeline_executable_properties when enabled and available to log statistics about the pipeline cache in a game. For example, this is on Turing GPUs when generating a pipeline cache from Super Smash Bros. Ultimate: Average pipeline statistics ========================================== Code size: 6433.167 Register count: 32.939 More advanced results could be presented, at the moment it's just an average of all 3D and compute pipelines.
* | | | | applet_swkbd: Correct string buffer size calculationGravatar Morph2021-07-301-2/+2
| |/ / / |/| | | | | | | | | | | The buffer size here does not include the initial 8 bytes.
* | | | Merge pull request #6767 from ReinUsesLisp/fold-float-packGravatar Morph2021-07-301-0/+4
|\ \ \ \ | | | | | | | | | | shader: Fold UnpackFloat2x16 and PackFloat2x16
| * | | | shader: Fold UnpackFloat2x16 and PackFloat2x16Gravatar ReinUsesLisp2021-07-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Simplifies the code a bit when possible. These instructions should be no-ops codegen wise.
* | | | | Merge pull request #6722 from ReinUsesLisp/xmad-optsGravatar bunnei2021-07-292-14/+195
|\ \ \ \ \ | |/ / / / |/| | | | shader: Fold integer FMA from Nvidia's pattern
| * | | | shader: Fold integer FMA from Nvidia's patternGravatar ReinUsesLisp2021-07-261-0/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fold shaders doing "a * b + c" on integers from the pattern generated by Nvidia's GL compiler. On a somewhat complex compute shader it reduces the code size by 16 instructions from 2 matches on Turing GPUs. On Intel as extracted from KHR_pipeline_executable_properties: Before the optimization: ``` Instruction Count: 2057 Basic Block Count: 45 Scratch Memory Size: 14752 Spill Count: 232 Fill Count: 261 SEND Count: 610 Cycle Count: 11325 ``` After the optimization: ``` Instruction Count: 2046 Basic Block Count: 44 Scratch Memory Size: 13728 Spill Count: 219 Fill Count: 268 SEND Count: 604 Cycle Count: 11367 ```
| * | | | shader: Use TryInstRecursive on XMAD multiply foldingGravatar ReinUsesLisp2021-07-261-14/+12
| | | | | | | | | | | | | | | | | | | | Simplify a bit the logic.
| * | | | shader: Add TryInstRecursive utility to valuesGravatar ReinUsesLisp2021-07-261-0/+8
| | | | |