Blender  V3.3
Typedefs | Enumerations | Functions
GPU_state.h File Reference
#include "BLI_utildefines.h"

Go to the source code of this file.

Typedefs

typedef enum eGPUWriteMask eGPUWriteMask
 
typedef enum eGPUBarrier eGPUBarrier
 
typedef enum eGPUStageBarrierBits eGPUStageBarrierBits
 
typedef enum eGPUBlend eGPUBlend
 
typedef enum eGPUDepthTest eGPUDepthTest
 
typedef enum eGPUStencilTest eGPUStencilTest
 
typedef enum eGPUStencilOp eGPUStencilOp
 
typedef enum eGPUFaceCullTest eGPUFaceCullTest
 
typedef enum eGPUProvokingVertex eGPUProvokingVertex
 

Enumerations

enum  eGPUWriteMask {
  GPU_WRITE_NONE = 0 , GPU_WRITE_RED = (1 << 0) , GPU_WRITE_GREEN = (1 << 1) , GPU_WRITE_BLUE = (1 << 2) ,
  GPU_WRITE_ALPHA = (1 << 3) , GPU_WRITE_DEPTH = (1 << 4) , GPU_WRITE_STENCIL = (1 << 5) , GPU_WRITE_COLOR = (GPU_WRITE_RED | GPU_WRITE_GREEN | GPU_WRITE_BLUE | GPU_WRITE_ALPHA)
}
 
enum  eGPUBarrier {
  GPU_BARRIER_NONE = 0 , GPU_BARRIER_COMMAND = (1 << 0) , GPU_BARRIER_FRAMEBUFFER = (1 << 1) , GPU_BARRIER_SHADER_IMAGE_ACCESS = (1 << 2) ,
  GPU_BARRIER_SHADER_STORAGE = (1 << 3) , GPU_BARRIER_TEXTURE_FETCH = (1 << 4) , GPU_BARRIER_TEXTURE_UPDATE = (1 << 5) , GPU_BARRIER_VERTEX_ATTRIB_ARRAY = (1 << 6) ,
  GPU_BARRIER_ELEMENT_ARRAY = (1 << 7)
}
 
enum  eGPUStageBarrierBits {
  GPU_BARRIER_STAGE_VERTEX = (1 << 0) , GPU_BARRIER_STAGE_FRAGMENT = (1 << 1) , GPU_BARRIER_STAGE_COMPUTE = (1 << 2) , GPU_BARRIER_STAGE_ANY_GRAPHICS = (GPU_BARRIER_STAGE_VERTEX | GPU_BARRIER_STAGE_FRAGMENT) ,
  GPU_BARRIER_STAGE_ANY
}
 
enum  eGPUBlend {
  GPU_BLEND_NONE = 0 , GPU_BLEND_ALPHA , GPU_BLEND_ALPHA_PREMULT , GPU_BLEND_ADDITIVE ,
  GPU_BLEND_ADDITIVE_PREMULT , GPU_BLEND_MULTIPLY , GPU_BLEND_SUBTRACT , GPU_BLEND_INVERT ,
  GPU_BLEND_OIT , GPU_BLEND_BACKGROUND , GPU_BLEND_CUSTOM , GPU_BLEND_ALPHA_UNDER_PREMUL
}
 
enum  eGPUDepthTest {
  GPU_DEPTH_NONE = 0 , GPU_DEPTH_ALWAYS , GPU_DEPTH_LESS , GPU_DEPTH_LESS_EQUAL ,
  GPU_DEPTH_EQUAL , GPU_DEPTH_GREATER , GPU_DEPTH_GREATER_EQUAL
}
 
enum  eGPUStencilTest { GPU_STENCIL_NONE = 0 , GPU_STENCIL_ALWAYS , GPU_STENCIL_EQUAL , GPU_STENCIL_NEQUAL }
 
enum  eGPUStencilOp { GPU_STENCIL_OP_NONE = 0 , GPU_STENCIL_OP_REPLACE , GPU_STENCIL_OP_COUNT_DEPTH_PASS , GPU_STENCIL_OP_COUNT_DEPTH_FAIL }
 
