godot/servers/rendering/renderer_rd/shaders
jfons e69d762dd0 Add color pass flags to Forward Clustered renderer
This commit removes a lot of enum values related to the color render pass in favor of a new flag-bases approach. This means instead of hard-coding all the possible option combinations into enums, we can write our logic by checking a bit-mask.

The changes in rendering_device_vulkan.cpp add support for unused attachments. That means RenderingDeviceVulkan::framebuffer_create() can take null RIDs in the attachments vector, which will result in VK_ATTACHMENT_UNUSED entries in the render pass.

This is used in this same PR to establish fixed locations for the color pass attachments (only color and separate specular so far, but TAA will add motion vectors as well). This way the attachment locations in the shader can stay the same regardless of which attachments are actually used.

Right now all the combinations of flags are generated, but we will need to add a way to limit the amount of combinations in the future.
2022-04-01 12:12:49 +02:00
..
blit.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
blur_raster_inc.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
blur_raster.glsl Scale color output in the mobile renderer to provide HDR support 2021-08-23 15:30:36 +10:00
bokeh_dof_inc.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
bokeh_dof_raster.glsl Replace HTTP links with HTTPS for sites with HTTPS versions 2021-08-22 20:13:11 -05:00
bokeh_dof.glsl Implemented raster versions of bokeh shaders to replace broken gaussian implementation 2021-08-13 10:20:14 +10:00
canvas_occlusion.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
canvas_sdf.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
canvas_uniforms_inc.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
canvas.glsl Rename several transform built-ins in shaders 2022-03-18 12:10:55 +03:00
cluster_data_inc.glsl Create mobile renderer 2021-05-03 21:54:11 +10:00
cluster_debug.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
cluster_render.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
cluster_store.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
copy_to_fb.glsl Implementing OpenXR driver 2022-02-23 12:02:24 +01:00
copy.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
cube_to_dp.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
cubemap_downsampler_inc.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
cubemap_downsampler_raster.glsl Porting cubemap compute shaders to raster for the mobile renderer 2021-08-01 21:22:38 +10:00
cubemap_downsampler.glsl Porting cubemap compute shaders to raster for the mobile renderer 2021-08-01 21:22:38 +10:00
cubemap_filter_raster.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
cubemap_filter.glsl Refactor GLSL shader compilation 2021-04-14 11:37:52 -03:00
cubemap_roughness_inc.glsl Use prefiltered radiance 2022-02-16 21:37:18 -08:00
cubemap_roughness_raster.glsl Use prefiltered radiance 2022-02-16 21:37:18 -08:00
cubemap_roughness.glsl Use prefiltered radiance 2022-02-16 21:37:18 -08:00
decal_data_inc.glsl More fixes to mobile renderer 2021-08-18 12:20:19 -03:00
fsr_upscale.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
gi.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
giprobe_write.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
light_data_inc.glsl Remove unused shadow_color property from Light3D 2022-03-04 23:12:18 +01:00
luminance_reduce_raster_inc.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
luminance_reduce_raster.glsl Use fragment shader instead of compute shader for effects for mobile renderer 2021-07-25 13:58:21 +10:00
luminance_reduce.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
particles_copy.glsl Revert "Fix particle trail glitch" 2022-03-01 20:16:10 +01:00
particles.glsl Add Particle Shader Userdata 2022-02-15 19:20:31 +01:00
resolve.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
roughness_limiter.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
scene_forward_aa_inc.glsl clang-format: Disable alignment of operands, too unreliable 2021-10-28 15:19:35 +02:00
scene_forward_clustered_inc.glsl Rename several transform built-ins in shaders 2022-03-18 12:10:55 +03:00
scene_forward_clustered.glsl Add color pass flags to Forward Clustered renderer 2022-04-01 12:12:49 +02:00
scene_forward_gi_inc.glsl Rename GI Classes 2021-06-05 09:28:56 -03:00
scene_forward_lights_inc.glsl Fix D_GGX code which can cause divide-by-zero val 2022-03-14 13:25:05 +09:00
scene_forward_mobile_inc.glsl Rename several transform built-ins in shaders 2022-03-18 12:10:55 +03:00
scene_forward_mobile.glsl Rename several transform built-ins in shaders 2022-03-18 12:10:55 +03:00
screen_space_reflection_filter.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
screen_space_reflection_scale.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
screen_space_reflection.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
SCsub Changed SCsub for shaders to find shaders automatically and create dependencies with include files 2021-03-18 12:59:47 +11:00
sdfgi_debug_probes.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
sdfgi_debug.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
sdfgi_direct_light.glsl Remove unused shadow_color property from Light3D 2022-03-04 23:12:18 +01:00
sdfgi_integrate.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
sdfgi_preprocess.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
skeleton.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
sky.glsl Sky renderer: Only flip Z when calculating panorama_coords 2022-03-08 19:51:43 -08:00
sort.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
specular_merge.glsl Refactor GLSL shader compilation 2021-04-14 11:37:52 -03:00
ss_effects_downsample.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
ssao_blur.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
ssao_importance_map.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
ssao_interleave.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
ssao.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
ssil_blur.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
ssil_importance_map.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
ssil_interleave.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
ssil.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
subsurface_scattering.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
tonemap.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
volumetric_fog_process.glsl Remove unused shadow_color property from Light3D 2022-03-04 23:12:18 +01:00
volumetric_fog.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
voxel_gi_debug.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
voxel_gi_sdf.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
voxel_gi.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00