summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-07-22glasm: Specify namespace when using FormatToReinUsesLisp
2021-07-22glasm: Implement more GLASM composite instructionsReinUsesLisp
2021-07-22vk_pipeline_cache: Enable int8 and int16 types on VulkanReinUsesLisp
2021-07-22glasm: Make GLASM aware of typesReinUsesLisp
2021-07-22glasm: Use CMP.S for Select32ameerj
also fixes ADD and SUB to use U modifier
2021-07-22glasm: Implement more logical opsameerj
2021-07-22glasm: Implement BFI, BFEameerj
Along with implementations of common instructions along the way
2021-07-22glasm: Use BitField instead of C bitfieldsReinUsesLisp
2021-07-22glasm: Remove unused argument in identity instructions on GLASMReinUsesLisp
2021-07-22gl_rasterizer: Flush L2 caches before glFlush on GLASMReinUsesLisp
2021-07-22glasm: Initial GLASM compute implementation for testingReinUsesLisp
2021-07-22glasm: Implement basic GLASM instructionsReinUsesLisp
2021-07-22glasm: Changes to GLASM register allocator and emit contextReinUsesLisp
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-22glasm: Add GLASM backend infrastructureReinUsesLisp
2021-07-22shader: ISET.X implementationameerj
2021-07-22gl_shader_cache: Remove code unintentionally committedReinUsesLisp
2021-07-22shader: Fixup SPIR-V emit header namespacesReinUsesLisp
2021-07-22Move SPIR-V emission functions to their own headerReinUsesLisp
2021-07-22shader: Optimize NVN FallthroughFernandoS27
2021-07-22shader: Stub SR_AFFINITYFernandoS27
2021-07-22shader: Implement Int32 SUATOM/SUREDameerj
2021-07-22shader: Initial OpenGL implementationReinUsesLisp
2021-07-22spirv: Be aware of NAN unaware driversReinUsesLisp
2021-07-22spirv: Add SSBO read fallbacks when no aliasing is availableReinUsesLisp
2021-07-22spirv: Add OpKill fallback to demoteReinUsesLisp
2021-07-22spirv: Do not enable ShaderLayerReinUsesLisp
This is enabled by an extension instead of the capability.
2021-07-22spirv: Enable DemoteToHelperInvocationEXT only when supportedReinUsesLisp
2021-07-22spirv: Use OriginLowerLeft when requestedReinUsesLisp
2021-07-22spirv: Only add image operands mask when neededReinUsesLisp
2021-07-22spirv: Workaround image unsigned offset bugReinUsesLisp
Workaround bug on Nvidia's OpenGL SPIR-V compiler when using unsigned texture offsets.
2021-07-22spirv: Add int8 and int16 capabilities only when supportedReinUsesLisp
2021-07-22spirv: Add integer clamping workaroundsReinUsesLisp
Workaround more bugs on Nvidia's OpenGL SPIR-V compiler.
2021-07-22spirv: Implement int8 and int16 conversion fallbacksReinUsesLisp
2021-07-22spirv: Support OpenGL uniform buffers and change bindingsReinUsesLisp
2021-07-22spirv: Desambiguate descriptor namesReinUsesLisp
Worksaround a bug on Nvidia's OpenGL SPIR-V compiler where names are used for name matching.
2021-07-22shader: Add OpenGL shader profile optionsReinUsesLisp
2021-07-22shader: Remove shader utilReinUsesLisp
2021-07-22shader: Address feedbackFernandoS27
2021-07-22shader: Implement VertexA stageFernandoS27
2021-07-22shader: Implement delegation of Exit to dispatcher on CFGFernandoS27
2021-07-22vk_graphics_pipeline: Fix texture buffer descriptorsReinUsesLisp
2021-07-22shader: Fix IADD3.CCameerj
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.
2021-07-22vulkan: Rework descriptor allocation algorithmReinUsesLisp
Create multiple descriptor pools on demand. There are some degrees of freedom what is considered a compatible pool to avoid wasting large pools on small descriptors.