enum  eGPUFaceCullTest { GPU_CULL_NONE = 0 , GPU_CULL_FRONT , GPU_CULL_BACK }
 
enum  eGPUProvokingVertex { GPU_VERTEX_LAST = 0 , GPU_VERTEX_FIRST = 1 }
 

Functions

void GPU_blend (eGPUBlend blend)
 
void GPU_face_culling (eGPUFaceCullTest culling)
 
void GPU_depth_test (eGPUDepthTest test)
 
void GPU_stencil_test (eGPUStencilTest test)
 
void GPU_provoking_vertex (eGPUProvokingVertex vert)
 
void GPU_front_facing (bool invert)
 
void GPU_depth_range (float near, float far)
 
void GPU_scissor_test (bool enable)
 
void GPU_line_smooth (bool enable)
 
void GPU_line_width (float width)
 
void GPU_logic_op_xor_set (bool enable)
 
void GPU_point_size (float size)
 
void GPU_polygon_smooth (bool enable)
 
void GPU_program_point_size (bool enable)
 
void GPU_scissor (int x, int y, int width, int height)
 
void GPU_scissor_get (int coords[4])
 
void GPU_viewport (int x, int y, int width, int height)
 
void GPU_viewport_size_get_f (float coords[4])
 
void GPU_viewport_size_get_i (int coords[4])
 
void GPU_write_mask (eGPUWriteMask mask)
 
void GPU_color_mask (bool r, bool g, bool b, bool a)
 
void GPU_depth_mask (bool depth)
 
bool GPU_depth_mask_get (void)
 
void GPU_shadow_offset (bool enable)
 
void GPU_clip_distances (int distances_enabled)
 
bool GPU_mipmap_enabled (void)
 
void GPU_state_set (eGPUWriteMask write_mask, eGPUBlend blend, eGPUFaceCullTest culling_test, eGPUDepthTest depth_test, eGPUStencilTest stencil_test, eGPUStencilOp stencil_op, eGPUProvokingVertex provoking_vert)
 
void GPU_stencil_reference_set (uint reference)
 
void GPU_stencil_write_mask_set (uint write_mask)
 
void GPU_stencil_compare_mask_set (uint compare_mask)
 
eGPUFaceCullTest GPU_face_culling_get (void)
 
eGPUBlend GPU_blend_get (void)
 
eGPUDepthTest GPU_depth_test_get (void)
 
eGPUWriteMask GPU_write_mask_get (void)
 
uint GPU_stencil_mask_get (void)
 
eGPUStencilTest GPU_stencil_test_get (void)
 
float GPU_line_width_get (void)
 
void GPU_flush (void)
 
void GPU_finish (void)
 
void GPU_apply_state (void)
 
void GPU_bgl_start (void)
 
void GPU_bgl_end (void)
 
bool GPU_bgl_get (void)
 
void GPU_memory_barrier (eGPUBarrier barrier)
 

Typedef Documentation

◆ eGPUBarrier

typedef enum eGPUBarrier eGPUBarrier

◆ eGPUBlend

typedef enum eGPUBlend eGPUBlend

Defines the fixed pipeline blending equation. SRC is the output color from the shader. DST is the color from the frame-buffer. The blending equation is: (SRC * A) + (DST * B). The blend mode will modify the A and B parameters.

◆ eGPUDepthTest

◆ eGPUFaceCullTest

◆ eGPUProvokingVertex

◆ eGPUStageBarrierBits

◆ eGPUStencilOp

◆ eGPUStencilTest

◆ eGPUWriteMask

Enumeration Type Documentation

◆ eGPUBarrier

Enumerator
GPU_BARRIER_NONE 
GPU_BARRIER_COMMAND 
GPU_BARRIER_FRAMEBUFFER 
GPU_BARRIER_SHADER_IMAGE_ACCESS 
GPU_BARRIER_SHADER_STORAGE 
GPU_BARRIER_TEXTURE_FETCH 
GPU_BARRIER_TEXTURE_UPDATE 
GPU_BARRIER_VERTEX_ATTRIB_ARRAY 
GPU_BARRIER_ELEMENT_ARRAY 

Definition at line 24 of file GPU_state.h.

◆ eGPUBlend

enum eGPUBlend

