Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2023-06-03 | Avoid using VectorExtractDynamic for subgroup mask on Adreno GPUs | Billy Laws | 1 | -0/+2 | |
This crashes their shader compiler for some reason. | |||||
2023-06-03 | Implement scaled vertex buffer format emulation | Billy Laws | 1 | -0/+1 | |
These formats are unsupported by mobile GPUs so they need to be emulated in shaders instead. | |||||
2023-04-08 | video_core: Enable ImageGather with subpixel offset on Intel | Wollnashorn | 1 | -3/+3 | |
2023-04-08 | shader_recompiler: Add subpixel offset for correct rounding at `ImageGather` | Wollnashorn | 1 | -0/+4 | |
On AMD a subpixel offset of 1/512 of the texel size is applied to the texture coordinates at a ImageGather call to ensure the rounding at the texel centers is done the same way as in Maxwell or other Nvidia architectures. See https://www.reedbeta.com/blog/texture-gathers-and-coordinate-precision/ for more details why this might be necessary. This should fix shadow artifacts at object edges in Zelda: Breath of the Wild (#9957, #6956). | |||||
2023-01-05 | Vulkan: Add a workaround for input_position on Adreno drivers | Billy Laws | 1 | -0/+2 | |
Adreno drivers will crash compiling geometry shaders if the input position is not wrapped in a gl_in struct. | |||||
2022-12-14 | Vulkan: Add support for VK_EXT_depth_clip_control. | FernandoS27 | 1 | -0/+1 | |
2022-04-23 | general: Convert source file copyright comments over to SPDX | Morph | 1 | -3/+2 | |
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later. | |||||
2021-12-30 | glsl: Add boolean reference workaround | ameerj | 1 | -0/+2 | |
2021-12-30 | glsl_context_get_set: Add alternative cbuf type for broken drivers | ameerj | 1 | -0/+2 | |
some drivers have a bug bitwise converting floating point cbuf values to uint variables. This adds a workaround for these drivers to make all cbufs uint and convert to floating point as needed. | |||||
2021-07-23 | glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE | ameerj | 1 | -0/+2 | |
2021-07-23 | shader: Ignore global memory ops on devices lacking int64 support | ameerj | 1 | -0/+1 | |
2021-07-23 | emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 Nvidia | ReinUsesLisp | 1 | -0/+2 | |
Fix regression on Fire Emblem: Three Houses when using native fp16. | |||||
2021-07-23 | shader: Rework varyings and implement passthrough geometry shaders | ReinUsesLisp | 1 | -0/+1 | |
Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's. | |||||
2021-07-23 | shader: Split profile and runtime info headers | ReinUsesLisp | 1 | -72/+0 | |
2021-07-23 | glsl: Address rest of feedback | ameerj | 1 | -0/+2 | |
2021-07-23 | glsl: Conditionally use fine/coarse derivatives based on device support | ameerj | 1 | -0/+1 | |
2021-07-23 | glsl: Cleanup/Address feedback | ameerj | 1 | -0/+2 | |
2021-07-23 | glsl: Add stubs for sparse queries and variable aoffi when not supported | ameerj | 1 | -0/+2 | |
2021-07-23 | glsl: Implement fswzadd | ameerj | 1 | -0/+1 | |
and wip nv thread shuffle impl | |||||
2021-07-23 | glsl: Implement image atomics and set layer | ameerj | 1 | -1/+0 | |
along with some more cleanup/oversight fixes | |||||
2021-07-23 | glsl: Add cbuf access workaround for devices with component indexing bug | ameerj | 1 | -0/+2 | |
2021-07-23 | glsl: Use textureGrad fallback when EXT_texture_shadow_lod is unsupported | ameerj | 1 | -0/+1 | |
2021-07-23 | glsl: skip gl_ViewportIndex write if device does not support it | ameerj | 1 | -0/+1 | |
2021-07-23 | glsl: Query GL Device for FP16 extension support | ameerj | 1 | -0/+2 | |
2021-07-23 | glasm: Use ARB_derivative_control conditionally | ReinUsesLisp | 1 | -0/+1 | |
2021-07-23 | opengl: Declare fragment outputs even if they are not used | ReinUsesLisp | 1 | -0/+4 | |
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-23 | glasm: Use storage buffers instead of global memory when possible | ReinUsesLisp | 1 | -0/+3 | |
2021-07-23 | shader: Split profile and runtime information in separate structs | ReinUsesLisp | 1 | -5/+8 | |
2021-07-23 | shader: Add OpenGL shader profile options | ReinUsesLisp | 1 | -0/+11 | |
2021-07-23 | shader: Implement SR_Y_DIRECTION | FernandoS27 | 1 | -0/+2 | |
2021-07-23 | spirv: Implement ViewportMask with NV_viewport_array2 | ReinUsesLisp | 1 | -0/+1 | |
2021-07-23 | shader: Implement tessellation shaders, polygon mode and invocation id | ReinUsesLisp | 1 | -0/+16 | |
2021-07-23 | spirv: Implement alpha test | ameerj | 1 | -1/+14 | |
2021-07-23 | shader: Implement transform feedbacks and define file format | ReinUsesLisp | 1 | -0/+10 | |
2021-07-23 | shader: Implement early Z tests | ReinUsesLisp | 1 | -0/+1 | |
2021-07-23 | shader: Implement geometry shaders | ReinUsesLisp | 1 | -0/+10 | |
2021-07-23 | shader: Implement ATOM/S and RED | ameerj | 1 | -0/+1 | |
2021-07-23 | spirv: Guard against typeless image reads on unsupported devices | ReinUsesLisp | 1 | -0/+1 | |
2021-07-23 | shader: Implement ViewportIndex | FernandoS27 | 1 | -0/+1 | |
2021-07-23 | spirv: Add fixed pipeline point size | ReinUsesLisp | 1 | -0/+3 | |
2021-07-23 | shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when available | ReinUsesLisp | 1 | -0/+3 | |
2021-07-23 | shader: Better interpolation and disabled attributes support | ReinUsesLisp | 1 | -0/+1 | |
2021-07-23 | shader: Refactor PTP and other minor changes | ReinUsesLisp | 1 | -1/+0 | |
2021-07-23 | shader: Implement TLD4.PTP | FernandoS27 | 1 | -0/+1 | |
2021-07-23 | shader: Implement NDC [-1, 1], attribute types and default varying initialization | ReinUsesLisp | 1 | -0/+13 | |
2021-07-23 | shader: Implement VOTE | ameerj | 1 | -0/+2 | |
2021-07-23 | shader: Implement DMNMX, DSET, DSETP | ameerj | 1 | -0/+1 | |
2021-07-23 | spirv: Implement VertexId and InstanceId, refactor code | ReinUsesLisp | 1 | -0/+1 | |
2021-07-23 | spirv: Add SignedZeroInfNanPreserve logic | ameerj | 1 | -0/+2 | |
2021-07-23 | spirv: Fixes and Intel specific workarounds | ReinUsesLisp | 1 | -0/+3 | |
2021-07-23 | shader: Add denorm flush support | ReinUsesLisp | 1 | -1/+8 | |
2021-07-23 | shader: Primitive Vulkan integration | ReinUsesLisp | 1 | -1/+9 | |
2021-07-23 | shader: SSA and dominance | ReinUsesLisp | 1 | -0/+5 | |