|
| | WINE_DEFAULT_DEBUG_CHANNEL (d3d_shader) |
| |
| | WINE_DECLARE_DEBUG_CHANNEL (d3d) |
| |
| | WINE_DECLARE_DEBUG_CHANNEL (winediag) |
| |
| static void | shader_glsl_generate_shader_epilogue (const struct wined3d_shader_context *ctx) |
| |
| static const char * | debug_gl_shader_type (GLenum type) |
| |
| static const char * | shader_glsl_get_prefix (enum wined3d_shader_type type) |
| |
| static unsigned int | shader_glsl_get_version (const struct wined3d_gl_info *gl_info) |
| |
| static void | shader_glsl_add_version_declaration (struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info) |
| |
| static unsigned int | shader_glsl_full_ffp_varyings (const struct wined3d_gl_info *gl_info) |
| |
| static void | shader_glsl_append_imm_vec (struct wined3d_string_buffer *buffer, const float *values, unsigned int size, const struct wined3d_gl_info *gl_info) |
| |
| static void | shader_glsl_append_imm_ivec (struct wined3d_string_buffer *buffer, const int *values, unsigned int size) |
| |
| void | print_glsl_info_log (const struct wined3d_gl_info *gl_info, GLuint id, BOOL program) |
| |
| static void | shader_glsl_compile (const struct wined3d_gl_info *gl_info, GLuint shader, const char *src) |
| |
| static void | shader_glsl_dump_program_source (const struct wined3d_gl_info *gl_info, GLuint program) |
| |
| void | shader_glsl_validate_link (const struct wined3d_gl_info *gl_info, GLuint program) |
| |
| static struct vkd3d_shader_resource_binding * | create_resource_bindings (const struct wined3d_gl_info *gl_info, enum wined3d_shader_type shader_type, unsigned int *count) |
| |
| static struct vkd3d_shader_combined_resource_sampler * | create_combined_resource_sampler_bindings (const struct wined3d_context_gl *context_gl, const struct wined3d_shader *shader, unsigned int *count) |
| |
| static GLuint | shader_glsl_generate_vkd3d_shader (const struct wined3d_context_gl *context_gl, struct shader_glsl_priv *priv, const struct wined3d_shader *shader, GLenum gl_shader_type) |
| |
| static BOOL | shader_glsl_use_layout_qualifier (const struct wined3d_gl_info *gl_info) |
| |
| static BOOL | shader_glsl_use_layout_binding_qualifier (const struct wined3d_gl_info *gl_info) |
| |
| static void | shader_glsl_init_uniform_block_bindings (const struct wined3d_gl_info *gl_info, struct shader_glsl_priv *priv, GLuint program_id, const struct wined3d_shader_reg_maps *reg_maps) |
| |
| static void | shader_glsl_load_samplers_range (const struct wined3d_gl_info *gl_info, struct shader_glsl_priv *priv, GLuint program_id, const char *prefix, unsigned int base, unsigned int count, const unsigned int *tex_unit_map) |
| |
| static unsigned int | shader_glsl_map_tex_unit (const struct wined3d_context *context, const struct wined3d_shader_version *shader_version, unsigned int sampler_idx) |
| |
| static void | shader_glsl_append_sampler_binding_qualifier (struct wined3d_string_buffer *buffer, const struct wined3d_context *context, const struct wined3d_shader_version *shader_version, unsigned int sampler_idx) |
| |
| static void | shader_glsl_load_samplers (const struct wined3d_context *context, struct shader_glsl_priv *priv, GLuint program_id, const struct wined3d_shader_reg_maps *reg_maps) |
| |
| static void | shader_glsl_load_icb (const struct wined3d_gl_info *gl_info, struct shader_glsl_priv *priv, GLuint program_id, const struct wined3d_shader_reg_maps *reg_maps) |
| |
| static void | shader_glsl_load_images (const struct wined3d_gl_info *gl_info, struct shader_glsl_priv *priv, GLuint program_id, const struct wined3d_shader_reg_maps *reg_maps) |
| |
| static void | shader_glsl_load_program_resources (const struct wined3d_context_gl *context_gl, struct shader_glsl_priv *priv, GLuint program_id, const struct wined3d_shader *shader) |
| |
| static void | append_transform_feedback_varying (const char **varyings, unsigned int *varying_count, char **strings, unsigned int *strings_length, struct wined3d_string_buffer *buffer) |
| |
| static void | append_transform_feedback_skip_components (const char **varyings, unsigned int *varying_count, char **strings, unsigned int *strings_length, struct wined3d_string_buffer *buffer, unsigned int component_count) |
| |
| static BOOL | shader_glsl_generate_transform_feedback_varyings (struct wined3d_string_buffer *buffer, const char **varyings, unsigned int *varying_count, char *strings, unsigned int *strings_length, GLenum buffer_mode, struct wined3d_shader *shader) |
| |
| static void | shader_glsl_init_transform_feedback (const struct wined3d_context_gl *context_gl, struct shader_glsl_priv *priv, GLuint program_id, struct wined3d_shader *shader) |
| |
| static void | walk_constant_heap (const struct wined3d_gl_info *gl_info, const struct wined3d_vec4 *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 struct wined3d_vec4 *data) |
| |
| static void | walk_constant_heap_clamped (const struct wined3d_gl_info *gl_info, const struct wined3d_vec4 *constants, const GLint *constant_locations, const struct constant_heap *heap, unsigned char *stack, DWORD version) |
| |
| static void | shader_glsl_load_constants_f (const struct wined3d_shader *shader, struct wined3d_context_gl *context_gl, struct wined3d_buffer *constant_buffer, const GLint *constant_locations, const struct constant_heap *heap, unsigned char *stack, unsigned int version) |
| |
| static void | shader_glsl_load_constants_i (const struct wined3d_shader *shader, struct wined3d_context_gl *context_gl, struct wined3d_buffer *constant_buffer, const GLint locations[WINED3D_MAX_CONSTS_I], uint32_t constants_set) |
| |
| static void | shader_glsl_load_constants_b (const struct wined3d_shader *shader, struct wined3d_context_gl *context_gl, struct wined3d_buffer *constant_buffer, const GLint locations[WINED3D_MAX_CONSTS_B], uint32_t constants_set) |
| |
| static void | reset_program_constant_version (struct wine_rb_entry *entry, void *context) |
| |
| static void | get_projection_matrix (const struct wined3d_context *context, const struct wined3d_ffp_vs_constants *constants, const struct wined3d_state *state, struct wined3d_matrix *mat) |
| |
| static void | shader_glsl_ffp_vertex_normalmatrix_uniform (const struct wined3d_context_gl *context_gl, const struct wined3d_ffp_vs_constants *constants, struct glsl_shader_prog_link *prog) |
| |
| static void | shader_glsl_ffp_vertex_texmatrix_uniform (const struct wined3d_context_gl *context_gl, const struct wined3d_ffp_vs_constants *constants, unsigned int tex, struct glsl_shader_prog_link *prog) |
| |
| static void | shader_glsl_ffp_vertex_material_uniform (struct wined3d_context_gl *context_gl, const struct wined3d_state *state, struct glsl_shader_prog_link *prog) |
| |
| static void | shader_glsl_ffp_vertex_light_uniform (const struct wined3d_context_gl *context_gl, const struct wined3d_state *state, unsigned int light, enum wined3d_light_type type, const struct wined3d_light_constants *constants, struct glsl_shader_prog_link *prog) |
| |
| static void | shader_glsl_pointsize_uniform (struct wined3d_context_gl *context_gl, const struct wined3d_state *state, struct glsl_shader_prog_link *prog) |
| |
| static void | shader_glsl_load_fog_uniform (const struct wined3d_context_gl *context_gl, const struct wined3d_state *state, struct glsl_shader_prog_link *prog) |
| |
| static void | shader_glsl_clip_plane_uniform (const struct wined3d_context_gl *context_gl, const struct wined3d_state *state, unsigned int index, struct glsl_shader_prog_link *prog) |
| |
| static void | shader_glsl_load_constants (struct shader_glsl_priv *priv, struct wined3d_context *context, const struct wined3d_state *state) |
| |
| static void | update_heap_entry (struct constant_heap *heap, unsigned int 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 BOOL | needs_legacy_glsl_syntax (const struct wined3d_gl_info *gl_info) |
| |
| static BOOL | shader_glsl_use_explicit_attrib_location (const struct wined3d_gl_info *gl_info) |
| |
| static BOOL | shader_glsl_use_interface_blocks (const struct wined3d_gl_info *gl_info) |
| |
| static const char * | get_attribute_keyword (const struct wined3d_gl_info *gl_info) |
| |
| static void | PRINTF_ATTR (4, 5) |
| |
| static const char * | shader_glsl_shader_input_name (const struct wined3d_gl_info *gl_info) |
| |
| static const char * | shader_glsl_shader_output_name (const struct wined3d_gl_info *gl_info) |
| |
| static const char * | shader_glsl_interpolation_qualifiers (enum wined3d_shader_interpolation_mode mode) |
| |
| static enum wined3d_shader_interpolation_mode | wined3d_extract_interpolation_mode (const uint32_t *packed_interpolation_mode, unsigned int register_idx) |
| |
| static void | shader_glsl_declare_shader_inputs (const struct wined3d_gl_info *gl_info, struct wined3d_string_buffer *buffer, unsigned int element_count, const uint32_t *interpolation_mode, BOOL unroll) |
| |
| static BOOL | needs_interpolation_qualifiers_for_shader_outputs (const struct wined3d_gl_info *gl_info) |
| |
| static void | shader_glsl_declare_shader_outputs (const struct wined3d_gl_info *gl_info, struct wined3d_string_buffer *buffer, unsigned int element_count, BOOL rasterizer_setup, const uint32_t *interpolation_mode) |
| |
| static BOOL | use_legacy_fragment_output (const struct wined3d_gl_info *gl_info) |
| |
| static const char * | get_fragment_output (const struct wined3d_gl_info *gl_info) |
| |
| static const char * | glsl_primitive_type_from_d3d (enum wined3d_primitive_type primitive_type) |
| |
| static BOOL | glsl_is_color_reg_read (const struct wined3d_shader *shader, unsigned int idx) |
| |
| static void | shader_glsl_declare_typed_vertex_attribute (struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info, const char *vector_type, const char *scalar_type, unsigned int index) |
| |
| static void | shader_glsl_declare_generic_vertex_attribute (struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info, const struct wined3d_shader_signature_element *e) |
| |
| static void | shader_generate_glsl_declarations (const struct wined3d_context_gl *context_gl, struct wined3d_string_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_ext (const struct wined3d_shader_context *ctx, const struct wined3d_shader_src_param *wined3d_src, DWORD mask, struct glsl_src_param *glsl_src, enum wined3d_data_type data_type) |
| |
| 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_fixup_scalar_register_variable (struct wined3d_string_buffer *register_name, const char *glsl_variable, const struct wined3d_gl_info *gl_info) |
| |
| static void | shader_glsl_get_register_name (const struct wined3d_shader_register *reg, enum wined3d_data_type data_type, struct wined3d_string_buffer *register_name, BOOL *is_swizzled, const struct wined3d_shader_context *ctx) |
| |
| 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 unsigned int | shader_glsl_swizzle_get_component (DWORD swizzle, unsigned int component_idx) |
| |
| static void | shader_glsl_swizzle_to_str (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 void | shader_glsl_sprintf_cast (struct wined3d_string_buffer *dst_param, const char *src_param, enum wined3d_data_type dst_data_type, enum wined3d_data_type src_data_type, unsigned int size) |
| |
| 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 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_string_buffer *buffer, const struct wined3d_shader_instruction *ins, const struct wined3d_shader_dst_param *dst, unsigned int dst_idx, enum wined3d_data_type data_type) |
| |
| static DWORD | shader_glsl_append_dst (struct wined3d_string_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 BOOL | shader_glsl_has_core_grad (const struct wined3d_gl_info *gl_info) |
| |
| static void | shader_glsl_get_coord_size (enum wined3d_shader_resource_type resource_type, unsigned int *coord_size, unsigned int *deriv_size) |
| |
| static void | shader_glsl_get_sample_function (const struct wined3d_shader_context *ctx, DWORD resource_idx, DWORD sampler_idx, uint32_t flags, struct glsl_sample_function *sample_function) |
| |
| static void | shader_glsl_release_sample_function (const struct wined3d_shader_context *ctx, 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_ext (struct wined3d_string_buffer *buffer, const char *reg_name, DWORD mask, struct color_fixup_desc fixup) |
| |
| static void | shader_glsl_color_correction (const struct wined3d_shader_instruction *ins, struct color_fixup_desc fixup) |
| |
| static void | PRINTF_ATTR (9, 10) |
| |
| static void | shader_glsl_fixup_position (struct wined3d_string_buffer *buffer, BOOL use_viewport_index) |
| |
| static void | shader_glsl_binop (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_relop (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_unary_op (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_mul_extended (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_udiv (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_cut (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_pow (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_map2gl (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_float16 (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_bitwise_op (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_nop (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_nrm (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_scalar_op (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_expp (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_cast (const struct wined3d_shader_instruction *ins, const char *vector_constructor, const char *scalar_constructor) |
| |
| static void | shader_glsl_to_int (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_to_uint (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_to_float (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_compare (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_swapc (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_conditional_move (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_switch (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_case (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_default (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_generate_condition (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_emit (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_conditional_op (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_continue (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 unsigned int | shader_glsl_find_sampler (const struct wined3d_shader_sampler_map *sampler_map, unsigned int resource_idx, unsigned int sampler_idx) |
| |
| static void | shader_glsl_atomic (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_uav_counter (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_ld_uav (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_ld_raw_structured (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_store_uav (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_store_raw_structured (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_sync (const struct wined3d_shader_instruction *ins) |
| |
| static const struct wined3d_shader_resource_info * | shader_glsl_get_resource_info (const struct wined3d_shader_instruction *ins, const struct wined3d_shader_register *reg) |
| |
| static void | shader_glsl_bufinfo (const struct wined3d_shader_instruction *ins) |
| |
| static BOOL | is_multisampled (enum wined3d_shader_resource_type resource_type) |
| |
| static BOOL | is_mipmapped (enum wined3d_shader_resource_type resource_type) |
| |
| static void | shader_glsl_resinfo (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_sample_info (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_interpolate (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_ld (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_sample (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_gen_sample_c_lz_emulation (const struct wined3d_shader_instruction *ins, unsigned int sampler_bind_idx, const struct glsl_sample_function *sample_function, unsigned int coord_size, const char *coord_param, const char *ref_param) |
| |
| static void | shader_glsl_sample_c (const struct wined3d_shader_instruction *ins) |
| |
| static void | shader_glsl_gather4 (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_string_buffer *buffer, const struct wined3d_shader_signature *input_signature, const struct wined3d_shader_reg_maps *reg_maps, const struct ps_compile_args *args, const struct wined3d_gl_info *gl_info, BOOL unroll) |
| |
| 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 glsl_program_key *key) |
| |
| 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 | shader_glsl_setup_vs3_output (struct shader_glsl_priv *priv, const struct wined3d_gl_info *gl_info, const unsigned int *map, const struct wined3d_shader_signature *input_signature, const struct wined3d_shader_reg_maps *reg_maps_in, const struct wined3d_shader_signature *output_signature, const struct wined3d_shader_reg_maps *reg_maps_out) |
| |
| static void | shader_glsl_setup_sm4_shader_output (struct shader_glsl_priv *priv, unsigned int input_count, const struct wined3d_shader_signature *output_signature, const struct wined3d_shader_reg_maps *reg_maps_out, const char *output_variable_name, BOOL rasterizer_setup) |
| |
| static void | shader_glsl_generate_clip_or_cull_distances (struct wined3d_string_buffer *buffer, const struct wined3d_shader_signature_element *element, DWORD clip_or_cull_distance_mask) |
| |
| static void | shader_glsl_setup_sm3_rasterizer_input (struct shader_glsl_priv *priv, const struct wined3d_gl_info *gl_info, const unsigned int *map, const struct wined3d_shader_signature *input_signature, const struct wined3d_shader_reg_maps *reg_maps_in, unsigned int input_count, const struct wined3d_shader_signature *output_signature, const struct wined3d_shader_reg_maps *reg_maps_out, BOOL per_vertex_point_size) |
| |
| static GLuint | shader_glsl_generate_vs3_rasterizer_input_setup (struct shader_glsl_priv *priv, const struct wined3d_shader *vs, const struct wined3d_shader *ps, BOOL per_vertex_point_size, BOOL flatshading, const struct wined3d_gl_info *gl_info) |
| |
| static void | shader_glsl_generate_stream_output_setup (struct wined3d_string_buffer *buffer, const struct wined3d_shader *shader) |
| |
| static void | shader_glsl_generate_sm4_output_setup (struct shader_glsl_priv *priv, const struct wined3d_shader *shader, unsigned int input_count, const struct wined3d_gl_info *gl_info, BOOL rasterizer_setup, const uint32_t *interpolation_mode) |
| |
| static void | shader_glsl_generate_patch_constant_name (struct wined3d_string_buffer *buffer, const struct wined3d_shader_signature_element *constant, unsigned int *user_constant_idx, const char *reg_mask) |
| |
| static void | shader_glsl_generate_patch_constant_setup (struct wined3d_string_buffer *buffer, const struct wined3d_shader_signature *signature, BOOL input_setup) |
| |
| static void | shader_glsl_generate_srgb_write_correction (struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info) |
| |
| static void | shader_glsl_generate_fog_code (struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info, enum wined3d_ffp_ps_fog_mode mode) |
| |
| static void | shader_glsl_generate_alpha_test (struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info, enum wined3d_cmp_func alpha_func) |
| |
| static void | shader_glsl_generate_colour_key_test (struct wined3d_string_buffer *buffer, const char *colour, const char *colour_key_low, const char *colour_key_high) |
| |
| static void | shader_glsl_enable_extensions (struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info) |
| |
| static void | shader_glsl_generate_color_output (struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info, const struct wined3d_shader *shader, const struct ps_compile_args *args, struct wined3d_string_buffer_list *string_buffers) |
| |
| static void | shader_glsl_generate_ps_epilogue (const struct wined3d_gl_info *gl_info, struct wined3d_string_buffer *buffer, const struct wined3d_shader *shader, const struct ps_compile_args *args, struct wined3d_string_buffer_list *string_buffers) |
| |
| static GLuint | shader_glsl_generate_fragment_shader (const struct wined3d_context_gl *context_gl, struct shader_glsl_priv *priv, const struct wined3d_shader *shader, const struct ps_compile_args *args) |
| |
| static void | shader_glsl_generate_vs_epilogue (const struct wined3d_gl_info *gl_info, struct wined3d_string_buffer *buffer, const struct wined3d_shader *shader, const struct vs_compile_args *args) |
| |
| static GLuint | shader_glsl_generate_vertex_shader (const struct wined3d_context_gl *context_gl, struct shader_glsl_priv *priv, const struct wined3d_shader *shader, const struct vs_compile_args *args) |
| |
| static void | shader_glsl_generate_default_control_point_phase (const struct wined3d_shader *shader, struct wined3d_string_buffer *buffer, const struct wined3d_shader_reg_maps *reg_maps) |
| |
| static HRESULT | shader_glsl_generate_shader_phase (const struct wined3d_shader *shader, struct wined3d_string_buffer *buffer, const struct wined3d_shader_reg_maps *reg_maps, struct shader_glsl_ctx_priv *priv_ctx, const struct wined3d_shader_phase *phase, const char *phase_name, unsigned phase_idx) |
| |
| static void | shader_glsl_generate_shader_phase_invocation (struct wined3d_string_buffer *buffer, const struct wined3d_shader_phase *phase, const char *phase_name, unsigned int phase_idx) |
| |
| static GLuint | shader_glsl_generate_hull_shader (const struct wined3d_context_gl *context_gl, struct shader_glsl_priv *priv, const struct wined3d_shader *shader) |
| |
| static void | shader_glsl_generate_ds_epilogue (const struct wined3d_gl_info *gl_info, struct wined3d_string_buffer *buffer, const struct wined3d_shader *shader, const struct ds_compile_args *args) |
| |
| static GLuint | shader_glsl_generate_domain_shader (const struct wined3d_context_gl *context_gl, struct shader_glsl_priv *priv, const struct wined3d_shader *shader, const struct ds_compile_args *args) |
| |
| static GLuint | shader_glsl_generate_geometry_shader (const struct wined3d_context_gl *context_gl, struct shader_glsl_priv *priv, const struct wined3d_shader *shader, const struct gs_compile_args *args) |
| |
| static GLuint | shader_glsl_generate_compute_shader (const struct wined3d_context_gl *context_gl, struct shader_glsl_priv *priv, const struct wined3d_shader *shader) |
| |
| static GLuint | find_glsl_fragment_shader (const struct wined3d_context_gl *context_gl, struct shader_glsl_priv *priv, struct wined3d_shader *shader, const struct ps_compile_args *args) |
| |
| static BOOL | vs_args_equal (const struct vs_compile_args *stored, const struct vs_compile_args *new, const DWORD use_map) |
| |
| static GLuint | find_glsl_vertex_shader (const struct wined3d_context_gl *context_gl, struct shader_glsl_priv *priv, struct wined3d_shader *shader, const struct vs_compile_args *args) |
| |
| static GLuint | find_glsl_hull_shader (const struct wined3d_context_gl *context_gl, struct shader_glsl_priv *priv, struct wined3d_shader *shader) |
| |
| static GLuint | find_glsl_domain_shader (const struct wined3d_context_gl *context_gl, struct shader_glsl_priv *priv, struct wined3d_shader *shader, const struct ds_compile_args *args) |
| |
| static GLuint | find_glsl_geometry_shader (const struct wined3d_context_gl *context_gl, struct shader_glsl_priv *priv, struct wined3d_shader *shader, const struct gs_compile_args *args) |
| |
| static const char * | shader_glsl_ffp_mcs (enum wined3d_material_color_source mcs, const char *material) |
| |
| static void | shader_glsl_ffp_vertex_lighting_footer (struct wined3d_string_buffer *buffer, const struct wined3d_ffp_vs_settings *settings, unsigned int idx, BOOL legacy_lighting) |
| |
| static void | shader_glsl_ffp_vertex_lighting (struct wined3d_string_buffer *buffer, const struct wined3d_ffp_vs_settings *settings, BOOL legacy_lighting) |
| |
| static GLuint | shader_glsl_generate_ffp_vertex_shader (struct shader_glsl_priv *priv, const struct wined3d_ffp_vs_settings *settings, const struct wined3d_gl_info *gl_info) |
| |
| static const char * | shader_glsl_get_ffp_fragment_op_arg (struct wined3d_string_buffer *buffer, unsigned int argnum, unsigned int stage, DWORD arg) |
| |
| static void | shader_glsl_ffp_fragment_op (struct wined3d_string_buffer *buffer, unsigned int stage, BOOL color, BOOL alpha, BOOL tmp_dst, unsigned int op, DWORD dw_arg0, DWORD dw_arg1, DWORD dw_arg2) |
| |
| static GLuint | shader_glsl_generate_ffp_fragment_shader (struct shader_glsl_priv *priv, const struct ffp_frag_settings *settings, const struct wined3d_context_gl *context_gl) |
| |
| static struct glsl_ffp_vertex_shader * | shader_glsl_find_ffp_vertex_shader (struct shader_glsl_priv *priv, const struct wined3d_gl_info *gl_info, const struct wined3d_ffp_vs_settings *settings) |
| |
| static struct glsl_ffp_fragment_shader * | shader_glsl_find_ffp_fragment_shader (struct shader_glsl_priv *priv, const struct ffp_frag_settings *args, const struct wined3d_context_gl *context_gl) |
| |
| static void | shader_glsl_init_vs_uniform_locations (const struct wined3d_gl_info *gl_info, struct shader_glsl_priv *priv, GLuint program_id, struct glsl_vs_program *vs, unsigned int vs_c_count) |
| |
| static void | shader_glsl_init_ds_uniform_locations (const struct wined3d_gl_info *gl_info, struct shader_glsl_priv *priv, GLuint program_id, struct glsl_ds_program *ds) |
| |
| static void | shader_glsl_init_gs_uniform_locations (const struct wined3d_gl_info *gl_info, struct shader_glsl_priv *priv, GLuint program_id, struct glsl_gs_program *gs) |
| |
| static void | shader_glsl_init_ps_uniform_locations (const struct wined3d_gl_info *gl_info, struct shader_glsl_priv *priv, GLuint program_id, struct glsl_ps_program *ps, unsigned int ps_c_count) |
| |
| static HRESULT | shader_glsl_compile_compute_shader (struct shader_glsl_priv *priv, const struct wined3d_context_gl *context_gl, struct wined3d_shader *shader) |
| |
| static GLuint | find_glsl_compute_shader (const struct wined3d_context_gl *context_gl, struct shader_glsl_priv *priv, struct wined3d_shader *shader) |
| |
| static void | set_glsl_compute_shader_program (const struct wined3d_context_gl *context_gl, const struct wined3d_state *state, struct shader_glsl_priv *priv, struct glsl_context_data *ctx_data) |
| |
| static void | set_glsl_shader_program (const struct wined3d_context_gl *context_gl, const struct wined3d_state *state, struct shader_glsl_priv *priv, struct glsl_context_data *ctx_data) |
| |
| static void | shader_glsl_precompile (void *shader_priv, struct wined3d_shader *shader) |
| |
| static void | shader_glsl_update_graphics_program (struct shader_glsl_priv *priv, struct wined3d_context_gl *context_gl, const struct wined3d_state *state) |
| |
| static void | shader_glsl_update_legacy_states (struct wined3d_context_gl *context_gl, const struct wined3d_state *state) |
| |
| static void | shader_glsl_apply_draw_state (void *shader_priv, struct wined3d_context *context, const struct wined3d_state *state) |
| |
| static void | shader_glsl_update_compute_program (struct shader_glsl_priv *priv, struct wined3d_context_gl *context_gl, const struct wined3d_state *state) |
| |
| static void | shader_glsl_apply_compute_state (void *shader_priv, struct wined3d_context *context, const struct wined3d_state *state) |
| |
| static void | shader_glsl_invalidate_current_program (struct wined3d_context *context) |
| |
| static void | shader_glsl_disable (void *shader_priv, struct wined3d_context *context) |
| |
| static void | shader_glsl_invalidate_contexts_program (struct wined3d_device *device, const struct glsl_shader_prog_link *program) |
| |
| 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_free (struct constant_heap *heap) |
| |
| static HRESULT | shader_glsl_alloc (struct wined3d_device *device, const struct wined3d_vertex_pipe_ops *vertex_pipe, const struct wined3d_fragment_pipe_ops *fragment_pipe) |
| |
| static void | shader_glsl_free (struct wined3d_device *device, struct wined3d_context *context) |
| |
| static BOOL | shader_glsl_allocate_context_data (struct wined3d_context *context) |
| |
| static void | shader_glsl_free_context_data (struct wined3d_context *context) |
| |
| static void | shader_glsl_init_context_state (struct wined3d_context *context) |
| |
| static unsigned int | shader_glsl_get_shader_model (const struct wined3d_gl_info *gl_info) |
| |
| static void | shader_glsl_get_caps (const struct wined3d_adapter *adapter, 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) |
| |
| static uint64_t | shader_glsl_shader_compile (struct wined3d_context *context, const struct wined3d_shader_desc *shader_desc, enum wined3d_shader_type shader_type) |
| |
| static void | glsl_vertex_pipe_vp_apply_draw_state (struct wined3d_context *context, const struct wined3d_state *state) |
| |
| static void | glsl_vertex_pipe_vp_disable (const struct wined3d_context *context) |
| |
| static void | glsl_vertex_pipe_vp_get_caps (const struct wined3d_adapter *adapter, struct wined3d_vertex_caps *caps) |
| |
| static unsigned int | glsl_vertex_pipe_vp_get_emul_mask (const struct wined3d_adapter *adapter) |
| |
| static void * | glsl_vertex_pipe_vp_alloc (const struct wined3d_shader_backend_ops *shader_backend, void *shader_priv) |
| |
| static void | shader_glsl_free_ffp_vertex_shader (struct wine_rb_entry *entry, void *param) |
| |
| static void | glsl_vertex_pipe_vp_free (struct wined3d_device *device, struct wined3d_context *context) |
| |
| static void | glsl_vertex_pipe_nop (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_vertex_pipe_shader (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_vertex_pipe_vdecl (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_vertex_pipe_vs (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_vertex_pipe_hs (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_vertex_pipe_geometry_shader (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_vertex_pipe_pixel_shader (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_vertex_pipe_viewport (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_vertex_pipe_pointsize (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_vertex_pipe_shademode (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_vertex_pipe_clip_plane (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_fragment_pipe_apply_draw_state (struct wined3d_context *context, const struct wined3d_state *state) |
| |
| static void | glsl_fragment_pipe_disable (const struct wined3d_context *context) |
| |
| static void | glsl_fragment_pipe_get_caps (const struct wined3d_adapter *adapter, struct fragment_caps *caps) |
| |
| static unsigned int | glsl_fragment_pipe_get_emul_mask (const struct wined3d_adapter *adapter) |
| |
| static void * | glsl_fragment_pipe_alloc (const struct wined3d_shader_backend_ops *shader_backend, void *shader_priv) |
| |
| static void | shader_glsl_free_ffp_fragment_shader (struct wine_rb_entry *entry, void *param) |
| |
| static void | glsl_fragment_pipe_free (struct wined3d_device *device, struct wined3d_context *context) |
| |
| static void | glsl_fragment_pipe_shader (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_fragment_pipe_fogparams (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_fragment_pipe_fog (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_fragment_pipe_vdecl (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_fragment_pipe_vs (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_fragment_pipe_tex_transform (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_fragment_pipe_alpha_test_func (struct wined3d_context_gl *context_gl, const struct wined3d_state *state) |
| |
| static void | glsl_fragment_pipe_core_alpha_test (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static void | glsl_fragment_pipe_alpha_test (struct wined3d_context_gl *context_gl, const struct wined3d_state *state) |
| |
| static void | glsl_fragment_pipe_shademode (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| |
| static BOOL | glsl_fragment_pipe_alloc_context_data (struct wined3d_context *context) |
| |
| static void | glsl_fragment_pipe_free_context_data (struct wined3d_context *context) |
| |
| static int | glsl_blitter_args_compare (const void *key, const struct wine_rb_entry *entry) |
| |
| static void | glsl_free_blitter_program (struct wine_rb_entry *entry, void *ctx) |
| |
| static void | glsl_blitter_destroy (struct wined3d_blitter *blitter, struct wined3d_context *context) |
| |
| static void | glsl_blitter_generate_p8_shader (struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info, const struct glsl_blitter_args *args, const char *output, const char *tex_type, const char *swizzle) |
| |
| static void | gen_packed_yuv_read (struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info, const struct glsl_blitter_args *args, const char *tex_type) |
| |
| static void | gen_yv12_read (struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info, const char *tex_type) |
| |
| static void | gen_nv12_read (struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info, const char *tex_type) |
| |
| static void | glsl_blitter_generate_yuv_shader (struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info, const struct glsl_blitter_args *args, const char *output, const char *tex_type, const char *swizzle) |
| |
| static void | glsl_blitter_generate_plain_shader (struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info, const struct glsl_blitter_args *args, const char *output, const char *tex_type, const char *swizzle) |
| |
| static GLuint | glsl_blitter_generate_program (struct wined3d_glsl_blitter *blitter, const struct wined3d_gl_info *gl_info, const struct glsl_blitter_args *args) |
| |
| static void | glsl_blitter_upload_palette (struct wined3d_glsl_blitter *blitter, struct wined3d_context_gl *context_gl, const struct wined3d_texture_gl *texture_gl) |
| |
| static struct glsl_blitter_program * | glsl_blitter_get_program (struct wined3d_glsl_blitter *blitter, struct wined3d_context_gl *context_gl, const struct wined3d_texture_gl *texture_gl, BOOL use_colour_key) |
| |
| static BOOL | glsl_blitter_supported (enum wined3d_blit_op blit_op, const struct wined3d_context *context, const struct wined3d_texture_gl *src_texture, DWORD src_location, const struct wined3d_texture_gl *dst_texture, DWORD dst_location) |
| |
| static DWORD | glsl_blitter_blit (struct wined3d_blitter *blitter, enum wined3d_blit_op op, struct wined3d_context *context, struct wined3d_texture *src_texture, unsigned int src_sub_resource_idx, DWORD src_location, const RECT *src_rect, struct wined3d_texture *dst_texture, unsigned int dst_sub_resource_idx, DWORD dst_location, const RECT *dst_rect, const struct wined3d_color_key *colour_key, enum wined3d_texture_filter_type filter, const struct wined3d_format *resolve_format) |
| |
| static void | glsl_blitter_clear (struct wined3d_blitter *blitter, struct wined3d_device *device, unsigned int rt_count, const struct wined3d_fb_state *fb, unsigned int rect_count, const RECT *clear_rects, const RECT *draw_rect, uint32_t flags, const struct wined3d_color *color, float depth, unsigned int stencil) |
| |
| struct wined3d_blitter * | wined3d_glsl_blitter_create (struct wined3d_blitter **next, const struct wined3d_device *device) |
| |