summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | shader/texture: Properly shrink unused entries in size mismatchesGravatar ReinUsesLisp2019-12-171-4/+9
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a image format mismatches we were inserting zeroes to the texture itself. This was not handling cases were the mismatch uses less coordinates than the guest shader code. Address that by resizing the vector.
* | | | | | Merge pull request #3232 from ReinUsesLisp/gl-decompiler-imagesGravatar bunnei2019-12-191-0/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | gl_shader_decompiler: Add missing DeclareImages
| * | | | | | gl_shader_decompiler: Add missing DeclareImagesGravatar ReinUsesLisp2019-12-171-0/+1
| |/ / / / /
* | | | | | Merge pull request #3231 from ReinUsesLisp/tld4s-encodingGravatar bunnei2019-12-191-1/+1
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | shader_bytecode: Fix TLD4S encoding
| * | | | | shader_bytecode: Fix TLD4S encodingGravatar ReinUsesLisp2019-12-171-1/+1
| |/ / / /
* | | | | Merge pull request #3221 from ReinUsesLisp/vk-schedulerGravatar bunnei2019-12-182-37/+311
|\ \ \ \ \ | |/ / / / |/| | | | vk_scheduler: Delegate commands to a worker thread and state track
| * | | | vk_scheduler: Delegate commands to a worker thread and state trackGravatar ReinUsesLisp2019-12-132-37/+311
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a worker thread approach for delegating Vulkan work derived from dxvk's approach. https://github.com/doitsujin/dxvk Now that the scheduler is what handles all Vulkan work related to command streaming, store state tracking in itself. This way we can know when to reupload Vulkan dynamic state to the queue (since this one is invalidated between command buffers unlike NVN). We can also store the renderpass state and graphics pipeline bound to avoid redundant binds and renderpass begins/ends.
* | | | | Merge pull request #3173 from yuzu-emu/bunnei-spscqueueGravatar bunnei2019-12-171-2/+9
|\ \ \ \ \ | |_|/ / / |/| | | | common: SPSCQueue: Notify after incrementing queue size.
| * | | | common: SPSCQueue: Notify after incrementing queue size.Gravatar bunnei2019-12-161-2/+9
| | | | |
* | | | | Merge pull request #3182 from ReinUsesLisp/renderer-openglGravatar bunnei2019-12-162-131/+115
|\ \ \ \ \ | |_|_|/ / |/| | | | renderer_opengl: Miscellaneous clean ups
| * | | | renderer_opengl: Make ScreenRectVertex's constructor constexprGravatar ReinUsesLisp2019-11-281-12/+7
| | | | |
| * | | | renderer_opengl: Remove C castsGravatar ReinUsesLisp2019-11-281-4/+5
| | | | |
| * | | | renderer_opengl: Use explicit binding for presentation shadersGravatar ReinUsesLisp2019-11-282-34/+20
| | | | |
| * | | | renderer_opengl: Drop macros for message decorationsGravatar ReinUsesLisp2019-11-281-21/+26
| | | | |
| * | | | renderer_opengl: Move static definitions to anonymous namespaceGravatar ReinUsesLisp2019-11-281-62/+66
| | | | |
| * | | | renderer_opengl: Move commentaries to header fileGravatar ReinUsesLisp2019-11-282-20/+13
| | | | |
* | | | | Merge pull request #3219 from FernandoS27/fix-bindlessGravatar Rodrigo Locatti2019-12-164-47/+124
|\ \ \ \ \ | | | | | | | | | | | | Corrections and fixes to TLD4S & bindless samplers failing
| * | | | | Shader_IR: Correct TLD4S Depth Compare.Gravatar Fernando Sahmkow2019-12-112-9/+16
| | | | | |
| * | | | | Shader_Ir: Correct TLD4S encoding and implement f16 flag.Gravatar Fernando Sahmkow2019-12-113-11/+15
| | | | | |
| * | | | | Gl_Shader_compiler: Correct Depth Compare for Texture Gather operations.Gravatar Fernando Sahmkow2019-12-111-8/+21
| | | | | |
| * | | | | Shader_Ir: default failed tracks on bindless samplers to null values.Gravatar Fernando Sahmkow2019-12-112-24/+77
| | | | | |
* | | | | | Merge pull request #3222 from ReinUsesLisp/maxwell-to-vkGravatar bunnei2019-12-143-111/+243
|\ \ \ \ \ \ | | | | | | | | | | | | | | maxwell_to_vk: Use VK_EXT_index_type_uint8 and misc changes
| * | | | | | maxwell_to_vk: Improve image format table and add more formatsGravatar ReinUsesLisp2019-12-132-89/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A1B5G5R5 uses A1R5G5B5. This is flipped with image view swizzles; flushing is still not properly implemented on Vulkan for this particular format.
| * | | | | | maxwell_to_vk: Implement more vertex formatsGravatar ReinUsesLisp2019-12-131-7/+81
| | | | | | |
| * | | | | | maxwell_to_vk: Implement more primitive topologiesGravatar ReinUsesLisp2019-12-132-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an extra argument to query device capabilities in the future. The intention behind this is to use native quads, quad strips, line loops and polygons if these are released for Vulkan.
| * | | | | | maxwell_to_vk: Approach GL_CLAMP closer to the GL specGravatar ReinUsesLisp2019-12-133-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OpenGL spec defines GL_CLAMP's formula similarly to CLAMP_TO_EDGE and CLAMP_TO_BORDER depending on the filter mode used. It doesn't exactly behave like this, but it's the closest we can get with what Vulkan offers without emulating it by injecting shader code.
| * | | | | | maxwell_to_vk: Use VK_EXT_index_type_uint8 when availableGravatar ReinUsesLisp2019-12-132-4/+7
| | |_|_|/ / | |/| | | |
* | | | | | Merge pull request #3213 from ReinUsesLisp/intel-mesaGravatar bunnei2019-12-141-1/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | gl_device: Enable compute shaders for Intel Mesa drivers
| * | | | | | gl_device: Enable compute shaders for Intel Mesa driversGravatar ReinUsesLisp2019-12-111-1/+4
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we naively checked for "Intel" in GL_VENDOR, but this includes both Intel's proprietary driver and the mesa driver. Re-enable compute shaders for mesa.
* | | | | | Merge pull request #3212 from ReinUsesLisp/fix-smem-lmemGravatar bunnei2019-12-131-2/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | gl_shader_cache: Add missing new-line on emitted GLSL
| * | | | | | gl_shader_cache: Add missing new-line on emitted GLSLGravatar ReinUsesLisp2019-12-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add missing new-line. This caused shaders using local memory and shared memory to inject a preprocessor GLSL line after an expression (resulting in invalid code). It looked like this: shared uint smem[8];#define LOCAL_MEMORY_SIZE 16 It should look like this (addressed by this commit): shared uint smem[8]; \#define LOCAL_MEMORY_SIZE 16
* | | | | | | Merge pull request #3214 from lioncash/svc-funcGravatar bunnei2019-12-122-9/+6
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | kernel/svc: Amend function signature of SignalProcessWideKey
| * | | | | | kernel/svc: Correct function signature of SignalProcessWideKeyGravatar Lioncash2019-12-112-9/+6
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | This function doesn't actually return a result code, so we can amend the signature of it to match.
* | | | | | Merge pull request #3217 from jhol/fix-boost-includeGravatar bunnei2019-12-111-0/+1
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | Added missing include
| * | | | | Added missing includeGravatar Joel Holdsworth2019-12-111-0/+1
| | | | | |
* | | | | | Gl_Rasterizer: Skip Tesselation Control and Eval stages as they are un ↵Gravatar Fernando Sahmkow2019-12-111-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implemented. This commit ensures the OGL backend does not execute tesselation shader stages as they are currently unimplemented.
* | | | | | Merge pull request #3210 from ReinUsesLisp/memory-barrierGravatar bunnei2019-12-115-1/+46
|\ \ \ \ \ \ | |/ / / / / |/| | | | | shader: Implement MEMBAR.GL
| * | | | | shader: Implement MEMBAR.GLGravatar ReinUsesLisp2019-12-105-1/+46
| | |/ / / | |/| | | | | | | | | | | | | Implement using memoryBarrier in GLSL and OpMemoryBarrier on SPIR-V.
* | | | | Kernel: Correct behavior of Address Arbiter threads. (#3165)Gravatar Fernando Sahmkow2019-12-113-24/+67
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Kernel: Correct behavior of Address Arbiter threads. This corrects arbitration threads to behave just like in Horizon OS. They are added into a container and released according to what priority they had when added. Horizon OS does not reorder them if their priority changes. * Kernel: Address Feedback.
* | | | Merge pull request #3201 from lioncash/dumpGravatar bunnei2019-12-102-2/+24
|\ \ \ \ | | | | | | | | | | kernel/svc: Provide implementations for svcDumpInfo/svcDumpInfoNew
| * | | | kernel/svc: Provide implementations for svcDumpInfo/svcDumpInfoNewGravatar Lioncash2019-12-072-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are fairly trivial to implement, we can just do nothing. This also provides a spot for us to potentially dump out any relevant info in the future (e.g. for debugging purposes with homebrew, etc). While we're at it, we can also correct the names of both of these supervisor calls.
* | | | | Maxwell3D: Implement Depth Mode.Gravatar Fernando Sahmkow2019-12-104-8/+15
| |/ / / |/| | | | | | | | | | | | | | | This commit finishes adding depth mode that was reverted before due to other unresolved issues.
* | | | vk_shader_decompiler: Fix build issues on old gcc versionsGravatar ReinUsesLisp2019-12-101-2/+3
| | | |
* | | | vk_shader_decompiler: Reduce YNegate's severityGravatar ReinUsesLisp2019-12-091-1/+1
| | | |
* | | | shader_ir/other: Implement S2R InvocationIdGravatar ReinUsesLisp2019-12-094-0/+9
| | | |
* | | | vk_shader_decompiler: Misc changesGravatar ReinUsesLisp2019-12-092-697/+1648
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update Sirit and its usage in vk_shader_decompiler. Highlights: - Implement tessellation shaders - Implement geometry shaders - Implement some missing features - Use native half float instructions when available.
* | | | shader: Keep track of shaders using warp instructionsGravatar ReinUsesLisp2019-12-092-0/+8
| | | |
* | | | shader_ir/memory: Implement patch storesGravatar ReinUsesLisp2019-12-094-20/+38
| | | |
* | | | vk_device: Misc changesGravatar ReinUsesLisp2019-12-092-117/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Setup more features and requirements. - Improve logging for missing features. - Collect telemetry parameters. - Add queries for more image formats. - Query push constants limits. - Optionally enable some extensions.
* | | | Merge pull request #3198 from ReinUsesLisp/tessellation-maxwellGravatar bunnei2019-12-081-2/+37
|\ \ \ \ | | | | | | | | | | maxwell_3d: Add tessellation state entries