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