Defines the fixed pipeline blending equation. SRC is the output color from the shader. DST is the color from the frame-buffer. The blending equation is: (SRC * A) + (DST * B). The blend mode will modify the A and B parameters.

Enumerator
GPU_BLEND_NONE 
GPU_BLEND_ALPHA 

Pre-multiply variants will NOT multiply rgb output by alpha.

GPU_BLEND_ALPHA_PREMULT 
GPU_BLEND_ADDITIVE 
GPU_BLEND_ADDITIVE_PREMULT 
GPU_BLEND_MULTIPLY 
GPU_BLEND_SUBTRACT 
GPU_BLEND_INVERT 

Replace logic op: SRC * (1 - DST) NOTE: Does not modify alpha.

GPU_BLEND_OIT 

Order independent transparency. NOTE: Cannot be used as is. Needs special setup (frame-buffer, shader ...).

GPU_BLEND_BACKGROUND 

Special blend to add color under and multiply dst color by src alpha.

GPU_BLEND_CUSTOM 

Custom blend parameters using dual source blending : SRC0 + SRC1 * DST NOTE: Can only be used with ONE Draw Buffer and shader needs to be specialized.

GPU_BLEND_ALPHA_UNDER_PREMUL 

Definition at line 59 of file GPU_state.h.

◆ eGPUDepthTest

Enumerator
GPU_DEPTH_NONE 
GPU_DEPTH_ALWAYS 
GPU_DEPTH_LESS 
GPU_DEPTH_LESS_EQUAL 
GPU_DEPTH_EQUAL 
GPU_DEPTH_GREATER 
GPU_DEPTH_GREATER_EQUAL 

Definition at line 82 of file GPU_state.h.

◆ eGPUFaceCullTest

Enumerator
GPU_CULL_NONE 
GPU_CULL_FRONT 
GPU_CULL_BACK 

Definition at line 107 of file GPU_state.h.

◆ eGPUProvokingVertex

Enumerator
GPU_VERTEX_LAST 
GPU_VERTEX_FIRST 

Definition at line 113 of file GPU_state.h.

◆ eGPUStageBarrierBits

Enumerator
GPU_BARRIER_STAGE_VERTEX 
GPU_BARRIER_STAGE_FRAGMENT 
GPU_BARRIER_STAGE_COMPUTE 
GPU_BARRIER_STAGE_ANY_GRAPHICS 
GPU_BARRIER_STAGE_ANY 

Definition at line 40 of file GPU_state.h.

◆ eGPUStencilOp

Enumerator
GPU_STENCIL_OP_NONE 
GPU_STENCIL_OP_REPLACE 
GPU_STENCIL_OP_COUNT_DEPTH_PASS 

Special values for stencil shadows.

GPU_STENCIL_OP_COUNT_DEPTH_FAIL 

Definition at line 99 of file GPU_state.h.

◆ eGPUStencilTest

Enumerator
GPU_STENCIL_NONE 
GPU_STENCIL_ALWAYS 
GPU_STENCIL_EQUAL 
GPU_STENCIL_NEQUAL 

Definition at line 92 of file GPU_state.h.

◆ eGPUWriteMask

Enumerator
GPU_WRITE_NONE 
GPU_WRITE_RED 
GPU_WRITE_GREEN 
GPU_WRITE_BLUE 
GPU_WRITE_ALPHA 
GPU_WRITE_DEPTH 
GPU_WRITE_STENCIL 
GPU_WRITE_COLOR 

Definition at line 11 of file GPU_state.h.

Function Documentation

◆ GPU_apply_state()

void GPU_apply_state ( void  )

◆ GPU_bgl_end()

void GPU_bgl_end ( void  )

◆ GPU_bgl_get()

bool GPU_bgl_get ( void  )

◆ GPU_bgl_start()

void GPU_bgl_start ( void  )

◆ GPU_blend()

void GPU_blend ( eGPUBlend  blend)

Definition at line 39 of file gpu_state.cc.

References blend(), and SET_IMMUTABLE_STATE.

