Commit graph

36 commits

Author SHA1 Message Date
Ameer J
6b239acfc1 shader_recompiler: add byteswap pattern workaround for Nvidia 2023-11-17 22:29:12 -05:00
Matías Locatti
28e1429daf Merge pull request #10699 from liamwhite/conditional-barrier
shader_recompiler: remove barriers in conditional control flow when device lacks support
2023-06-12 16:50:59 -03:00
Liam
947a4f6141 shader_recompiler: translate f64 to f32 when unsupported on host 2023-06-10 12:38:49 -04:00
Liam
b646ac2908 shader_recompiler: remove barriers in conditional control flow when device lacks support 2023-06-10 12:30:39 -04:00
liamwhite
694f67e2d5 Merge pull request #9588 from liamwhite/bylaws-reverts
Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
2023-02-19 13:11:57 -05:00
Liam
5d93c3bb00 Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
This reverts commit ae868e7ffb.
2023-01-07 15:50:58 -05:00
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
2023-01-07 18:38:21 +00:00
Billy Laws
535e297ebd Run clang-format 2023-01-05 22:18:10 +00:00
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.
2023-01-05 22:13:07 +00:00
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.
2023-01-05 22:13:07 +00:00
Fernando Sahmkow
7842543573 MacroHLE: Add HLE replacement for base vertex and base instance. 2023-01-01 16:43:57 -05:00
Liam
e8966fd1f9 shader_recompiler: add gl_Layer translation GS for older hardware 2022-12-01 09:51:27 -05:00
Morph
fc301cf777 ir/texture_pass: Use host_info instead of querying Settings::values (#9176) 2022-11-11 03:32:53 +01:00
bunnei
7c3bee5601 Merge pull request #8858 from vonchenplus/mipmap
video_core: Generate mipmap texture by drawing
2022-11-03 22:21:58 -07:00
FengChen
67007ae698 Address feedback 2022-10-17 09:40:44 +08:00
FengChen
1dd5d8fc8e video_core: Fix legacy to generic location unpaired 2022-09-20 12:03:31 +08:00
FengChen
38e9c78843 video_core: Generate mipmap texture by drawing 2022-09-20 11:55:43 +08:00
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.
2022-04-23 05:55:32 -04:00
Fernando Sahmkow
05054d1dc2 Shader decompiler: do constant propgation before texture pass. 2022-03-13 21:49:40 +01:00
vonchenplus
8fe519b656 Address format clang 2021-12-18 14:27:07 +08:00
Feng Chen
dbfa89c40b Implement convert legacy to generic 2021-11-19 22:53:58 +08:00
ameerj
63465c24e1 rescaling_pass: Logic simplification and minor style cleanup 2021-11-16 22:11:30 +01:00
Fernando Sahmkow
4535feac87 Shader: Don't rescale FragCoord if used by Shuffle 2021-11-16 22:11:30 +01:00
ReinUsesLisp
e63fc7a4bb spirv: Implement rescaling patching 2021-11-16 22:11:28 +01:00
Fernando Sahmkow
c9bee9e96e ShaderCache: Order Phi Arguments from farthest away to nearest. 2021-10-31 19:34:15 +01:00
ameerj
e9a8e011f6 structured_control_flow: Conditionally invoke demote reorder pass
This is only needed on select drivers when a fragment shader discards/demotes.
2021-08-30 11:46:24 -04:00
ReinUsesLisp
2321666580 shader: Avoid usage of C++20 ranges to build in clang 2021-07-22 21:51:40 -04:00
ReinUsesLisp
cdb3837085 shader: Manually convert from array<u32> to bitset instead of using bit_cast 2021-07-22 21:51:40 -04:00
ReinUsesLisp
41b2a991c4 shader: Use std::bit_cast instead of Common::BitCast for passthrough 2021-07-22 21:51:39 -04:00
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.
2021-07-22 21:51:39 -04:00
ReinUsesLisp
6db3ba6542 shader: Only verify shader when graphics debugging is enabled 2021-07-22 21:51:39 -04:00
ReinUsesLisp
0a75c400e3 shader: Emulate 64-bit integers when not supported
Useful for mobile and Intel Xe devices.
2021-07-22 21:51:39 -04:00
ReinUsesLisp
16d28031e7 shader: Simplify MergeDualVertexPrograms 2021-07-22 21:51:38 -04:00
ReinUsesLisp
c4a71824d5 shader: Properly manage attributes not written from previous stages 2021-07-22 21:51:38 -04:00
ReinUsesLisp
52be21495e shader: Add support for native 16-bit floats 2021-07-22 21:51:38 -04:00
ReinUsesLisp
41c634a7a9 shader: Rename maxwell/program.h to translate_program.h 2021-07-22 21:51:38 -04:00
Renamed from src/shader_recompiler/frontend/maxwell/program.cpp (Browse further)