summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/profile.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-12-19shader_recompiler: ignore clip distances beyond driver support levelLiam1-0/+2
2023-11-19renderer_vulkan: ignore viewport stores on non-supporting driversLiam1-0/+1
2023-11-01shader_recompiler: Align SSBO offsets in GlobalMemory functionsAmeer J1-0/+2
2023-10-19Manually robust on Maxwell and earlierKelebek11-1/+3
2023-06-03Avoid using VectorExtractDynamic for subgroup mask on Adreno GPUsBilly Laws1-0/+2
This crashes their shader compiler for some reason.
2023-06-03Implement scaled vertex buffer format emulationBilly Laws1-0/+1
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 IntelWollnashorn1-3/+3
2023-04-08shader_recompiler: Add subpixel offset for correct rounding at `ImageGather`Wollnashorn1-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-05Vulkan: Add a workaround for input_position on Adreno driversBilly Laws1-0/+2
Adreno drivers will crash compiling geometry shaders if the input position is not wrapped in a gl_in struct.
2022-12-14Vulkan: Add support for VK_EXT_depth_clip_control.FernandoS271-0/+1
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-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-30glsl: Add boolean reference workaroundameerj1-0/+2
2021-12-30glsl_context_get_set: Add alternative cbuf type for broken driversameerj1-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-23glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZEameerj1-0/+2
2021-07-23shader: Ignore global memory ops on devices lacking int64 supportameerj1-0/+1
2021-07-23emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 NvidiaReinUsesLisp1-0/+2
Fix regression on Fire Emblem: Three Houses when using native fp16.
2021-07-23shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp1-0/+1
Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's.
2021-07-23shader: Split profile and runtime info headersReinUsesLisp1-72/+0
2021-07-23glsl: Address rest of feedbackameerj1-0/+2
2021-07-23glsl: Conditionally use fine/coarse derivatives based on device supportameerj1-0/+1
2021-07-23glsl: Cleanup/Address feedbackameerj1-0/+2
2021-07-23glsl: Add stubs for sparse queries and variable aoffi when not supportedameerj1-0/+2
2021-07-23glsl: Implement fswzaddameerj1-0/+1
and wip nv thread shuffle impl
2021-07-23glsl: Implement image atomics and set layerameerj1-1/+0
along with some more cleanup/oversight fixes
2021-07-23glsl: Add cbuf access workaround for devices with component indexing bugameerj1-0/+2
2021-07-23glsl: Use textureGrad fallback when EXT_texture_shadow_lod is unsupportedameerj1-0/+1
2021-07-23glsl: skip gl_ViewportIndex write if device does not support itameerj1-0/+1
2021-07-23glsl: Query GL Device for FP16 extension supportameerj1-0/+2
2021-07-23glasm: Use ARB_derivative_control conditionallyReinUsesLisp1-0/+1
2021-07-23opengl: Declare fragment outputs even if they are not usedReinUsesLisp1-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-23glasm: Use storage buffers instead of global memory when possibleReinUsesLisp1-0/+3
2021-07-23shader: Split profile and runtime information in separate structsReinUsesLisp1-5/+8
2021-07-23shader: Add OpenGL shader profile optionsReinUsesLisp1-0/+11
2021-07-23shader: Implement SR_Y_DIRECTIONFernandoS271-0/+2
2021-07-23spirv: Implement ViewportMask with NV_viewport_array2ReinUsesLisp1-0/+1
2021-07-23shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp1-0/+16
2021-07-23spirv: Implement alpha testameerj1-1/+14
2021-07-23shader: Implement transform feedbacks and define file formatReinUsesLisp1-0/+10
2021-07-23shader: Implement early Z testsReinUsesLisp1-0/+1
2021-07-23shader: Implement geometry shadersReinUsesLisp1-0/+10
2021-07-23shader: Implement ATOM/S and REDameerj1-0/+1
2021-07-23spirv: Guard against typeless image reads on unsupported devicesReinUsesLisp1-0/+1
2021-07-23shader: Implement ViewportIndexFernandoS271-0/+1
2021-07-23spirv: Add fixed pipeline point sizeReinUsesLisp1-0/+3
2021-07-23shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when availableReinUsesLisp1-0/+3
2021-07-23shader: Better interpolation and disabled attributes supportReinUsesLisp1-0/+1
2021-07-23shader: Refactor PTP and other minor changesReinUsesLisp1-1/+0
2021-07-23shader: Implement TLD4.PTPFernandoS271-0/+1
2021-07-23shader: Implement NDC [-1, 1], attribute types and default varying initializationReinUsesLisp1-0/+13
2021-07-23shader: Implement VOTEameerj1-0/+2
2021-07-23shader: Implement DMNMX, DSET, DSETPameerj1-0/+1
2021-07-23spirv: Implement VertexId and InstanceId, refactor codeReinUsesLisp1-0/+1
2021-07-23spirv: Add SignedZeroInfNanPreserve logicameerj1-0/+2
2021-07-23spirv: Fixes and Intel specific workaroundsReinUsesLisp1-0/+3
2021-07-23shader: Add denorm flush supportReinUsesLisp1-1/+8
2021-07-23shader: Primitive Vulkan integrationReinUsesLisp1-1/+9
2021-07-23shader: SSA and dominanceReinUsesLisp1-0/+5