Referenced by ANIM_channel_draw(), ANIM_draw_action_framerange(), ANIM_draw_framerange(), ANIM_draw_previewrange(), annotation_draw_data(), annotation_draw_eraser(), annotation_draw_stabilizer(), arrow_draw_intern(), blf_batch_draw(), brush_drawcursor(), button2d_draw_intern(), clip_draw_dopesheet_channels(), clip_draw_dopesheet_main(), clip_draw_sfra_efra(), cursor_box_draw(), curve_draw_stroke_3d(), blender::ed::spreadsheet::draw_alternating_row_overlay(), draw_anti_tria(), draw_azone_arrow(), draw_background(), draw_cache_view(), draw_channel_strips(), draw_color_strip_band(), draw_current_frame(), draw_effect_inputs_highlight(), draw_fcurve(), draw_fcurve_handles(), draw_fcurve_samples(), draw_fcurve_vertices(), draw_filled_lasso(), draw_image_cache(), draw_line_bounds(), draw_line_loop(), draw_line_pairs(), draw_marker(), draw_markers_background(), draw_mask_layers(), draw_movieclip_buffer(), draw_movieclip_cache(), draw_nla_channel_list(), draw_nla_main_data(), draw_overshoot_triangle(), draw_plane_marker_image(), draw_scope_end(), draw_seq_background(), draw_seq_fcurve_overlay(), draw_seq_handle(), draw_seq_in_view(), draw_seq_invalid(), draw_seq_locked(), draw_seq_strip_thumbnail(), draw_seq_strips(), draw_seq_timeline_channels(), draw_sequence_extensions_overlay(), draw_tracks_motion_and_error_curves(), draw_view_axis(), draw_waveform_segment(), drawAutoKeyWarning(), drawEdgeSlide(), drawmeta_contents(), drawPropCircle(), drawSnapping(), drawVertSlide(), drawviewborder(), DRW_draw_cursor(), DRW_draw_cursor_2d_ex(), DRW_draw_render_loop_offscreen(), dyntopo_detail_size_edit_draw(), ED_draw_object_facemap(), ED_gpencil_brush_draw_eraser(), ED_image_draw_info(), ED_keylist_draw_list_draw_keys(), ED_mask_draw_region(), ED_node_socket_draw(), ED_region_do_draw(), ED_region_info_draw_multiline(), ED_screen_draw_edges(), EDBM_preselect_edgering_draw(), file_draw_preview(), gizmo_axis_draw(), gizmo_button2d_draw(), gizmo_cage2d_draw_intern(), gizmo_cage3d_draw_intern(), gizmo_dial_draw(), gizmo_move_draw(), gizmo_primitive_draw_intern(), gizmo_ruler_draw(), gpencil_brush_cursor_draw(), gpencil_draw_datablock(), gpencil_draw_eraser(), GPU_bgl_start(), blender::ed::sculpt_paint::image::ops::paint::gradient_draw_line(), graph_draw_channel_names(), graph_draw_ghost_curves(), graph_main_region_draw(), histogram_draw_one(), icon_draw_cache_flush_ex(), icon_draw_size(), icon_draw_texture(), knifetool_draw(), knifetool_draw_angle(), knifetool_draw_visible_distances(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_draw(), move3d_draw_intern(), nla_draw_strip(), nla_draw_strip_curves(), blender::ed::space_node::node_draw_hidden(), blender::ed::space_node::node_draw_mute_line(), blender::ed::space_node::node_draw_nodetree(), blender::ed::space_node::node_draw_preview(), blender::ed::space_node::node_draw_sockets(), blender::ed::space_node::node_draw_space(), blender::ed::space_node::nodelink_batch_draw(), outliner_draw_active_indicator(), outliner_draw_hierarchy_lines(), outliner_draw_highlights(), outliner_draw_iconrow_number(), outliner_draw_tree(), outliner_draw_tree_element(), paint_cursor_restore_drawing_state(), paint_cursor_setup_2D_drawing(), paint_cursor_setup_3D_drawing(), paint_draw_alpha_overlay(), paint_draw_cursor_overlay(), paint_draw_curve_cursor(), paint_draw_smooth_cursor(), paint_draw_tex_overlay(), panel_draw_aligned_backdrop(), panel_draw_aligned_widgets(), playanim_toscreen(), pygpu_state_blend_set(), radial_control_paint_cursor(), region_draw_azone_tab_arrow(), region_draw_azones(), region_draw_emboss(), region_draw_status_text(), screen_draw_join_highlight(), screen_draw_split_preview(), seq_draw_image_origin_and_outline(), seq_draw_sfra_efra(), sequencer_draw_display_buffer(), stitch_draw(), textview_draw_sel(), textview_draw_string(), timeline_draw_cache(), transform_draw_cursor_draw(), UI_block_draw(), UI_draw_box_shadow(), ui_draw_but(), ui_draw_but_COLORBAND(), ui_draw_but_CURVE(), ui_draw_but_CURVEPROFILE(), ui_draw_but_HISTOGRAM(), ui_draw_but_HSV_v(), ui_draw_but_HSVCIRCLE(), ui_draw_but_IMAGE(), ui_draw_but_UNITVEC(), ui_draw_colorband_handle(), ui_draw_dropshadow(), ui_draw_menu_item(), ui_draw_pie_center(), ui_draw_popover_back_impl(), ui_draw_preview_item_stateless(), UI_draw_roundbox_4fv_ex(), ui_draw_separator(), ui_draw_widget_back_color(), ui_hsv_cursor(), UI_icon_draw_cache_end(), UI_panel_category_draw_all(), ui_searchbox_region_draw_cb__operator(), ui_searchbox_region_draw_fn(), UI_widgetbase_draw_cache_end(), v3d_cursor_plane_draw_grid(), voxel_size_edit_draw(), widget_draw_icon(), widget_draw_node_link_socket(), widget_draw_submenu_tria(), widget_draw_text(), widget_draw_text_icon(), widget_menu_back(), widget_swatch(), widget_tab(), widgetbase_draw_ex(), wm_drags_draw(), wm_draw_region_blend(), wm_gesture_draw_circle(), wm_gesture_draw_line_active_side(), wm_gesture_draw_rect(), wm_software_cursor_draw_bitmap(), wm_xr_controller_aim_draw(), and wm_xr_controller_model_draw().

◆ GPU_blend_get()

eGPUBlend GPU_blend_get ( void  )

◆ GPU_clip_distances()

void GPU_clip_distances ( int  distances_enabled)

◆ GPU_color_mask()

void GPU_color_mask ( bool  r,
bool  g,
bool  b,
bool  a 
)

◆ GPU_depth_mask()

void GPU_depth_mask ( bool  depth)

◆ GPU_depth_mask_get()

bool GPU_depth_mask_get ( void  )

◆ GPU_depth_range()

void GPU_depth_range ( float  near,
float  far 
)

◆ GPU_depth_test()

void GPU_depth_test ( eGPUDepthTest  test)

◆ GPU_depth_test_get()

eGPUDepthTest GPU_depth_test_get ( void  )

◆ GPU_face_culling()

void GPU_face_culling ( eGPUFaceCullTest  culling)

◆ GPU_face_culling_get()

eGPUFaceCullTest GPU_face_culling_get ( void  )

◆ GPU_finish()

void GPU_finish ( void  )

◆ GPU_flush()

void GPU_flush ( void  )

◆ GPU_front_facing()

void GPU_front_facing ( bool  invert)

◆ GPU_line_smooth()

void GPU_line_smooth ( bool  enable)

◆ GPU_line_width()

void GPU_line_width ( float  width)
Note
By convention, this is set as needed and not reset back to 1.0. This means code that draws lines must always set the line width beforehand, but is not expected to restore it's previous value.

Definition at line 158 of file gpu_state.cc.

References max_ff(), PIXELSIZE, SET_MUTABLE_STATE, and width.

Referenced by ANIM_channel_draw(), ANIM_draw_action_framerange(), ANIM_draw_cfra(), annotation_draw_stabilizer(), clip_draw_sfra_efra(), cursor_box_draw(), curve_draw_stroke_3d(), draw_bezier_handle_lines(), draw_distortion(), draw_fcurve(), draw_fcurve_modifier_controls_envelope(), draw_marker_areas(), draw_marker_outline(), draw_marker_slide_zones(), draw_plane_marker_ex(), draw_rect_point(), draw_render_info(), draw_seq_in_view(), draw_single_handle(), draw_track_path(), draw_tri_point(), draw_view_axis(), drawEdgeSlide(), drawrenderborder(), drawTransformView(), drawVertSlide(), drawviewborder(), DRW_draw_cursor(), DRW_draw_cursor_2d_ex(), DRW_state_reset(), dyntopo_detail_size_edit_draw(), ED_image_draw_cursor(), ED_imbuf_sample_draw(), ED_markers_draw(), ED_region_do_draw(), ED_region_draw_mouse_line_cb(), ED_region_panels_draw(), EDBM_preselect_elem_draw(), gizmo_ruler_draw(), gpencil_draw_basic_stroke(), blender::ed::sculpt_paint::image::ops::paint::gradient_draw_line(), graph_draw_driver_debug(), graph_draw_ghost_curves(), graph_main_region_draw(), histogram_draw_one(), icon_draw_rect_input(), knifetool_draw(), knifetool_draw_angle(), knifetool_draw_angle_snapping(), knifetool_draw_orientation_locking(), mask_draw_curve_type(), nla_draw_use_dashed_outlines(), nla_strip_draw_markers(), blender::ed::space_node::node_draw_basis(), outliner_draw_hierarchy_lines(), outliner_draw_separator(), paint_cursor_draw_main_inactive_cursor(), paint_cursor_pose_brush_segments_draw(), paint_cursor_setup_2D_drawing(), paint_cursor_setup_3D_drawing(), paint_draw_2D_view_brush_cursor(), paint_draw_3D_view_inactive_brush_cursor(), paint_draw_curve_cursor(), paint_draw_legacy_3D_view_brush_cursor(), pygpu_state_line_width_set(), radial_control_paint_cursor(), radial_control_paint_curve(), region_draw_azones(), SCULPT_boundary_edges_preview_draw(), SCULPT_boundary_pivot_line_preview_draw(), SCULPT_cloth_plane_falloff_preview_draw(), SCULPT_cloth_simulation_limits_draw(), sculpt_geometry_preview_lines_draw(), SCULPT_layer_brush_height_preview_draw(), seq_draw_image_origin_and_outline(), sequencer_draw_borders_overlay(), tracking_segment_start_cb(), transform_draw_cursor_draw(), ui_draw_but_CURVE(), ui_draw_but_CURVEPROFILE(), ui_draw_separator(), UI_view2d_multi_grid_draw(), v3d_cursor_plane_draw_grid(), v3d_cursor_snap_draw_fn(), voxel_size_edit_draw(), and wm_gesture_draw().

◆ GPU_line_width_get()

float GPU_line_width_get ( void  )

◆ GPU_logic_op_xor_set()

void GPU_logic_op_xor_set ( bool  enable)

Definition at line 85 of file gpu_state.cc.

References SET_IMMUTABLE_STATE.

Referenced by draw_marker_areas(), draw_stabilization_border(), and ED_imbuf_sample_draw().

◆ GPU_memory_barrier()

void GPU_memory_barrier ( eGPUBarrier  barrier)

◆ GPU_mipmap_enabled()

bool GPU_mipmap_enabled ( void  )

◆ GPU_point_size()

void GPU_point_size ( float  size)

◆ GPU_polygon_smooth()

void GPU_polygon_smooth ( bool  enable)

◆ GPU_program_point_size()

void GPU_program_point_size ( bool  enable)

◆ GPU_provoking_vertex()

void GPU_provoking_vertex ( eGPUProvokingVertex  vert)

Definition at line 60 of file gpu_state.cc.

References SET_IMMUTABLE_STATE.

Referenced by drw_state_set().

◆ GPU_scissor()

void GPU_scissor ( int  x,
int  y,
int  width,
int  height 
)

◆ GPU_scissor_get()

void GPU_scissor_get ( int  coords[4])

◆ GPU_scissor_test()

void GPU_scissor_test ( bool  enable)

◆ GPU_shadow_offset()

void GPU_shadow_offset ( bool  enable)

Definition at line 116 of file gpu_state.cc.

References SET_IMMUTABLE_STATE.

Referenced by drw_state_set().

◆ GPU_state_set()

void GPU_state_set ( eGPUWriteMask  write_mask,
eGPUBlend  blend,
eGPUFaceCullTest  culling_test,
eGPUDepthTest  depth_test,
eGPUStencilTest  stencil_test,
eGPUStencilOp  stencil_op,
eGPUProvokingVertex  provoking_vert 
)

◆ GPU_stencil_compare_mask_set()

void GPU_stencil_compare_mask_set ( uint  compare_mask)

Definition at line 207 of file gpu_state.cc.

References SET_MUTABLE_STATE.

Referenced by drw_stencil_state_set().

◆ GPU_stencil_mask_get()

uint GPU_stencil_mask_get ( void  )

◆ GPU_stencil_reference_set()

void GPU_stencil_reference_set ( uint  reference)

Definition at line 197 of file gpu_state.cc.

References SET_MUTABLE_STATE.

Referenced by drw_stencil_state_set().

◆ GPU_stencil_test()

void GPU_stencil_test ( eGPUStencilTest  test)

Definition at line 70 of file gpu_state.cc.

References SET_IMMUTABLE_STATE.

Referenced by blender::gpu::GLFrameBuffer::clear().

◆ GPU_stencil_test_get()

eGPUStencilTest GPU_stencil_test_get ( void  )

◆ GPU_stencil_write_mask_set()

void GPU_stencil_write_mask_set ( uint  write_mask)

◆ GPU_viewport()

void GPU_viewport ( int  x,
int  y,
int  width,
int  height 
)

◆ GPU_viewport_size_get_f()

void GPU_viewport_size_get_f ( float  coords[4])

Definition at line 259 of file gpu_state.cc.

References blender::gpu::Context::active_fb, blender::gpu::Context::get(), and blender::gpu::FrameBuffer::viewport_get().

Referenced by annotation_draw_eraser(), annotation_draw_stroke_2d(), annotation_draw_stroke_3d(), annotation_draw_stroke_buffer(), arrow_draw_geom(), button2d_draw_intern(), button2d_geom_draw_backdrop(), cage2d_draw_box_corners(), cage2d_draw_box_interaction(), cage2d_draw_circle_wire(), cage3d_draw_box_corners(), cage3d_draw_circle_wire(), dial_geom_draw(), dial_ghostarc_draw_helpline(), dial_ghostarc_draw_incremental_angle(), draw_fcurve(), draw_fcurve_modifier_controls_envelope(), draw_image_sample_line(), draw_line_bounds(), draw_line_loop(), draw_line_pairs(), draw_marker_areas(), draw_marker_line(), draw_overlap_frame_indicator(), draw_parallel_lines(), draw_plane_marker_ex(), draw_stabilization_border(), drawConstraint(), drawPropCircle(), drawrenderborder(), drawVertSlide(), drawviewborder(), drw_draw_pass_ex(), ED_gpencil_brush_draw_eraser(), ED_image_draw_cursor(), ED_region_draw_mouse_line_cb(), ED_view3d_cursor_snap_draw_util(), EDBM_preselect_edgering_draw(), gizmo_axis_draw(), gizmo_ruler_draw(), gpencil_draw_eraser(), gpu_select_pick_begin(), graph_draw_driver_debug(), graph_draw_ghost_curves(), mask_draw_curve_type(), move_geom_draw(), nla_actionclip_draw_markers(), nla_draw_use_dashed_outlines(), outliner_draw_hierarchy_lines(), paint_draw_line_cursor(), sequencer_draw_borders_overlay(), transform_draw_cursor_draw(), ui_draw_colorband_handle(), wide_line_workaround_start(), wm_gesture_draw_circle(), wm_gesture_draw_cross(), wm_gesture_draw_lasso(), wm_gesture_draw_line(), wm_gesture_draw_rect(), wm_xr_controller_aim_draw(), and wm_xr_raycast_draw().

◆ GPU_viewport_size_get_i()

void GPU_viewport_size_get_i ( int  coords[4])

◆ GPU_write_mask()

void GPU_write_mask ( eGPUWriteMask  mask)

◆ GPU_write_mask_get()

eGPUWriteMask GPU_write_mask_get ( void  )