X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fdrivers%2Fdri%2Fi965%2Fbrw_wm.h;h=7130a61c4f5ad04bec43b09032f5399dc35f4474;hb=22d9a4824baf0bf89bb8e39025ad01fecb213888;hp=77a364449ad756b8fa99d59bb712e4693e673d3b;hpb=38ffef7840edddada23bac48f669d2070e6f158c;p=mesa.git diff --git a/src/mesa/drivers/dri/i965/brw_wm.h b/src/mesa/drivers/dri/i965/brw_wm.h index 77a364449ad..7130a61c4f5 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.h +++ b/src/mesa/drivers/dri/i965/brw_wm.h @@ -35,10 +35,8 @@ #include -#include "program/prog_instruction.h" #include "brw_context.h" #include "brw_eu.h" -#include "brw_program.h" /* A big lookup table is used to figure out which and how many * additional regs will inserted before the main payload in the WM @@ -57,55 +55,24 @@ #define AA_SOMETIMES 1 #define AA_ALWAYS 2 -struct brw_wm_prog_key { - uint8_t iz_lookup; - GLuint stats_wm:1; - GLuint flat_shade:1; - GLuint persample_shading:1; - GLuint persample_2x:1; - GLuint nr_color_regions:5; - GLuint replicate_alpha:1; - GLuint render_to_fbo:1; - GLuint clamp_fragment_color:1; - GLuint compute_pos_offset:1; - GLuint compute_sample_id:1; - GLuint line_aa:2; - GLuint high_quality_derivatives:1; - - GLushort drawable_height; - GLbitfield64 input_slots_valid; - GLuint program_string_id:32; - GLenum alpha_test_func; /* < For Gen4/5 MRT alpha test */ - float alpha_test_ref; - - struct brw_sampler_prog_key_data tex; -}; - -/** - * Compile a fragment shader. - * - * Returns the final assembly and the program's size. - */ -const unsigned *brw_wm_fs_emit(struct brw_context *brw, - void *mem_ctx, - const struct brw_wm_prog_key *key, - struct brw_wm_prog_data *prog_data, - struct gl_fragment_program *fp, - struct gl_shader_program *prog, - unsigned *final_assembly_size); - -GLboolean brw_link_shader(struct gl_context *ctx, struct gl_shader_program *prog); -struct gl_shader *brw_new_shader(struct gl_context *ctx, GLuint name, GLuint type); -struct gl_shader_program *brw_new_shader_program(struct gl_context *ctx, GLuint name); +#ifdef __cplusplus +extern "C" { +#endif bool brw_color_buffer_write_enabled(struct brw_context *brw); -bool do_wm_prog(struct brw_context *brw, - struct gl_shader_program *prog, - struct brw_fragment_program *fp, - struct brw_wm_prog_key *key); +bool brw_codegen_wm_prog(struct brw_context *brw, + struct gl_shader_program *prog, + struct brw_fragment_program *fp, + struct brw_wm_prog_key *key); void brw_wm_debug_recompile(struct brw_context *brw, struct gl_shader_program *prog, const struct brw_wm_prog_key *key); -bool brw_wm_prog_data_compare(const void *a, const void *b); + +void +brw_upload_wm_prog(struct brw_context *brw); + +#ifdef __cplusplus +} // extern "C" +#endif #endif