I was getting a black screen with the shaders, using V2 (v3 didn't work for me). After an hour of examination with AI, this is how it worked. If you get the same error, change the crt_appy function in the crt object create event like this:
crt_apply = function() {
if (!surface_exists(game_surface)) {
resize_surfaces();
}
shader_set(shader);
update_uniforms();
var sampler_id = shader_get_sampler_index(shader, "u_mask_sampler");
texture_set_stage(sampler_id, sprite_get_texture(mask_type, mask_rgbx_repeat_on_threes));
sampler_id = shader_get_sampler_index(shader, "u_slot_sampler");
texture_set_stage(sampler_id, sprite_get_texture(spr_slot, mask_slot_height));
draw_surface_stretched(application_surface, 0, 0, output_width, output_height);
shader_reset();
}
