3 #include "testing/testing.h"
30 const int MAX_WPD = 6;
46 for (
int wpd_index = 0; wpd_index < MAX_WPD; wpd_index++) {
195 for (
int i = 0; i < 2; i++) {
197 DRW_draw_state_init_gtests(sh_cfg);
struct GPUShader GPUShader
#define GPU_SHADER_CFG_LEN
GPUShader * BASIC_shaders_depth_conservative_sh_get(eGPUShaderConfig config)
void BASIC_shaders_free(void)
GPUShader * BASIC_shaders_pointcloud_depth_conservative_sh_get(eGPUShaderConfig config)
GPUShader * BASIC_shaders_pointcloud_depth_sh_get(eGPUShaderConfig config)
GPUShader * BASIC_shaders_depth_sh_get(eGPUShaderConfig config)
GPUShader * BASIC_shaders_curves_depth_sh_get(eGPUShaderConfig config)
@ PART_REFINE_CATMULL_ROM
GPUShader * DRW_shader_hair_refine_get(ParticleRefineShader refinement, eParticleRefineShaderType sh_type)
eParticleRefineShaderType
@ PART_REFINE_SHADER_TRANSFORM_FEEDBACK_WORKAROUND
@ PART_REFINE_SHADER_COMPUTE
@ PART_REFINE_SHADER_TRANSFORM_FEEDBACK
#define DRAW_TEST(test_name)
struct GPUShader * EEVEE_shaders_depth_of_field_setup_get(void)
struct GPUShader * EEVEE_shaders_effect_motion_blur_sh_get(void)
void EEVEE_shaders_free(void)
struct GPUShader * EEVEE_shaders_cryptomatte_sh_get(bool is_hair)
struct GPUShader * EEVEE_shaders_probe_planar_display_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_maxz_downlevel_sh_get(void)
struct GPUShader * EEVEE_shaders_shadow_accum_sh_get(void)
struct GPUShader * EEVEE_shaders_velocity_resolve_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_maxz_downdepth_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_maxz_copydepth_sh_get(void)
struct GPUShader * EEVEE_shaders_probe_grid_fill_sh_get(void)
struct GPUShader * EEVEE_shaders_subsurface_first_pass_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_minz_copydepth_sh_get(void)
struct GPUShader * EEVEE_shaders_depth_of_field_bokeh_get(void)
struct GPUShader * EEVEE_shaders_studiolight_background_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_motion_blur_velocity_tiles_sh_get(void)
struct GPUShader * EEVEE_shaders_volumes_scatter_sh_get(void)
struct GPUShader * EEVEE_shaders_depth_of_field_dilate_tiles_get(bool pass)
struct GPUShader * EEVEE_shaders_effect_downsample_cube_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_minz_downdepth_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_reflection_trace_sh_get(void)
struct GPUShader * EEVEE_shaders_ggx_lut_sh_get(void)
struct GPUShader * EEVEE_shaders_probe_filter_visibility_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_reflection_resolve_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_minz_downlevel_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_downsample_sh_get(void)
struct GPUShader * EEVEE_shaders_probe_filter_diffuse_sh_get(void)
struct GPUShader * EEVEE_shaders_bloom_blit_get(bool high_quality)
struct GPUShader * EEVEE_shaders_effect_motion_blur_hair_sh_get(void)
struct GPUShader * EEVEE_shaders_probe_cube_display_sh_get(void)
struct GPUShader * EEVEE_shaders_volumes_integration_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_maxz_copydepth_layer_sh_get(void)
struct GPUShader * EEVEE_shaders_taa_resolve_sh_get(EEVEE_EffectsFlag enabled_effects)
struct GPUShader * EEVEE_shaders_volumes_accum_sh_get(void)
struct GPUShader * EEVEE_shaders_subsurface_second_pass_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_minz_downdepth_layer_sh_get(void)
struct GPUShader * EEVEE_shaders_probe_planar_downsample_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_ambient_occlusion_debug_sh_get(void)
struct GPUShader * EEVEE_shaders_depth_of_field_scatter_get(bool is_foreground, bool bokeh_tx)
struct GPUShader * EEVEE_shaders_effect_motion_blur_velocity_tiles_expand_sh_get(void)
struct GPUShader * EEVEE_shaders_depth_of_field_gather_get(EEVEE_DofGatherPass pass, bool bokeh_tx)
struct GPUShader * EEVEE_shaders_studiolight_probe_sh_get(void)
struct GPUShader * EEVEE_shaders_bloom_upsample_get(bool high_quality)
struct GPUShader * EEVEE_shaders_effect_mist_sh_get(void)
struct GPUShader * EEVEE_shaders_update_noise_sh_get(void)
struct GPUShader * EEVEE_shaders_bloom_resolve_get(bool high_quality)
struct GPUShader * EEVEE_shaders_ggx_refraction_lut_sh_get(void)
struct GPUShader * EEVEE_shaders_depth_of_field_flatten_tiles_get(void)
struct GPUShader * EEVEE_shaders_volumes_scatter_with_lights_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_ambient_occlusion_sh_get(void)
struct GPUShader * EEVEE_shaders_volumes_clear_sh_get(void)
struct GPUShader * EEVEE_shaders_depth_of_field_resolve_get(bool use_bokeh_tx, bool use_hq_gather)
struct GPUShader * EEVEE_shaders_depth_of_field_reduce_get(bool is_copy_pass)
struct GPUShader * EEVEE_shaders_volumes_resolve_sh_get(bool accum)
struct GPUShader * EEVEE_shaders_shadow_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_maxz_downdepth_layer_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_motion_blur_object_sh_get(void)
struct GPUShader * EEVEE_shaders_probe_filter_glossy_sh_get(void)
struct GPUShader * EEVEE_shaders_probe_grid_display_sh_get(void)
struct GPUShader * EEVEE_shaders_renderpasses_post_process_sh_get(void)
void EEVEE_shaders_material_shaders_init(void)
struct GPUShader * EEVEE_shaders_bloom_downsample_get(bool high_quality)
struct GPUShader * EEVEE_shaders_depth_of_field_downsample_get(void)
struct GPUShader * EEVEE_shaders_depth_of_field_filter_get(void)
struct GPUShader * dof_downsample_sh
struct GPUShader * dof_resolve_sh[2][2]
struct GPUShader * GPENCIL_shader_fx_colorize_get(void)
struct GPUShader * GPENCIL_shader_layer_blend_get(void)
struct GPUShader * GPENCIL_shader_fx_composite_get(void)
struct GPUShader * GPENCIL_shader_mask_invert_get(void)
struct GPUShader * GPENCIL_shader_fx_shadow_get(void)
struct GPUShader * GPENCIL_shader_fx_transform_get(void)
void GPENCIL_shader_free(void)
struct GPUShader * GPENCIL_shader_fx_rim_get(void)
struct GPUShader * GPENCIL_shader_fx_pixelize_get(void)
struct GPUShader * GPENCIL_shader_fx_blur_get(void)
struct GPUShader * GPENCIL_shader_antialiasing(int stage)
struct GPUShader * GPENCIL_shader_geometry_get(void)
struct GPUShader * GPENCIL_shader_fx_glow_get(void)
struct GPUShader * GPENCIL_shader_depth_merge_get(void)
GPUShader * IMAGE_shader_image_get()
GPUShader * IMAGE_shader_depth_get()
static void test_draw_shaders(eParticleRefineShaderType sh_type)
static void test_eevee_glsl_shaders_static()
static void test_workbench_glsl_shaders()
static void test_image_glsl_shaders()
static void test_gpencil_glsl_shaders()
static void test_draw_glsl_shaders()
static void test_basic_glsl_shaders()
static void test_overlay_glsl_shaders()
GPUShader * OVERLAY_shader_edit_lattice_wire(void)
GPUShader * OVERLAY_shader_edit_uv_stretching_angle_get(void)
GPUShader * OVERLAY_shader_sculpt_curves_selection(void)
GPUShader * OVERLAY_shader_image(void)
GPUShader * OVERLAY_shader_edit_curve_handle(void)
void OVERLAY_shader_free(void)
GPUShader * OVERLAY_shader_armature_degrees_of_freedom_wire(void)
GPUShader * OVERLAY_shader_edit_gpencil_guide_point(void)
GPUShader * OVERLAY_shader_edit_lattice_point(void)
GPUShader * OVERLAY_shader_edit_mesh_edge(bool use_flat_interp)
GPUShader * OVERLAY_shader_paint_face(void)
GPUShader * OVERLAY_shader_edit_uv_face_get(void)
GPUShader * OVERLAY_shader_armature_sphere(bool use_outline)
GPUShader * OVERLAY_shader_wireframe(bool custom_bias)
GPUShader * OVERLAY_shader_edit_gpencil_point(void)
GPUShader * OVERLAY_shader_edit_curve_wire(void)
GPUShader * OVERLAY_shader_outline_prepass(bool use_wire)
GPUShader * OVERLAY_shader_edit_mesh_facedot(void)
GPUShader * OVERLAY_shader_extra_groundline(void)
GPUShader * OVERLAY_shader_extra_loose_point(void)
GPUShader * OVERLAY_shader_armature_degrees_of_freedom_solid(void)
GPUShader * OVERLAY_shader_edit_uv_stencil_image(void)
GPUShader * OVERLAY_shader_edit_gpencil_wire(void)
GPUShader * OVERLAY_shader_background(void)
GPUShader * OVERLAY_shader_clipbound(void)
GPUShader * OVERLAY_shader_edit_uv_face_dots_get(void)
GPUShader * OVERLAY_shader_motion_path_vert(void)
GPUShader * OVERLAY_shader_particle_dot(void)
GPUShader * OVERLAY_shader_paint_point(void)
GPUShader * OVERLAY_shader_paint_weight(bool shading)
GPUShader * OVERLAY_shader_edit_mesh_skin_root(void)
GPUShader * OVERLAY_shader_extra_grid(void)
GPUShader * OVERLAY_shader_edit_uv_stretching_area_get(void)
GPUShader * OVERLAY_shader_particle_shape(void)
GPUShader * OVERLAY_shader_motion_path_line(void)
GPUShader * OVERLAY_shader_edit_mesh_vert(void)
GPUShader * OVERLAY_shader_edit_uv_verts_get(void)
GPUShader * OVERLAY_shader_extra(bool is_select)
GPUShader * OVERLAY_shader_edit_particle_strand(void)
GPUShader * OVERLAY_shader_volume_velocity(bool use_needle, bool use_mac)
GPUShader * OVERLAY_shader_extra_wire(bool use_object, bool is_select)
GPUShader * OVERLAY_shader_sculpt_mask(void)
GPUShader * OVERLAY_shader_edit_uv_mask_image(void)
GPUShader * OVERLAY_shader_armature_shape_wire(void)
GPUShader * OVERLAY_shader_edit_uv_edges_get(void)
GPUShader * OVERLAY_shader_edit_mesh_face(void)
GPUShader * OVERLAY_shader_edit_mesh_normal(void)
GPUShader * OVERLAY_shader_armature_shape(bool use_outline)
GPUShader * OVERLAY_shader_xray_fade(void)
GPUShader * OVERLAY_shader_armature_wire(void)
GPUShader * OVERLAY_shader_grid(void)
GPUShader * OVERLAY_shader_edit_curve_point(void)
GPUShader * OVERLAY_shader_depth_only(void)
GPUShader * OVERLAY_shader_paint_wire(void)
GPUShader * OVERLAY_shader_armature_envelope(bool use_outline)
GPUShader * OVERLAY_shader_edit_particle_point(void)
GPUShader * OVERLAY_shader_edit_uv_tiled_image_borders_get(void)
GPUShader * OVERLAY_shader_paint_vertcol(void)
GPUShader * OVERLAY_shader_extra_point(void)
GPUShader * OVERLAY_shader_grid_image(void)
GPUShader * OVERLAY_shader_outline_prepass_gpencil(void)
GPUShader * OVERLAY_shader_antialiasing(void)
GPUShader * OVERLAY_shader_uniform_color(void)
GPUShader * OVERLAY_shader_outline_prepass_pointcloud(void)
GPUShader * OVERLAY_shader_gpencil_canvas(void)
GPUShader * OVERLAY_shader_outline_detect(void)
GPUShader * OVERLAY_shader_armature_stick(void)
GPUShader * OVERLAY_shader_facing(void)
GPUShader * OVERLAY_shader_paint_texture(void)
GPUShader * OVERLAY_shader_edit_mesh_analysis(void)
GPUShader * OVERLAY_shader_wireframe_select(void)
GPUShader * OVERLAY_shader_outline_prepass_curves(void)
GPUShader * workbench_shader_transparent_resolve_get(WORKBENCH_PrivateData *wpd)
GPUShader * workbench_shader_transparent_image_get(WORKBENCH_PrivateData *wpd, eWORKBENCH_DataType data, bool tiled)
GPUShader * workbench_shader_shadow_fail_get(bool manifold, bool cap)
@ WORKBENCH_VOLUME_INTERP_CUBIC
@ WORKBENCH_VOLUME_INTERP_LINEAR
@ WORKBENCH_VOLUME_INTERP_CLOSEST
GPUShader * workbench_shader_shadow_pass_get(bool manifold)
GPUShader * workbench_shader_composite_get(WORKBENCH_PrivateData *wpd)
GPUShader * workbench_shader_volume_get(bool slice, bool coba, eWORKBENCH_VolumeInterpType interp_type, bool smoke)
GPUShader * workbench_shader_opaque_image_get(WORKBENCH_PrivateData *wpd, eWORKBENCH_DataType data, bool tiled)
void workbench_shader_free(void)
GPUShader * workbench_shader_antialiasing_get(int stage)
GPUShader * workbench_shader_antialiasing_accumulation_get(void)
GPUShader * workbench_shader_merge_infront_get(WORKBENCH_PrivateData *wpd)
GPUShader * workbench_shader_cavity_get(bool cavity, bool curvature)
@ WORKBENCH_DATATYPE_MESH
@ WORKBENCH_DATATYPE_HAIR
@ WORKBENCH_DATATYPE_POINTCLOUD
GPUShader * workbench_shader_opaque_get(WORKBENCH_PrivateData *wpd, eWORKBENCH_DataType data)
GPUShader * workbench_shader_transparent_get(WORKBENCH_PrivateData *wpd, eWORKBENCH_DataType data)
GPUShader * workbench_shader_outline_get(void)
void workbench_shader_depth_of_field_get(GPUShader **prepare_sh, GPUShader **downsample_sh, GPUShader **blur1_sh, GPUShader **blur2_sh, GPUShader **resolve_sh)
struct GPUShader * dof_blur2_sh
struct GPUShader * dof_prepare_sh
struct GPUShader * dof_blur1_sh