summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/profile.h
AgeCommit message (Collapse)Author
2024-02-19shader_recompiler: throw on missing geometry streams in geometry shadersLiam
2023-12-18shader_recompiler: ignore clip distances beyond driver support levelLiam
2023-11-26Merge branch 'master' into ssbo-alignAmeer J
2023-11-19renderer_vulkan: ignore viewport stores on non-supporting driversLiam
2023-10-31shader_recompiler: Align SSBO offsets in GlobalMemory functionsAmeer J
2023-10-19Manually robust on Maxwell and earlierKelebek1
2023-06-03Avoid using VectorExtractDynamic for subgroup mask on Adreno GPUsBilly Laws
This crashes their shader compiler for some reason.
2023-06-03Implement scaled vertex buffer format emulationBilly Laws
These formats are unsupported by mobile GPUs so they need to be emulated in shaders instead.
2023-04-08video_core: Enable ImageGather with subpixel offset on IntelWollnashorn
2023-04-08shader_recompiler: Add subpixel offset for correct rounding at `ImageGather`Wollnashorn
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-05Vulkan: Add a workaround for input_position on Adreno driversBilly Laws
Adreno drivers will crash compiling geometry shaders if the input position is not wrapped in a gl_in struct.
2022-12-13Vulkan: Add support for VK_EXT_depth_clip_control.FernandoS27
2022-04-23general: Convert source file copyright comments over to SPDXMorph
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-29glsl: Add boolean reference workaroundameerj
2021-12-29glsl_context_get_set: Add alternative cbuf type for broken driversameerj
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-22glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZEameerj
2021-07-22shader: Ignore global memory ops on devices lacking int64 supportameerj
2021-07-22emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 NvidiaReinUsesLisp
Fix regression on Fire Emblem: Three Houses when using native fp16.
2021-07-22shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp
Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's.
2021-07-22shader: Split profile and runtime info headersReinUsesLisp
2021-07-22glsl: Address rest of feedbackameerj
2021-07-22glsl: Conditionally use fine/coarse derivatives based on device supportameerj
2021-07-22glsl: Cleanup/Address feedbackameerj
2021-07-22glsl: Add stubs for sparse queries and variable aoffi when not supportedameerj
2021-07-22glsl: Implement fswzaddameerj
and wip nv thread shuffle impl
2021-07-22glsl: Implement image atomics and set layerameerj
along with some more cleanup/oversight fixes
2021-07-22glsl: Add cbuf access workaround for devices with component indexing bugameerj
2021-07-22glsl: Use textureGrad fallback when EXT_texture_shadow_lod is unsupportedameerj
2021-07-22glsl: skip gl_ViewportIndex write if device does not support itameerj
2021-07-22glsl: Query GL Device for FP16 extension supportameerj
2021-07-22glasm: Use ARB_derivative_control conditionallyReinUsesLisp
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-22glasm: Use storage buffers instead of global memory when possibleReinUsesLisp
2021-07-22shader: Split profile and runtime information in separate structsReinUsesLisp
2021-07-22shader: Add OpenGL shader profile optionsReinUsesLisp
2021-07-22shader: Implement SR_Y_DIRECTIONFernandoS27
2021-07-22spirv: Implement ViewportMask with NV_viewport_array2ReinUsesLisp
2021-07-22shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp
2021-07-22spirv: Implement alpha testameerj
2021-07-22shader: Implement transform feedbacks and define file formatReinUsesLisp
2021-07-22shader: Implement early Z testsReinUsesLisp
2021-07-22shader: Implement geometry shadersReinUsesLisp
2021-07-22shader: Implement ATOM/S and REDameerj
2021-07-22spirv: Guard against typeless image reads on unsupported devicesReinUsesLisp
2021-07-22shader: Implement ViewportIndexFernandoS27
2021-07-22spirv: Add fixed pipeline point sizeReinUsesLisp
2021-07-22shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when availableReinUsesLisp
2021-07-22shader: Better interpolation and disabled attributes supportReinUsesLisp
2021-07-22shader: Refactor PTP and other minor changesReinUsesLisp
2021-07-22shader: Implement TLD4.PTPFernandoS27