Data Structures |
| struct | glsl_dst_param |
| struct | glsl_src_param |
| struct | glsl_sample_function |
| struct | constant_entry |
| struct | constant_heap |
| struct | shader_glsl_priv |
| struct | glsl_shader_prog_link |
| struct | glsl_program_key |
| struct | shader_glsl_ctx_priv |
| struct | glsl_ps_compiled_shader |
| struct | glsl_pshader_private |
| struct | glsl_vs_compiled_shader |
| struct | glsl_vshader_private |
Defines |
| #define | WINED3D_GLSL_SAMPLE_PROJECTED 0x1 |
| #define | WINED3D_GLSL_SAMPLE_RECT 0x2 |
| #define | WINED3D_GLSL_SAMPLE_LOD 0x4 |
| #define | WINED3D_GLSL_SAMPLE_GRAD 0x8 |
| #define | WINED3D_TO_STR(u) case u: return #u |
Enumerations |
| enum | heap_node_op { HEAP_NODE_TRAVERSE_LEFT,
HEAP_NODE_TRAVERSE_RIGHT,
HEAP_NODE_POP
} |
Functions |
| | WINE_DEFAULT_DEBUG_CHANNEL (d3d_shader) |
| | WINE_DECLARE_DEBUG_CHANNEL (d3d_constants) |
| | WINE_DECLARE_DEBUG_CHANNEL (d3d_caps) |
| | WINE_DECLARE_DEBUG_CHANNEL (d3d) |
| static const char * | debug_gl_shader_type (GLenum type) |
| static char * | get_info_log_line (char **ptr) |
| static void | print_glsl_info_log (const struct wined3d_gl_info *gl_info, GLhandleARB obj) |
| static void | shader_glsl_compile (const struct wined3d_gl_info *gl_info, GLhandleARB shader, const char *src) |
| static void | shader_glsl_dump_program_source (const struct wined3d_gl_info *gl_info, GLhandleARB program) |
| static void | shader_glsl_validate_link (const struct wined3d_gl_info *gl_info, GLhandleARB program) |
| static void | shader_glsl_load_psamplers (const struct wined3d_gl_info *gl_info, const DWORD *tex_unit_map, GLhandleARB programId) |
| static void | shader_glsl_load_vsamplers (const struct wined3d_gl_info *gl_info, const DWORD *tex_unit_map, GLhandleARB programId) |
| static void | walk_constant_heap (const struct wined3d_gl_info *gl_info, const float *constants, const GLint *constant_locations, const struct constant_heap *heap, unsigned char *stack, DWORD version) |
| static void | apply_clamped_constant (const struct wined3d_gl_info *gl_info, GLint location, const GLfloat *data) |
| static void | walk_constant_heap_clamped (const struct wined3d_gl_info *gl_info, const float *constants, const GLint *constant_locations, const struct constant_heap *heap, unsigned char *stack, DWORD version) |
| static void | shader_glsl_load_constantsF (const struct wined3d_shader *shader, const struct wined3d_gl_info *gl_info, const float *constants, const GLint *constant_locations, const struct constant_heap *heap, unsigned char *stack, UINT version) |
| static void | shader_glsl_load_constantsI (const struct wined3d_shader *shader, const struct wined3d_gl_info *gl_info, const GLint locations[MAX_CONST_I], const int *constants, WORD constants_set) |
| static void | shader_glsl_load_constantsB (const struct wined3d_shader *shader, const struct wined3d_gl_info *gl_info, GLhandleARB programId, const BOOL *constants, WORD constants_set) |
| static void | reset_program_constant_version (struct wine_rb_entry *entry, void *context) |
| static void | shader_glsl_load_np2fixup_constants (void *shader_priv, const struct wined3d_gl_info *gl_info, const struct wined3d_state *state) |
| static void | shader_glsl_load_constants (const struct wined3d_context *context, char usePixelShader, char useVertexShader) |
| static void | update_heap_entry (const struct constant_heap *heap, unsigned int idx, unsigned int heap_idx, DWORD new_version) |
| static void | shader_glsl_update_float_vertex_constants (struct wined3d_device *device, UINT start, UINT count) |
| static void | shader_glsl_update_float_pixel_constants (struct wined3d_device *device, UINT start, UINT count) |
| static unsigned int | vec4_varyings (DWORD shader_major, const struct wined3d_gl_info *gl_info) |
| static void | shader_generate_glsl_declarations (const struct wined3d_context *context, struct wined3d_shader_buffer *buffer, const struct wined3d_shader *shader, const struct wined3d_shader_reg_maps *reg_maps, const struct shader_glsl_ctx_priv *ctx_priv) |
| static void | shader_glsl_add_src_param (const struct wined3d_shader_instruction *ins, const struct wined3d_shader_src_param *wined3d_src, DWORD mask, struct glsl_src_param *glsl_src) |
| static void | shader_glsl_gen_modifier (enum wined3d_shader_src_modifier src_modifier, const char *in_reg, const char *in_regswizzle, char *out_str) |
| static void | shader_glsl_get_register_name (const struct wined3d_shader_register *reg, char *register_name, BOOL *is_color, const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_write_mask_to_str (DWORD write_mask, char *str) |
| static DWORD | shader_glsl_get_write_mask (const struct wined3d_shader_dst_param *param, char *write_mask) |
| static unsigned int | shader_glsl_get_write_mask_size (DWORD write_mask) |
| static void | shader_glsl_swizzle_to_str (const DWORD swizzle, BOOL fixup, DWORD mask, char *str) |
| static void | shader_glsl_get_swizzle (const struct wined3d_shader_src_param *param, BOOL fixup, DWORD mask, char *swizzle_str) |
| static DWORD | shader_glsl_add_dst_param (const struct wined3d_shader_instruction *ins, const struct wined3d_shader_dst_param *wined3d_dst, struct glsl_dst_param *glsl_dst) |
| static DWORD | shader_glsl_append_dst_ext (struct wined3d_shader_buffer *buffer, const struct wined3d_shader_instruction *ins, const struct wined3d_shader_dst_param *dst) |
| static DWORD | shader_glsl_append_dst (struct wined3d_shader_buffer *buffer, const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_add_instruction_modifiers (const struct wined3d_shader_instruction *ins) |
| static const char * | shader_glsl_get_rel_op (enum wined3d_shader_rel_op op) |
| static void | shader_glsl_get_sample_function (const struct wined3d_shader_context *ctx, DWORD sampler_idx, DWORD flags, struct glsl_sample_function *sample_function) |
| static void | shader_glsl_append_fixup_arg (char *arguments, const char *reg_name, BOOL sign_fixup, enum fixup_channel_source channel_source) |
| static void | shader_glsl_color_correction (const struct wined3d_shader_instruction *ins, struct color_fixup_desc fixup) |
| static void | PRINTF_ATTR (8, 9) |
| static void | shader_glsl_arith (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_mov (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_dot (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_cross (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_pow (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_log (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_map2gl (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_nrm (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_expp (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_rcp (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_rsq (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_compare (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_cmp (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_cnd (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_mad (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_mnxn (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_lrp (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_lit (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_dst (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_sincos (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_sgn (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_loop (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_end (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_rep (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_if (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_ifc (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_else (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_break (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_breakc (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_label (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_call (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_callnz (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_ret (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_tex (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texldd (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texldl (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texcoord (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texdp3tex (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texdp3 (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texdepth (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texm3x2depth (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texm3x2pad (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texm3x3pad (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texm3x2tex (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texm3x3tex (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texm3x3 (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texm3x3spec (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texm3x3vspec (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texbem (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_bem (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texreg2ar (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texreg2gb (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texreg2rgb (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_texkill (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_dp2add (const struct wined3d_shader_instruction *ins) |
| static void | shader_glsl_input_pack (const struct wined3d_shader *shader, struct wined3d_shader_buffer *buffer, const struct wined3d_shader_signature_element *input_signature, const struct wined3d_shader_reg_maps *reg_maps, enum vertexprocessing_mode vertexprocessing) |
| static void | add_glsl_program_entry (struct shader_glsl_priv *priv, struct glsl_shader_prog_link *entry) |
static struct
glsl_shader_prog_link * | get_glsl_program_entry (const struct shader_glsl_priv *priv, const struct wined3d_shader *vshader, const struct wined3d_shader *pshader, const struct vs_compile_args *vs_args, const struct ps_compile_args *ps_args) |
| static void | delete_glsl_program_entry (struct shader_glsl_priv *priv, const struct wined3d_gl_info *gl_info, struct glsl_shader_prog_link *entry) |
| static void | handle_ps3_input (struct wined3d_shader_buffer *buffer, const struct wined3d_gl_info *gl_info, const DWORD *map, const struct wined3d_shader_signature_element *input_signature, const struct wined3d_shader_reg_maps *reg_maps_in, const struct wined3d_shader_signature_element *output_signature, const struct wined3d_shader_reg_maps *reg_maps_out) |
| static GLhandleARB | generate_param_reorder_function (struct wined3d_shader_buffer *buffer, const struct wined3d_shader *vs, const struct wined3d_shader *ps, const struct wined3d_gl_info *gl_info) |
| static void | hardcode_local_constants (const struct wined3d_shader *shader, const struct wined3d_gl_info *gl_info, GLhandleARB programId, char prefix) |
| static GLuint | shader_glsl_generate_pshader (const struct wined3d_context *context, struct wined3d_shader_buffer *buffer, const struct wined3d_shader *shader, const struct ps_compile_args *args, struct ps_np2fixup_info *np2fixup_info) |
| static GLuint | shader_glsl_generate_vshader (const struct wined3d_context *context, struct wined3d_shader_buffer *buffer, const struct wined3d_shader *shader, const struct vs_compile_args *args) |
| static GLhandleARB | find_glsl_pshader (const struct wined3d_context *context, struct wined3d_shader_buffer *buffer, struct wined3d_shader *shader, const struct ps_compile_args *args, const struct ps_np2fixup_info **np2fixup_info) |
| static BOOL | vs_args_equal (const struct vs_compile_args *stored, const struct vs_compile_args *new, const DWORD use_map) |
| static GLhandleARB | find_glsl_vshader (const struct wined3d_context *context, struct wined3d_shader_buffer *buffer, struct wined3d_shader *shader, const struct vs_compile_args *args) |
| static void | set_glsl_shader_program (const struct wined3d_context *context, struct wined3d_device *device, BOOL use_ps, BOOL use_vs) |
| static GLhandleARB | create_glsl_blt_shader (const struct wined3d_gl_info *gl_info, enum tex_types tex_type, BOOL masked) |
| static void | shader_glsl_select (const struct wined3d_context *context, BOOL usePS, BOOL useVS) |
| static void | shader_glsl_select_depth_blt (void *shader_priv, const struct wined3d_gl_info *gl_info, enum tex_types tex_type, const SIZE *ds_mask_size) |
| static void | shader_glsl_deselect_depth_blt (void *shader_priv, const struct wined3d_gl_info *gl_info) |
| static void | shader_glsl_destroy (struct wined3d_shader *shader) |
| static int | glsl_program_key_compare (const void *key, const struct wine_rb_entry *entry) |
| static BOOL | constant_heap_init (struct constant_heap *heap, unsigned int constant_count) |
| static void | constant_heap_free (struct constant_heap *heap) |
| static HRESULT | shader_glsl_alloc (struct wined3d_device *device) |
| static void | shader_glsl_free (struct wined3d_device *device) |
| static void | shader_glsl_context_destroyed (void *shader_priv, const struct wined3d_context *context) |
| static void | shader_glsl_get_caps (const struct wined3d_gl_info *gl_info, struct shader_caps *caps) |
| static BOOL | shader_glsl_color_fixup_supported (struct color_fixup_desc fixup) |
| static void | shader_glsl_handle_instruction (const struct wined3d_shader_instruction *ins) |
Variables |
| static const char *const | shift_glsl_tab [] |
| static struct wine_rb_functions | wined3d_glsl_program_rb_functions |
| static const SHADER_HANDLER | shader_glsl_instruction_handler_table [WINED3DSIH_TABLE_SIZE] |
| struct wined3d_shader_backend_ops | glsl_shader_backend |