2c2e019a44
shader_recompiler: TXQ: Skip QueryLevels when possible
2023-01-28 16:25:18 -05:00
a4472b5526
video_core: Fix few issues in Tess stage
2022-11-07 15:42:42 +08:00
75596c07e0
video_core: Fix SNORM texture buffer emulating error ( #9001 )
2022-11-04 02:39:42 -04:00
9a95c7fa14
video_core: Generate mipmap texture by drawing
2022-09-20 11:55:43 +08: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
ad58d7eae7
shaders: Add U64->U32x2 Atomic fallback functions
2022-01-29 19:55:53 -05:00
14ac0c2923
shader: Add integer attribute get optimization pass
...
Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0.
2021-12-29 19:03:49 -05:00
e66d5b88a6
shader: Properly scale image reads and add GL SPIR-V support
...
Thanks for everything!
2021-11-16 22:11:29 +01:00
c15332c44f
shader: Add IsTextureScaled opcode
2021-11-16 22:11:28 +01:00
95761cc6a7
shader: Add integer division opcodes
2021-11-16 22:11:28 +01:00
fb924ea85c
shader: Add resolution down factor opcode
2021-11-16 22:11:27 +01:00
4397053d5c
shader: Remove IAbs64
2021-07-22 21:51:39 -04:00
808ef97a08
shader: Move loop safety tests to code emission
2021-07-22 21:51:39 -04:00
373f75d944
shader: Add shader loop safety check settings
...
Also add a setting for enable Nsight Aftermath.
2021-07-22 21:51:35 -04:00
83db7abae6
glasm: Use integer lod for TXQ
2021-07-22 21:51:33 -04:00
f58f79c85d
glasm: Implement Y direction
2021-07-22 21:51:33 -04:00
b9c8814ea9
glasm: Implement undef instructions
2021-07-22 21:51:33 -04:00
9fbfe7d676
glasm: Fix usage counting on phi nodes
2021-07-22 21:51:33 -04:00
c721767bcc
glasm: Implement global memory fallbacks
2021-07-22 21:51:33 -04:00
0794273870
glasm: Implement int64 add and subtract
2021-07-22 21:51:33 -04:00
e30d4fa976
glasm: Implement indirect attribute loads
2021-07-22 21:51:33 -04:00
89e341d56a
glasm: Implement SampleId
2021-07-22 21:51:33 -04:00
77d8c44b68
glasm: Implement IsHelperInvocation
2021-07-22 21:51:33 -04:00
36d040da70
glasm: Implement FSWZADD
2021-07-22 21:51:33 -04:00
a569ac418e
glasm: Implement patch memory
2021-07-22 21:51:32 -04:00
164b8c1ec5
glasm: Fix InvocationId declaration
2021-07-22 21:51:32 -04:00
0a54291c9c
glasm: Fix potential aliasing bug on cube array samples
2021-07-22 21:51:32 -04:00
3d0ffc6ad0
glasm: Implement EmitVertex and EndPrimitive
2021-07-22 21:51:32 -04:00
f79cbbf814
glasm: Implement ImageGradient
2021-07-22 21:51:32 -04:00
291f220be3
glasm: Implement 64-bit shifts
2021-07-22 21:51:32 -04:00
4a22942f45
glasm: Implement ImageFetch
2021-07-22 21:51:32 -04:00
2e0d56da7e
glasm: Implement SelectU1
2021-07-22 21:51:32 -04:00
e8ed904805
glasm: Implement gl_WorkGroupID
2021-07-22 21:51:32 -04:00
0a42277a4f
glasm: Implement TXQ and improve texture info reads
2021-07-22 21:51:32 -04:00
3d3ed53511
glasm: Implement textureGather instructions
2021-07-22 21:51:32 -04:00
0fa421f82f
glasm: Implement gl_FragDepth and gl_SampleMask stores
2021-07-22 21:51:32 -04:00
9bb3e008c9
shader: Read branch conditions from an instruction
...
Fixes the identity removal pass.
2021-07-22 21:51:32 -04:00
ec6fc5fe78
glasm: Implement TEX and TEXS instructions
...
Remove lod clamp from texture instructions with lod, as this is not
needed (nor supported).
2021-07-22 21:51:31 -04:00
bf2949df10
glasm: Improve texture sampling instructions
2021-07-22 21:51:31 -04:00
d4f9c798d6
glasm: Implement rest of shared mem
2021-07-22 21:51:31 -04:00
464f13fe0b
glasm: Implement derivative instructions on GLASM
2021-07-22 21:51:31 -04:00
057dee4856
glasm: Implement local memory for glasm
2021-07-22 21:51:31 -04:00
bf5e48ffe4
glasm: Initial implementation of phi nodes on GLASM
2021-07-22 21:51:31 -04:00
d54d7de40e
glasm: Rework control flow introducing a syntax list
...
This commit regresses VertexA shaders, their transformation pass has to
be adapted to the new control flow.
2021-07-22 21:51:31 -04:00
7ff5851608
glasm: Implement Storage atomics
...
StorageAtomicExchangeU64 is failing test seemingly due to failure storing 64-bit
result into the register
2021-07-22 21:51:31 -04:00
c4fd6b55bc
glasm: Implement shuffle and vote instructions on GLASM
2021-07-22 21:51:31 -04:00
decda4a2c7
glasm: Add MUFU instructions to GLASM
2021-07-22 21:51:31 -04:00
5b18a12df2
glasm: Implement IAbs64 and INeg64 on GLASM
2021-07-22 21:51:31 -04:00
0839e46736
glasm: Implement SelectU64 on GLASM
2021-07-22 21:51:31 -04:00
80813b1d14
glasm: Implement storage atomic ops
2021-07-22 21:51:31 -04:00