MaranBr
b9af3734ec
Fix Shuffle handling for Position attributes
1 month ago
MaranBr
4f6195881c
[video_core] Fix 1x graphics bugs without performance loss ( #3385 )
This fixes weird lines at 1x resolution without impacting performance in some titles.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3385
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Co-authored-by: MaranBr <maranbr@outlook.com>
Co-committed-by: MaranBr <maranbr@outlook.com>
1 month ago
MaranBr
30e073b02b
[video_core] Fixes flickering and weird textures at native 1x resolution ( #3346 )
The issue occurs because shaders generated without RescalingPass are too simple, triggering driver optimization bugs on some GPUs.
Fixes rendering issues in Luigi's Mansion 3 and possibly other games as well.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3346
Reviewed-by: DraVee <dravee@eden-emu.dev>
Co-authored-by: MaranBr <maranbr@outlook.com>
Co-committed-by: MaranBr <maranbr@outlook.com>
2 months ago
lizzie
191e4c75a1
[meta] fix license headers ( #2547 )
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2547
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
6 months ago
lizzie
9d2681ecc9
[cmake] enable clang-cl and WoA builds ( #348 )
Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64.
Compiling on clang is *dramatically* faster so this should be useful for CI.
Co-authored-by: crueter <crueter@eden-emu.dev>
Co-authored-by: crueter <crueter@crueter.xyz>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
6 months ago
Ameer J
6b239acfc1
shader_recompiler: add byteswap pattern workaround for Nvidia
2 years ago
Ameer J
e538b932de
shader_recompiler: Align SSBO offsets to meet host requirements
Co-Authored-By: Billy Laws <blaws05@gmail.com>
2 years ago
Liam
947a4f6141
shader_recompiler: translate f64 to f32 when unsupported on host
3 years ago
Liam
b646ac2908
shader_recompiler: remove barriers in conditional control flow when device lacks support
3 years ago
Liam
5d93c3bb00
Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
This reverts commit ae868e7ffb .
3 years ago
Billy Laws
ea68f05d8f
Avoid OOB array access reading passthrough attr mask
YFC 1.5 extended the size of the varying mask used to hold passthrough attrs without considering this
3 years ago
Billy Laws
535e297ebd
Run clang-format
3 years ago
Billy Laws
a92251c623
shader_recompiler: Add support for lowering geometry passthrough
Reuses most of the existing code for generating the gl_Layer passthrough. Fixes geometry in Nier: Automata on GPUs without HW passthrough support.
3 years ago
Billy Laws
ae868e7ffb
shader_recompiler: Align SSBO offsets to meet host requirements
We can take advantage of SSBO addresses being passed in a constant bufer to account for the extra alignment requirements in the shader itself.
3 years ago
Fernando Sahmkow
7842543573
MacroHLE: Add HLE replacement for base vertex and base instance.
3 years ago
Liam
e8966fd1f9
shader_recompiler: add gl_Layer translation GS for older hardware
3 years ago
Morph
fc301cf777
ir/texture_pass: Use host_info instead of querying Settings::values ( #9176 )
3 years ago
FengChen
67007ae698
Address feedback
3 years ago
FengChen
1dd5d8fc8e
video_core: Fix legacy to generic location unpaired
4 years ago
FengChen
38e9c78843
video_core: Generate mipmap texture by drawing
4 years ago
Morph
2b87305d31
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.
4 years ago
Fernando Sahmkow
05054d1dc2
Shader decompiler: do constant propgation before texture pass.
4 years ago
vonchenplus
8fe519b656
Address format clang
4 years ago
Feng Chen
dbfa89c40b
Implement convert legacy to generic
4 years ago
ameerj
63465c24e1
rescaling_pass: Logic simplification and minor style cleanup
5 years ago
Fernando Sahmkow
4535feac87
Shader: Don't rescale FragCoord if used by Shuffle
5 years ago
ReinUsesLisp
e63fc7a4bb
spirv: Implement rescaling patching
5 years ago
Fernando Sahmkow
c9bee9e96e
ShaderCache: Order Phi Arguments from farthest away to nearest.
4 years ago
ameerj
e9a8e011f6
structured_control_flow: Conditionally invoke demote reorder pass
This is only needed on select drivers when a fragment shader discards/demotes.
5 years ago
ReinUsesLisp
2321666580
shader: Avoid usage of C++20 ranges to build in clang
5 years ago
ReinUsesLisp
cdb3837085
shader: Manually convert from array<u32> to bitset instead of using bit_cast
5 years ago
ReinUsesLisp
41b2a991c4
shader: Use std::bit_cast instead of Common::BitCast for passthrough
5 years ago
ReinUsesLisp
b1df436cef
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.
5 years ago
ReinUsesLisp
6db3ba6542
shader: Only verify shader when graphics debugging is enabled
5 years ago
ReinUsesLisp
0a75c400e3
shader: Emulate 64-bit integers when not supported
Useful for mobile and Intel Xe devices.
5 years ago
ReinUsesLisp
16d28031e7
shader: Simplify MergeDualVertexPrograms
5 years ago
ReinUsesLisp
c4a71824d5
shader: Properly manage attributes not written from previous stages
5 years ago
ReinUsesLisp
52be21495e
shader: Add support for native 16-bit floats
5 years ago
ReinUsesLisp
41c634a7a9
shader: Rename maxwell/program.h to translate_program.h
5 years ago
FernandoS27
be4d1c9b95
shader: Fix VertexA Shaders.
5 years ago
ReinUsesLisp
672930b6c8
shader: Handle host exceptions
5 years ago
lat9nq
69210028b4
shader_recompiler: GCC fixes
Fixes members of unnamed union not being accessible, and one function
without a declaration.
5 years ago
ReinUsesLisp
03f6d424ce
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.
5 years ago
FernandoS27
007a11014c
shader: Optimize NVN Fallthrough
5 years ago
FernandoS27
6aff9b4476
shader: Address feedback
5 years ago
FernandoS27
a2fac91c47
shader: Implement VertexA stage
5 years ago
ReinUsesLisp
1d861a6e90
shader: Remove identity removal pass for better build times
5 years ago
ReinUsesLisp
e54171c1a9
shader: Add NVN storage buffer fallbacks
When we can't track the SSBO origin of a global memory instruction,
leave it as a global memory operation and assume these pointers are in
the NVN storage buffer slots, then apply a linear search in the shader's
runtime.
5 years ago
ReinUsesLisp
38908d0f7e
shader: Implement tessellation shaders, polygon mode and invocation id
5 years ago
ReinUsesLisp
4b32692423
shader: Implement geometry shaders
5 years ago