ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

arb_program_shader.c File Reference
#include "config.h"
#include <math.h>
#include <stdio.h>
#include "wined3d_private.h"

Go to the source code of this file.

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 charget_line (char **ptr)
static void shader_arb_dump_program_source (const char *source)
static const chararb_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 DWORDlocal_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 charshader_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 charshader_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_framefind_last_loop (const struct shader_arb_ctx_priv *priv)
static void shader_hw_break (const struct wined3d_shader_instruction *ins)
static const charget_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 DWORDfind_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 charget_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

Generated on Fri May 25 2012 05:02:53 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.