0104e28fe4
Vulkan: Add support for VK_EXT_depth_clip_control.
2022-12-13 21:39:18 -05:00
99ceb03a1c
general: Convert source file copyright comments over to SPDX
...
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.
2022-04-23 05:55:32 -04:00
8c907c620d
glsl: Add boolean reference workaround
2021-12-29 19:03:50 -05:00
b84d429c2e
glsl_context_get_set: Add alternative cbuf type for broken drivers
...
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-12-29 19:03:50 -05:00
94af0a00f6
glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE
2021-07-22 21:51:40 -04:00
11f04f1022
shader: Ignore global memory ops on devices lacking int64 support
2021-07-22 21:51:40 -04:00
8722668b3c
emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 Nvidia
...
Fix regression on Fire Emblem: Three Houses when using native fp16.
2021-07-22 21:51:40 -04:00
7dafa96ab5
shader: Rework varyings and implement passthrough geometry shaders
...
Put all varyings into a single std::bitset with helpers to access it.
Implement passthrough geometry shaders using host's.
2021-07-22 21:51:39 -04:00
0ffea97e2e
shader: Split profile and runtime info headers
2021-07-22 21:51:38 -04:00
d36f667bc0
glsl: Address rest of feedback
2021-07-22 21:51:38 -04:00
3b339fbbf6
glsl: Conditionally use fine/coarse derivatives based on device support
2021-07-22 21:51:38 -04:00
6eea88d614
glsl: Cleanup/Address feedback
2021-07-22 21:51:38 -04:00
5e7b2b9661
glsl: Add stubs for sparse queries and variable aoffi when not supported
2021-07-22 21:51:38 -04:00
8bb8bbf4ae
glsl: Implement fswzadd
...
and wip nv thread shuffle impl
2021-07-22 21:51:37 -04:00
421847cf1e
glsl: Implement image atomics and set layer
...
along with some more cleanup/oversight fixes
2021-07-22 21:51:37 -04:00
35e78d558d
glsl: Add cbuf access workaround for devices with component indexing bug
2021-07-22 21:51:37 -04:00
747b8556a4
glsl: Use textureGrad fallback when EXT_texture_shadow_lod is unsupported
2021-07-22 21:51:37 -04:00
6577a63d36
glsl: skip gl_ViewportIndex write if device does not support it
2021-07-22 21:51:37 -04:00
bd24fa9713
glsl: Query GL Device for FP16 extension support
2021-07-22 21:51:36 -04:00
79f2fe1a39
glasm: Use ARB_derivative_control conditionally
2021-07-22 21:51:34 -04:00
916ca74324
opengl: Declare fragment outputs even if they are not used
...
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-22 21:51:34 -04:00
adb591a757
glasm: Use storage buffers instead of global memory when possible
2021-07-22 21:51:33 -04:00
9e7b6622c2
shader: Split profile and runtime information in separate structs
2021-07-22 21:51:33 -04:00
a46d91b1ef
shader: Add OpenGL shader profile options
2021-07-22 21:51:29 -04:00
f18a6dd1bd
shader: Implement SR_Y_DIRECTION
2021-07-22 21:51:28 -04:00
e3514bcd6b
spirv: Implement ViewportMask with NV_viewport_array2
2021-07-22 21:51:28 -04:00
183855e396
shader: Implement tessellation shaders, polygon mode and invocation id
2021-07-22 21:51:27 -04:00
6c512f4bff
spirv: Implement alpha test
2021-07-22 21:51:27 -04:00
b126987c59
shader: Implement transform feedbacks and define file format
2021-07-22 21:51:27 -04:00
a83579b50a
shader: Implement early Z tests
2021-07-22 21:51:27 -04:00
f263760c5a
shader: Implement geometry shaders
2021-07-22 21:51:27 -04:00
3db2b3effa
shader: Implement ATOM/S and RED
2021-07-22 21:51:27 -04:00
ab543f1821
spirv: Guard against typeless image reads on unsupported devices
2021-07-22 21:51:27 -04:00
d819ba4489
shader: Implement ViewportIndex
2021-07-22 21:51:25 -04:00
7a1c14269e
spirv: Add fixed pipeline point size
2021-07-22 21:51:25 -04:00
e860870dd2
shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when available
2021-07-22 21:51:25 -04:00
dbd882ddeb
shader: Better interpolation and disabled attributes support
2021-07-22 21:51:24 -04:00
d9c5bd9509
shader: Refactor PTP and other minor changes
2021-07-22 21:51:24 -04:00
742d11c2ad
shader: Implement TLD4.PTP
2021-07-22 21:51:24 -04:00
68a9505d8a
shader: Implement NDC [-1, 1], attribute types and default varying initialization
2021-07-22 21:51:24 -04:00
3d07cef009
shader: Implement VOTE
2021-07-22 21:51:24 -04:00
e4e1cc11b8
shader: Implement DMNMX, DSET, DSETP
2021-07-22 21:51:24 -04:00
76c8a962ac
spirv: Implement VertexId and InstanceId, refactor code
2021-07-22 21:51:23 -04:00
b9f7bf4472
spirv: Add SignedZeroInfNanPreserve logic
2021-07-22 21:51:23 -04:00
274897dfd5
spirv: Fixes and Intel specific workarounds
2021-07-22 21:51:22 -04:00
e2bc05b17d
shader: Add denorm flush support
2021-07-22 21:51:22 -04:00
85cce78583
shader: Primitive Vulkan integration
2021-07-22 21:51:22 -04:00