Data Structures |
| struct | control_frame |
| struct | arb_ps_np2fixup_info |
| struct | arb_ps_compile_args |
| struct | stb_const_desc |
| struct | arb_ps_compiled_shader |
| struct | arb_vs_compile_args |
| struct | arb_vs_compiled_shader |
| struct | recorded_instruction |
| struct | shader_arb_ctx_priv |
| struct | ps_signature |
| struct | arb_pshader_private |
| struct | arb_vshader_private |
| struct | shader_arb_priv |
| struct | arbfp_ffp_desc |
| struct | arbfp_blit_priv |
Defines |
| #define | TEX_PROJ 0x1 |
| #define | TEX_BIAS 0x2 |
| #define | TEX_LOD 0x4 |
| #define | TEX_DERIV 0x10 |
| #define | ARB_FFP_CONST_TFACTOR 0 |
| #define | ARB_FFP_CONST_SPECULAR_ENABLE ((ARB_FFP_CONST_TFACTOR) + 1) |
| #define | ARB_FFP_CONST_CONSTANT(i) ((ARB_FFP_CONST_SPECULAR_ENABLE) + 1 + i) |
| #define | ARB_FFP_CONST_BUMPMAT(i) ((ARB_FFP_CONST_CONSTANT(7)) + 1 + i) |
| #define | ARB_FFP_CONST_LUMINANCE(i) ((ARB_FFP_CONST_BUMPMAT(7)) + 1 + i) |
Enumerations |
| enum | arb_helper_value {
ARB_ZERO,
ARB_ONE,
ARB_TWO,
ARB_0001,
ARB_EPS,
ARB_VS_REL_OFFSET
} |
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 char * | get_line (char **ptr) |
| static void | shader_arb_dump_program_source (const char *source) |
| static const char * | arb_get_helper_value (enum wined3d_shader_type shader, enum arb_helper_value value) |
| static BOOL | ffp_clip_emul (const struct wined3d_state *state) |
| static BOOL | need_rel_addr_const (const struct arb_vshader_private *shader_data, const struct wined3d_shader_reg_maps *reg_maps, const struct wined3d_gl_info *gl_info) |
| static BOOL | use_nv_clip (const struct wined3d_gl_info *gl_info) |
| static BOOL | need_helper_const (const struct arb_vshader_private *shader_data, const struct wined3d_shader_reg_maps *reg_maps, const struct wined3d_gl_info *gl_info) |
| static unsigned int | reserved_vs_const (const struct arb_vshader_private *shader_data, const struct wined3d_shader_reg_maps *reg_maps, const struct wined3d_gl_info *gl_info) |
| static unsigned int | shader_arb_load_constantsF (const struct wined3d_shader *shader, const struct wined3d_gl_info *gl_info, GLuint target_type, unsigned int max_constants, const float *constants, char *dirty_consts) |
| static void | shader_arb_load_np2fixup_constants (void *shader_priv, const struct wined3d_gl_info *gl_info, const struct wined3d_state *state) |
| static void | shader_arb_ps_local_constants (const struct arb_ps_compiled_shader *gl_shader, const struct wined3d_context *context, const struct wined3d_state *state, UINT rt_height) |
| static void | shader_arb_vs_local_constants (const struct arb_vs_compiled_shader *gl_shader, const struct wined3d_context *context, const struct wined3d_state *state) |
| static void | shader_arb_load_constants (const struct wined3d_context *context, char usePixelShader, char useVertexShader) |
| static void | shader_arb_update_float_vertex_constants (struct wined3d_device *device, UINT start, UINT count) |
| static void | shader_arb_update_float_pixel_constants (struct wined3d_device *device, UINT start, UINT count) |
| static DWORD * | local_const_mapping (const struct wined3d_shader *shader) |
| static DWORD | shader_generate_arb_declarations (const struct wined3d_shader *shader, const struct wined3d_shader_reg_maps *reg_maps, struct wined3d_shader_buffer *buffer, const struct wined3d_gl_info *gl_info, const DWORD *lconst_map, DWORD *num_clipplanes, const struct shader_arb_ctx_priv *ctx) |
| static void | shader_arb_get_write_mask (const struct wined3d_shader_instruction *ins, const struct wined3d_shader_dst_param *dst, char *write_mask) |
| static void | shader_arb_get_swizzle (const struct wined3d_shader_src_param *param, BOOL fixup, char *swizzle_str) |
| static void | shader_arb_request_a0 (const struct wined3d_shader_instruction *ins, const char *src) |
| static void | shader_arb_get_src_param (const struct wined3d_shader_instruction *ins, const struct wined3d_shader_src_param *src, unsigned int tmpreg, char *outregstr) |
| static void | shader_arb_get_register_name (const struct wined3d_shader_instruction *ins, const struct wined3d_shader_register *reg, char *register_name, BOOL *is_color) |
| static void | shader_arb_get_dst_param (const struct wined3d_shader_instruction *ins, const struct wined3d_shader_dst_param *wined3d_dst, char *str) |
| static const char * | shader_arb_get_fixup_swizzle (enum fixup_channel_source channel_source) |
| static void | gen_color_correction (struct wined3d_shader_buffer *buffer, const char *reg, DWORD dst_mask, const char *one, const char *two, struct color_fixup_desc fixup) |
| static const char * | shader_arb_get_modifier (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_sample (const struct wined3d_shader_instruction *ins, DWORD sampler_idx, const char *dst_str, const char *coord_reg, WORD flags, const char *dsx, const char *dsy) |
| static void | pshader_hw_bem (const struct wined3d_shader_instruction *ins) |
| static DWORD | negate_modifiers (DWORD mod, char *extra_char) |
| static void | pshader_hw_cnd (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_cmp (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_dp2add (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_map2gl (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_nop (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_mov (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texkill (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_tex (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texcoord (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texreg2ar (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texreg2gb (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texreg2rgb (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texbem (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texm3x2pad (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texm3x2tex (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texm3x3pad (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texm3x3tex (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texm3x3vspec (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texm3x3spec (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texdepth (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texdp3tex (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texdp3 (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texm3x3 (const struct wined3d_shader_instruction *ins) |
| static void | pshader_hw_texm3x2depth (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_mnxn (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_rcp (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_scalar_op (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_nrm (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_lrp (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_sincos (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_sgn (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_dsy (const struct wined3d_shader_instruction *ins) |
| static DWORD | abs_modifier (DWORD mod, BOOL *need_abs) |
| static void | shader_hw_log (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_pow (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_loop (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_rep (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_endloop (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_endrep (const struct wined3d_shader_instruction *ins) |
| static struct control_frame * | find_last_loop (const struct shader_arb_ctx_priv *priv) |
| static void | shader_hw_break (const struct wined3d_shader_instruction *ins) |
| static const char * | get_compare (enum wined3d_shader_rel_op op) |
| static enum wined3d_shader_rel_op | invert_compare (enum wined3d_shader_rel_op op) |
| static void | shader_hw_breakc (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_ifc (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_else (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_endif (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_texldd (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_texldl (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_label (const struct wined3d_shader_instruction *ins) |
| static void | vshader_add_footer (struct shader_arb_ctx_priv *priv_ctx, const struct arb_vshader_private *shader_data, const struct arb_vs_compile_args *args, const struct wined3d_shader_reg_maps *reg_maps, const struct wined3d_gl_info *gl_info, struct wined3d_shader_buffer *buffer) |
| static void | shader_hw_ret (const struct wined3d_shader_instruction *ins) |
| static void | shader_hw_call (const struct wined3d_shader_instruction *ins) |
| static GLuint | create_arb_blt_vertex_program (const struct wined3d_gl_info *gl_info) |
| static GLuint | create_arb_blt_fragment_program (const struct wined3d_gl_info *gl_info, enum tex_types tex_type, BOOL masked) |
| static void | arbfp_add_sRGB_correction (struct wined3d_shader_buffer *buffer, const char *fragcolor, const char *tmp1, const char *tmp2, const char *tmp3, const char *tmp4, BOOL condcode) |
| static const DWORD * | find_loop_control_values (const struct wined3d_shader *shader, DWORD idx) |
| static void | init_ps_input (const struct wined3d_shader *shader, const struct arb_ps_compile_args *args, struct shader_arb_ctx_priv *priv) |
| static GLuint | shader_arb_generate_pshader (const struct wined3d_shader *shader, const struct wined3d_gl_info *gl_info, struct wined3d_shader_buffer *buffer, const struct arb_ps_compile_args *args, struct arb_ps_compiled_shader *compiled) |
| static int | compare_sig (const struct wined3d_shader_signature_element *sig1, const struct wined3d_shader_signature_element *sig2) |
static struct
wined3d_shader_signature_element * | clone_sig (const struct wined3d_shader_signature_element *sig) |
| static DWORD | find_input_signature (struct shader_arb_priv *priv, const struct wined3d_shader_signature_element *sig) |
| static void | init_output_registers (const struct wined3d_shader *shader, DWORD sig_num, struct shader_arb_ctx_priv *priv_ctx, struct arb_vs_compiled_shader *compiled) |
| static GLuint | shader_arb_generate_vshader (const struct wined3d_shader *shader, const struct wined3d_gl_info *gl_info, struct wined3d_shader_buffer *buffer, const struct arb_vs_compile_args *args, struct arb_vs_compiled_shader *compiled) |
static struct
arb_ps_compiled_shader * | find_arb_pshader (struct wined3d_shader *shader, const struct arb_ps_compile_args *args) |
| static BOOL | vs_args_equal (const struct arb_vs_compile_args *stored, const struct arb_vs_compile_args *new, const DWORD use_map, BOOL skip_int) |
static struct
arb_vs_compiled_shader * | find_arb_vshader (struct wined3d_shader *shader, const struct arb_vs_compile_args *args) |
| static void | find_arb_ps_compile_args (const struct wined3d_state *state, const struct wined3d_shader *shader, struct arb_ps_compile_args *args) |
| static void | find_arb_vs_compile_args (const struct wined3d_state *state, const struct wined3d_shader *shader, struct arb_vs_compile_args *args) |
| static void | shader_arb_select (const struct wined3d_context *context, BOOL usePS, BOOL useVS) |
| static void | shader_arb_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_arb_deselect_depth_blt (void *shader_priv, const struct wined3d_gl_info *gl_info) |
| static void | shader_arb_destroy (struct wined3d_shader *shader) |
| static int | sig_tree_compare (const void *key, const struct wine_rb_entry *entry) |
| static HRESULT | shader_arb_alloc (struct wined3d_device *device) |
| static void | release_signature (struct wine_rb_entry *entry, void *context) |
| static void | shader_arb_free (struct wined3d_device *device) |
| static void | shader_arb_context_destroyed (void *shader_priv, const struct wined3d_context *context) |
| static void | shader_arb_get_caps (const struct wined3d_gl_info *gl_info, struct shader_caps *caps) |
| static BOOL | shader_arb_color_fixup_supported (struct color_fixup_desc fixup) |
| static void | shader_arb_add_instruction_modifiers (const struct wined3d_shader_instruction *ins) |
| static BOOL | get_bool_const (const struct wined3d_shader_instruction *ins, const struct wined3d_shader *shader, DWORD idx) |
| static void | get_loop_control_const (const struct wined3d_shader_instruction *ins, const struct wined3d_shader *shader, UINT idx, struct wined3d_shader_loop_control *loop_control) |
| static void | record_instruction (struct list *list, const struct wined3d_shader_instruction *ins) |
| static void | free_recorded_instruction (struct list *list) |
| static void | shader_arb_handle_instruction (const struct wined3d_shader_instruction *ins) |
| static void | arbfp_enable (BOOL enable) |
| static HRESULT | arbfp_alloc (struct wined3d_device *device) |
| static void | arbfp_free_ffpshader (struct wine_rb_entry *entry, void *context) |
| static void | arbfp_free (struct wined3d_device *device) |
| static void | arbfp_get_caps (const struct wined3d_gl_info *gl_info, struct fragment_caps *caps) |
| static void | state_texfactor_arbfp (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| static void | state_arb_specularenable (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| static void | set_bumpmat_arbfp (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| static void | tex_bumpenvlum_arbfp (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| static const char * | get_argreg (struct wined3d_shader_buffer *buffer, DWORD argnum, unsigned int stage, DWORD arg) |
| static void | gen_ffp_instr (struct wined3d_shader_buffer *buffer, unsigned int stage, BOOL color, BOOL alpha, DWORD dst, DWORD op, DWORD dw_arg0, DWORD dw_arg1, DWORD dw_arg2) |
| static GLuint | gen_arbfp_ffp_shader (const struct ffp_frag_settings *settings, const struct wined3d_gl_info *gl_info) |
| static void | fragment_prog_arbfp (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| static void | state_arbfp_fog (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| static void | textransform (struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) |
| static HRESULT | arbfp_blit_alloc (struct wined3d_device *device) |
| static void | arbfp_blit_free (struct wined3d_device *device) |
| static BOOL | gen_planar_yuv_read (struct wined3d_shader_buffer *buffer, enum complex_fixup fixup, GLenum textype, char *luminance) |
| static BOOL | gen_yv12_read (struct wined3d_shader_buffer *buffer, GLenum textype, char *luminance) |
| static GLuint | gen_p8_shader (struct arbfp_blit_priv *priv, const struct wined3d_gl_info *gl_info, GLenum textype) |
| static void | upload_palette (const struct wined3d_surface *surface, struct wined3d_context *context) |
| static GLuint | gen_yuv_shader (struct arbfp_blit_priv *priv, const struct wined3d_gl_info *gl_info, enum complex_fixup yuv_fixup, GLenum textype) |
| static HRESULT | arbfp_blit_set (void *blit_priv, struct wined3d_context *context, const struct wined3d_surface *surface) |
| static void | arbfp_blit_unset (const struct wined3d_gl_info *gl_info) |
| static BOOL | arbfp_blit_supported (const struct wined3d_gl_info *gl_info, enum wined3d_blit_op blit_op, const RECT *src_rect, DWORD src_usage, enum wined3d_pool src_pool, const struct wined3d_format *src_format, const RECT *dst_rect, DWORD dst_usage, enum wined3d_pool dst_pool, const struct wined3d_format *dst_format) |
| HRESULT | arbfp_blit_surface (struct wined3d_device *device, DWORD filter, struct wined3d_surface *src_surface, const RECT *src_rect_in, struct wined3d_surface *dst_surface, const RECT *dst_rect_in) |
| static HRESULT | arbfp_blit_color_fill (struct wined3d_device *device, struct wined3d_surface *dst_surface, const RECT *dst_rect, const struct wined3d_color *color) |
| static HRESULT | arbfp_blit_depth_fill (struct wined3d_device *device, struct wined3d_surface *surface, const RECT *rect, float depth) |
Variables |
| static const char *const | shift_tab [] |
| static struct wine_rb_functions | sig_tree_functions |
| static const SHADER_HANDLER | shader_arb_instruction_handler_table [WINED3DSIH_TABLE_SIZE] |
| struct wined3d_shader_backend_ops | arb_program_shader_backend |
| static struct StateEntryTemplate | arbfp_fragmentstate_template [] |
| struct fragment_pipeline | arbfp_fragment_pipeline |
| struct blit_shader | arbfp_blit |