Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpu/intern/gpu_shader.c
| Show First 20 Lines • Show All 156 Lines • ▼ Show 20 Lines | |||||
| extern char datatoc_gpu_shader_fire_frag_glsl[]; | extern char datatoc_gpu_shader_fire_frag_glsl[]; | ||||
| extern char datatoc_gpu_shader_smoke_vert_glsl[]; | extern char datatoc_gpu_shader_smoke_vert_glsl[]; | ||||
| extern char datatoc_gpu_shader_smoke_frag_glsl[]; | extern char datatoc_gpu_shader_smoke_frag_glsl[]; | ||||
| extern char datatoc_gpu_shader_vsm_store_vert_glsl[]; | extern char datatoc_gpu_shader_vsm_store_vert_glsl[]; | ||||
| extern char datatoc_gpu_shader_vsm_store_frag_glsl[]; | extern char datatoc_gpu_shader_vsm_store_frag_glsl[]; | ||||
| extern char datatoc_gpu_shader_sep_gaussian_blur_vert_glsl[]; | extern char datatoc_gpu_shader_sep_gaussian_blur_vert_glsl[]; | ||||
| extern char datatoc_gpu_shader_sep_gaussian_blur_frag_glsl[]; | extern char datatoc_gpu_shader_sep_gaussian_blur_frag_glsl[]; | ||||
| extern char datatoc_gpu_shader_gpencil_stroke_vert_glsl[]; | |||||
| extern char datatoc_gpu_shader_gpencil_stroke_frag_glsl[]; | |||||
| extern char datatoc_gpu_shader_gpencil_stroke_geom_glsl[]; | |||||
| extern char datatoc_gpu_shader_gpencil_fill_vert_glsl[]; | |||||
| extern char datatoc_gpu_shader_gpencil_fill_frag_glsl[]; | |||||
| /* cache of built-in shaders (each is created on first use) */ | /* cache of built-in shaders (each is created on first use) */ | ||||
| static GPUShader *builtin_shaders[GPU_NUM_BUILTIN_SHADERS] = { NULL }; | static GPUShader *builtin_shaders[GPU_NUM_BUILTIN_SHADERS] = { NULL }; | ||||
| typedef struct { | typedef struct { | ||||
| const char *vert; | const char *vert; | ||||
| const char *frag; | const char *frag; | ||||
| const char *geom; /* geometry stage runs between vert & frag, but is less common, so it goes last */ | const char *geom; /* geometry stage runs between vert & frag, but is less common, so it goes last */ | ||||
| } GPUShaderStages; | } GPUShaderStages; | ||||
| ▲ Show 20 Lines • Show All 686 Lines • ▼ Show 20 Lines | static const GPUShaderStages builtin_shader_stages[GPU_NUM_BUILTIN_SHADERS] = { | ||||
| [GPU_SHADER_2D_WIDGET_BASE_INST] = { datatoc_gpu_shader_2D_widget_base_vert_glsl, | [GPU_SHADER_2D_WIDGET_BASE_INST] = { datatoc_gpu_shader_2D_widget_base_vert_glsl, | ||||
| datatoc_gpu_shader_2D_widget_base_frag_glsl}, | datatoc_gpu_shader_2D_widget_base_frag_glsl}, | ||||
| [GPU_SHADER_2D_WIDGET_SHADOW] = { datatoc_gpu_shader_2D_widget_shadow_vert_glsl, | [GPU_SHADER_2D_WIDGET_SHADOW] = { datatoc_gpu_shader_2D_widget_shadow_vert_glsl, | ||||
| datatoc_gpu_shader_2D_widget_shadow_frag_glsl }, | datatoc_gpu_shader_2D_widget_shadow_frag_glsl }, | ||||
| [GPU_SHADER_2D_NODELINK] = { datatoc_gpu_shader_2D_nodelink_vert_glsl, | [GPU_SHADER_2D_NODELINK] = { datatoc_gpu_shader_2D_nodelink_vert_glsl, | ||||
| datatoc_gpu_shader_2D_nodelink_frag_glsl }, | datatoc_gpu_shader_2D_nodelink_frag_glsl }, | ||||
| [GPU_SHADER_2D_NODELINK_INST] = { datatoc_gpu_shader_2D_nodelink_vert_glsl, | [GPU_SHADER_2D_NODELINK_INST] = { datatoc_gpu_shader_2D_nodelink_vert_glsl, | ||||
| datatoc_gpu_shader_2D_nodelink_frag_glsl }, | datatoc_gpu_shader_2D_nodelink_frag_glsl }, | ||||
| [GPU_SHADER_GPENCIL_STROKE] = { datatoc_gpu_shader_gpencil_stroke_vert_glsl, | |||||
| datatoc_gpu_shader_gpencil_stroke_frag_glsl, | |||||
| datatoc_gpu_shader_gpencil_stroke_geom_glsl }, | |||||
| [GPU_SHADER_GPENCIL_FILL] = { datatoc_gpu_shader_gpencil_fill_vert_glsl, | |||||
| datatoc_gpu_shader_gpencil_fill_frag_glsl }, | |||||
| }; | }; | ||||
| if (builtin_shaders[shader] == NULL) { | if (builtin_shaders[shader] == NULL) { | ||||
| /* just a few special cases */ | /* just a few special cases */ | ||||
| const char *defines = NULL; | const char *defines = NULL; | ||||
| switch (shader) { | switch (shader) { | ||||
| case GPU_SHADER_2D_IMAGE_MULTISAMPLE_2: | case GPU_SHADER_2D_IMAGE_MULTISAMPLE_2: | ||||
| defines = "#define SAMPLES 2\n"; | defines = "#define SAMPLES 2\n"; | ||||
| ▲ Show 20 Lines • Show All 77 Lines • Show Last 20 Lines | |||||