Blender
V3.3
|
Go to the source code of this file.
Classes | |
struct | GPU_ShaderCreateFromArray_Params |
struct | GPUShaderConfigData |
Typedefs | |
typedef struct GPUShaderCreateInfo | GPUShaderCreateInfo |
typedef struct GPUShader | GPUShader |
typedef enum eGPUShaderTFBType | eGPUShaderTFBType |
typedef enum eGPUBuiltinShader | eGPUBuiltinShader |
typedef enum eGPUShaderConfig | eGPUShaderConfig |
typedef struct GPUShaderConfigData | GPUShaderConfigData |
typedef enum eGPUKeyframeShapes | eGPUKeyframeShapes |
Variables | |
const GPUShaderConfigData | GPU_shader_cfg_data [GPU_SHADER_CFG_LEN] |
#define GPU_KEYFRAME_SHAPE_SQUARE (GPU_KEYFRAME_SHAPE_CLIPPED_VERTICAL | GPU_KEYFRAME_SHAPE_CLIPPED_HORIZONTAL) |
Definition at line 403 of file GPU_shader.h.
#define GPU_MAX_ATTR 15 |
Definition at line 388 of file GPU_shader.h.
#define GPU_MAX_UNIFORM_ATTR 8 |
Definition at line 391 of file GPU_shader.h.
#define GPU_SHADER_BUILTIN_LEN (GPU_SHADER_2D_NODELINK_INST + 1) |
Definition at line 361 of file GPU_shader.h.
#define GPU_SHADER_CFG_LEN (GPU_SHADER_CFG_CLIPPED + 1) |
Definition at line 368 of file GPU_shader.h.
#define GPU_shader_create_from_arrays | ( | ... | ) |
Definition at line 87 of file GPU_shader.h.
#define GPU_shader_create_from_arrays_named | ( | name, | |
... | |||
) |
Definition at line 91 of file GPU_shader.h.
typedef enum eGPUBuiltinShader eGPUBuiltinShader |
typedef enum eGPUKeyframeShapes eGPUKeyframeShapes |
typedef enum eGPUShaderConfig eGPUShaderConfig |
Support multiple configurations.
typedef enum eGPUShaderTFBType eGPUShaderTFBType |
Opaque type hiding blender::gpu::Shader
Definition at line 1 of file GPU_shader.h.
typedef struct GPUShaderConfigData GPUShaderConfigData |
typedef struct GPUShaderCreateInfo GPUShaderCreateInfo |
Opaque type hiding blender::gpu::shader::ShaderCreateInfo
Definition at line 1 of file GPU_shader.h.
enum eGPUBuiltinShader |
Definition at line 189 of file GPU_shader.h.
enum eGPUKeyframeShapes |
Enumerator | |
---|---|
GPU_KEYFRAME_SHAPE_DIAMOND | |
GPU_KEYFRAME_SHAPE_CIRCLE | |
GPU_KEYFRAME_SHAPE_CLIPPED_VERTICAL | |
GPU_KEYFRAME_SHAPE_CLIPPED_HORIZONTAL | |
GPU_KEYFRAME_SHAPE_INNER_DOT | |
GPU_KEYFRAME_SHAPE_ARROW_END_MAX | |
GPU_KEYFRAME_SHAPE_ARROW_END_MIN | |
GPU_KEYFRAME_SHAPE_ARROW_END_MIXED |
Definition at line 393 of file GPU_shader.h.
enum eGPUShaderConfig |
Support multiple configurations.
Enumerator | |
---|---|
GPU_SHADER_CFG_DEFAULT | |
GPU_SHADER_CFG_CLIPPED |
Definition at line 364 of file GPU_shader.h.
enum eGPUShaderTFBType |
Enumerator | |
---|---|
GPU_SHADER_TFB_NONE | |
GPU_SHADER_TFB_POINTS | |
GPU_SHADER_TFB_LINES | |
GPU_SHADER_TFB_TRIANGLES |
Definition at line 22 of file GPU_shader.h.
Enumerator | |
---|---|
GPU_UNIFORM_BLOCK_VIEW | Deprecated |
GPU_UNIFORM_BLOCK_MODEL | |
GPU_UNIFORM_BLOCK_INFO | |
GPU_UNIFORM_BLOCK_DRW_VIEW | New ones |
GPU_UNIFORM_BLOCK_DRW_MODEL | |
GPU_UNIFORM_BLOCK_DRW_INFOS | |
GPU_NUM_UNIFORM_BLOCKS |
Definition at line 138 of file GPU_shader.h.
enum GPUUniformBuiltin |
Enumerator | |
---|---|
GPU_UNIFORM_MODEL | |
GPU_UNIFORM_VIEW | |
GPU_UNIFORM_MODELVIEW | |
GPU_UNIFORM_PROJECTION | |
GPU_UNIFORM_VIEWPROJECTION | |
GPU_UNIFORM_MVP | |
GPU_UNIFORM_MODEL_INV | |
GPU_UNIFORM_VIEW_INV | |
GPU_UNIFORM_MODELVIEW_INV | |
GPU_UNIFORM_PROJECTION_INV | |
GPU_UNIFORM_VIEWPROJECTION_INV | |
GPU_UNIFORM_NORMAL | |
GPU_UNIFORM_ORCO | |
GPU_UNIFORM_CLIPPLANES | |
GPU_UNIFORM_COLOR | |
GPU_UNIFORM_BASE_INSTANCE | |
GPU_UNIFORM_RESOURCE_CHUNK | |
GPU_UNIFORM_RESOURCE_ID | |
GPU_UNIFORM_SRGB_TRANSFORM | |
GPU_NUM_UNIFORMS |
Definition at line 111 of file GPU_shader.h.
Definition at line 491 of file gpu_shader.cc.
References blender::gpu::Shader::bind(), blender::gpu::Context::get(), GPU_matrix_bind(), GPU_matrix_dirty_get(), GPU_shader_set_srgb_uniform(), gpu_shader_srgb_uniform_dirty_get(), blender::gpu::Context::shader, and blender::gpu::unwrap().
Referenced by draw_filled_lasso(), draw_shgroup(), draw_subdiv_accumulate_normals(), draw_subdiv_build_edge_fac_buffer(), draw_subdiv_build_edituv_stretch_angle_buffer(), draw_subdiv_build_edituv_stretch_area_buffer(), draw_subdiv_build_fdots_buffers(), draw_subdiv_build_lines_buffer(), draw_subdiv_build_lines_loose_buffer(), draw_subdiv_build_lnor_buffer(), draw_subdiv_build_sculpt_data_buffer(), draw_subdiv_build_tris_buffer(), draw_subdiv_extract_pos_nor(), draw_subdiv_extract_uvs(), draw_subdiv_finalize_custom_normals(), draw_subdiv_finalize_normals(), draw_subdiv_interp_custom_data(), blender::gpu::GLImmediate::end(), GPU_batch_draw(), GPU_batch_draw_instanced(), GPU_batch_draw_range(), GPU_batch_set_shader(), GPU_compute_dispatch(), GPU_compute_dispatch_indirect(), GPU_shader_get_builtin_shader_with_config(), icon_draw_cache_texture_flush_ex(), icon_draw_texture(), immBindShader(), pygpu_batch_program_use_begin(), pygpu_shader_bind(), blender::gpu::tests::test_gpu_shader_compute_1d(), blender::gpu::tests::test_gpu_shader_compute_2d(), blender::gpu::tests::test_gpu_shader_compute_ibo(), blender::gpu::tests::test_gpu_shader_compute_vbo(), blender::gpu::tests::test_gpu_shader_ssbo_binding(), and wm_draw_region_blend().
GPUShader* GPU_shader_create | ( | const char * | vertcode, |
const char * | fragcode, | ||
const char * | geomcode, | ||
const char * | libcode, | ||
const char * | defines, | ||
const char * | shname | ||
) |
Definition at line 211 of file gpu_shader.cc.
References GPU_shader_create_ex(), and GPU_SHADER_TFB_NONE.
Referenced by DRW_shader_create_ex(), DRW_shader_create_fullscreen_ex(), DRW_shader_create_fullscreen_with_shaderlib_ex(), DRW_shader_create_with_lib_ex(), DRW_shader_create_with_shaderlib_ex(), and GPU_shader_create_from_arrays_impl().
GPUShader* GPU_shader_create_compute | ( | const char * | computecode, |
const char * | libcode, | ||
const char * | defines, | ||
const char * | shname | ||
) |
Definition at line 230 of file gpu_shader.cc.
References GPU_shader_create_ex(), and GPU_SHADER_TFB_NONE.
Referenced by get_patch_evaluation_shader(), get_subdiv_shader(), blender::gpu::tests::test_gpu_shader_compute_1d(), blender::gpu::tests::test_gpu_shader_compute_2d(), blender::gpu::tests::test_gpu_shader_compute_ibo(), blender::gpu::tests::test_gpu_shader_compute_vbo(), and blender::gpu::tests::test_gpu_shader_ssbo_binding().
GPUShader* GPU_shader_create_ex | ( | const char * | vertcode, |
const char * | fragcode, | ||
const char * | geomcode, | ||
const char * | computecode, | ||
const char * | libcode, | ||
const char * | defines, | ||
eGPUShaderTFBType | tf_type, | ||
const char ** | tf_names, | ||
int | tf_count, | ||
const char * | shname | ||
) |
Definition at line 107 of file gpu_shader.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, blender::gpu::Shader::compute_shader_from_glsl(), blender::gpu::Shader::finalize(), blender::gpu::Shader::fragment_shader_from_glsl(), blender::gpu::Shader::geometry_shader_from_glsl(), blender::gpu::GPUBackend::get(), GPU_SHADER_TFB_NONE, blender::gpu::GPUBackend::shader_alloc(), standard_defines(), blender::gpu::Shader::transform_feedback_names_set(), blender::gpu::Shader::vertex_shader_from_glsl(), and blender::gpu::wrap().
Referenced by DRW_shader_create_with_transform_feedback(), GPU_shader_create(), GPU_shader_create_compute(), and GPU_shader_create_from_python().
struct GPUShader* GPU_shader_create_from_arrays_impl | ( | const struct GPU_ShaderCreateFromArray_Params * | params, |
const char * | func, | ||
int | line | ||
) |
Use via GPU_shader_create_from_arrays macro (avoids passing in param).
Similar to DRW_shader_create_with_lib with the ability to include libs for each type of shader.
It has the advantage that each item can be conditionally included without having to build the string inline, then free it.
params | NULL terminated arrays of strings. |
Example:
Definition at line 458 of file gpu_shader.cc.
References ARRAY_SIZE, BLI_snprintf(), GPU_shader_create(), MEM_freeN, params, sh, str, and string_join_array_maybe_alloc().
GPUShader* GPU_shader_create_from_info | ( | const GPUShaderCreateInfo * | _info | ) |
Definition at line 277 of file gpu_shader.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, blender::StringRefNull::c_str(), blender::gpu::shader::ShaderCreateInfo::check_error(), blender::gpu::Shader::compute_layout_declare(), blender::gpu::Shader::compute_shader_from_glsl(), blender::gpu::shader::ShaderCreateInfo::compute_source_, blender::gpu::Shader::defines_declare(), error(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::gpu::Shader::finalize(), blender::gpu::Shader::fragment_shader_from_glsl(), blender::gpu::shader::ShaderCreateInfo::fragment_source_, blender::gpu::Shader::geometry_layout_declare(), blender::gpu::Shader::geometry_shader_from_glsl(), blender::gpu::shader::ShaderCreateInfo::geometry_source_, blender::gpu::GPUBackend::get(), GPU_debug_group_begin(), GPU_debug_group_end(), GPU_DEBUG_SHADER_COMPILATION_GROUP, blender::gpu::shader::gpu_shader_dependency_get_resolved_source(), blender::gpu::shader::gpu_shader_dependency_get_source(), blender::StringRefBase::is_empty(), blender::gpu::shader::ShaderCreateInfo::legacy_resource_location_, blender::gpu::shader::ShaderCreateInfo::name_, blender::gpu::Shader::resources_declare(), blender::gpu::GPUBackend::shader_alloc(), standard_defines(), blender::gpu::shader::ShaderCreateInfo::typedef_source_generated, blender::gpu::shader::ShaderCreateInfo::typedef_sources_, blender::gpu::Shader::vertex_shader_from_glsl(), blender::gpu::shader::ShaderCreateInfo::vertex_source_, and blender::gpu::wrap().
Referenced by createGPUShader(), GPU_pass_compile(), GPU_shader_create_from_info_name(), gpu_shader_create_info_compile_all(), and pygpu_shader_create_from_info().
GPUShader* GPU_shader_create_from_info_name | ( | const char * | info_name | ) |
Definition at line 265 of file gpu_shader.cc.
References blender::StringRefNull::c_str(), blender::gpu::shader::ShaderCreateInfo::do_static_compilation_, GPU_shader_create_from_info(), gpu_shader_create_info_get(), and blender::gpu::shader::ShaderCreateInfo::name_.
Referenced by BASIC_shaders_curves_depth_sh_get(), BASIC_shaders_depth_conservative_sh_get(), BASIC_shaders_depth_sh_get(), BASIC_shaders_pointcloud_depth_conservative_sh_get(), BASIC_shaders_pointcloud_depth_sh_get(), external_engine_init(), GPENCIL_shader_antialiasing(), GPENCIL_shader_depth_merge_get(), GPENCIL_shader_fx_blur_get(), GPENCIL_shader_fx_colorize_get(), GPENCIL_shader_fx_composite_get(), GPENCIL_shader_fx_glow_get(), GPENCIL_shader_fx_pixelize_get(), GPENCIL_shader_fx_rim_get(), GPENCIL_shader_fx_shadow_get(), GPENCIL_shader_fx_transform_get(), GPENCIL_shader_geometry_get(), GPENCIL_shader_layer_blend_get(), GPENCIL_shader_mask_invert_get(), GPU_shader_get_builtin_shader_with_config(), hair_refine_shader_compute_create(), hair_refine_shader_transform_feedback_workaround_create(), blender::draw::image_engine::IMAGE_shader_depth_get(), blender::draw::image_engine::IMAGE_shader_image_get(), OVERLAY_shader_antialiasing(), OVERLAY_shader_armature_degrees_of_freedom_solid(), OVERLAY_shader_armature_degrees_of_freedom_wire(), OVERLAY_shader_armature_envelope(), OVERLAY_shader_armature_shape(), OVERLAY_shader_armature_shape_wire(), OVERLAY_shader_armature_sphere(), OVERLAY_shader_armature_stick(), OVERLAY_shader_armature_wire(), OVERLAY_shader_background(), OVERLAY_shader_clipbound(), OVERLAY_shader_depth_only(), OVERLAY_shader_edit_curve_handle(), OVERLAY_shader_edit_curve_point(), OVERLAY_shader_edit_curve_wire(), OVERLAY_shader_edit_gpencil_guide_point(), OVERLAY_shader_edit_gpencil_point(), OVERLAY_shader_edit_gpencil_wire(), OVERLAY_shader_edit_lattice_point(), OVERLAY_shader_edit_lattice_wire(), OVERLAY_shader_edit_mesh_analysis(), OVERLAY_shader_edit_mesh_edge(), OVERLAY_shader_edit_mesh_face(), OVERLAY_shader_edit_mesh_facedot(), OVERLAY_shader_edit_mesh_normal(), OVERLAY_shader_edit_mesh_skin_root(), OVERLAY_shader_edit_mesh_vert(), OVERLAY_shader_edit_particle_point(), OVERLAY_shader_edit_particle_strand(), OVERLAY_shader_edit_uv_edges_for_edge_select_get(), OVERLAY_shader_edit_uv_edges_get(), OVERLAY_shader_edit_uv_face_dots_get(), OVERLAY_shader_edit_uv_face_get(), OVERLAY_shader_edit_uv_mask_image(), OVERLAY_shader_edit_uv_stencil_image(), OVERLAY_shader_edit_uv_stretching_angle_get(), OVERLAY_shader_edit_uv_stretching_area_get(), OVERLAY_shader_edit_uv_tiled_image_borders_get(), OVERLAY_shader_edit_uv_verts_get(), OVERLAY_shader_extra(), OVERLAY_shader_extra_grid(), OVERLAY_shader_extra_groundline(), OVERLAY_shader_extra_loose_point(), OVERLAY_shader_extra_point(), OVERLAY_shader_extra_wire(), OVERLAY_shader_facing(), OVERLAY_shader_gpencil_canvas(), OVERLAY_shader_grid(), OVERLAY_shader_grid_background(), OVERLAY_shader_grid_image(), OVERLAY_shader_image(), OVERLAY_shader_motion_path_line(), OVERLAY_shader_motion_path_vert(), OVERLAY_shader_outline_detect(), OVERLAY_shader_outline_prepass(), OVERLAY_shader_outline_prepass_curves(), OVERLAY_shader_outline_prepass_gpencil(), OVERLAY_shader_outline_prepass_pointcloud(), OVERLAY_shader_paint_face(), OVERLAY_shader_paint_point(), OVERLAY_shader_paint_texture(), OVERLAY_shader_paint_vertcol(), OVERLAY_shader_paint_weight(), OVERLAY_shader_paint_wire(), OVERLAY_shader_particle_dot(), OVERLAY_shader_particle_shape(), OVERLAY_shader_sculpt_curves_selection(), OVERLAY_shader_sculpt_mask(), OVERLAY_shader_uniform_color(), OVERLAY_shader_volume_gridlines(), OVERLAY_shader_volume_velocity(), OVERLAY_shader_wireframe(), OVERLAY_shader_wireframe_select(), OVERLAY_shader_xray_fade(), select_engine_init(), blender::eevee::ShaderModule::static_shader_get(), workbench_shader_antialiasing_accumulation_get(), workbench_shader_antialiasing_get(), workbench_shader_cavity_get(), workbench_shader_composite_get(), workbench_shader_depth_of_field_get(), workbench_shader_get_ex(), workbench_shader_merge_infront_get(), workbench_shader_outline_get(), workbench_shader_shadow_pass_get_ex(), workbench_shader_transparent_resolve_get(), and workbench_shader_volume_get().
GPUShader* GPU_shader_create_from_python | ( | const char * | vertcode, |
const char * | fragcode, | ||
const char * | geomcode, | ||
const char * | libcode, | ||
const char * | defines, | ||
const char * | name | ||
) |
Definition at line 399 of file gpu_shader.cc.
References BLI_strdupcat(), datatoc_gpu_shader_colorspace_lib_glsl, GPU_shader_create_ex(), GPU_SHADER_TFB_NONE, MEM_SAFE_FREE, and sh.
Referenced by pygpu_shader__tp_new().
bool GPU_shader_create_info_check_error | ( | const GPUShaderCreateInfo * | _info, |
char | r_error[128] | ||
) |
Definition at line 252 of file gpu_shader.cc.
References BLI_strncpy(), blender::gpu::shader::ShaderCreateInfo::check_error(), and error().
Referenced by pygpu_shader_create_from_info().
const GPUShaderCreateInfo* GPU_shader_create_info_get | ( | const char * | info_name | ) |
Definition at line 247 of file gpu_shader.cc.
References gpu_shader_create_info_get().
Referenced by blender::eevee::ShaderModule::ShaderModule().
Definition at line 200 of file gpu_shader.cc.
References blender::gpu::unwrap().
Referenced by blender::gpu::MTLContextTextureUtils::cleanup(), DRW_shader_free(), DRW_subdiv_free(), GPU_pass_compile(), gpu_pass_free(), gpu_shader_create_info_compile_all(), GPU_shader_free_builtin_shaders(), pygpu_shader__tp_dealloc(), blender::gpu::tests::test_gpu_shader_compute_1d(), blender::gpu::tests::test_gpu_shader_compute_2d(), blender::gpu::tests::test_gpu_shader_compute_ibo(), blender::gpu::tests::test_gpu_shader_compute_vbo(), blender::gpu::tests::test_gpu_shader_ssbo_binding(), and OCIO_GPUShader::~OCIO_GPUShader().
Definition at line 422 of file gpu_shader_builtin.c.
References builtin_shaders, GPU_SHADER_BUILTIN_LEN, GPU_SHADER_CFG_LEN, GPU_shader_free(), and NULL.
Referenced by gpu_codegen_exit(), and blender::gpu::tests::test_shader_builtin().
int GPU_shader_get_attribute | ( | GPUShader * | shader, |
const char * | name | ||
) |
Definition at line 606 of file gpu_shader.cc.
References blender::gpu::ShaderInput::location.
Referenced by pygpu_shader_attr_from_name().
int GPU_shader_get_builtin_block | ( | GPUShader * | shader, |
int | builtin | ||
) |
Definition at line 572 of file gpu_shader.cc.
References blender::gpu::ShaderInterface::ubo_builtin().
Referenced by drw_shgroup_init().
GPUShader* GPU_shader_get_builtin_shader | ( | eGPUBuiltinShader | shader | ) |
Definition at line 417 of file gpu_shader_builtin.c.
References GPU_SHADER_CFG_DEFAULT, and GPU_shader_get_builtin_shader_with_config().
Referenced by DRW_draw_cursor(), DRW_draw_cursor_2d_ex(), icon_draw_cache_texture_flush_ex(), icon_draw_texture(), immBindBuiltinProgram(), immDrawPixelsTexSetup(), and wm_draw_region_blend().
GPUShader* GPU_shader_get_builtin_shader_with_config | ( | eGPUBuiltinShader | shader, |
eGPUShaderConfig | sh_cfg | ||
) |
Definition at line 345 of file gpu_shader_builtin.c.
References BLI_assert, builtin_shader_stages, builtin_shaders, GPUShaderStages::create_info, datatoc_gpu_shader_cfg_world_clip_lib_glsl, ELEM, GPU_SHADER_3D_DEPTH_ONLY, GPU_SHADER_3D_FLAT_COLOR, GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_SHADER_3D_POINT_UNIFORM_SIZE_UNIFORM_COLOR_AA, GPU_SHADER_3D_POLYLINE_CLIPPED_UNIFORM_COLOR, GPU_SHADER_3D_POLYLINE_FLAT_COLOR, GPU_SHADER_3D_POLYLINE_SMOOTH_COLOR, GPU_SHADER_3D_POLYLINE_UNIFORM_COLOR, GPU_SHADER_3D_SMOOTH_COLOR, GPU_SHADER_3D_UNIFORM_COLOR, GPU_shader_bind(), GPU_SHADER_BUILTIN_LEN, GPU_SHADER_CFG_CLIPPED, GPU_SHADER_CFG_DEFAULT, GPU_SHADER_CFG_LEN, GPU_shader_create_from_arrays_named, GPU_shader_create_from_info_name(), GPU_shader_uniform_1i(), GPUShaderStages::name, and NULL.
Referenced by GPU_batch_program_set_builtin_with_config(), GPU_shader_get_builtin_shader(), pygpu_shader_from_builtin(), and blender::gpu::tests::test_compile_builtin_shader().
int GPU_shader_get_builtin_uniform | ( | GPUShader * | shader, |
int | builtin | ||
) |
Definition at line 566 of file gpu_shader.cc.
References blender::gpu::ShaderInterface::uniform_builtin().
Referenced by drw_shgroup_init(), GPU_matrix_bind(), GPU_shader_set_srgb_uniform(), icon_draw_texture(), immUniformColor4f(), and wm_draw_region_blend().
const char* GPU_shader_get_name | ( | GPUShader * | shader | ) |
Definition at line 530 of file gpu_shader.cc.
References blender::gpu::unwrap().
Referenced by pygpu_shader_name().
int GPU_shader_get_program | ( | GPUShader * | shader | ) |
DEPRECATED: Kept only because of BGL API.
Definition at line 619 of file gpu_shader.cc.
References blender::gpu::unwrap().
Referenced by pygpu_shader_program_get().
int GPU_shader_get_ssbo | ( | GPUShader * | shader, |
const char * | name | ||
) |
Definition at line 578 of file gpu_shader.cc.
References blender::gpu::ShaderInput::location.
Referenced by DRW_shgroup_buffer_texture(), DRW_shgroup_buffer_texture_ref(), DRW_shgroup_storage_block_ex(), DRW_shgroup_storage_block_ref_ex(), DRW_shgroup_vertex_buffer_ex(), DRW_shgroup_vertex_buffer_ref_ex(), blender::gpu::tests::test_gpu_shader_compute_ibo(), blender::gpu::tests::test_gpu_shader_compute_vbo(), and blender::gpu::tests::test_gpu_shader_ssbo_binding().
int GPU_shader_get_texture_binding | ( | GPUShader * | shader, |
const char * | name | ||
) |
Definition at line 599 of file gpu_shader.cc.
References tex.
Referenced by DRW_shgroup_uniform_image(), DRW_shgroup_uniform_image_ref(), DRW_shgroup_uniform_texture_ex(), DRW_shgroup_uniform_texture_ref_ex(), icon_draw_cache_texture_flush_ex(), icon_draw_texture(), immBindTexture(), immBindTextureSampler(), pygpu_shader_uniform_sampler(), blender::gpu::tests::test_gpu_shader_compute_1d(), blender::gpu::tests::test_gpu_shader_compute_2d(), and wm_draw_region_blend().
int GPU_shader_get_uniform | ( | GPUShader * | shader, |
const char * | name | ||
) |
Definition at line 559 of file gpu_shader.cc.
References blender::gpu::ShaderInput::location.
Referenced by count_active_texture_sampler(), draw_filled_lasso(), drw_shgroup_uniform(), DRW_shgroup_uniform_mat4_copy(), ED_mask_draw_region(), GPU_shader_uniform_1f(), GPU_shader_uniform_1i(), GPU_shader_uniform_2fv(), GPU_shader_uniform_2fv_array(), GPU_shader_uniform_3fv(), GPU_shader_uniform_4fv(), GPU_shader_uniform_4fv_array(), GPU_shader_uniform_mat4(), icon_draw_texture(), immDrawPixelsTexScaledFullSize(), immDrawPixelsTexTiled_scaling_clipping(), pygpu_shader_uniform_location_get(), and wm_draw_region_blend().
int GPU_shader_get_uniform_block | ( | GPUShader * | shader, |
const char * | name | ||
) |
DEPRECATED: Kept only because of Python GPU API.
Definition at line 585 of file gpu_shader.cc.
References blender::gpu::ShaderInput::location.
Referenced by pygpu_shader_uniform_block_from_name().
int GPU_shader_get_uniform_block_binding | ( | GPUShader * | shader, |
const char * | name | ||
) |
Definition at line 592 of file gpu_shader.cc.
References blender::gpu::ShaderInput::binding.
Referenced by draw_subdiv_ubo_update_and_bind(), DRW_shgroup_add_material_resources(), DRW_shgroup_uniform_block_ex(), DRW_shgroup_uniform_block_ref_ex(), icon_draw_cache_texture_flush_ex(), immBindUniformBuf(), and pygpu_shader_uniform_block().
void GPU_shader_set_framebuffer_srgb_target | ( | int | use_srgb_to_linear | ) |
Definition at line 753 of file gpu_shader.cc.
References g_shader_builtin_srgb_is_dirty, and g_shader_builtin_srgb_transform.
Referenced by blender::gpu::MTLFrameBuffer::bind(), and blender::gpu::GLFrameBuffer::bind().
Definition at line 744 of file gpu_shader.cc.
References g_shader_builtin_srgb_is_dirty, g_shader_builtin_srgb_transform, GPU_shader_get_builtin_uniform(), GPU_shader_uniform_vector_int(), and GPU_UNIFORM_SRGB_TRANSFORM.
Referenced by GPU_shader_bind(), and immBindShader().
Definition at line 548 of file gpu_shader.cc.
References blender::gpu::unwrap().
Referenced by draw_shgroup().
bool GPU_shader_transform_feedback_enable | ( | GPUShader * | shader, |
struct GPUVertBuf * | vertbuf | ||
) |
Returns true if transform feedback was successfully enabled.
Definition at line 543 of file gpu_shader.cc.
References blender::gpu::unwrap().
Referenced by draw_update_uniforms().
Definition at line 513 of file gpu_shader.cc.
References blender::gpu::Context::get(), blender::gpu::Context::shader, and blender::gpu::Shader::unbind().
Referenced by draw_filled_lasso(), draw_shgroup(), draw_subdiv_accumulate_normals(), draw_subdiv_build_edge_fac_buffer(), draw_subdiv_build_edituv_stretch_angle_buffer(), draw_subdiv_build_edituv_stretch_area_buffer(), draw_subdiv_build_fdots_buffers(), draw_subdiv_build_lines_buffer(), draw_subdiv_build_lines_loose_buffer(), draw_subdiv_build_lnor_buffer(), draw_subdiv_build_sculpt_data_buffer(), draw_subdiv_build_tris_buffer(), draw_subdiv_extract_pos_nor(), draw_subdiv_extract_uvs(), draw_subdiv_finalize_custom_normals(), draw_subdiv_finalize_normals(), draw_subdiv_interp_custom_data(), drw_draw_pass_ex(), immUnbindProgram(), pygpu_shader_unbind(), blender::gpu::tests::test_gpu_shader_compute_1d(), blender::gpu::tests::test_gpu_shader_compute_2d(), blender::gpu::tests::test_gpu_shader_compute_ibo(), blender::gpu::tests::test_gpu_shader_compute_vbo(), and blender::gpu::tests::test_gpu_shader_ssbo_binding().
Definition at line 658 of file gpu_shader.cc.
References GPU_shader_uniform_1i(), and sh.
Definition at line 681 of file gpu_shader.cc.
References GPU_shader_get_uniform(), GPU_shader_uniform_float(), and sh.
Referenced by immUniform1f().
Definition at line 652 of file gpu_shader.cc.
References GPU_shader_get_uniform(), GPU_shader_uniform_int(), and sh.
Referenced by GPU_shader_get_builtin_shader_with_config(), GPU_shader_uniform_1b(), immUniform1i(), and pygpu_shader_uniform_sampler().
Definition at line 663 of file gpu_shader.cc.
References data, GPU_shader_uniform_2fv(), sh, x, and y.
Referenced by immUniform2f().
Definition at line 687 of file gpu_shader.cc.
References data, GPU_shader_get_uniform(), GPU_shader_uniform_vector(), and sh.
Referenced by GPU_shader_uniform_2f(), and immUniform2fv().
void GPU_shader_uniform_2fv_array | ( | GPUShader * | sh, |
const char * | name, | ||
int | len, | ||
const float(*) | val[2] | ||
) |
Definition at line 711 of file gpu_shader.cc.
References GPU_shader_get_uniform(), GPU_shader_uniform_vector(), len, and sh.
Definition at line 669 of file gpu_shader.cc.
References data, GPU_shader_uniform_3fv(), sh, x, y, and z.
Referenced by immUniform3f().
Definition at line 693 of file gpu_shader.cc.
References data, GPU_shader_get_uniform(), GPU_shader_uniform_vector(), and sh.
Referenced by GPU_shader_uniform_3f(), and immUniform3fv().
void GPU_shader_uniform_4f | ( | GPUShader * | sh, |
const char * | name, | ||
float | x, | ||
float | y, | ||
float | z, | ||
float | w | ||
) |
Definition at line 675 of file gpu_shader.cc.
References data, GPU_shader_uniform_4fv(), sh, w(), x, y, and z.
Referenced by button2d_draw_intern(), and immUniform4f().
Definition at line 699 of file gpu_shader.cc.
References data, GPU_shader_get_uniform(), GPU_shader_uniform_vector(), and sh.
Referenced by GPU_shader_uniform_4f(), and immUniform4fv().
void GPU_shader_uniform_4fv_array | ( | GPUShader * | sh, |
const char * | name, | ||
int | len, | ||
const float(*) | val[4] | ||
) |
Definition at line 717 of file gpu_shader.cc.
References GPU_shader_get_uniform(), GPU_shader_uniform_vector(), len, and sh.
Referenced by immUniformArray4fv().
Definition at line 647 of file gpu_shader.cc.
References GPU_shader_uniform_vector().
Referenced by GPU_shader_uniform_1f().
Definition at line 642 of file gpu_shader.cc.
References GPU_shader_uniform_vector_int().
Referenced by draw_call_resource_bind(), draw_update_uniforms(), and GPU_shader_uniform_1i().
Definition at line 705 of file gpu_shader.cc.
References data, GPU_shader_get_uniform(), GPU_shader_uniform_vector(), and sh.
Referenced by immUniformMatrix4fv().
void GPU_shader_uniform_vector | ( | GPUShader * | shader, |
int | location, | ||
int | length, | ||
int | arraysize, | ||
const float * | value | ||
) |
Definition at line 630 of file gpu_shader.cc.
References len, and blender::gpu::unwrap().
Referenced by draw_filled_lasso(), draw_legacy_matrix_update(), draw_update_uniforms(), ED_mask_draw_region(), GPU_matrix_bind(), GPU_shader_uniform_2fv(), GPU_shader_uniform_2fv_array(), GPU_shader_uniform_3fv(), GPU_shader_uniform_4fv(), GPU_shader_uniform_4fv_array(), GPU_shader_uniform_float(), GPU_shader_uniform_mat4(), icon_draw_texture(), immUniformColor4f(), pygpu_shader_uniform_float(), pygpu_shader_uniform_vector_float(), and wm_draw_region_blend().
void GPU_shader_uniform_vector_int | ( | GPUShader * | shader, |
int | location, | ||
int | length, | ||
int | arraysize, | ||
const int * | value | ||
) |
Definition at line 636 of file gpu_shader.cc.
References len, and blender::gpu::unwrap().
Referenced by draw_geometry_execute(), draw_update_uniforms(), GPU_shader_set_srgb_uniform(), GPU_shader_uniform_int(), pygpu_shader_uniform_bool(), pygpu_shader_uniform_int(), and pygpu_shader_uniform_vector_int().
|
extern |
Definition at line 89 of file gpu_shader_builtin.c.