ameerj
|
640fc1418b
|
emit_glsl_floating_point: Fix FPNeg on newer Nvidia drivers
|
2021-12-24 20:03:54 -05:00 |
vonchenplus
|
6ebc972c2b
|
Remove spirv handle legacy related code
|
2021-12-18 14:08:50 +08:00 |
vonchenplus
|
94652e122d
|
Remove glsl handle legacy related code
|
2021-12-18 14:03:40 +08:00 |
ameerj
|
7105204a7e
|
emit_spirv: Reduce emit_spirv.h include overhead
emit_spirv.h is included in video_core, which was propagating further includes that video_core did not depend on.
|
2021-12-05 18:11:19 -05:00 |
ameerj
|
1e1f7b3234
|
glasm: Move implemented instructions from not_implemented.cpp
|
2021-12-05 18:11:19 -05:00 |
ameerj
|
f32b2bcd20
|
shader_recompiler: Adjust emit_context includes
|
2021-12-05 18:11:19 -05:00 |
ameerj
|
5286a7bc4c
|
shader_recompiler: Rename backend emit_context files
|
2021-12-05 16:33:44 -05:00 |
ameerj
|
618de4e787
|
vulkan: Fix rescaling push constant usage
|
2021-11-16 22:11:31 +01:00 |
ameerj
|
68e038404c
|
shader, video_core: Fix GCC build errors
|
2021-11-16 22:11:29 +01:00 |
ameerj
|
65781f88f8
|
emit_spirv: Fix RescalingLayout alignment
|
2021-11-16 22:11:29 +01:00 |
ameerj
|
dc28284437
|
emit_spirv: Fix RescalingLayout alignment
|
2021-11-16 22:11:29 +01:00 |
ReinUsesLisp
|
e66d5b88a6
|
shader: Properly scale image reads and add GL SPIR-V support
Thanks for everything!
|
2021-11-16 22:11:29 +01:00 |
ReinUsesLisp
|
cfeb161c7e
|
glsl/glasm: Pass and use scaling parameters in shaders
|
2021-11-16 22:11:29 +01:00 |
ameerj
|
f086c82e1f
|
gl_graphics_pipeline: Add downscale factor to shader uniforms
|
2021-11-16 22:11:28 +01:00 |
ReinUsesLisp
|
656adee630
|
spirv: Implement rescaling patching
|
2021-11-16 22:11:28 +01:00 |
ReinUsesLisp
|
c15332c44f
|
shader: Add IsTextureScaled opcode
|
2021-11-16 22:11:28 +01:00 |
ReinUsesLisp
|
95761cc6a7
|
shader: Add integer division opcodes
|
2021-11-16 22:11:28 +01:00 |
ReinUsesLisp
|
fb924ea85c
|
shader: Add resolution down factor opcode
|
2021-11-16 22:11:27 +01:00 |
bunnei
|
30442d8a89
|
Merge pull request #7260 from vonchenplus/spirv_support_legacy_attribute_v2
shader: Spirv support legacy attribute v2
|
2021-11-14 02:07:45 -08:00 |
Feng Chen
|
f2a4204245
|
Simply legacy attribute implement
|
2021-11-04 09:26:16 +08:00 |
bunnei
|
7ce29ea74e
|
Merge pull request #7262 from FernandoS27/Buffalo-buffalo-Buffalo-buffalo-buffalo
ShaderCache: Order Phi Arguments from farthest away to nearest.
|
2021-11-02 16:34:03 -07:00 |
Fernando Sahmkow
|
2d4bbd83e6
|
Shader Cahe: Fix Phi Nodes on GLASM.
|
2021-11-02 00:59:25 +01:00 |
Fernando Sahmkow
|
194579bc4f
|
ShaderCache: Fix Phi Nodes Type on OGL.
|
2021-11-01 22:26:17 +01:00 |
vonchenplus
|
49f9a44235
|
Support gl_FogFragCoord attribute
|
2021-10-31 23:34:17 +08:00 |
vonchenplus
|
36c21ff6cb
|
Support gl_BackSecondaryColor attribute
|
2021-10-26 23:14:40 +08:00 |
vonchenplus
|
92bebecf46
|
Support gl_FrontSecondaryColor attribute
|
2021-10-26 23:09:44 +08:00 |
vonchenplus
|
b04c7b6343
|
Support gl_BackColor attribute
|
2021-10-26 23:01:57 +08:00 |
ameerj
|
06894b0711
|
emit_spirv_image: Fix depth image implicit lod sample in compute
Ensures all drivers behave the same way in this case.
|
2021-10-17 17:09:11 -04:00 |
Morph
|
e29f3b87f1
|
style: Remove extra space preceding the :: operator
|
2021-09-29 01:26:01 -04:00 |
Fernando Sahmkow
|
8984abfc76
|
Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan.
|
2021-09-15 21:30:33 +02:00 |
Morph
|
9248442bb2
|
Merge pull request #6948 from ameerj/amd-warp-fix
shaders: Fix warp instructions on 64-thread warp devices
|
2021-09-12 13:53:29 -04:00 |
bunnei
|
7e9163779d
|
Merge pull request #6962 from vonchenplus/spirv_support_legacy_attribute
renderer_vulkan: Spirv support glsl legacy attribute
|
2021-09-08 14:04:44 -07:00 |
Feng Chen
|
b1e655f898
|
Detail adjustment
|
2021-09-08 10:30:00 +08:00 |
Feng Chen
|
bbc1800c1b
|
Detail adjustment
|
2021-09-08 09:53:10 +08:00 |
Feng Chen
|
e5ca733722
|
Re-implement get unused location
|
2021-09-07 13:22:52 +08:00 |
Feng Chen
|
9cdf2383e9
|
Move attribute related definitions to spirv anonymous namespace
|
2021-09-07 12:34:35 +08:00 |
Feng Chen
|
1de9e4e121
|
Dynamic get unused location
|
2021-09-06 10:46:03 +08:00 |
Feng Chen
|
d994466a08
|
Implement intput and output fixed fnc textures
|
2021-09-06 10:36:45 +08:00 |
Feng Chen
|
a7bbaa4897
|
Rename parameters
|
2021-09-03 23:52:20 +08:00 |
Feng Chen
|
cf26f375ff
|
Fix create GraphicsPipelines crash
|
2021-09-03 22:55:53 +08:00 |
Feng Chen
|
1e2a89d306
|
Add input/output location
|
2021-09-02 23:34:51 +08:00 |
ameerj
|
d956fb3c7c
|
emit_glsl_warp: Fix shuffle ops for 64-thread warp sizes
|
2021-08-31 16:11:25 -04:00 |
ameerj
|
5b45dfe971
|
emit_glsl_warp: Fix ballot related ops for 64-thread warp sizes
|
2021-08-31 16:11:25 -04:00 |
ameerj
|
a5d9dcf3d9
|
emit_spirv_warp: Fix shuffle ops for 64-thread warp sizes
|
2021-08-31 13:40:39 -04:00 |
ameerj
|
95213270ef
|
emit_spirv_warp: Fix ballot related ops for 64-thread warp sizes
|
2021-08-31 13:40:12 -04:00 |
Feng Chen
|
73b11f390e
|
Add colorfront and txtcoord support
|
2021-09-01 00:07:25 +08:00 |
ameerj
|
6e407c02d8
|
emit_spirv_context_get_set: Fix Get FrontFace return value
The IR expects GetAttribute to return an F32 value. This case was returning a U32 instead.
|
2021-08-26 21:37:34 -04:00 |
Valeri
|
beb7305b73
|
SPIR-V: Merge two ifs in EmitGetAttribute
|
2021-08-19 20:13:46 +03:00 |
Rodrigo Locatti
|
de0b89792c
|
Merge pull request #6726 from lioncash/hguard
emit_spirv_instructions: Add missing header guard
|
2021-07-26 16:35:11 -03:00 |
Lioncash
|
3e7813e49d
|
emit_glasm: Fix LINESS_ADJACENCY typo in InputPrimitive()
This should be LINES_ADJACENCY
|
2021-07-26 04:44:56 -04:00 |
Lioncash
|
c2915d9f2f
|
emit_spirv_instructions: Add missing header guard
|
2021-07-26 04:28:35 -04:00 |
ameerj
|
56478bc9ac
|
shader: Fix disabled attribute default values
|
2021-07-22 21:51:40 -04:00 |
ameerj
|
56c30dd9e0
|
glsl: Simplify FCMP emission
|
2021-07-22 21:51:40 -04:00 |
ameerj
|
79d2684261
|
glsl: Update TessellationControl gl_in
Adheres to GL_ARB_separate_shader_objects requirements
|
2021-07-22 21:51:40 -04:00 |
ReinUsesLisp
|
bf2956d77a
|
shader: Avoid usage of C++20 ranges to build in clang
|
2021-07-22 21:51:40 -04:00 |
ameerj
|
94af0a00f6
|
glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE
|
2021-07-22 21:51:40 -04:00 |
lat9nq
|
49946cf780
|
shader_recompiler, video_core: Resolve clang errors
Silences the following warnings-turned-errors:
-Wsign-conversion
-Wunused-private-field
-Wbraced-scalar-init
-Wunused-variable
And some other errors
|
2021-07-22 21:51:40 -04:00 |
ameerj
|
11f04f1022
|
shader: Ignore global memory ops on devices lacking int64 support
|
2021-07-22 21:51:40 -04:00 |
ReinUsesLisp
|
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 |
lat9nq
|
2e5af95541
|
shader: GCC fmt 8.0.0 fixes
|
2021-07-22 21:51:40 -04:00 |
ReinUsesLisp
|
5643a909bc
|
shader: Fix disabled and unwritten attributes and varyings
|
2021-07-22 21:51:39 -04:00 |
ameerj
|
65daec8b75
|
glsl: Fix shared and local memory declarations
account for the fact that program.*memory_size is in units of bytes.
|
2021-07-22 21:51:39 -04:00 |
ameerj
|
8289eb108f
|
opengl: Implement LOP.CC
Used by MH:Rise
|
2021-07-22 21:51:39 -04:00 |
ReinUsesLisp
|
5b2b0634a1
|
spirv: Fix code emission when descriptor aliasing is unsupported
Fixes OpenGL.
|
2021-07-22 21:51:39 -04:00 |
ameerj
|
00fa09dc45
|
glsl: Declare local memory in main
|
2021-07-22 21:51:39 -04:00 |
ameerj
|
f7352411f0
|
glsl: Add passthrough geometry shader support
|
2021-07-22 21:51:39 -04:00 |
ReinUsesLisp
|
8a3427a4c8
|
glasm: Add passthrough geometry shader support
|
2021-07-22 21:51:39 -04:00 |
ReinUsesLisp
|
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 |
ameerj
|
27ca8a0e13
|
glsl: Better IAdd Overflow CC fix
This ensures the original operand values are not overwritten when being used in the overflow detection.
|
2021-07-22 21:51:39 -04:00 |
ReinUsesLisp
|
4397053d5c
|
shader: Remove IAbs64
|
2021-07-22 21:51:39 -04:00 |
ameerj
|
bc6e399ae3
|
glsl: Fix IADD CC
|
2021-07-22 21:51:39 -04:00 |
ReinUsesLisp
|
808ef97a08
|
shader: Move loop safety tests to code emission
|
2021-07-22 21:51:39 -04:00 |
ameerj
|
cbce9ddd4a
|
glsl: Remove frag color initialization
|
2021-07-22 21:51:39 -04:00 |
ameerj
|
3a2dd1b483
|
glasm: Implement SetAttribute ViewportMask
|
2021-07-22 21:51:39 -04:00 |
ameerj
|
1c648f176c
|
emit_glsl_special: Skip initialization of frag_color0
Fixes rendering in Devil May Cry without regressing Ori and the Blind Forest.
|
2021-07-22 21:51:38 -04:00 |
Morph
|
cfbc85839d
|
glsl: Add missing ; in EmitSetSampleMask
Fixes shader compilation in Okami HD
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
9e066dcb15
|
glsl: Fix output varying initialization when transform feedback is used
|
2021-07-22 21:51:38 -04:00 |
ReinUsesLisp
|
59fead3a47
|
spirv: Properly handle devices without int8 and int16
|
2021-07-22 21:51:38 -04:00 |
ReinUsesLisp
|
b5e78607ad
|
spirv: Handle small storage buffer loads on devices with no support
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
ccbd24fe00
|
glsl: Fix cbuf component indexing bug falback
|
2021-07-22 21:51:38 -04:00 |
ReinUsesLisp
|
374eeda1a3
|
shader: Properly manage attributes not written from previous stages
|
2021-07-22 21:51:38 -04:00 |
ReinUsesLisp
|
892b8aa2ad
|
glsl: Only declare fragment outputs on fragment shaders
|
2021-07-22 21:51:38 -04:00 |
ReinUsesLisp
|
0ffea97e2e
|
shader: Split profile and runtime info headers
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
12ef06ba8b
|
glsl: Obey need_declared_frag_colors to declare and initialize all frag_color
Fixes Ori and the blind forest title screen
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
d36f667bc0
|
glsl: Address rest of feedback
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
c5dfa0b630
|
glsl: Move gl_Position/generic attribute initialization to EmitProlgue
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
3b339fbbf6
|
glsl: Conditionally use fine/coarse derivatives based on device support
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
6eea88d614
|
glsl: Cleanup/Address feedback
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
ae4e452759
|
glsl: Add Shader_GLSL logging
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
6c6a451d6a
|
glsl: Add LoopSafety instructions
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
a0d0704aff
|
glsl: Conditionally add EXT_texture_shadow_lod
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
5e7b2b9661
|
glsl: Add stubs for sparse queries and variable aoffi when not supported
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
6aa1bf7b6f
|
glsl: Implement legacy varyings
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
39c29664f9
|
glsl: Minor cleanup
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
427a2596a1
|
glsl: Fix Cbuf getters for F32 type
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
7c82f20b52
|
glsl: Add immediate index oob checking for Cbuf getters
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
84c86e03cd
|
glsl: Refactor GetCbuf functions to reduce code duplication
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
e81c73a874
|
glsl: Address more feedback. Implement indexed texture reads
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
7d89a82a48
|
glsl: Remove Signed Integer variables
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
4759db28d0
|
glsl: Address Rodrigo's feedback
|
2021-07-22 21:51:38 -04:00 |
ameerj
|
85399e119d
|
glsl: Reorganize backend code, remove unneeded [[maybe_unused]]
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
e7c8f8911f
|
glsl: Implement SampleId and SetSampleMask
plus some minor refactoring of implementations
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
d1a68f7997
|
glsl: Add gl_PerVertex in for GS
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
a926695234
|
glsl: Use existing tracking for enabling EXT_shader_image_load_formatted
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
14bd73db36
|
glsl: Enable early fragment tests
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
3f31a547e0
|
glsl: Implement more attribute getters and setters
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
8bb8bbf4ae
|
glsl: Implement fswzadd
and wip nv thread shuffle impl
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
c542204113
|
glsl: Implement indexed attribute loads
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
2a504b4765
|
glsl: Conditionally add GL_ARB_sparse_texture2
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
fc0db612ab
|
glsl: Conditionally use GL_EXT_shader_image_load_formatted
Fix for SULD.D
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
fb839061fb
|
glsl: Remove output generic indexing for geometry stage
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
258106038e
|
glsl: Allow dynamic tracking of variable allocation
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
465903468e
|
glsl: Implement barriers
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
421847cf1e
|
glsl: Implement image atomics and set layer
along with some more cleanup/oversight fixes
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
d41aef03c7
|
glsl: Fix image gather logic
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
35e78d558d
|
glsl: Add cbuf access workaround for devices with component indexing bug
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
747b8556a4
|
glsl: Use textureGrad fallback when EXT_texture_shadow_lod is unsupported
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
d12f2b8ccf
|
emit_glsl_image: Use immediate offsets when possible
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
0a0b0a73d8
|
glsl: Fix <32-bit SSBO writes
and more cleanup
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
34fdb6471d
|
glsl: Cleanup and address feedback
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
5355568a2d
|
glsl: Refactor Global memory functions
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
a68fabf6d5
|
glsl: Increase NUM_VARS that can be allocated
needed for HW:AoC.
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
8d8ce24f20
|
glsl: Implement Load/WriteGlobal
along with some other misc changes and fixes
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
af9696059c
|
glsl: Implement Images
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
6577a63d36
|
glsl: skip gl_ViewportIndex write if device does not support it
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
f4799e8fa1
|
glsl: Implement transform feedback
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
31147ffe69
|
glsl: Yet another gl_ViewportIndex fix attempt
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
9f3970f837
|
glsl: Add gl_ViewportIndex out attribute
|
2021-07-22 21:51:37 -04:00 |
lat9nq
|
fc29de7d5b
|
emit_glsl_context_get_set: Remove unused function
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
59576b82a8
|
glsl: Fix precise variable declaration
and add some more separation in the shader for better debugability when dumped
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
8c684b3e23
|
glsl: Implement tessellation shaders
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
c7d085b505
|
glsl: Implement ImageGradient and other texture function variants
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
68d075d1e8
|
glsl: Fix atomic SSBO offsets
and implement misc getters
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
19247ba4fa
|
glsl: Implement geometry shaders
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
df53046d68
|
glsl: Use NotImplemented macro with function name output
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
3a024b3026
|
glsl: Implement gl_ViewportIndex
SSBU now working
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
b7561226ed
|
glsl: SHFL fix and prefer shift operations over divide in glsl shader
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
e10366974e
|
glsl: Implement precise fp variable allocation
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
14bfb4719a
|
HACK glsl: Write defaults to unused generic attributes
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
4b5a4ea72e
|
glsl: Fix ssbo indexing and name shadowing between shader stages
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
8ec0028e68
|
glsl: implement set clip distance
and missed a diff in emit_glsl relating to var alloc ref counting
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
9f3ffb996b
|
glsl: Rework var alloc to not assign unused results
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
1269a0cf8b
|
glsl: Rework variable allocator to allow for variable reuse
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
9ccbd74991
|
glsl: Fix ATOM and implement ATOMS
|
2021-07-22 21:51:37 -04:00 |
ameerj
|
68ef3803bf
|
glsl: Use gl_SubGroupInvocationARB
|
2021-07-22 21:51:36 -04:00 |
ameerj
|
e35ffbbeb0
|
glsl: Implement VOTE for subgroup size potentially larger
|
2021-07-22 21:51:36 -04:00 |
ameerj
|
770b754afd
|
glsl: Implement VOTE
|
2021-07-22 21:51:36 -04:00 |
ameerj
|
181a4ffdc4
|
glsl: Implement ST{LS}
|
2021-07-22 21:51:36 -04:00 |
ameerj
|
57d354b02c
|
glsl: Implement more instructions used by SMO
|
2021-07-22 21:51:36 -04:00 |
ameerj
|
7df0815117
|
glsl: Implement more instructions used by SMO
|
2021-07-22 21:51:36 -04:00 |