ReinUsesLisp
c84bbd9e44
shader: Inline common Value functions into the header
2021-07-22 21:51:28 -04:00
ReinUsesLisp
050e81500c
shader: Move microinstruction header to the value header
2021-07-22 21:51:28 -04:00
ReinUsesLisp
4209828646
shader: Intrusively store register values in block for SSA pass
2021-07-22 21:51:28 -04:00
ReinUsesLisp
6944cabb89
shader: Inline common Opcode and Inst functions
2021-07-22 21:51:28 -04:00
ReinUsesLisp
4bbe530337
shader: Inline common IR::Block methods
2021-07-22 21:51:28 -04:00
ReinUsesLisp
24cc298660
shader: Use a small_vector for phi blocks
2021-07-22 21:51:28 -04:00
ReinUsesLisp
79c2e43fcd
shader: Calculate number of arguments in an opcode at compile time
2021-07-22 21:51:28 -04:00
FernandoS27
080857b60e
shader: Add coarse derivatives
2021-07-22 21:51:28 -04:00
FernandoS27
04c459fc8d
shader: Implement fine derivates constant propagation
2021-07-22 21:51:28 -04:00
FernandoS27
f18a6dd1bd
shader: Implement SR_Y_DIRECTION
2021-07-22 21:51:28 -04:00
ReinUsesLisp
50f8007172
shader: Fix Phi node types
2021-07-22 21:51:28 -04:00
ReinUsesLisp
0a0818c025
shader: Fix memory barriers
2021-07-22 21:51:28 -04:00
ReinUsesLisp
80940b1706
shader: Implement SampleMask
2021-07-22 21:51:28 -04:00
ReinUsesLisp
95815a3883
shader: Implement PIXLD.MY_INDEX
2021-07-22 21:51:28 -04:00
ReinUsesLisp
183855e396
shader: Implement tessellation shaders, polygon mode and invocation id
2021-07-22 21:51:27 -04:00
ReinUsesLisp
b126987c59
shader: Implement transform feedbacks and define file format
2021-07-22 21:51:27 -04:00
ReinUsesLisp
f263760c5a
shader: Implement geometry shaders
2021-07-22 21:51:27 -04:00
ReinUsesLisp
a6cef71cc0
shader: Implement OUT
2021-07-22 21:51:27 -04:00
ReinUsesLisp
5c61e860e4
shader: Implement SR_THREAD_KILL
2021-07-22 21:51:27 -04:00
ameerj
3db2b3effa
shader: Implement ATOM/S and RED
2021-07-22 21:51:27 -04:00
ReinUsesLisp
9280cd649a
shader: Move LaneId to the warp emission file and fix AMD
2021-07-22 21:51:27 -04:00
ReinUsesLisp
d404b871d5
shader: Mark ImageWrite with side effects
2021-07-22 21:51:27 -04:00
ReinUsesLisp
7cb2ab3585
shader: Implement SULD and SUST
2021-07-22 21:51:26 -04:00
lat9nq
5bfcafa0a2
shader: Address feedback + clang format
2021-07-22 21:51:26 -04:00
lat9nq
0bb85f6a75
shader_recompiler,video_core: Cleanup some GCC and Clang errors
...
Mostly fixing unused *, implicit conversion, braced scalar init,
fpermissive, and some others.
Some Clang errors likely remain in video_core, and std::ranges is still
a pertinent issue in shader_recompiler
shader_recompiler: cmake: Force bracket depth to 1024 on Clang
Increases the maximum fold expression depth
thread_worker: Include condition_variable
Don't use list initializers in control flow
Co-authored-by: ReinUsesLisp <reinuseslisp@airmail.cc>
2021-07-22 21:51:26 -04:00
FernandoS27
dcaf0e9150
shader: Address feedback
2021-07-22 21:51:26 -04:00
FernandoS27
1d51803169
shader: Implement indexed attributes
2021-07-22 21:51:26 -04:00
ReinUsesLisp
da6cf2632c
shader: Add subgroup masks
2021-07-22 21:51:26 -04:00
ReinUsesLisp
fc93bc2abd
shader: Implement BAR and fix memory barriers
2021-07-22 21:51:26 -04:00
ReinUsesLisp
85795de99f
shader: Abstract breadth searches and use the abstraction
2021-07-22 21:51:26 -04:00
ReinUsesLisp
3f594dd86b
shader: Reimplement GetCbufU64 as GetCbufU32x2
...
It may generate better code on some compilers and it's easier to handle.
2021-07-22 21:51:26 -04:00
FernandoS27
e7700aad18
shader: Fix undetected bug from review
2021-07-22 21:51:26 -04:00
FernandoS27
ed6a1b1a3d
shader: Address feedback
2021-07-22 21:51:26 -04:00
FernandoS27
baec84247f
shader: Address Feedback
2021-07-22 21:51:26 -04:00
FernandoS27
45d547af11
shader: Implement SR_LaneId
2021-07-22 21:51:26 -04:00
FernandoS27
655f7a570a
shader: Implement MEMBAR
2021-07-22 21:51:26 -04:00
FernandoS27
ecb30c9072
shader: Improve VOTE.VTG stub
2021-07-22 21:51:25 -04:00
FernandoS27
5ed8f24384
shader: Stub VOTE.VTG
2021-07-22 21:51:25 -04:00
ReinUsesLisp
c826220733
shader: Unroll "using enum" for opcode declarations
2021-07-22 21:51:25 -04:00
FernandoS27
67afdaf566
shader: Fix TXD
2021-07-22 21:51:25 -04:00
ReinUsesLisp
cb6fc03e55
shader: Always pass a lod for TexelFetch
2021-07-22 21:51:25 -04:00
FernandoS27
d5bfc63088
shader: Implement ImageGradient
2021-07-22 21:51:25 -04:00
FernandoS27
be3e94ae55
shader: Implement TMML partially
2021-07-22 21:51:25 -04:00
FernandoS27
613b48c4a2
shader,spirv: Implement ImageQueryLod.
2021-07-22 21:51:25 -04:00
FernandoS27
dc1a9a3bed
shader: Implement TLD
2021-07-22 21:51:25 -04:00
ReinUsesLisp
514a6b07ee
shader: Store type of phi nodes in flags
...
This is needed because pseudo-instructions where invalidated.
2021-07-22 21:51:25 -04:00
ReinUsesLisp
12783f8105
shader: Add missing new lines
2021-07-22 21:51:25 -04:00
ameerj
6c51f49632
shader: Implement FSWZADD
2021-07-22 21:51:25 -04:00
FernandoS27
34aba9627a
shader: Implement BRX
2021-07-22 21:51:25 -04:00
ReinUsesLisp
39a379632e
shader: Fix alignment checks on RZ
2021-07-22 21:51:25 -04:00
ameerj
dbc1e5cde7
shader: Implement I2I SAT
2021-07-22 21:51:25 -04:00
ReinUsesLisp
e860870dd2
shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when available
2021-07-22 21:51:25 -04:00
ameerj
51475e21ba
shader: Implement VMAD, VMNMX, VSETP
2021-07-22 21:51:24 -04:00
ReinUsesLisp
675a82416d
spirv: Remove dependencies on Environment when generating SPIR-V
2021-07-22 21:51:24 -04:00
ReinUsesLisp
a806b29cb9
shader: Fix structured control flow on KIL instructions
...
This could potentially leave unvisited blocks, leading to illegal phi
nodes.
2021-07-22 21:51:24 -04:00
ReinUsesLisp
17063d16a3
shader: Implement TXQ and fix FragDepth
2021-07-22 21:51:24 -04:00
ReinUsesLisp
d9c5bd9509
shader: Refactor PTP and other minor changes
2021-07-22 21:51:24 -04:00
FernandoS27
b5db38f50e
shader: Add IR opcode for ImageFetch
2021-07-22 21:51:24 -04:00
FernandoS27
742d11c2ad
shader: Implement TLD4.PTP
2021-07-22 21:51:24 -04:00
FernandoS27
c7c518e280
shader: Implement TLD4 and TLD4_B
2021-07-22 21:51:24 -04:00
ameerj
32c5483beb
shader: Implement SHFL
2021-07-22 21:51:24 -04:00
FernandoS27
8cb9443cb9
shader: Fix F2I
2021-07-22 21:51:24 -04:00
ReinUsesLisp
68a9505d8a
shader: Implement NDC [-1, 1], attribute types and default varying initialization
2021-07-22 21:51:24 -04:00
ameerj
3d07cef009
shader: Implement VOTE
2021-07-22 21:51:24 -04:00
ameerj
e4e1cc11b8
shader: Implement DMNMX, DSET, DSETP
2021-07-22 21:51:24 -04:00
FernandoS27
a62f04efab
shader: Implement F2F
2021-07-22 21:51:24 -04:00
ReinUsesLisp
a77e764726
shader: Add support for fp16 comparisons and misc fixes
2021-07-22 21:51:24 -04:00
ReinUsesLisp
f91859efd2
shader: Implement I2F
2021-07-22 21:51:23 -04:00
ReinUsesLisp
260743f371
shader: Add partial rasterizer integration
2021-07-22 21:51:23 -04:00
ameerj
72990df7ba
shader: Implement DADD
2021-07-22 21:51:23 -04:00
ameerj
3b7fd3ad0f
shader: Implement CSET and CSETP
2021-07-22 21:51:23 -04:00
ReinUsesLisp
8dd0acfaeb
shader: Fix instruction transitions in and out of Phi
2021-07-22 21:51:23 -04:00
ReinUsesLisp
17a82b56d7
shader: Implement TEXS
2021-07-22 21:51:23 -04:00
ReinUsesLisp
71f96fa636
shader: Implement CAL inlining function calls
2021-07-22 21:51:23 -04:00
ameerj
8d470c2e63
shader: Implement FMNMX
...
And add a const in FCMP
2021-07-22 21:51:23 -04:00
ReinUsesLisp
2d422b2498
shader: Fix rebase issue
2021-07-22 21:51:23 -04:00
ameerj
ba8c1d2eb4
shader: Implement FCMP
...
still need to configure some settings for NV denorm flush and intel NaN
2021-07-22 21:51:23 -04:00
ReinUsesLisp
3a63fa0477
shader: Partial implementation of LDC
2021-07-22 21:51:23 -04:00
ReinUsesLisp
ab46371247
shader: Initial support for textures and TEX
2021-07-22 21:51:23 -04:00
ameerj
7d6ba5b984
shader: Implement R2P
2021-07-22 21:51:23 -04:00
ameerj
924f0a9149
shader: Implement SHF
2021-07-22 21:51:23 -04:00
ameerj
5465cb1561
shader: Implement LEA
2021-07-22 21:51:23 -04:00
ReinUsesLisp
4006929c98
shader: Implement HADD2
2021-07-22 21:51:23 -04:00
ameerj
103b9da4f7
shader: Implement FLO
2021-07-22 21:51:23 -04:00
ameerj
20390c0548
shader: Implement IMNMX
2021-07-22 21:51:22 -04:00
ameerj
a8c41c50d3
shader: Implement POPC
2021-07-22 21:51:22 -04:00
ameerj
cc55d28949
shader: Implement SHR
2021-07-22 21:51:22 -04:00
ReinUsesLisp
e87a502da2
shader: Fix control flow
2021-07-22 21:51:22 -04:00
ReinUsesLisp
e44752ddc8
shader: FMUL, select, RRO, and MUFU fixes
2021-07-22 21:51:22 -04:00
ReinUsesLisp
274897dfd5
spirv: Fixes and Intel specific workarounds
2021-07-22 21:51:22 -04:00
ReinUsesLisp
704c6f353f
shader: Rename, implement FADD.SAT and P2R (imm)
2021-07-22 21:51:22 -04:00
ReinUsesLisp
e2bc05b17d
shader: Add denorm flush support
2021-07-22 21:51:22 -04:00
ReinUsesLisp
6db69990da
spirv: Add lower fp16 to fp32 pass
2021-07-22 21:51:22 -04:00
ReinUsesLisp
85cce78583
shader: Primitive Vulkan integration
2021-07-22 21:51:22 -04:00
ReinUsesLisp
3633e43377
shader: Add utility to resolve identities on a value
2021-07-22 21:51:22 -04:00
ReinUsesLisp
b5d7279d87
spirv: Initial bindings support
2021-07-22 21:51:22 -04:00
ReinUsesLisp
d5d468cf2c
shader: Improve object pool
2021-07-22 21:51:22 -04:00
ReinUsesLisp
1b0cf2309c
shader: Add support for forward declarations
2021-07-22 21:51:22 -04:00
ReinUsesLisp
cbfb7d182a
shader: Support SSA loops on IR
2021-07-22 21:51:22 -04:00
ReinUsesLisp
8af9297f09
shader: Misc fixes
2021-07-22 21:51:22 -04:00