aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2021-07-22fixed_pipeline_state: Use regular for loop instead of ranges for perfReinUsesLisp
MSVC generates better code for it.
2021-07-22vk_swapchain: Avoid recreating the swapchain on each frameReinUsesLisp
Recreate only when requested (or sRGB is changed) instead of tracking the frontend's size. That size is still used as a hint.
2021-07-22vulkan: Conditionally use shaderInt16ReinUsesLisp
Add support for Polaris AMD devices.
2021-07-22vulkan: Enable depth bounds and use it conditionallyReinUsesLisp
Intel devices pre-Xe don't support this.
2021-07-22vk_buffer_cache: Add transform feedback usage to buffersReinUsesLisp
2021-07-22opengl: Declare fragment outputs even if they are not usedReinUsesLisp
Fixes Ori and the Blind Forest's menu on GLASM. For some reason (probably high level optimizations) it is not sanitized on SPIR-V for OpenGL. Vulkan is unaffected by this change.
2021-07-22buffer_cache: Mark uniform buffers as dirty if any enable bit changesReinUsesLisp
2021-07-22vulkan_device: Enable float64 and int64 conditionallyReinUsesLisp
Add Intel Xe support.
2021-07-22texture_cache: Reduce invalid image/sampler error severityReinUsesLisp
2021-07-22shader: Handle host exceptionsReinUsesLisp
2021-07-22glasm: Prepare XFB from state instead of global registersReinUsesLisp
2021-07-22glasm: Use storage buffers instead of global memory when possibleReinUsesLisp
2021-07-22gl_shader_cache: Add disk shader cacheReinUsesLisp
2021-07-22video_core,shader: Clang-format fixesReinUsesLisp
2021-07-22gl_shader_cache: Rename Program abstractions into PipelineReinUsesLisp
2021-07-22gl_shader_cache: Do not flip tessellation on OpenGLReinUsesLisp
2021-07-22gl_graphics_program: Fix texture buffer bindingsReinUsesLisp
2021-07-22gl_shader_cache: Conditionally use viewport maskReinUsesLisp
2021-07-22gl_shader_cache,glasm: Conditionally use typeless image reads extensionReinUsesLisp
2021-07-22gl_shader_cache: Improve GLASM error print logicReinUsesLisp
2021-07-22glasm: Implement forced early ZReinUsesLisp
2021-07-22glasm: Set transform feedback stateReinUsesLisp
2021-07-22video_core: Abstract transform feedback translation utilityReinUsesLisp
2021-07-22gl_shader_cache: Pass shader runtime informationReinUsesLisp
2021-07-22shader: Split profile and runtime information in separate structsReinUsesLisp
2021-07-22gl_shader_manager: Zero initialize current assembly programsReinUsesLisp
2021-07-22gl_shader_manager: Remove unintentionally committed #pragmaReinUsesLisp
2021-07-22renderer_opengl: State track compute assembly programsReinUsesLisp
2021-07-22renderer_opengl: State track assembly programsReinUsesLisp
2021-07-22HACK: Bind stages before and after bindingsReinUsesLisp
Works around a bug where program parameters are only applied to the current stage, and this one wasn't bound at the moment. Affects all SSBO usages on GLASM.
2021-07-22glasm: Support textures used in more than one stageReinUsesLisp
2021-07-22opengl: Initial (broken) support to GLASM shadersReinUsesLisp
2021-07-22vk_update_descriptor: Properly initialize payload on the update descriptor queueReinUsesLisp
2021-07-22vk_pipeline_cache: Enable int8 and int16 types on VulkanReinUsesLisp
2021-07-22gl_rasterizer: Flush L2 caches before glFlush on GLASMReinUsesLisp
2021-07-22glasm: Initial GLASM compute implementation for testingReinUsesLisp
2021-07-22vk_scheduler: Use locks instead of SPSC a queueReinUsesLisp
This tries to fix a data race where we'd wait forever for the GPU.
2021-07-22vk_query_cache: Wait before reading queriesReinUsesLisp
2021-07-22vk_master_semaphore: Use fetch_add to increase master semaphore tickReinUsesLisp
2021-07-22gl_shader_cache: Remove code unintentionally committedReinUsesLisp
2021-07-22Move SPIR-V emission functions to their own headerReinUsesLisp
2021-07-22shader: Initial OpenGL implementationReinUsesLisp
2021-07-22spirv: Support OpenGL uniform buffers and change bindingsReinUsesLisp
2021-07-22shader: Address feedbackFernandoS27
2021-07-22shader: Implement VertexA stageFernandoS27
2021-07-22vk_graphics_pipeline: Fix texture buffer descriptorsReinUsesLisp
2021-07-22vk_scheduler: Allow command submission on worker threadReinUsesLisp
This changes how Scheduler::Flush works. It queues the current command buffer to be sent to the GPU but does not do it immediately. The Vulkan worker thread takes care of that. Users will have to use Scheduler::Flush + Scheduler::WaitWorker to get the previous behavior. Scheduler::Finish is unchanged. To avoid waiting on work never queued, Scheduler::Wait sends the current command buffer if that's what the caller wants to wait.
2021-07-22vk_compute_pass: Fix -Wshadow warningReinUsesLisp
2021-07-22shader: Move pipeline cache logic to separate filesReinUsesLisp
Move code to separate files to be able to reuse it from OpenGL. This greatly simplifies the pipeline cache logic on Vulkan. Transform feedback state is not yet abstracted and it's still intrusively stored inside vk_pipeline_cache. It will be moved when needed on OpenGL.
2021-07-22vulkan: Defer descriptor set work to the Vulkan threadReinUsesLisp
Move descriptor lookup and update code to a separate thread. Delaying this removes work from the main GPU thread and allows creating descriptor layouts on another thread. This reduces a bit the workload of the main thread when new pipelines are encountered.