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
bokeh_dof_inc.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
bokeh_dof_raster.glsl
bokeh_dof.glsl
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
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
cubemap_downsampler.glsl
cubemap_filter_raster.glsl RendererRD: Remove binding specifier for push constants 2022-02-11 18:42:32 +01:00
cubemap_filter.glsl
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
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
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
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
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
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