aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2021-08-01astc_decoder: Reduce workgroup sizeameerj
This reduces the amount of over dispatching when there are odd dimensions (i.e. ASTC 8x5), which rarely evenly divide into 32x32.
2021-08-01astc_decoder: Compute offset swizzles in-shaderameerj
Alleviates the dependency on the swizzle table and a uniform which is constant for all ASTC texture sizes.
2021-07-31astc_decoder: Make use of uvec4 for payload dataameerj
2021-07-31astc_decoder: Simplify Select2DPartitionameerj
2021-07-31astc_decoder: Optimize the use EncodingDataameerj
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.
2021-07-31astc.h: Move data to cpp implementationameerj
Moves leftover values that are no longer used by the gpu decoder back to the cpp implementation.
2021-07-30Merge pull request #6759 from ReinUsesLisp/pipeline-statisticsbunnei
renderer_vulkan: Add setting to log pipeline statistics
2021-07-29vk_rasterizer: Flip viewport on Y_NEGATEReinUsesLisp
Matches OpenGL's behavior. I don't believe this register flips geometry, but we have to try to match behavior on both backends.
2021-07-28renderers: Add explicit invert_y bool to screenshot callbackameerj
OpenGL and Vulkan images render in different coordinate systems. This allows us to specify the coordinate system of the screenshot within each renderer
2021-07-28renderer_vulkan: Implement screenshotsameerj
2021-07-28vk_blit_screen: Add public CreateFramebuffer methodameerj
2021-07-28vk_blit_screen: Make Draw method more genericameerj
Allows specifying the framebuffer and render area dimensions, rather than being hard coded for the render window.
2021-07-27renderer_vulkan: Add setting to log pipeline statisticsReinUsesLisp
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.
2021-07-27Merge pull request #6749 from lioncash/rtargetbunnei
render_target: Add missing initializer for size extent
2021-07-27Merge pull request #6748 from lioncash/engine-initRodrigo Locatti
video_core/engine: Consistently initialize rasterizer pointers
2021-07-27Merge pull request #6745 from lioncash/copiesbunnei
video_core: Remove some unused variables
2021-07-27render_target: Add missing initializer for size extentLioncash
Everything else has a default constructor that does the straightforward thing of initializing most members to a default value, except for the size. We explicitly initialize the size (and others, for consistency), to prevent potential uninitialized reads from occurring. Particularly given the largeish surface area that this struct is used in.
2021-07-27video_core/engine: Consistently initialize rasterizer pointersLioncash
Ensures all of the engines have consistent and deterministic initialization of the rasterizer pointers.
2021-07-27vulkan_wrapper: Fix SetObjectName() always indicating objects as imagesLioncash
We should be using the passed in object type instead.
2021-07-27buffer_cache: Remove unused small_vector in CommitAsyncFlushesHigh()Lioncash
Given this is non-trivial, the constructor is required to execute, so this removes a bit of redundant codegen.
2021-07-27gl_shader_cache: Remove unused variableLioncash
2021-07-27vk_compute_pass: Remove unused capturesLioncash
Resolves two compiler warnings.
2021-07-26Merge pull request #6696 from ameerj/speed-limit-renamebunnei
general: Rename "Frame Limit" references to "Speed Limit"
2021-07-26Merge pull request #6741 from ReinUsesLisp/stream-removeRodrigo Locatti
vk_stream_buffer: Remove unused stream buffer
2021-07-26Merge pull request #6740 from K0bin/hvv-fallbackRodrigo Locatti
Handle allocation failure in Staging buffer
2021-07-26vk_staging_buffer_pool: Fall back to host memory when allocation failsRobin Kertels
2021-07-26Merge pull request #6728 from ReinUsesLisp/null-buffer-usageRodrigo Locatti
vk_buffer_cache: Add transform feedback usage to null buffer
2021-07-26vk_stream_buffer: Remove unused stream bufferReinUsesLisp
Remove unused file.
2021-07-26vk_compute_pass: Fix pipeline barrier for indexed quadsReinUsesLisp
Use an index buffer barrier instead of a vertex input read barrier.
2021-07-26vk_buffer_cache: Add transform feedback usage to null bufferReinUsesLisp
Fixes bad API usages on Vulkan.
2021-07-25Merge pull request #6585 from ameerj/hadesbunnei
Shader Decompiler Rewrite
2021-07-24Merge pull request #6690 from ReinUsesLisp/dma-clear-fixupsbunnei
buffer_cache: Misc fixups related to buffer clears
2021-07-23renderer_base: Removed redundant settingsameerj
use_framelimiter was not being used internally by the renderers. set_background_color was always set to true as there is no toggle for the renderer background color, instead users directly choose the color of their choice.
2021-07-23general: Rename "Frame Limit" references to "Speed Limit"ameerj
This setting is best referred to as a speed limit, as it involves the limits of all timing based aspects of the emulator, not only framerate. This allows us to differentiate it from the fps unlocker setting.
2021-07-22vulkan/blit_image: Commit descriptor sets within worker threadReinUsesLisp
Fixes race condition caused. The descriptor pool is not thread safe, so we have to commit descriptor sets within the same thread.
2021-07-22vulkan_device: Blacklist Volta and older from VK_KHR_push_descriptorReinUsesLisp
Causes crashes on Link's Awakening intro. It's hard to debug if it's our fault due to bugs in validation layers.
2021-07-22Revert "renderers: Disable async shader compilation"ReinUsesLisp
This reverts commit 4a152767286717fa69bfc94846a124a366f70065.
2021-07-22opengl: Fix asynchronous shadersReinUsesLisp
Wait for shader to build before configuring it, and wait for the shader to build before sharing it with other contexts.
2021-07-22shader_environment: Receive cache version from outsideReinUsesLisp
This allows us invalidating OpenGL and Vulkan separately in the future.
2021-07-22shader: Fix disabled attribute default valuesameerj
2021-07-22gl_device: Simplify GLASM setting logicameerj
2021-07-22renderer_opengl: Use ARB_separate_shader_objectsReinUsesLisp
Ensures that states set for a particular stage are not attached to other stages which may not need them.
2021-07-22glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZEameerj
2021-07-22gl_shader_cache: Properly implement asynchronous shadersReinUsesLisp
2021-07-22shader_recompiler, video_core: Resolve clang errorslat9nq
Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors
2021-07-22renderers: Fix clang formattingameerj
2021-07-22renderers: Disable async shader compilationameerj
The current implementation is prone to causing graphical issues. Disable until a better solution is implemented.
2021-07-22maxwell_to_vk: Add R16_SNORMReinUsesLisp
2021-07-22shader: Ignore global memory ops on devices lacking int64 supportameerj
2021-07-22vulkan_device: Add missing include algorithmlat9nq