summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/profile.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Avoid using VectorExtractDynamic for subgroup mask on Adreno GPUsBilly Laws2023-06-031-0/+2
| | | | This crashes their shader compiler for some reason.
* Implement scaled vertex buffer format emulationBilly Laws2023-06-031-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 IntelWollnashorn2023-04-081-3/+3
|
* shader_recompiler: Add subpixel offset for correct rounding at `ImageGather`Wollnashorn2023-04-081-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 driversBilly Laws2023-01-051-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.FernandoS272022-12-141-0/+1
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-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 workaroundameerj2021-12-301-0/+2
|
* glsl_context_get_set: Add alternative cbuf type for broken driversameerj2021-12-301-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_SIZEameerj2021-07-231-0/+2
|
* shader: Ignore global memory ops on devices lacking int64 supportameerj2021-07-231-0/+1
|
* emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 NvidiaReinUsesLisp2021-07-231-0/+2
| | | | Fix regression on Fire Emblem: Three Houses when using native fp16.
* shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp2021-07-231-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 headersReinUsesLisp2021-07-231-72/+0
|
* glsl: Address rest of feedbackameerj2021-07-231-0/+2
|
* glsl: Conditionally use fine/coarse derivatives based on device supportameerj2021-07-231-0/+1
|
* glsl: Cleanup/Address feedbackameerj2021-07-231-0/+2
|
* glsl: Add stubs for sparse queries and variable aoffi when not supportedameerj2021-07-231-0/+2
|
* glsl: Implement fswzaddameerj2021-07-231-0/+1
| | | | and wip nv thread shuffle impl
* glsl: Implement image atomics and set layerameerj2021-07-231-1/+0
| | | | along with some more cleanup/oversight fixes
* glsl: Add cbuf access workaround for devices with component indexing bugameerj2021-07-231-0/+2
|
* glsl: Use textureGrad fallback when EXT_texture_shadow_lod is unsupportedameerj2021-07-231-0/+1
|
* glsl: skip gl_ViewportIndex write if device does not support itameerj2021-07-231-0/+1
|
* glsl: Query GL Device for FP16 extension supportameerj2021-07-231-0/+2
|
* glasm: Use ARB_derivative_control conditionallyReinUsesLisp2021-07-231-0/+1
|
* opengl: Declare fragment outputs even if they are not usedReinUsesLisp2021-07-231-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 possibleReinUsesLisp2021-07-231-0/+3
|
* shader: Split profile and runtime information in separate structsReinUsesLisp2021-07-231-5/+8
|
* shader: Add OpenGL shader profile optionsReinUsesLisp2021-07-231-0/+11
|
* shader: Implement SR_Y_DIRECTIONFernandoS272021-07-231-0/+2
|
* spirv: Implement ViewportMask with NV_viewport_array2ReinUsesLisp2021-07-231-0/+1
|
* shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp2021-07-231-0/+16
|
* spirv: Implement alpha testameerj2021-07-231-1/+14
|
* shader: Implement transform feedbacks and define file formatReinUsesLisp2021-07-231-0/+10
|
* shader: Implement early Z testsReinUsesLisp2021-07-231-0/+1
|
* shader: Implement geometry shadersReinUsesLisp2021-07-231-0/+10
|
* shader: Implement ATOM/S and REDameerj2021-07-231-0/+1
|
* spirv: Guard against typeless image reads on unsupported devicesReinUsesLisp2021-07-231-0/+1
|
* shader: Implement ViewportIndexFernandoS272021-07-231-0/+1
|
* spirv: Add fixed pipeline point sizeReinUsesLisp2021-07-231-0/+3
|
* shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when availableReinUsesLisp2021-07-231-0/+3
|
* shader: Better interpolation and disabled attributes supportReinUsesLisp2021-07-231-0/+1
|
* shader: Refactor PTP and other minor changesReinUsesLisp2021-07-231-1/+0
|
* shader: Implement TLD4.PTPFernandoS272021-07-231-0/+1
|
* shader: Implement NDC [-1, 1], attribute types and default varying initializationReinUsesLisp2021-07-231-0/+13
|
* shader: Implement VOTEameerj2021-07-231-0/+2
|
* shader: Implement DMNMX, DSET, DSETPameerj2021-07-231-0/+1
|
* spirv: Implement VertexId and InstanceId, refactor codeReinUsesLisp2021-07-231-0/+1
|
* spirv: Add SignedZeroInfNanPreserve logicameerj2021-07-231-0/+2
|
* spirv: Fixes and Intel specific workaroundsReinUsesLisp2021-07-231-0/+3
|
* shader: Add denorm flush supportReinUsesLisp2021-07-231-1/+8
|
* shader: Primitive Vulkan integrationReinUsesLisp2021-07-231-0/+13